@Override protected Component buildAndBindCustomComponent(String propertyId) { if ("id".equals(propertyId)) { TextField id = new TextField(getCaptionFromId(propertyId)); List<Validator> validators = getFieldFactory().getValidators(propertyId); Binder<SysConfig> binder = getBinder(); Binder.BindingBuilder builder = binder.forField(id) .asRequired(getApp().getMessage("errorMessage.req", StringUtils.capitalize(getCaptionFromId(propertyId)))) .withNullRepresentation("") .withConverter(userInputValue -> userInputValue , toPresentation -> removePrefix(toPresentation)); validators.forEach(builder::withValidator); builder.bind(propertyId); return id; } return null; }
this.addStyleName("v-grid"); this.addColumn(entry ->"<label>" + entry.getAccount().getCode() + "</label> <label class='v-label-light'>" + entry.getAccount().getDescription() + "</label>").setId("account") .setCaption(getCaptionFromId("account")) .setSortable(true) .setHidable(false) .setRenderer(new HtmlRenderer()); this.addColumn(GLEntry::getLayer).setId("layer") .setCaption(getCaptionFromId("layer")) .setSortable(true) .setHidable(false); }) .setId("detail") .setCaption(getCaptionFromId("detail")) .setSortable(true) .setHidable(false); this.addColumn(entry -> entry.getTags() != null ? entry.getTags().toString() : "") .setId("tags") .setCaption(getCaptionFromId("tags")) .setSortable(true) .setHidable(false); .setId("debit") .setStyleGenerator(cellStyle -> "align-right") .setRenderer(createAmountRenderer()) .setCaption(getCaptionFromId("debit")) .setSortable(true) .setHidable(false);
.setId("timestamp") .setRenderer(new DateRenderer(dateFormat)) .setCaption(getCaptionFromId("timestamp")) .setSortable(true) .setHidable(false); entryGrid.addColumn(GLEntry::getBalance) .setId("balance") .setRenderer(createAmountRenderer()) .setStyleGenerator(cellStyle -> "align-right") .setCaption(getCaptionFromId("balance")) .setSortable(true) .setHidable(false);
protected Component buildAndBindCustomComponent(String propertyId) { if ("roles".equals(propertyId)) { CheckBoxGroup g = new CheckBoxGroup(StringUtils.capitalize(getCaptionFromId(propertyId))); g.setItems(((UsersHelper)getHelper()).getRoles()); g.setItemCaptionGenerator((ItemCaptionGenerator<Role>) item -> StringUtils.capitalize(item.getName())); List<Validator> v = getFieldFactory().getValidators(propertyId); Binder.BindingBuilder builder = getBinder().forField(g); for (Validator val : v) { builder.withValidator(val); } builder.bind(propertyId); return g; } return null; }
private ComboBox<User> createUserBox() { ComboBox<User> box = new ComboBox(QIUtils.getCaptionFromId("user")); box.setItemCaptionGenerator(User::getNickAndId); UsersHelper usersHelper = new UsersHelper(); box.setDataProvider(usersHelper.getDataProvider()); box.setEmptySelectionAllowed(false); return box; }
protected Component buildAndBindCustomComponent(String propertyId) { if ("roles".equalsIgnoreCase(propertyId)) { CheckBoxGroup<Role> checkBoxGroup = new CheckBoxGroup<>(QIUtils.getCaptionFromId(propertyId)); checkBoxGroup.setItems(((ConsumersHelper)getHelper()).getRoles()); checkBoxGroup.setItemCaptionGenerator(role -> StringUtils.capitalize(role.getName())); formatField(propertyId,checkBoxGroup).bind(propertyId); return checkBoxGroup; } if ("user".equalsIgnoreCase(propertyId)) { ComboBox<User> box = createUserBox(); formatField(propertyId,box).bind(propertyId); box.setEnabled(false); box.setValue(this.selectedUser); return box; } if ("startdate".equalsIgnoreCase(propertyId) || "endDate".equalsIgnoreCase(propertyId)) { return getFieldFactory().buildAndBindDateField(propertyId); } return null; }
@Override protected Component buildAndBindCustomComponent(String propertyId) { if ("created".equalsIgnoreCase(propertyId)){ return getFieldFactory().buildAndBindDateField(propertyId); } if ("expiration".equalsIgnoreCase(propertyId)){ return getFieldFactory().buildAndBindDateField(propertyId); } if ("parent".equalsIgnoreCase(propertyId)) { ComboBox<Account> parentCombo = new ComboBox<>(getCaptionFromId(propertyId)); parentCombo.setDataProvider(((AccountsHelper)getHelper()).getParentDataProvider()); parentCombo.setItemCaptionGenerator(parent -> parent.getCode() + " - " + parent.getDescription()); formatField(propertyId,parentCombo).bind(propertyId); return parentCombo; } if ("type".equalsIgnoreCase(propertyId)) { ComboBox<Integer> typeCombo = new ComboBox<>(getCaptionFromId(propertyId)); typeCombo.setItems(Account.CHART,Account.DEBIT,Account.CREDIT); typeCombo.setItemCaptionGenerator(type -> getApp().getMessage("account." + type).toUpperCase()); formatField(propertyId,typeCombo).bind(propertyId); return typeCombo; } if ("entries".equalsIgnoreCase(propertyId)) { //todo: should bind? return createEntriesPanel(); } return null; }
grid.removeColumn(columnId); } else { c.setCaption(getCaptionFromId(columnId)) .setSortProperty(columnId) .setSortable(false)
protected Component buildAndBindCustomComponent(String propertyId) { switch (propertyId) { case ("tags"): { TextField field = new TextField(getCaptionFromId(propertyId)); Binder.BindingBuilder<GLTransaction, String> builder = formatField(propertyId, field); builder.withNullRepresentation("").withConverter(new StringToTagConverter()).bind(propertyId); field.setCaption(getCaptionFromId(propertyId)); formatField(propertyId, field).bind(propertyId); return field; Panel entriesPanel = new Panel(getCaptionFromId(propertyId)); entriesPanel.setIcon(VaadinIcons.EXCHANGE); entriesPanel.addStyleName("color1");
private Panel createEntriesPanel() { Panel entriesPanel = new Panel(getCaptionFromId("entries")); entriesPanel.setIcon(VaadinIcons.EXCHANGE); entriesPanel.addStyleName("color1"); layersLayout.setSpacing(true); layersCheckBox = new CheckBoxGroup<>(getCaptionFromId("layers").toUpperCase()); layersCheckBox.setItemCaptionGenerator(item -> item.getId() + " - " + item.getName()); layersCheckBox.addValueChangeListener(listener -> refreshDetails());