public void onDeleteRow(final ViewDefinitionState view, final ComponentState componentState, final String[] args) { AwesomeDynamicListComponent adl = (AwesomeDynamicListComponent) view.getComponentByReference("issues"); if (adl.getFormComponents().isEmpty()) { WindowComponent window = (WindowComponent) view.getComponentByReference("window"); window.getRibbon().getGroups().stream().filter(g -> !g.getName().equals("navigation")) .flatMap(g -> g.getItems().stream()).forEach(i -> { i.setEnabled(false); i.requestUpdate(true); }); } } }
private void disableViewForState(final ViewDefinitionState view) { FormComponent form = (FormComponent) view.getComponentByReference(L_FORM); Entity toc = form.getEntity(); if (toc.getId() == null) { return; } toc = dataDefinitionService.get(TechnologiesConstants.PLUGIN_IDENTIFIER, TechnologiesConstants.MODEL_TECHNOLOGY_OPERATION_COMPONENT).get(toc.getId()); Entity technology = toc.getBelongsToField(TechnologyOperationComponentFields.TECHNOLOGY); if (!TechnologyState.DRAFT.getStringValue().equals(technology.getStringField(TechnologyFields.STATE))) { WindowComponent windowComponent = (WindowComponent) view.getComponentByReference(L_WINDOW); Ribbon ribbon = windowComponent.getRibbon(); ribbon.getGroups().stream().filter(group -> !group.getName().equals("navigation")) .forEach(group -> group.getItems().forEach(item -> { item.setEnabled(false); item.requestUpdate(true); })); form.setFormEnabled(false); } }
public void disabledRibbonWhenOrderIsSynchronized(final ViewDefinitionState view) { FormComponent orderForm = (FormComponent) view.getComponentByReference(L_FORM); WindowComponent window = (WindowComponent) view.getComponentByReference(L_WINDOW); Ribbon ribbon = window.getRibbon(); List<RibbonGroup> ribbonGroups = ribbon.getGroups(); Long orderId = orderForm.getEntityId(); if (orderId == null) { return; } Entity order = orderService.getOrder(orderId); if (orderStateService.isSynchronized(order)) { return; } for (RibbonGroup ribbonGroup : ribbonGroups) { for (RibbonActionItem ribbonActionItem : ribbonGroup.getItems()) { ribbonActionItem.setEnabled(false); ribbonActionItem.requestUpdate(true); } } RibbonActionItem refreshRibbonActionItem = ribbon.getGroupByName("actions").getItemByName("refresh"); RibbonActionItem backRibbonActionItem = ribbon.getGroupByName("navigation").getItemByName("back"); refreshRibbonActionItem.setEnabled(true); backRibbonActionItem.setEnabled(true); refreshRibbonActionItem.requestUpdate(true); backRibbonActionItem.requestUpdate(true); orderForm.setFormEnabled(false); }