use of com.qcadoo.view.api.components.WindowComponent in project mes by qcadoo.
the class SalesPlanDetailsHooks method setRibbonEnabled.
private void setRibbonEnabled(final ViewDefinitionState view) {
FormComponent salesPlanForm = (FormComponent) view.getComponentByReference(QcadooViewConstants.L_FORM);
Entity salesPlan = salesPlanForm.getEntity();
String state = salesPlan.getStringField(SalesPlanFields.STATE);
GridComponent productsGrid = (GridComponent) view.getComponentByReference(SalesPlanFields.PRODUCTS);
WindowComponent window = (WindowComponent) view.getComponentByReference(QcadooViewConstants.L_WINDOW);
Ribbon ribbon = window.getRibbon();
RibbonGroup salesPlanMaterialRequirementRibbonGroup = ribbon.getGroupByName(L_SALES_PLAN_MATERIAL_REQUIREMENT);
RibbonActionItem createSalesPlanMaterialRequirementRibbonActionItem = salesPlanMaterialRequirementRibbonGroup.getItemByName(L_CREATE_SALES_PLAN_MATERIAL_REQUIREMENT);
RibbonActionItem openPositionsImportPageRibbonActionItem = window.getRibbon().getGroupByName(L_IMPORT).getItemByName(L_OPEN_POSITIONS_IMPORT_PAGE);
RibbonGroup technologiesRibbonGroup = ribbon.getGroupByName("technologies");
RibbonActionItem useOtherTechnologyActionItem = technologiesRibbonGroup.getItemByName("useOtherTechnology");
RibbonActionItem fillTechnologyActionItem = technologiesRibbonGroup.getItemByName("fillTechnology");
boolean isEnabled = Objects.nonNull(salesPlanForm.getEntityId()) && state.equals(SalesPlanStateStringValues.DRAFT);
createSalesPlanMaterialRequirementRibbonActionItem.setEnabled(isEnabled);
createSalesPlanMaterialRequirementRibbonActionItem.requestUpdate(true);
openPositionsImportPageRibbonActionItem.setEnabled(isEnabled);
openPositionsImportPageRibbonActionItem.requestUpdate(true);
useOtherTechnologyActionItem.setEnabled(isEnabled && !productsGrid.getSelectedEntitiesIds().isEmpty() && productsGrid.getSelectedEntities().stream().noneMatch(e -> e.getStringField(TECHNOLOGY_NUMBER) == null) && productsGrid.getSelectedEntities().stream().map(e -> e.getStringField(TECHNOLOGY_NUMBER)).distinct().count() == 1L);
useOtherTechnologyActionItem.requestUpdate(true);
fillTechnologyActionItem.setEnabled(isEnabled && !productsGrid.getSelectedEntitiesIds().isEmpty() && productsGrid.getSelectedEntities().stream().allMatch(e -> e.getStringField(TECHNOLOGY_NUMBER) == null && e.getStringField("productFamily") != null) && productsGrid.getSelectedEntities().stream().map(e -> e.getStringField("productFamily")).distinct().count() == 1L);
fillTechnologyActionItem.requestUpdate(true);
}
use of com.qcadoo.view.api.components.WindowComponent in project mes by qcadoo.
the class SalesPlanMaterialRequirementDetailsHooks method setRibbonEnabled.
private void setRibbonEnabled(final ViewDefinitionState view) {
FormComponent salesPlanMaterialRequirementForm = (FormComponent) view.getComponentByReference(QcadooViewConstants.L_FORM);
GridComponent salesPlanMaterialRequirementProductsGrid = (GridComponent) view.getComponentByReference(QcadooViewConstants.L_GRID);
CheckBoxComponent generatedCheckBox = (CheckBoxComponent) view.getComponentByReference(SalesPlanMaterialRequirementFields.GENERATED);
WindowComponent window = (WindowComponent) view.getComponentByReference(QcadooViewConstants.L_WINDOW);
Ribbon ribbon = window.getRibbon();
RibbonGroup generateRibbonGroup = ribbon.getGroupByName(L_GENERATE);
RibbonGroup deliveriesRibbonGroup = ribbon.getGroupByName(L_DELIVERIES);
RibbonGroup technologiesRibbonGroup = ribbon.getGroupByName(TECHNOLOGIES);
RibbonActionItem generateRibbonActionItem = generateRibbonGroup.getItemByName(L_GENERATE_SALES_PLAN_MATERIAL_REQUIREMENT);
RibbonActionItem createDeliveryRibbonActionItem = deliveriesRibbonGroup.getItemByName(L_CREATE_DELIVERY);
RibbonActionItem showSalesPlanDeliveriesRibbonActionItem = deliveriesRibbonGroup.getItemByName(SHOW_SALES_PLAN_DELIVERIES);
RibbonActionItem showTechnologiesWithUsingProductRibbonActionItem = technologiesRibbonGroup.getItemByName(SHOW_TECHNOLOGIES_WITH_USING_PRODUCT);
Long salesPlanMaterialRequirementId = salesPlanMaterialRequirementForm.getEntityId();
boolean isEnabled = Objects.nonNull(salesPlanMaterialRequirementId);
boolean isGenerated = generatedCheckBox.isChecked();
boolean isSalesPlanMaterialRequirementProductsSelected = !salesPlanMaterialRequirementProductsGrid.getSelectedEntities().isEmpty();
generateRibbonActionItem.setEnabled(isEnabled && !isGenerated);
generateRibbonActionItem.requestUpdate(true);
createDeliveryRibbonActionItem.setEnabled(isEnabled && isGenerated && isSalesPlanMaterialRequirementProductsSelected);
createDeliveryRibbonActionItem.requestUpdate(true);
showTechnologiesWithUsingProductRibbonActionItem.setEnabled(salesPlanMaterialRequirementProductsGrid.getSelectedEntities().size() == 1);
showTechnologiesWithUsingProductRibbonActionItem.requestUpdate(true);
showSalesPlanDeliveriesRibbonActionItem.setEnabled(isEnabled);
showSalesPlanDeliveriesRibbonActionItem.requestUpdate(true);
}
use of com.qcadoo.view.api.components.WindowComponent in project mes by qcadoo.
the class MasterOrderDetailsListeners method onProductsChange.
public void onProductsChange(final ViewDefinitionState view, final ComponentState state, final String[] args) {
GridComponent masterOrderProductsGrid = (GridComponent) view.getComponentByReference(MasterOrderFields.MASTER_ORDER_PRODUCTS);
WindowComponent window = (WindowComponent) view.getComponentByReference(QcadooViewConstants.L_WINDOW);
RibbonGroup orders = window.getRibbon().getGroupByName("orders");
RibbonActionItem createOrder = orders.getItemByName("createOrder");
if (masterOrderProductsGrid.getSelectedEntities().isEmpty()) {
createOrder.setEnabled(false);
} else {
createOrder.setEnabled(masterOrderProductsGrid.getSelectedEntities().size() == 1);
}
createOrder.requestUpdate(true);
}
use of com.qcadoo.view.api.components.WindowComponent in project mes by qcadoo.
the class MatchingChangeoverNormsDetailsListeners method changeStateEditButton.
public void changeStateEditButton(final ViewDefinitionState view, final boolean enabled) {
WindowComponent window = (WindowComponent) view.getComponentByReference(QcadooViewConstants.L_WINDOW);
RibbonActionItem edit = window.getRibbon().getGroupByName("editing").getItemByName("edit");
edit.setEnabled(enabled);
edit.requestUpdate(true);
}
use of com.qcadoo.view.api.components.WindowComponent in project mes by qcadoo.
the class ProductDetailsHooksMFR method setEnabledForStorageLocationHistory.
public void setEnabledForStorageLocationHistory(final ViewDefinitionState view) {
WindowComponent window = (WindowComponent) view.getComponentByReference(QcadooViewConstants.L_WINDOW);
Ribbon ribbon = window.getRibbon();
RibbonGroup group = ribbon.getGroupByName("storageLocationHistory");
RibbonActionItem history = group.getItemByName("showHistory");
FormComponent form = (FormComponent) view.getComponentByReference(QcadooViewConstants.L_FORM);
history.setEnabled(form.getEntityId() != null);
history.requestUpdate(true);
}
Aggregations