protected void removeColumnId(Grid.Column<E, ?> gridColumn) { component.removeColumnId(gridColumn.getId()); }
@Override public void repaint() { component.repaint(); }
protected void addColumnId(Grid.Column<E, ?> gridColumn, Column<E> column) { component.addColumnId(gridColumn.getState().internalId, column.getId()); }
@Override public void setSelectionMode(SelectionMode selectionMode) { this.selectionMode = selectionMode; switch (selectionMode) { case SINGLE: component.setGridSelectionModel(new CubaSingleSelectionModel<>()); break; case MULTI: component.setGridSelectionModel(new CubaMultiSelectionModel<>()); break; case MULTI_CHECK: component.setGridSelectionModel(new CubaMultiCheckSelectionModel<>()); break; case NONE: component.setSelectionMode(Grid.SelectionMode.NONE); return; } // Every time we change selection mode, the new selection model is set, // so we need to add selection listener again. component.getSelectionModel().addSelectionListener(this::onSelectionChange); }
@Override protected void doEdit(T bean) { Objects.requireNonNull(bean, "Editor can't edit null"); if (!isEnabled()) { throw new IllegalStateException( "Editing is not allowed when Editor is disabled."); } edited = bean; getParent().getColumns().stream().filter(Grid.Column::isEditable) .forEach(c -> { CubaEditorField<?> editorField = getEnhancedGrid().getColumnEditorField(bean, c); configureField(editorField); addComponentToGrid(editorField); columnFields.put(c, editorField); getState().columnFields.put(getInternalIdForColumn(c), editorField.getConnectorId()); }); eventRouter.fireEvent(new CubaEditorOpenEvent<>(this, edited, Collections.unmodifiableMap(columnFields))); }
protected void initComponent(Grid<E> component) { setSelectionMode(SelectionMode.SINGLE); component.setColumnReorderingAllowed(true); component.addItemClickListener(this::onItemClick); component.addColumnReorderListener(this::onColumnReorder); component.addSortListener(this::onSort); component.setSizeUndefined(); component.setHeightMode(HeightMode.UNDEFINED); component.setStyleGenerator(this::getGeneratedRowStyle); //noinspection unchecked ((CubaEnhancedGrid<E>) component).setCubaEditorFieldFactory(createEditorFieldFactory()); }