@SuppressWarnings("unchecked") private void renderChildren() { elementsMap = new HashMap<>(); CategoryRenderer categoryRenderer = category.getRenderer(); for (Object o : category.getData()) { ListItem<?> element = ListItem.create(categoryRenderer, resources.defaultCategoriesListCss(), o); categoryRenderer.renderElement(element, o); elementsMap.put(o, element); if (element.getId().isEmpty()) { UIObject.ensureDebugId(element, "projectWizard-" + element.getInnerText()); } container.getElement().appendChild(element); } if (elementsMap.isEmpty()) { expandControl.getStyle().setVisibility(Style.Visibility.HIDDEN); } else { expandControl.getStyle().setVisibility(Style.Visibility.VISIBLE); } }
public CategoriesList(Resources resources) { this.resources = resources; this.categoryNodeElements = new ArrayList<>(); rootPanel = new FlowPanel(); rootPanel.setStyleName(resources.defaultCategoriesListCss().rootPanel()); initWidget(rootPanel); scrollPanel = new FlowPanel(); scrollPanel.setStyleName(resources.defaultCategoriesListCss().scrollPanel()); rootPanel.add(scrollPanel); lockPanel = new FlowPanel(); lockPanel.setStyleName(resources.defaultCategoriesListCss().lockPanel()); lockPanel.setVisible(false); rootPanel.add(lockPanel); selectionManager = new SelectionManager(); }
CategoryRenderer renderer = category.getRenderer(); this.resources = resources; setStyleName(resources.defaultCategoriesListCss().category()); FlowPanel header = new FlowPanel(); header.sinkEvents(Event.ONCLICK); header.setStyleName(resources.defaultCategoriesListCss().categoryHeader()); SpanElement label = Document.get().createSpanElement(); label.setClassName(resources.defaultCategoriesListCss().categoryLabel()); expandControl.setClassName(resources.defaultCategoriesListCss().expandControl()); header.getElement().appendChild(expandControl); container = new FocusPanel(); container.setTabIndex(1); container.setStyleName(resources.defaultCategoriesListCss().itemContainer()); container.sinkEvents(Event.ONCLICK); container.addDomHandler( renderChildren(); if (renderChildren) { expandControl.addClassName(resources.defaultCategoriesListCss().expandedImage()); } else { expandOrCollapse();
private void expandOrCollapse() { if (!expanded) { expanded = true; if (container.getElement().getChildCount() == 0) { renderChildren(); } animator.show((elemental.dom.Element) container.getElement()); expandControl.addClassName(resources.defaultCategoriesListCss().expandedImage()); } else { animator.hide((elemental.dom.Element) container.getElement()); expandControl.removeClassName(resources.defaultCategoriesListCss().expandedImage()); expanded = false; } }