private void initNoActionColumnManager(final ExtendedPagedTable extendedPagedTable) { noActionColumnManager = DefaultSelectionEventManager.createCustomManager( new DefaultSelectionEventManager.EventTranslator<RequestSummary>() { @Override public boolean clearCurrentSelection(CellPreviewEvent<RequestSummary> event) { return false; } @Override public DefaultSelectionEventManager.SelectAction translateSelectionEvent( CellPreviewEvent<RequestSummary> event) { NativeEvent nativeEvent = event.getNativeEvent(); if (BrowserEvents.CLICK.equals(nativeEvent.getType())) { // Ignore if the event didn't occur in the correct column. if (extendedPagedTable.getColumnIndex(actionsColumn) == event.getColumn()) { return DefaultSelectionEventManager.SelectAction.IGNORE; } // Extension for checkboxes Element target = nativeEvent.getEventTarget().cast(); if ("input".equals(target.getTagName().toLowerCase())) { final InputElement input = target.cast(); if ("checkbox".equals(input.getType().toLowerCase())) { // Synchronize the checkbox with the current selection state. if (!selectedRequestSummary.contains(event.getValue())) { selectedRequestSummary.add(event.getValue()); input.setChecked(true); } else { selectedRequestSummary.remove(event.getValue()); input.setChecked(false); } return DefaultSelectionEventManager.SelectAction.IGNORE; } } } return DefaultSelectionEventManager.SelectAction.DEFAULT; } }); }
@Override public void init(final DocumentListPresenter presenter) { List<String> bannedColumns = new ArrayList<String>(); bannedColumns.add(constants.DocumentID()); bannedColumns.add(constants.DocumentName()); bannedColumns.add(constants.Actions()); List<String> initColumns = new ArrayList<String>(); initColumns.add(constants.DocumentID()); initColumns.add(constants.DocumentName()); initColumns.add(constants.Actions()); super.init( presenter, new GridGlobalPreferences("DocumentListGrid", initColumns, bannedColumns)); initFiltersBar(); initPathLink(); selectionModel = new NoSelectionModel<CMSContentSummary>(); selectionModel.addSelectionChangeHandler( new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { boolean close = false; if (selectedRow == -1) { listGrid.setRowStyles(selectedStyles); selectedRow = listGrid.getKeyboardSelectedRow(); listGrid.redraw(); } else if (listGrid.getKeyboardSelectedRow() != selectedRow) { listGrid.setRowStyles(selectedStyles); selectedRow = listGrid.getKeyboardSelectedRow(); listGrid.redraw(); } else { close = true; } selectedItem = selectionModel.getLastSelectedObject(); } }); noActionColumnManager = DefaultSelectionEventManager.createCustomManager( new DefaultSelectionEventManager.EventTranslator<CMSContentSummary>() { @Override public boolean clearCurrentSelection(CellPreviewEvent<CMSContentSummary> event) { return false; } @Override public DefaultSelectionEventManager.SelectAction translateSelectionEvent( CellPreviewEvent<CMSContentSummary> event) { NativeEvent nativeEvent = event.getNativeEvent(); if (BrowserEvents.CLICK.equals(nativeEvent.getType())) { // Ignore if the event didn't occur in the correct // column. if (listGrid.getColumnIndex(actionsColumn) == event.getColumn()) { return DefaultSelectionEventManager.SelectAction.IGNORE; } } return DefaultSelectionEventManager.SelectAction.DEFAULT; } }); listGrid.setSelectionModel(selectionModel, noActionColumnManager); Button configRepoButton = new Button(); configRepoButton.setIcon(IconType.COG); configRepoButton.setTitle(Constants.INSTANCE.ConfigurationPanel()); configRepoButton.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { PlaceStatus instanceDetailsStatus = placeManager.getStatus(new DefaultPlaceRequest("CMIS Configuration")); if (instanceDetailsStatus == PlaceStatus.OPEN) { placeManager.closePlace("CMIS Configuration"); } placeManager.goTo("CMIS Configuration"); } }); listGrid.getRightToolbar().add(configRepoButton); listGrid.setEmptyTableCaption(constants.No_Documents_Available()); listGrid.setRowStyles(selectedStyles); }
@Override public void initSelectionModel() { final ExtendedPagedTable extendedPagedTable = getListGrid(); extendedPagedTable.setEmptyTableCaption(constants.No_Process_Instances_Found()); extendedPagedTable.getRightActionsToolbar().clear(); initExtraButtons(extendedPagedTable); initBulkActions(extendedPagedTable); selectionModel = new NoSelectionModel<ProcessInstanceSummary>(); selectionModel.addSelectionChangeHandler( new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { boolean close = false; if (selectedRow == -1) { extendedPagedTable.setRowStyles(selectedStyles); selectedRow = extendedPagedTable.getKeyboardSelectedRow(); extendedPagedTable.redraw(); } else if (extendedPagedTable.getKeyboardSelectedRow() != selectedRow) { extendedPagedTable.setRowStyles(selectedStyles); selectedRow = extendedPagedTable.getKeyboardSelectedRow(); extendedPagedTable.redraw(); } else { close = true; } selectedItem = selectionModel.getLastSelectedObject(); PlaceStatus status = placeManager.getStatus(new DefaultPlaceRequest("Process Instance Details Multi")); if (status == PlaceStatus.CLOSE) { placeManager.goTo("Process Instance Details Multi"); processInstanceSelected.fire( new ProcessInstanceSelectionEvent( selectedItem.getDeploymentId(), selectedItem.getProcessInstanceId(), selectedItem.getProcessId(), selectedItem.getProcessName(), selectedItem.getState())); } else if (status == PlaceStatus.OPEN && !close) { processInstanceSelected.fire( new ProcessInstanceSelectionEvent( selectedItem.getDeploymentId(), selectedItem.getProcessInstanceId(), selectedItem.getProcessId(), selectedItem.getProcessName(), selectedItem.getState())); } else if (status == PlaceStatus.OPEN && close) { placeManager.closePlace("Process Instance Details Multi"); } } }); noActionColumnManager = DefaultSelectionEventManager.createCustomManager( new DefaultSelectionEventManager.EventTranslator<ProcessInstanceSummary>() { @Override public boolean clearCurrentSelection(CellPreviewEvent<ProcessInstanceSummary> event) { return false; } @Override public DefaultSelectionEventManager.SelectAction translateSelectionEvent( CellPreviewEvent<ProcessInstanceSummary> event) { NativeEvent nativeEvent = event.getNativeEvent(); if (BrowserEvents.CLICK.equals(nativeEvent.getType())) { // Ignore if the event didn't occur in the correct column. if (extendedPagedTable.getColumnIndex(actionsColumn) == event.getColumn()) { return DefaultSelectionEventManager.SelectAction.IGNORE; } // Extension for checkboxes Element target = nativeEvent.getEventTarget().cast(); if ("input".equals(target.getTagName().toLowerCase())) { final InputElement input = target.cast(); if ("checkbox".equals(input.getType().toLowerCase())) { // Synchronize the checkbox with the current selection state. if (!selectedProcessInstances.contains(event.getValue())) { selectedProcessInstances.add(event.getValue()); input.setChecked(true); } else { selectedProcessInstances.remove(event.getValue()); input.setChecked(false); } controlBulkOperations(); return DefaultSelectionEventManager.SelectAction.IGNORE; } } } return DefaultSelectionEventManager.SelectAction.DEFAULT; } }); extendedPagedTable.setSelectionModel(selectionModel, noActionColumnManager); extendedPagedTable.setRowStyles(selectedStyles); }