use of com.qcadoo.view.api.components.GridComponent in project mes by qcadoo.
the class MasterOrderDetailsHooks method ribbonRender.
public void ribbonRender(final ViewDefinitionState view) {
GridComponent masterOrderProductsGrid = (GridComponent) view.getComponentByReference(MasterOrderFields.MASTER_ORDER_PRODUCTS);
WindowComponent window = (WindowComponent) view.getComponentByReference(QcadooViewConstants.L_WINDOW);
RibbonGroup orders = (RibbonGroup) window.getRibbon().getGroupByName(L_ORDERS);
RibbonActionItem createOrder = (RibbonActionItem) orders.getItemByName(L_CREATE_ORDER);
if (masterOrderProductsGrid.getSelectedEntities().isEmpty()) {
createOrder.setEnabled(false);
} else
createOrder.setEnabled(masterOrderProductsGrid.getSelectedEntities().size() == 1);
if (PluginUtils.isEnabled("goodFood") && !masterOrderProductsGrid.getEntities().isEmpty()) {
createOrder.setEnabled(true);
} else {
createOrder.setMessage("masterOrders.order.ribbon.message.selectOneProduct");
}
createOrder.requestUpdate(true);
toggleGenerateButton(view);
window.requestRibbonRender();
}
use of com.qcadoo.view.api.components.GridComponent in project mes by qcadoo.
the class MasterOrdersMaterialRequirementDetailsHooks method setFormEnabled.
private void setFormEnabled(final ViewDefinitionState view) {
FormComponent masterOrdersMaterialRequirementForm = (FormComponent) view.getComponentByReference(QcadooViewConstants.L_FORM);
GridComponent masterOrdersGrid = (GridComponent) view.getComponentByReference(MasterOrdersMaterialRequirementFields.MASTER_ORDERS);
CheckBoxComponent generatedCheckBox = (CheckBoxComponent) view.getComponentByReference(MasterOrdersMaterialRequirementFields.GENERATED);
Long masterOrdersMaterialRequirementId = masterOrdersMaterialRequirementForm.getEntityId();
boolean isEnabled = Objects.isNull(masterOrdersMaterialRequirementId);
boolean isGenerated = generatedCheckBox.isChecked();
masterOrdersMaterialRequirementForm.setFormEnabled(isEnabled || !isGenerated);
masterOrdersGrid.setEnabled(isEnabled || !isGenerated);
}
use of com.qcadoo.view.api.components.GridComponent 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.GridComponent 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.GridComponent 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);
}
Aggregations