@Override public AttrGroup getAttrGroup(final EntityWithConfigurableAttr entity, final String groupName) { if (attrSchemata == null) { loadAttrSchema(); } final AttrSchema entitySchema = attrSchemata.get(entity.getAttrSchemaName()); return entitySchema .getGroups() .stream() .filter(group -> group.getName().equals(groupName)) .findFirst() .orElse(null); }
default void setAndOutputMarkupId(final Component component, final AttrGroup group, final AttrDescription desc) { component.setMarkupId(group.getName() + "-" + desc.getPropertyName()).setOutputMarkupId(true); } }
private Button createDeleteButton() { final Button deleteButton = new Button("deleteButton"); deleteButton.add(new AjaxEventBehavior("click") { @Override protected void onEvent(AjaxRequestTarget target) { // open dialog only if an attr row is selected if (selectedAttrRowModel.getObject() != null) { deleteDialog.open(target); } } }); deleteButton.setMarkupId(attrGroup.getName() + "-deleteButton").setOutputMarkupId(true); return deleteButton; }
@Override protected void init() { super.init(); // AttrPanels gridBuilder.newSplitPanel(GridSize.COL100, true); // set hasSubSplitPanel to true to remove borders from this split panel final DivPanel divPanel = gridBuilder.getPanel(); final Function<AttrGroup, EmployeeConfigurationTimedDO> addNewEntryFunction = group -> employeeConfigurationService .addNewTimeAttributeRow(data, group.getName()); attrSchemaService.createAttrPanels(divPanel, data, parentPage, addNewEntryFunction); }
private Button createAddButton() { final Button addButton = new Button("addButton"); addButton.add(new AjaxEventBehavior("click") { @Override protected void onEvent(AjaxRequestTarget target) { if (!isDirty) { addAndSelectNewEntry(); updateChoicesOfDateDropDown(false); container.addOrReplace(createContentWithDatepicker()); target.add(container); // a new attr row must be dirty because it is new and must be saved isDirty = true; } else { // this indicates that the add button was clicked in onBeforeRender newSelectedAttrRow = null; saveChangesDialog.open(target); } } }); addButton.setMarkupId(attrGroup.getName() + "-addButton").setOutputMarkupId(true); return addButton; }
dropDown.setMarkupId(attrGroup.getName() + "-dateDropDown").setOutputMarkupId(true); return dropDown;
private void createDatepicker(T attrRow, GridBuilder gridBuilder) { final String startTimeLabel = getString(attrGroup.getI18nKeyStartTime()); final FieldsetPanel dateFs = gridBuilder.newFieldset(startTimeLabel); final PropertyModel<Date> dateModel = new PropertyModel<>(attrRow, "startTime"); final DatePanel dp = new DatePanel(dateFs.newChildId(), dateModel, DatePanelSettings.get().withTargetType(java.sql.Date.class)); dp.setRequired(true); dp.add(this::validateDate); dateFs.add(dp); final DateTextField dateField = dp.getDateField(); dateField.setMarkupId(attrGroup.getName() + "-startTime").setOutputMarkupId(true); }
.addNewTimeAttributeRow(data, group.getName()); attrSchemaService.createAttrPanels(tabPanel, data, parentPage, addNewEntryFunction);
final Function<AttrGroup, VisitorbookTimedDO> addNewEntryFunction = group -> visitorbookService.addNewTimeAttributeRow(data, group.getName()); attrSchemaService.createTimedAttrPanels(gridBuilder.getPanel(), data, parentPage, addNewEntryFunction);