protected Table createTable(String dataSetName, GroupDatasource dataSource) { Table table = componentsFactory.createComponent(GroupTable.class); table.setId(dataSetName + "Table"); createColumns(dataSource, table); table.setDatasource(dataSource); table.setWidth("100%"); table.setMultiSelect(true); ExcelAction excelAction = ExcelAction.create(table); excelAction.setFileName(dataSetName); Button excelButton = componentsFactory.createComponent(Button.class); excelButton.setAction(excelAction); ButtonsPanel buttonsPanel = componentsFactory.createComponent(ButtonsPanel.class); table.setButtonsPanel(buttonsPanel); table.addAction(excelAction); buttonsPanel.add(excelButton); return table; }
@Override public void init(Map<String, Object> params) { super.init(params); windowConfig = AppBeans.get(WindowConfig.class); procTasksTable.addGeneratedColumn("assigned", entity -> { CheckBox checkBox = componentsFactory.createComponent(CheckBox.class); checkBox.setValue(entity.getProcActor() != null); return checkBox; }); Action openEntityEditorAction = new OpenEntityEditorAction(); procTasksTable.addAction(openEntityEditorAction); openEntityEditorBtn.setAction(openEntityEditorAction); procTasksTable.setItemClickAction(openEntityEditorAction); }
@Override public void actionPerform(Component component) { Set<CategoryAttribute> selected = categoryAttrsTable.getSelected(); if (!selected.isEmpty()) { AttributeEditor editor = (AttributeEditor) openEditor( "sys$CategoryAttribute.edit", selected.iterator().next(), OpenType.DIALOG, categoryAttrsTable.getDatasource()); editor.addCloseListener(actionId -> { categoryAttrsTable.getDatasource().refresh(); categoryAttrsTable.focus(); // restore selection from ds categoryAttrsTable.setSelected(categoryAttrsDs.getItem()); }); } } }
protected void initDataTypeColumn() { categoryAttrsTable.removeGeneratedColumn("dataType"); categoryAttrsTable.addGeneratedColumn("dataType", new Table.ColumnGenerator<CategoryAttribute>() { @Override public Component generateCell(CategoryAttribute attribute) { Label dataTypeLabel = factory.createComponent(Label.class); String labelContent; if (BooleanUtils.isTrue(attribute.getIsEntity())) { Class clazz = attribute.getJavaClassForEntity(); if (clazz != null) { MetaClass metaClass = metadata.getSession().getClass(clazz); labelContent = messageTools.getEntityCaption(metaClass); } else { labelContent = "classNotFound"; } } else { labelContent = getMessage(attribute.getDataType().name()); } dataTypeLabel.setValue(labelContent); return dataTypeLabel; } }); }
protected void initTable() { entitiesTable = uiComponents.create(Table.class); entitiesTable.setId("table"); entitiesTable.setDatasource(entitiesDs); entitiesTable.setSizeFull(); Boolean multiSelect = WindowParams.MULTI_SELECT.get(getContext()); entitiesTable.setMultiSelect(multiSelect != null ? multiSelect : true); RowsCount rowsCount = uiComponents.create(RowsCount.class); rowsCount.setRowsCountTarget(entitiesTable); entitiesTable.setRowsCount(rowsCount); entitiesTable.focus(); }
entitiesTable.setFrame(frame); entitiesTable.setButtonsPanel(buttonsPanel); entitiesTable.setRowsCount(rowsCount); entitiesTable.addColumn(column); entitiesTable.addColumn(column); entitiesTable.setDatasource(entitiesDs); filter.setDatasource(entitiesDs); entitiesTable.setSizeFull(); entitiesTable.setMultiSelect(true); Action restoreAction = new ItemTrackingAction("restore") .withCaption(getMessage("entityRestore.restore")) showRestoreDialog() ); entitiesTable.addAction(restoreAction); restoreButton.setAction(restoreAction); tablePanel.expand(entitiesTable, "100%", "100%"); entitiesTable.refresh();
entitiesTable.setFrame(frame); if (companion != null) { companion.setHorizontalScrollEnabled(entitiesTable, true); entitiesTable.addColumn(column); entitiesTable.addColumn(column); entitiesDs.setQuery(String.format("select e from %s e", meta.getName())); entitiesTable.setDatasource(entitiesDs); entitiesTable.setSizeFull(); entitiesTable.setRowsCount(rowsCount); entitiesTable.setEnterPressAction(entitiesTable.getAction("edit")); entitiesTable.setItemClickAction(entitiesTable.getAction("edit")); entitiesTable.setMultiSelect(true); entitiesTable.addStyleName("table-boolean-text");
@Override public void actionPerform(Component component) { Set<Category> selected = categoryTable.getSelected(); if (!selected.isEmpty()) { Category category = selected.iterator().next(); Editor editor = openEditor("sys$Category.edit", category, OpenType.THIS_TAB); ((AbstractWindow) editor).addCloseListener(actionId -> { categoriesDs.refresh(); categoryTable.focus(); }); } } }
@Override public void init(Map<String, Object> params) { super.init(params); attributesTable.unwrap(CubaTable.class) .setTextSelectionEnabled(true); attributesTable.setItemClickAction(editAttributeAction); attributesTable.addGeneratedColumn("type", entity -> { Label<String> label = uiComponents.create(Label.NAME); label.setValue(convertTypeToReadableName(entity.getType())); return label; }); attrDs.addCollectionChangeListener(e -> { if (e.getDs().getItemIds().isEmpty()) { attributesTable.setHeight("80px"); // reduce its height if no attributes } }); removeAction("windowCommit"); }
table.setMultiSelect(true); table.setFrame(frame); table.addColumn(column); table.addColumn(column); table.setDatasource(propertyDs); table.setButtonsPanel(propertyButtonsPanel); table.setRowsCount(rowsCount); table.setWidth("100%");
resultComponent.setRowHeaderMode(Table.RowHeaderMode.valueOf(rowHeaderMode)); resultComponent.setRowHeaderMode(Table.RowHeaderMode.valueOf(rowHeaderMode)); resultComponent.addColumn(column); loadValidators(resultComponent, column); loadRequired(resultComponent, column); resultComponent.setItems(createContainerTableSource(collectionContainer)); } else { addDynamicAttributes(resultComponent, metaClass, datasource, null, availableColumns); resultComponent.setDatasource((CollectionDatasource) datasource); if (StringUtils.isNotEmpty(generatorMethod)) { resultComponent.addGeneratedColumn(String.valueOf(column), beanLocator.getPrototype(DeclarativeColumnGenerator.NAME, resultComponent, generatorMethod)); resultComponent.setMultiSelect(Boolean.parseBoolean(multiselect));
@Override public boolean isApplicable() { return tasksTable.getSelected().size() == 1; } }
@SuppressWarnings("unchecked") @Override public void onClick(Entity item, String columnId) { Table.Column column = table.getColumn(columnId); MetaProperty metaProperty; String value; && !isMultiLineCell)) { if (!table.getSelected().contains(item)) { table.setSelected(item); CubaEnhancedTable enhancedTable = table.unwrap(CubaEnhancedTable.class); enhancedTable.showCustomPopup(layout); enhancedTable.setCustomPopupAutoClose(false);
protected void initUsersTableActions() { userCreateAction = new GroupPropertyCreateAction(usersTable); userCreateAction.setAfterCommitHandler(entity -> usersTable.getDatasource().refresh() ); usersTable.addAction(userCreateAction); usersTable.addAction(new UserRemoveAction(usersTable, userManagementService)); Action moveToGroupAction = new ItemTrackingAction("moveToGroup") .withIcon("icons/move.png") .withCaption(getMessage("moveToGroup")) .withHandler(event -> { Set<User> selected = usersTable.getSelected(); if (!selected.isEmpty()) { moveUsersToGroup(selected); } }); moveToGroupAction.setEnabled(security.isEntityOpPermitted(User.class, EntityOp.UPDATE)); usersTable.addAction(moveToGroupAction); }
protected void initRoles() { rolesTable.addAction(new ExcludeAction(rolesTable, false, true) { @Override public boolean isEnabled() { return super.isEnabled() && isUpdatePermitted(); } }); addRoleBtn.setAction(new AbstractAction("actions.Add") { @Override public void actionPerform(Component component) { if (lookupRolesDs.getItem() != null && !rolesDs.containsItem(lookupRolesDs.getItem().getId())) { rolesDs.addItem(lookupRolesDs.getItem()); } } @Override public boolean isEnabled() { return super.isEnabled() && isUpdatePermitted(); } }); }
public void setColumnGenerator(Function<? super Entity, Component> columnGenerator) { if (owner != null) { //noinspection unchecked owner.addGeneratedColumn(getStringId(), columnGenerator::apply); } }
@Override public void init(Map<String, Object> params) { super.init(params); List<Report> reports = reportsParameter; if (reports == null) { reports = reportGuiManager.getAvailableReports(screenParameter, userSessionSource.getUserSession().getUser(), null); } if (reportsParameter != null) { gridFilter.setVisible(false); } for (Report report : reports) { reportDs.includeItem(report); } Action runAction = new ItemTrackingAction(RUN_ACTION_ID) .withCaption(getMessage("runReport")) .withHandler(e -> { Report report = reportsTable.getSingleSelected(); if (report != null) { report = getDsContext().getDataSupplier().reload(report, ReportService.MAIN_VIEW_NAME); reportGuiManager.runReport(report, ReportRun.this); } }); reportsTable.addAction(runAction); reportsTable.setItemClickAction(runAction); addAction(new BaseAction("applyFilter") .withShortcut(clientConfig.getFilterApplyShortcut()) .withHandler(e -> { filterReports(); })); }
@Override public void actionPerform(Component component) { final CategoryAttribute attribute = metadata.create(CategoryAttribute.class); attribute.setCategory((Category) categoryDs.getItem()); assignNextOrderNo(attribute); AttributeEditor editor = (AttributeEditor) openEditor( "sys$CategoryAttribute.edit", attribute, OpenType.DIALOG, categoryAttrsTable.getDatasource()); editor.addCloseListener(actionId -> { categoryAttrsTable.getDatasource().refresh(); categoryAttrsTable.focus(); // restore selection from ds categoryAttrsTable.setSelected(categoryAttrsDs.getItem()); }); } }
protected void attachAllCheckboxListener(CheckBox checkBox, final AttributePermissionVariant activeVariant) { checkBox.addValueChangeListener(e -> { if (itemChanging) { return; } if (propertyPermissionsTable.getSelected().isEmpty()) { return; } itemChanging = true; MultiplePermissionTarget item = propertyPermissionsTable.getSingleSelected(); if (item != null) { for (AttributePermissionControl control : permissionControls) { AttributePermissionVariant permissionVariant = PermissionUiHelper.getCheckBoxVariant(e.getValue(), activeVariant); control.markTargetPermission(permissionVariant); control.updateCheckers(permissionVariant); } // todo enforce value change propertyPermissionsTable.repaint(); allModifyCheck.setValue(isAllModified()); allReadOnlyCheck.setValue(isAllReadOnly()); allHideCheck.setValue(isAllHide()); } itemChanging = false; }); }