@Override public List<Table.Column> getNotCollapsedColumns() { Object[] componentVisibleColumns = component.getVisibleColumns(); if (componentVisibleColumns == null) return Collections.emptyList(); List<Table.Column> visibleColumns = new ArrayList<>(componentVisibleColumns.length); for (Object key : componentVisibleColumns) { if (!component.isColumnCollapsed(key)) { Column column = columns.get(key); if (column != null) { visibleColumns.add(column); } } } return visibleColumns; }
if (settingsColumnList.size() != component.getVisibleColumns().length) { return true; Object[] visibleColumns = component.getVisibleColumns(); for (int i = 0; i < visibleColumns.length; i++) { Object columnId = visibleColumns[i];
private void writeFooter(Element table) { Object[] columns = getVisibleColumns(); if (columns.length == 0 || columnFooters.isEmpty()) { return; } Element footer = table.appendElement("tfoot").appendElement("tr"); for (Object id : columns) { footer.appendElement("td").text(getColumnFooter(id)); } }
@Override protected void writeItems(Element design, DesignContext context) { if (getVisibleColumns().length == 0) { return; } Element tbody = design.child(0).appendElement("tbody"); super.writeItems(tbody, context); }
@Override protected Element writeItem(Element tbody, Object itemId, DesignContext context) { Element tr = tbody.appendElement("tr"); tr.attr("item-id", String.valueOf(itemId)); Item item = getItem(itemId); for (Object id : getVisibleColumns()) { Element td = tr.appendElement("td"); Object value = item.getItemProperty(id).getValue(); td.html(value != null ? value.toString() : ""); } return tr; }
/** * Saves common table column settings (width, visible, id). * * @param columnsElem setting element for the columns */ protected void saveCommonTableColumnSettings(Element columnsElem) { Object[] visibleColumns = component.getVisibleColumns(); for (Object column : visibleColumns) { Element colElem = columnsElem.addElement("columns"); colElem.addAttribute("id", column.toString()); int width = component.getColumnWidth(column); if (width > -1) colElem.addAttribute("width", String.valueOf(width)); boolean visible = !component.isColumnCollapsed(column); colElem.addAttribute("visible", Boolean.toString(visible)); } }
new Object[] { firstIx, (firstIx + count - 1) }); Object[] colids = getVisibleColumns(); if (pageBuffer != null && pageBuffer[CELL_ITEMID].length > 0) { int bufSize = pageBuffer[CELL_ITEMID].length;
protected void applyColumnSettings(Element element) { Element columnsElem = element.element("columns"); Object[] oldColumns = component.getVisibleColumns(); List<Object> newColumns = new ArrayList<>();
for (Object column : component.getVisibleColumns()) { modelIds.add(String.valueOf(column));
private void writeHeader(Element table, Table def, DesignContext context) { Object[] columns = getVisibleColumns(); if (columns.length == 0 || (columnIcons.isEmpty() && columnHeaders.isEmpty())) { return; } Element header = table.appendElement("thead").appendElement("tr"); for (Object id : columns) { Element th = header.appendElement("th"); th.html(getColumnHeader(id)); DesignAttributeHandler.writeAttribute("icon", th.attributes(), getColumnIcon(id), def.getColumnIcon(null), Resource.class, context); } }
new Object[] { firstIndex, (firstIndex + rows - 1) }); final Object[] colids = getVisibleColumns(); final int cols = colids.length;
private void writeColumns(Element table, Table def, DesignContext context) { Object[] columns = getVisibleColumns(); if (columns.length == 0) { return; } Element colgroup = table.appendElement("colgroup"); for (Object id : columns) { Element col = colgroup.appendElement("col"); col.attr("property-id", id.toString()); if (getColumnAlignment(id) == Align.CENTER) { col.attr("center", true); } else if (getColumnAlignment(id) == Align.RIGHT) { col.attr("right", true); } DesignAttributeHandler.writeAttribute("width", col.attributes(), getColumnWidth(id), def.getColumnWidth(null), int.class, context); DesignAttributeHandler.writeAttribute("expand", col.attributes(), getColumnExpandRatio(id), def.getColumnExpandRatio(null), float.class, context); DesignAttributeHandler.writeAttribute("collapsible", col.attributes(), isColumnCollapsible(id), def.isColumnCollapsible(null), boolean.class, context); DesignAttributeHandler.writeAttribute("collapsed", col.attributes(), isColumnCollapsed(id), def.isColumnCollapsed(null), boolean.class, context); } }
@Override public void writeDesign(Element design, DesignContext context) { Table def = context.getDefaultInstance(this); DesignAttributeHandler.writeAttribute("sortable", design.attributes(), isSortEnabled(), def.isSortEnabled(), boolean.class, context); Element table = null; boolean hasColumns = getVisibleColumns().length != 0; if (hasColumns) { table = design.appendElement("table"); writeColumns(table, def, context); writeHeader(table, def, context); } super.writeDesign(design, context); if (hasColumns) { writeFooter(table); } }
Object[] visibleColumns = component.getVisibleColumns();
@Test public void hideColumnsForChooseDialog() { // GIVEN ConfiguredWorkbenchDefinition workbenchDefinition = new ConfiguredWorkbenchDefinition(); workbenchDefinition.setDialogWorkbench(true); final TreePresenterDefinition treePresenterDefinition = new TreePresenterDefinition(); final PropertyColumnDefinition c1 = new PropertyColumnDefinition(); c1.setName("c1"); c1.setPropertyName("p1"); c1.setDisplayInChooseDialog(true); final PropertyColumnDefinition c2 = new PropertyColumnDefinition(); c2.setName("c2"); c2.setPropertyName("p2"); c2.setDisplayInChooseDialog(false); treePresenterDefinition.addColumn(c1); treePresenterDefinition.addColumn(c2); workbenchDefinition.addContentView(treePresenterDefinition); treePresenterDefinition.setViewType("tree"); treePresenterDefinition.setActive(true); workbenchDefinition.getContentViews().add(treePresenterDefinition); // WHEN final View view = presenter.start(workbenchDefinition, mock(ImageProviderDefinition.class), mock(EventBus.class)); presenter.onViewTypeChanged("tree"); // THEN Table table = fetchVaadinTable(view.asVaadinComponent()); assertTrue(Arrays.asList(table.getVisibleColumns()).contains("p1")); assertFalse(Arrays.asList(table.getVisibleColumns()).contains("p2")); }
target.addAttribute("cols", getVisibleColumns().length); target.addAttribute("rows", rows);