List of usage examples for com.google.gwt.view.client SingleSelectionModel SingleSelectionModel
public SingleSelectionModel(ProvidesKey<T> keyProvider)
From source file:org.jboss.as.console.client.shared.runtime.elytron.ElytronGenericStoreRuntimeResourceView.java
License:Apache License
public Widget asWidget() { ToolStrip tools = new ToolStrip(); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_refresh(), event -> presenter.loadCredentialReferences())); ProvidesKey<Property> providesKey = Property::getName; table = new DefaultCellTable<>(10, providesKey); dataProvider = new ListDataProvider<>(providesKey); dataProvider.addDataDisplay(table);/*from ww w .ja v a 2 s . co m*/ selectionModel = new SingleSelectionModel<>(providesKey); TextColumn<Property> nameColumn = new TextColumn<Property>() { @Override public String getValue(Property node) { return node.getName(); } }; TextColumn<Property> stateColumn = new TextColumn<Property>() { @Override public String getValue(Property node) { return node.getValue().get("state").asString(); } }; table.addColumn(nameColumn, "Name"); table.addColumn(stateColumn, "State"); stateColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); table.setColumnWidth(stateColumn, 20, Style.Unit.PCT); DefaultPager pager = new DefaultPager(); pager.setDisplay(table); MultipleToOneLayout layoutBuilder = new MultipleToOneLayout().setPlain(true).setHeadline(title) .setDescription(SafeHtmlUtils.fromString(resourceDescription.get(DESCRIPTION).asString())) .setMasterTools(tools).setMaster(Console.MESSAGES.available(title), table) .addDetail("Aliases", aliasEditor.asWidget()); selectionModel.addSelectionChangeHandler(event -> { Property selectedProperty = selectionModel.getSelectedObject(); if (selectedProperty != null) { aliasEditor.setCredentialReferenceName(selectedProperty.getName()); presenter.loadAliases(ElytronRuntimePresenter.CREDENTIAL_STORE_TEMPLATE, selectedProperty.getName()); } else { aliasEditor.setCredentialReferenceName(null); aliasEditor.clearValues(); } }); table.setSelectionModel(selectionModel); return layoutBuilder.build(); }
From source file:org.jboss.as.console.client.shared.runtime.logging.files.LogFilesTable.java
License:Open Source License
@SuppressWarnings("unchecked") public LogFilesTable(final Dispatcher circuit, final LogFilesPresenter presenter) { VerticalPanel panel = new VerticalPanel(); panel.addStyleName("rhs-content-panel"); panel.getElement().getStyle().setMarginBottom(0, PX); // header/*w ww. j av a 2s . c o m*/ panel.add(new ContentHeaderLabel("Log Viewer")); panel.add(new ContentDescription(Console.CONSTANTS.logFilesOfSelectedServer())); // toolbar ToolStrip tools = new ToolStrip(); HTML label = new HTML(Console.CONSTANTS.commom_label_filter() + ": "); label.getElement().setAttribute("style", "padding-top:8px;"); final TextBox filter = new TextBox(); filter.setMaxLength(30); filter.setVisibleLength(20); filter.getElement().setAttribute("style", "float:right; width:120px;"); filter.addKeyUpHandler(new KeyUpHandler() { @Override public void onKeyUp(KeyUpEvent keyUpEvent) { String prefix = filter.getText(); if (prefix != null && !prefix.equals("")) { // filter by prefix filterByPrefix(prefix); } else { clearFilter(); } } }); setId(filter, BASE_ID, "filter"); tools.addToolWidget(label); tools.addToolWidget(filter); final ToolButton download = new ToolButton("Download", new ClickHandler() { @Override public void onClick(ClickEvent event) { ModelNode logFile = selectionModel.getSelectedObject(); if (logFile != null) { circuit.dispatch(new DownloadLogFile(logFile.get(FILE_NAME).asString())); } } }); download.setEnabled(false); // actually the attribute 'stream' is relevant for download, however we need to pass an operation here download.setOperationAddress("/{implicit.host}/{selected.server}/subsystem=logging/log-file=*", "read-log-file"); setId(download, BASE_ID, "download"); tools.addToolButtonRight(download); final ToolButton view = new ToolButton(Console.CONSTANTS.common_label_view(), new ClickHandler() { @Override public void onClick(ClickEvent event) { ModelNode logFile = selectionModel.getSelectedObject(); if (logFile != null) { String name = logFile.get(FILE_NAME).asString(); int fileSize = logFile.get(FILE_SIZE).asInt(); presenter.onStreamLogFile(name, fileSize); } } }); view.setEnabled(false); view.setOperationAddress("/{implicit.host}/{selected.server}/subsystem=logging/log-file=*", "read-log-file"); setId(view, BASE_ID, "view"); tools.addToolButtonRight(view); final ToolButton refresh = new ToolButton(Console.CONSTANTS.common_label_refresh(), event -> circuit.dispatch(new ReadLogFiles())); refresh.setOperationAddress("/{implicit.host}/{selected.server}/subsystem=logging", "read-resource"); setId(refresh, BASE_ID, "refresh"); tools.addToolButtonRight(refresh); panel.add(tools); // table backup = new ArrayList<>(); ProvidesKey<ModelNode> providesKey = new ProvidesKey<ModelNode>() { @Override public Object getKey(ModelNode item) { return item.get(FILE_NAME); } }; selectionModel = new SingleSelectionModel<>(providesKey); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { download.setEnabled(selectionModel.getSelectedObject() != null); view.setEnabled(selectionModel.getSelectedObject() != null); } }); table = new ModelNodeCellTable(10, providesKey); table.setSelectionModel(selectionModel); dataProvider = new ListDataProvider<>(providesKey); dataProvider.addDataDisplay(table); ColumnSortEvent.ListHandler<ModelNode> sortHandler = new ColumnSortEvent.ListHandler<ModelNode>( dataProvider.getList()); table.addColumnSortHandler(sortHandler); // TODO Find a way to combine the double click handler with RBAC like // foo.setOperationAddress("/{implicit.host}/{selected.server}/subsystem=logging/log-file=*", "read-log-file"); // table.addCellPreviewHandler(new CellPreviewEvent.Handler<ModelNode>() { // @Override // public void onCellPreview(CellPreviewEvent<ModelNode> event) { // NativeEvent nativeEvent = event.getNativeEvent(); // if (BrowserEvents.DBLCLICK.equals(nativeEvent.getType())) { // ModelNode selectedValue = event.getValue(); // // } // } // }); panel.add(table); DefaultPager pager = new DefaultPager(); pager.setDisplay(table); panel.add(pager); // column: name nameColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { return node.get(FILE_NAME).asString(); } }; nameColumn.setSortable(true); sortHandler.setComparator(nameColumn, new NameComparator()); table.addColumn(nameColumn, "Log File Name"); table.getColumnSortList().push(nameColumn); // column: last modified TextColumn<ModelNode> lastModifiedColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { return node.get(LAST_MODIFIED_TIMESTAMP).asString(); } }; lastModifiedColumn.setSortable(true); sortHandler.setComparator(lastModifiedColumn, new Comparator<ModelNode>() { @Override public int compare(ModelNode node1, ModelNode node2) { return node1.get(LAST_MODIFIED_TIMESTAMP).asString() .compareTo(node2.get(LAST_MODIFIED_TIMESTAMP).asString()); } }); table.addColumn(lastModifiedColumn, "Date - Time (UTC)"); // column: size TextColumn<ModelNode> sizeColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { double size = node.get(LogStore.FILE_SIZE).asLong() / 1048576.0; return SIZE_FORMAT.format(size); } }; sizeColumn.setSortable(true); sizeColumn.setHorizontalAlignment(ALIGN_RIGHT); sortHandler.setComparator(sizeColumn, new Comparator<ModelNode>() { @Override public int compare(ModelNode node1, ModelNode node2) { return node1.get(FILE_SIZE).asInt() - node2.get(FILE_SIZE).asInt(); } }); table.addColumn(sizeColumn, "Size (MB)"); ScrollPanel scroll = new ScrollPanel(panel); LayoutPanel layout = new LayoutPanel(); layout.add(scroll); layout.setWidgetTopHeight(scroll, 0, PX, 100, Style.Unit.PCT); initWidget(layout); }
From source file:org.jboss.as.console.client.shared.runtime.logging.viewer.LogFileTable.java
License:Open Source License
@SuppressWarnings("unchecked") public LogFileTable(final Dispatcher circuit) { VerticalPanel panel = new VerticalPanel(); panel.addStyleName("fill-layout-width"); panel.getElement().getStyle().setPadding(30, Style.Unit.PX); panel.getElement().getStyle().setMarginBottom(0, PX); // header/*from www . j a va 2s . c o m*/ panel.add(new ContentHeaderLabel("Log Viewer")); panel.add(new ContentDescription("Log files of selected server")); // toolbar ToolStrip tools = new ToolStrip(); HTML label = new HTML(Console.CONSTANTS.commom_label_filter() + ": "); label.getElement().setAttribute("style", "padding-top:8px;"); final TextBox filter = new TextBox(); filter.setMaxLength(30); filter.setVisibleLength(20); filter.getElement().setAttribute("style", "float:right; width:120px;"); filter.addKeyUpHandler(new KeyUpHandler() { @Override public void onKeyUp(KeyUpEvent keyUpEvent) { String prefix = filter.getText(); if (prefix != null && !prefix.equals("")) { // filter by prefix filterByPrefix(prefix); } else { clearFilter(); } } }); setId(filter, BASE_ID, "filter"); tools.addToolWidget(label); tools.addToolWidget(filter); final ToolButton view = new ToolButton(Console.CONSTANTS.common_label_view(), new ClickHandler() { @Override public void onClick(ClickEvent event) { ModelNode logFile = selectionModel.getSelectedObject(); if (logFile != null) { circuit.dispatch(new OpenLogFile(logFile.get(FILE_NAME).asString())); } } }); view.setEnabled(false); view.setOperationAddress("/{implicit.host}/{selected.server}/subsystem=logging", "read-log-file"); setId(view, BASE_ID, "view"); tools.addToolButtonRight(view); panel.add(tools); // table backup = new ArrayList<>(); ProvidesKey<ModelNode> providesKey = new ProvidesKey<ModelNode>() { @Override public Object getKey(ModelNode item) { return item.get(FILE_NAME); } }; selectionModel = new SingleSelectionModel<>(providesKey); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { view.setEnabled(selectionModel.getSelectedObject() != null); } }); table = new ModelNodeCellTable(10, providesKey); table.setSelectionModel(selectionModel); dataProvider = new ListDataProvider<>(providesKey); dataProvider.addDataDisplay(table); ColumnSortEvent.ListHandler<ModelNode> sortHandler = new ColumnSortEvent.ListHandler<ModelNode>( dataProvider.getList()); table.addColumnSortHandler(sortHandler); panel.add(table); DefaultPager pager = new DefaultPager(); pager.setDisplay(table); panel.add(pager); // column: name nameColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { return node.get(FILE_NAME).asString(); } }; nameColumn.setSortable(true); sortHandler.setComparator(nameColumn, new NameComparator()); table.addColumn(nameColumn, "Log File Name"); // column: last modified TextColumn<ModelNode> lastModifiedColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { return node.get(LAST_MODIFIED_TIMESTAMP).asString(); } }; lastModifiedColumn.setSortable(true); sortHandler.setComparator(lastModifiedColumn, new Comparator<ModelNode>() { @Override public int compare(ModelNode node1, ModelNode node2) { return node1.get(LAST_MODIFIED_TIMESTAMP).asString() .compareTo(node2.get(LAST_MODIFIED_TIMESTAMP).asString()); } }); table.addColumn(lastModifiedColumn, "Date - Time (UTC)"); // column: size TextColumn<ModelNode> sizeColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { double size = node.get(LogStore.FILE_SIZE).asLong() / 1024.0; return SIZE_FORMAT.format(size); } }; sizeColumn.setSortable(true); sizeColumn.setHorizontalAlignment(ALIGN_RIGHT); sortHandler.setComparator(sizeColumn, new Comparator<ModelNode>() { @Override public int compare(ModelNode node1, ModelNode node2) { return node1.get(FILE_SIZE).asInt() - node2.get(FILE_SIZE).asInt(); } }); table.addColumn(sizeColumn, "Size (kb)"); ScrollPanel scroll = new ScrollPanel(panel); LayoutPanel layout = new LayoutPanel(); layout.add(scroll); layout.setWidgetTopHeight(scroll, 0, PX, 100, Style.Unit.PCT); initWidget(layout); }
From source file:org.jboss.as.console.client.shared.runtime.logviewer.LogFileTable.java
License:Open Source License
@SuppressWarnings("unchecked") public LogFileTable(final Dispatcher circuit) { VerticalPanel panel = new VerticalPanel(); panel.addStyleName("rhs-content-panel"); panel.getElement().getStyle().setMarginBottom(0, PX); // header/*from www . j av a 2s.com*/ panel.add(new ContentHeaderLabel("Log Viewer")); panel.add(new ContentDescription("Log files of selected server")); // toolbar ToolStrip tools = new ToolStrip(); HTML label = new HTML(Console.CONSTANTS.commom_label_filter() + ": "); label.getElement().setAttribute("style", "padding-top:8px;"); final TextBox filter = new TextBox(); filter.getElement().setId("TX_" + BASE_ID + "_filter"); filter.setMaxLength(30); filter.setVisibleLength(20); filter.getElement().setAttribute("style", "float:right; width:120px;"); filter.addKeyUpHandler(new KeyUpHandler() { @Override public void onKeyUp(KeyUpEvent keyUpEvent) { String prefix = filter.getText(); if (prefix != null && !prefix.equals("")) { // filter by prefix filterByPrefix(prefix); } else { clearFilter(); } } }); tools.addToolWidget(label); tools.addToolWidget(filter); final ToolButton download = new ToolButton("Download", new ClickHandler() { @Override public void onClick(ClickEvent event) { ModelNode logFile = selectionModel.getSelectedObject(); if (logFile != null) { // TODO Implement download } } }); download.setEnabled(false); download.getElement().setId("BT_" + BASE_ID + "_download"); // TODO Enable when the server side download is in place // tools.addToolButtonRight(download); final ToolButton view = new ToolButton(Console.CONSTANTS.common_label_view(), new ClickHandler() { @Override public void onClick(ClickEvent event) { ModelNode logFile = selectionModel.getSelectedObject(); if (logFile != null) { circuit.dispatch(new OpenLogFile(logFile.get(FILE_NAME).asString())); } } }); view.setEnabled(false); view.getElement().setId("BT_" + BASE_ID + "_view"); tools.addToolButtonRight(view); panel.add(tools); // table backup = new ArrayList<>(); ProvidesKey<ModelNode> providesKey = new ProvidesKey<ModelNode>() { @Override public Object getKey(ModelNode item) { return item.get(FILE_NAME); } }; selectionModel = new SingleSelectionModel<>(providesKey); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { download.setEnabled(selectionModel.getSelectedObject() != null); view.setEnabled(selectionModel.getSelectedObject() != null); } }); table = new ModelNodeCellTable(10, providesKey); table.setSelectionModel(selectionModel); dataProvider = new ListDataProvider<>(providesKey); dataProvider.addDataDisplay(table); ColumnSortEvent.ListHandler<ModelNode> sortHandler = new ColumnSortEvent.ListHandler<ModelNode>( dataProvider.getList()); table.addColumnSortHandler(sortHandler); panel.add(table); DefaultPager pager = new DefaultPager(); pager.setDisplay(table); panel.add(pager); // column: name TextColumn<ModelNode> nameColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { return node.get(FILE_NAME).asString(); } }; nameColumn.setSortable(true); sortHandler.setComparator(nameColumn, new NameComparator()); table.addColumn(nameColumn, "Log File Name"); // column: last modified TextColumn<ModelNode> lastModifiedColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { return node.get(LAST_MODIFIED_DATE).asString(); } }; lastModifiedColumn.setSortable(true); sortHandler.setComparator(lastModifiedColumn, new Comparator<ModelNode>() { @Override public int compare(ModelNode node1, ModelNode node2) { return node1.get(LAST_MODIFIED_DATE).asString().compareTo(node2.get(LAST_MODIFIED_DATE).asString()); } }); table.addColumn(lastModifiedColumn, "Date - Time (UTC)"); // column: size TextColumn<ModelNode> sizeColumn = new TextColumn<ModelNode>() { @Override public String getValue(ModelNode node) { double size = node.get(LogStore.FILE_SIZE).asLong() / 1024.0; return SIZE_FORMAT.format(size); } }; sizeColumn.setSortable(true); sortHandler.setComparator(sizeColumn, new Comparator<ModelNode>() { @Override public int compare(ModelNode node1, ModelNode node2) { return node1.get(FILE_SIZE).asInt() - node2.get(FILE_SIZE).asInt(); } }); table.addColumn(sizeColumn, "Size (kb)"); ScrollPanel scroll = new ScrollPanel(panel); LayoutPanel layout = new LayoutPanel(); layout.add(scroll); layout.setWidgetTopHeight(scroll, 0, PX, 100, Style.Unit.PCT); initWidget(layout); }
From source file:org.jboss.as.console.client.shared.subsys.activemq.GenericResourceView.java
License:Apache License
public Widget asWidget() { headerLabel = new ContentHeaderLabel(); ToolStrip tools = new ToolStrip(); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_add(), event -> launchAddDialog())); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_delete(), event -> { if (selectionModel.getSelectedObject() != null) { String name = selectionModel.getSelectedObject().getName(); Feedback.confirm(Console.MESSAGES.deleteTitle(title), Console.MESSAGES.deleteConfirm(title + " '" + name + "'"), isConfirmed -> { if (isConfirmed) { presenter.onRemoveResource(addressTemplate, name); presenter.loadDetails(); }/*from www. ja v a 2 s .c o m*/ }); } })); ProvidesKey<Property> providesKey = Property::getName; table = new DefaultCellTable<>(5, providesKey); dataProvider = new ListDataProvider<>(providesKey); dataProvider.addDataDisplay(table); selectionModel = new SingleSelectionModel<>(providesKey); TextColumn<Property> nameColumn = new TextColumn<Property>() { @Override public String getValue(Property node) { return node.getName(); } }; table.addColumn(nameColumn, "Name"); DefaultPager pager = new DefaultPager(); pager.setDisplay(table); securityContext = presenter.getSecurityFramework() .getSecurityContext(NameTokens.ActivemqMsgClusteringPresenter); ModelNodeFormBuilder formBuilder = new ModelNodeFormBuilder().setConfigOnly().createValidators(true) .setResourceDescription(resourceDescription).setSecurityContext(securityContext); customEditFormBuilder(formBuilder); modelForm = formBuilder.build(); modelForm.getForm().addFormValidator((formItemList, formValidation) -> { addFormValidatorOnAddDialog(formItemList, formValidation); }); List<String> forItems = modelForm.getForm().getFormItemNames(); int numberOfFormItems = forItems.size(); MultipleToOneLayout layoutBuilder = new MultipleToOneLayout().setPlain(true).setHeadlineWidget(headerLabel) .setDescription(SafeHtmlUtils.fromString(resourceDescription.get(DESCRIPTION).asString())) .setMasterTools(tools).setMaster(Console.MESSAGES.available(title), table); if (numberOfFormItems > 0) { modelForm.getForm().setToolsCallback(new FormCallback() { @Override @SuppressWarnings("unchecked") public void onSave(final Map changeset) { presenter.onSaveResource(addressTemplate, selectionModel.getSelectedObject().getName(), changeset); presenter.loadDetails(); } @Override public void onCancel(final Object entity) { modelForm.getForm().cancel(); } }); layoutBuilder.addDetail(Console.CONSTANTS.common_label_attributes(), modelForm.asWidget()); } Map<String, Widget> tabDetails = additionalTabDetails(); for (String detailName : tabDetails.keySet()) { layoutBuilder.addDetail(detailName, tabDetails.get(detailName)); } selectionModel.addSelectionChangeHandler(event -> { Property selectedProperty = selectionModel.getSelectedObject(); if (selectedProperty != null) { modelForm.getForm().edit(selectedProperty.getValue()); } else { modelForm.getForm().clearValues(); } selectTableItem(selectedProperty); }); table.setSelectionModel(selectionModel); return layoutBuilder.build(); }
From source file:org.jboss.as.console.client.shared.subsys.activemq.JMSBridgeList.java
License:Open Source License
JMSBridgeList(JMSBridgePresenter presenter) { this.presenter = presenter; ProvidesKey<Property> providesKey = Property::getName; this.table = new DefaultCellTable<>(8, providesKey); this.dataProvider = new ListDataProvider<>(providesKey); this.dataProvider.addDataDisplay(table); this.selectionModel = new SingleSelectionModel<>(providesKey); this.table.setSelectionModel(selectionModel); }
From source file:org.jboss.as.console.client.shared.subsys.batch.ui.ThreadFactoriesPanel.java
License:Open Source License
@SuppressWarnings("unchecked") ThreadFactoriesPanel(final StatementContext statementContext, final SecurityContext securityContext, final BatchPresenter presenter) { ToolStrip tools = new ToolStrip(); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_add(), new ClickHandler() { @Override/*w w w .ja va 2 s .com*/ public void onClick(ClickEvent event) { presenter.launchAddThreadFactory(); } })); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_delete(), new ClickHandler() { @Override public void onClick(ClickEvent event) { final String name = selectionModel.getSelectedObject().getName(); Feedback.confirm(Console.MESSAGES.deleteTitle("Thread Factory"), Console.MESSAGES.deleteConfirm("Thread Factory '" + name + "'"), new Feedback.ConfirmationHandler() { @Override public void onConfirmation(boolean isConfirmed) { if (isConfirmed) { presenter.removeThreadFactory(name); } } }); } })); providesKey = new ProvidesKey<Property>() { @Override public Object getKey(Property item) { return item.getName(); } }; table = new DefaultCellTable<>(5, providesKey); dataProvider = new ListDataProvider<Property>(providesKey); dataProvider.addDataDisplay(table); selectionModel = new SingleSelectionModel<Property>(providesKey); table.setSelectionModel(selectionModel); TextColumn<Property> nameColumn = new TextColumn<Property>() { @Override public String getValue(Property node) { return node.getName(); } }; table.addColumn(nameColumn, "Name"); final BatchResourceForm details = new BatchResourceForm(BatchStore.THREAD_FACTORIES_ADDRESS, statementContext, securityContext) { @Override void onSave(Map<String, Object> changedValues) { presenter.modifyThreadFactory(selectionModel.getSelectedObject().getName(), changedValues); } }; selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { if (details.getForm() != null) { Property worker = selectionModel.getSelectedObject(); if (worker != null) { details.getForm().edit(worker.getValue()); } else { details.getForm().clearValues(); } } } }); MultipleToOneLayout layoutBuilder = new MultipleToOneLayout().setPlain(true).setHeadline("Thread Factories") .setDescription( SafeHtmlUtils.fromString("Please chose a thread factory from below for specific settings.")) .setMasterTools(tools).setMaster(Console.MESSAGES.available("Thread Factory"), table) .addDetail(Console.CONSTANTS.common_label_attributes(), details); initWidget(layoutBuilder.build()); }
From source file:org.jboss.as.console.client.shared.subsys.elytron.ui.ElytronGenericResourceView.java
License:Apache License
public Widget asWidget() { ToolStrip tools = new ToolStrip(); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_add(), event -> onAdd())); tools.addToolButtonRight(new ToolButton(Console.CONSTANTS.common_label_delete(), event -> { if (selectionModel.getSelectedObject() != null) { String name = selectionModel.getSelectedObject().getName(); Feedback.confirm(Console.MESSAGES.deleteTitle(title), Console.MESSAGES.deleteConfirm(title + " '" + name + "'"), isConfirmed -> { if (isConfirmed) { circuit.dispatch(new RemoveResourceGeneric(addressTemplate, name)); }// ww w.j a v a 2 s.c o m }); } })); ProvidesKey<Property> providesKey = Property::getName; table = new DefaultCellTable<>(5, providesKey); dataProvider = new ListDataProvider<>(providesKey); dataProvider.addDataDisplay(table); selectionModel = new SingleSelectionModel<>(providesKey); TextColumn<Property> nameColumn = new TextColumn<Property>() { @Override public String getValue(Property node) { return node.getName(); } }; table.addColumn(nameColumn, "Name"); DefaultPager pager = new DefaultPager(); pager.setDisplay(table); ModelNodeFormBuilder formBuilder = new ModelNodeFormBuilder().setConfigOnly().createValidators(true) .setResourceDescription(resourceDescription).exclude(excludes.toArray(new String[excludes.size()])) .setSecurityContext(securityContext); modelForm = formBuilder.build(); modelForm.getForm().addFormValidator((formItemList, formValidation) -> { addFormValidatorOnAddDialog(formItemList, formValidation); }); List<String> forItems = modelForm.getForm().getFormItemNames(); int numberOfFormItems = forItems.size(); MultipleToOneLayout layoutBuilder = new MultipleToOneLayout().setPlain(true).setHeadline(title) .setDescription(SafeHtmlUtils.fromString(resourceDescription.get(DESCRIPTION).asString())) .setMasterTools(tools).setMaster(Console.MESSAGES.available(title), table); if (numberOfFormItems > 0) { modelForm.getForm().setToolsCallback(new FormCallback() { @Override @SuppressWarnings("unchecked") public void onSave(final Map changeset) { circuit.dispatch(new ModifyResourceGeneric(addressTemplate, selectionModel.getSelectedObject().getName(), changeset)); } @Override public void onCancel(final Object entity) { modelForm.getForm().cancel(); } }); layoutBuilder.addDetail(Console.CONSTANTS.common_label_attributes(), modelForm.asWidget()); } Map<String, Widget> tabDetails = additionalTabDetails(); for (String detailName : tabDetails.keySet()) { layoutBuilder.addDetail(detailName, tabDetails.get(detailName)); } selectionModel.addSelectionChangeHandler(event -> { Property selectedProperty = selectionModel.getSelectedObject(); if (selectedProperty != null) { modelForm.getForm().edit(selectedProperty.getValue()); } else { modelForm.getForm().clearValues(); } selectTableItem(selectedProperty); }); table.setSelectionModel(selectionModel); return layoutBuilder.build(); }
From source file:org.jboss.as.console.client.shared.subsys.elytron.ui.factory.ConfigurableHttpServerMechanismFactoryFilterEditor.java
License:Open Source License
ConfigurableHttpServerMechanismFactoryFilterEditor(final Dispatcher circuit, ResourceDescription resourceDescription, SecurityContext securityContext) { this.circuit = circuit; this.securityContext = securityContext; this.nameProvider = modelNode -> modelNode.get("pattern-filter"); selectionModel = new SingleSelectionModel<>(nameProvider); this.resourceDescription = new ResourceDescription(resourceDescription.clone()); ModelNode reqPropsDescription = this.resourceDescription.get("operations").get("add") .get("request-properties"); ModelNode filtersDescription = reqPropsDescription.get("filters").get("value-type"); reqPropsDescription.set(filtersDescription); }
From source file:org.jboss.as.console.client.shared.subsys.elytron.ui.factory.MechanismProviderFilteringSaslServerFilterEditor.java
License:Open Source License
MechanismProviderFilteringSaslServerFilterEditor(final Dispatcher circuit, ResourceDescription resourceDescription, SecurityContext securityContext) { this.circuit = circuit; this.securityContext = securityContext; this.nameProvider = modelNode -> modelNode.get("provider-name"); selectionModel = new SingleSelectionModel<>(nameProvider); this.resourceDescription = new ResourceDescription(resourceDescription.clone()); ModelNode reqPropsDescription = this.resourceDescription.get(OPERATIONS).get(ADD).get(REQUEST_PROPERTIES); ModelNode filtersDescription = reqPropsDescription.get("filters").get(VALUE_TYPE); reqPropsDescription.set(filtersDescription); }