@Nullable @Override default Object getSubPart(String name) { return getField(name); }
FieldGroup.FieldConfig field = fieldGroup.getField(subPath);
FieldGroup.FieldConfig field = fieldGroup.getField(subPath);
@Nullable public static Component getFrameComponent(Frame frame, String id) { FrameImplementation frameImpl = (FrameImplementation) frame; String[] elements = ValuePathHelper.parse(id); if (elements.length == 1) { Component component = frameImpl.getRegisteredComponent(id); if (component == null && frame.getFrame() != null && frame.getFrame() != frame) { component = frame.getFrame().getComponent(id); } return component; } else { Component innerComponent = frameImpl.getRegisteredComponent(elements[0]); if (innerComponent instanceof FieldGroup) { List<String> subList = Arrays.asList(elements).subList(1, elements.length); String subPath = ValuePathHelper.format(subList.toArray(new String[0])); FieldGroup fieldGroup = (FieldGroup) innerComponent; FieldGroup.FieldConfig field = fieldGroup.getField(subPath); return field != null ? field.getComponent() : null; } else if (innerComponent instanceof ComponentContainer) { List<String> subList = Arrays.asList(elements).subList(1, elements.length); String subPath = ValuePathHelper.format(subList.toArray(new String[0])); return ((ComponentContainer) innerComponent).getComponent(subPath); } else if (innerComponent instanceof HasNamedComponents) { List<String> subList = Arrays.asList(elements).subList(1, elements.length); String subPath = ValuePathHelper.format(subList.toArray(new String[0])); return ((HasNamedComponents) innerComponent).getComponent(subPath); } return null; } }
@Override public void init(Map<String, Object> params) { datasource = getDsContext().get("attribute"); FieldGroup fields = (FieldGroup) getComponent("fields"); FieldGroup.FieldConfig field = fields.getField("datatype"); fields.addCustomField(field, new FieldGroup.CustomFieldGenerator() { @Override public Component generateField(Datasource datasource, String propertyId) { LookupField lookup = AppConfig.getFactory().createComponent(LookupField.class); lookup.setDatasource(datasource, propertyId); lookup.setRequiredMessage(getMessage("datatypeMsg")); lookup.setRequired(true); lookup.setPageLength(15); Map<String, Object> options = new TreeMap<>(); String mainMessagePack = AppConfig.getMessagesPack(); for (String datatypeId : Datatypes.getIds()) { options.put(messages.getMessage(mainMessagePack, "Datatype." + datatypeId), datatypeId); } lookup.setOptionsMap(options); return lookup; } } ); }
@Override protected void postInit() { super.postInit(); if (PersistenceHelper.isNew(getItem())) { getItem().setCreatedBy(accessHelper.getCurrentSessionLogin()); } if (StringUtils.isNotEmpty(widgetTemplateDs.getItem().getWidgetModel())) { Widget widget = converter.widgetFromJson(widgetTemplateDs.getItem().getWidgetModel()); setWidgetTypeLookupValue(widget, widgetTypeLookup); } editWidgetButton.setAction(new BaseAction("openWidgetEditor") { @Override public void actionPerform(Component component) { WidgetTemplate widgetTemplate = widgetTemplateDs.getItem(); if (StringUtils.isNotEmpty(widgetTemplate.getWidgetModel())) { Widget widget = converter.widgetFromJson(widgetTemplateDs.getItem().getWidgetModel()); openWidgetEditor(widget); } } }); if (!accessHelper.getCurrentSessionLogin().equals(getItem().getCreatedBy())) { fieldGroup.getField("isAvailableForAllUsers").setVisible(false); } openWidgetEditor = true; ((AbstractDatasource) widgetTemplateDs).setModified(false); }
FieldGroup.FieldConfig field = fieldGroup.getField(dateTimeField); if (field != null && field.getComponent() != null) { ((DateField) field.getComponent()).setResolution(DateField.Resolution.SEC);
@Override protected boolean preCommit() { //remove ds contexts from widget frames dashboardDs.getDsContext().getChildren().removeIf(dsContext -> !((dsContext.get("parametersDs") != null && dsContext.get("parametersDs").getMetaClass() != null && "dashboard$Parameter".equals(dsContext.get("parametersDs").getMetaClass().getName())) || (dsContext.get("widgetTemplatesDs") != null && dsContext.get("widgetTemplatesDs").getMetaClass() != null) && "dashboard$WidgetTemplate".equals(dsContext.get("widgetTemplatesDs").getMetaClass().getName()))); FieldGroup.FieldConfig assistantBeanName = fieldGroup2.getField("assistantBeanName"); LookupField lookupField = (LookupField) assistantBeanName.getComponent(); String val = lookupField.getValue(); dashboardDs.getItem().setAssistantBeanName(val); PersistentDashboard persDash = getItem(); Dashboard dashboard = getDashboard(); String jsonModel = converter.dashboardToJson(dashboard); persDash.setDashboardModel(jsonModel); persDash.setName(dashboard.getTitle()); persDash.setCode(dashboard.getCode()); persDash.setIsAvailableForAllUsers(dashboard.getIsAvailableForAllUsers()); return true; }
@Override public void postInit() { if (PersistenceHelper.isNew(getItem())) { Dashboard model = metadata.create(Dashboard.class); model.setVisualModel(metadata.create(RootLayout.class)); model.setCreatedBy(accessHelper.getCurrentSessionLogin()); dashboardDs.setItem(model); } else { Dashboard model = converter.dashboardFromJson(getItem().getDashboardModel()); dashboardDs.setItem(model); } String assistantBeanName = getDashboard().getAssistantBeanName(); if (StringUtils.isNotEmpty(assistantBeanName)) { dashboardDs.getItem().setAssistantBeanName(assistantBeanName); FieldGroup.FieldConfig assistantBeanNameField = fieldGroup2.getField("assistantBeanName"); LookupField lookupField = (LookupField) assistantBeanNameField.getComponent(); lookupField.setValue(assistantBeanName); } if (!accessHelper.getCurrentSessionLogin().equals(dashboardDs.getItem().getCreatedBy())) { availableCheckBox.setVisible(false); } importJsonField.addFileUploadSucceedListener(e -> uploadJson()); dropLayoutTools = new DropLayoutTools(this, modelConverter, dashboardDs); initParametersFrame(); initPaletteFrame(); initCanvasFrame(); ((AbstractDatasource) dashboardDs).setModified(false); }