List of usage examples for org.apache.wicket.markup.repeater RepeatingView setVisible
public final Component setVisible(final boolean visible)
From source file:modelibra.wicket.component.old.EntityRepeatingDisplayPanel.java
License:Apache License
public EntityRepeatingDisplayPanel(final ComponentView componentView) { super(componentView.getWicketId()); DomainApp app = (DomainApp) getApplication(); ConceptView conceptView = componentView.getRootConceptView(); IEntities<?> entities = conceptView.getEntities(); ConceptConfig conceptConfig = entities.getConceptConfig(); // Table title String conceptsName = LocalizedText.getConceptsName(this, entities); add(new Label("conceptsName", conceptsName)); // Property views List<PropertyView> propertyViews = conceptView.getPropertyViews(); if (propertyViews.size() == 0) { conceptView.includeEssentialProperties(); propertyViews = conceptView.getPropertyViews(); }//w w w . ja va2 s. co m // Property headers List<String> propertyHeaders = new ArrayList<String>(); for (PropertyView propertyView : propertyViews) { String propertyKey = conceptConfig.getCode() + "." + propertyView.getHeader(); String propertyHeader = LocalizedText.getApplicationPropertiesText(this, propertyKey); propertyHeaders.add(propertyHeader); } add(new PropertyLabelList("propertyLabelList", propertyHeaders)); RepeatingView entityRepeating = new RepeatingView("entityRepeating"); add(entityRepeating); Iterator<?> entityIterator = entities.getList().iterator(); while (entityIterator.hasNext()) { WebMarkupContainer row = new WebMarkupContainer(entityRepeating.newChildId()); entityRepeating.add(row); IEntity<?> entity = (IEntity<?>) entityIterator.next(); conceptView.setEntity(entity); List<Panel> propertyPanels = preparePropertyPanels(conceptView.getPropertyViews()); ListView propertyPanelList = new PropertyPanelList("propertyPanelList", propertyPanels); row.add(propertyPanelList); } AppSession appSession = (AppSession) getSession(); if (!app.getAccessPoint().isConceptDisplayAllowed(appSession, conceptConfig)) { entityRepeating.setVisible(false); } }
From source file:ontopoly.components.FieldInstanceAssociationNaryField.java
License:Apache License
public FieldInstanceAssociationNaryField(String id, FieldInstanceAssociationNaryPanel _parentPanel, RoleFieldModel roleFieldModel, List<RoleFieldModel> otherRoleFieldModels, FieldValueModel _fieldValueModel, FieldsViewModel fieldsViewModel, final boolean readonly, boolean traversable, final int arity) { super(id);/* www .j a va 2s. c o m*/ this.fieldValueModel = _fieldValueModel; this.parentPanel = _parentPanel; this.arity = arity; FieldInstanceModel fieldInstanceModel = fieldValueModel.getFieldInstanceModel(); // register current player this.currentFieldModel = roleFieldModel; this.currentTopicModel = new TopicModel<Topic>(fieldInstanceModel.getFieldInstance().getInstance()); selectedPlayers.put(roleFieldModel, currentTopicModel); RoleField.ValueIF fieldValue = (RoleField.ValueIF) fieldValueModel.getFieldValue(); RepeatingView rv = new RepeatingView("roles"); rv.setVisible(!readonly || fieldValueModel.isExistingValue()); add(rv); Iterator<RoleFieldModel> oiter = otherRoleFieldModels.iterator(); while (oiter.hasNext()) { final RoleFieldModel ofieldModel = oiter.next(); RoleField ofield = ofieldModel.getRoleField(); final WebMarkupContainer parent = new WebMarkupContainer(rv.newChildId()) { @Override public boolean isVisible() { // hide if read-only and not complete if (readonly && selectedPlayers.size() != arity) return false; else return true; } }; parent.setOutputMarkupId(true); rv.add(parent); parent.add(new Label("label", new Model<String>(ofield.getRoleType().getName()))); //! parent.add(new Label("label", new Model(ofield.getFieldName()))); // register other player Topic topic = (fieldValue == null ? null : fieldValue.getPlayer(ofield, fieldInstanceModel.getFieldInstance().getInstance())); final TopicModel<Topic> topicModel = new TopicModel<Topic>(topic); // NOTE: should not use same model as selected model as the model would then be updated immediately selectedPlayers.put(ofieldModel, new TopicModel<Topic>(topic)); TopicLink<Topic> playerLink = new TopicLink<Topic>("player", topicModel); playerLink.setEnabled(traversable); playerLink.setVisible(topic != null); parent.add(playerLink); EditMode editMode = ofield.getEditMode(); final boolean allowAdd = !editMode.isNewValuesOnly(); final boolean allowCreate = !editMode.isExistingValuesOnly(); if (readonly || fieldValueModel.isExistingValue() || !allowAdd) { // unused components parent.add(new Label("select").setVisible(false)); parent.add(new Label("find").setVisible(false)); parent.add(new Label("findModal").setVisible(false)); } else { InterfaceControl interfaceControl = ofield.getInterfaceControl(); if (interfaceControl.isAutoComplete()) { final AssociationFieldAutoCompleteTextField autoCompleteField = new AssociationFieldAutoCompleteTextField( "select", new TopicModel<Topic>(null), ofieldModel) { @Override protected void filterPlayers(List<Topic> players) { AbstractOntopolyPage page = (AbstractOntopolyPage) getPage(); page.filterTopics(players); } @Override protected void onTopicSelected(Topic topic) { topicModel.setObject(topic); boolean changesMade = onNewSelection(ofieldModel, topic); // replace ourselves with a topic link if (changesMade) parent.replace(new TopicLink<Topic>("select", new TopicModel<Topic>(topic))); } }; autoCompleteField.getTextField().add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { if (needsUpdate) FieldInstanceAssociationNaryField.this.onUpdate(target); else target.addComponent(parent); } }); autoCompleteField.setOutputMarkupId(true); parent.add(autoCompleteField); // unused components parent.add(new Label("find").setVisible(false)); parent.add(new Label("findModal").setVisible(false)); } else if (interfaceControl.isDropDownList()) { PossiblePlayersModel choicesModel = new PossiblePlayersModel(fieldInstanceModel, ofieldModel) { @Override protected void filterPlayers(Collection<Topic> players) { AbstractOntopolyPage page = (AbstractOntopolyPage) getPage(); page.filterTopics(players); } }; TopicDropDownChoice<Topic> choice = new TopicDropDownChoice<Topic>("select", topicModel, choicesModel) { @Override protected void onModelChanged() { super.onModelChanged(); onNewSelection(ofieldModel, getModel().getObject()); } }; choice.setOutputMarkupId(true); choice.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { FieldInstanceAssociationNaryField.this.onUpdate(target); } @Override protected void onError(AjaxRequestTarget target, RuntimeException e) { FieldInstanceAssociationNaryField.this.onError(target, e); } }); parent.add(choice); // unused components parent.add(new Label("find").setVisible(false)); parent.add(new Label("findModal").setVisible(false)); } else if (interfaceControl.isSearchDialog() || interfaceControl.isBrowseDialog()) { // unused components parent.add(new TopicLink<Topic>("select", topicModel)); // "search"/"browse" button final ModalWindow findModal = new ModalWindow("findModal"); parent.add(findModal); int activeTab = (interfaceControl.isSearchDialog() ? ModalFindPage.ACTIVE_TAB_SEARCH : ModalFindPage.ACTIVE_TAB_BROWSE); findModal.setContent( new ModalFindPage<String>(findModal.getContentId(), fieldInstanceModel, activeTab) { @Override protected boolean isMaxOneCardinality() { return true; } @Override protected void onSelectionConfirmed(AjaxRequestTarget target, Collection<String> selected) { if (!selected.isEmpty()) { String topicId = selected.iterator().next(); TopicMap topicMap = fieldValueModel.getFieldInstanceModel() .getFieldInstance().getInstance().getTopicMap(); Topic topic = topicMap.getTopicById(topicId); topicModel.setObject(topic); onNewSelection(ofieldModel, topic); if (needsUpdate) FieldInstanceAssociationNaryField.this.onUpdate(target); else target.addComponent(parent); } } @Override protected void onCloseCancel(AjaxRequestTarget target) { findModal.close(target); } @Override protected void onCloseOk(AjaxRequestTarget target) { findModal.close(target); } }); findModal.setTitle(new ResourceModel("ModalWindow.title.find.topic").getObject().toString()); findModal.setCookieName("findModal"); OntopolyImageLink findButton = new OntopolyImageLink("find", "search.gif", new ResourceModel("icon.search.find-topic")) { @Override public boolean isVisible() { return !readonly; } @Override public void onClick(AjaxRequestTarget target) { findModal.show(target); } }; parent.add(findButton); } else { throw new RuntimeException("Unsupported interface control: " + interfaceControl); } } // create button if (readonly || fieldValueModel.isExistingValue() || !allowCreate) { parent.add(new Label("create").setVisible(false)); } else { // always use popup window int createAction = FieldInstanceCreatePlayerPanel.CREATE_ACTION_POPUP; FieldInstanceCreatePlayerPanel createPanel = new FieldInstanceCreatePlayerPanel("create", fieldInstanceModel, fieldsViewModel, ofieldModel, parentPanel, createAction) { @Override protected Topic createInstance(TopicType topicType) { Topic currentTopic = currentTopicModel.getTopic(); RoleField currentField = currentFieldModel.getRoleField(); RoleField createField = ofieldModel.getRoleField(); Topic createdTopic = null; // check with page to see if add is allowed AbstractOntopolyPage page = (AbstractOntopolyPage) getPage(); if (page.isCreateAllowed(currentTopic, currentField, topicType, createField)) { // create a new topic instance createdTopic = topicType.createInstance(null); topicModel.setObject(createdTopic); performNewSelection(ofieldModel, createdTopic); } return createdTopic; } @Override protected void performNewSelection(RoleFieldModel ofieldModel, Topic selectedTopic) { FieldInstanceAssociationNaryField.this.performNewSelection(ofieldModel, selectedTopic); } @Override protected void hideInstancePage(AjaxRequestTarget target) { if (needsUpdate) FieldInstanceAssociationNaryField.this.onUpdate(target); else target.addComponent(parent); } }; createPanel.setOutputMarkupId(true); parent.add(createPanel); } } }
From source file:org.cast.isi.page.Notebook.java
License:Open Source License
/** * Add a repeater with the set of Prompts/Responses *///www . ja v a 2 s . co m protected void addResponses(MarkupContainer container) { // "No Responses" message WebMarkupContainer noNotes = new WebMarkupContainer("noNotes"); container.add(noNotes.setVisible(responseMap.isEmpty())); RepeatingView noteRepeater = new RepeatingView("noteRepeater"); container.add(noteRepeater.setVisible(!responseMap.isEmpty())); for (Entry<ISIPrompt, List<ISIResponse>> entry : responseMap.entrySet()) { ISIPrompt currentPrompt = entry.getKey(); WebMarkupContainer promptGroup = new WebMarkupContainer(noteRepeater.newChildId()); noteRepeater.add(promptGroup); String crumbTrail = currentPrompt.getContentElement().getContentLocObject().getSection() .getCrumbTrailAsString(1, 1); promptGroup.add(new Label("responseHeader", crumbTrail)); // Prompt Icon promptGroup.add(ISIApplication.get().iconFor( currentPrompt.getContentElement().getContentLocObject().getSection().getSectionAncestor())); // Add the title and link to the page where this note is located BookmarkablePageLink<ISIStandardPage> link = new SectionLinkFactory().linkToPage("titleLink", currentPrompt.getContentElement().getContentLocObject().getSection()); link.add(new Label("sectionTitle", currentPrompt.getContentElement().getContentLocObject().getSection().getTitle())); link.add(new ClassAttributeModifier("sectionLink")); promptGroup.add(link); // Show the score promptGroup.add(new StudentScorePanel("responseScore", getModels(entry.getValue()))); // Text associated with Prompt promptGroup.add(factory.makeQuestionTextComponent("question", currentPrompt)); // The list of responses under this prompt promptGroup.add(makeResponseListView(entry)); } }
From source file:org.onexus.website.api.widgets.tableviewer.HeadersToolbar.java
License:Apache License
/** * Constructor// www . j a va 2 s.com * * @param table data table this toolbar will be attached to * @param stateLocator locator for the ISortState implementation used by sortable * headers */ public <T, S> HeadersToolbar(final DataTable<T, S> table, final ISortStateLocator stateLocator) { super(table); table.setOutputMarkupId(true); RepeatingView headersGrandParents = new RepeatingView("headersGrandParents"); RepeatingView headersParents = new RepeatingView("headersParents"); RepeatingView headers = new RepeatingView("headers"); //TODO Show optionally headers headersGrandParents.setVisible(false); headersParents.setVisible(false); add(headersGrandParents); add(headersParents); add(headers); final List<? extends IColumn<T, S>> columns = table.getColumns(); WebMarkupContainer secondHeaderContainer = null; String lastSecondHeaderTitle = null; int lastSecondHeaderColspan = 0; WebMarkupContainer thirdHeaderContainer = null; String lastThirdHeaderTitle = null; int lastThirdHeaderColspan = 0; int col = 0; for (final IColumn<T, S> c : columns) { String placement = col == 0 ? "right" : (col + 1 == columns.size() ? "left" : "top"); // Process only Track columns CollectionColumn column = null; if (c instanceof CollectionColumn) { column = (CollectionColumn) c; } else { if (c instanceof AbstractColumn) { WebMarkupContainer item = new WebMarkupContainer(headers.newChildId()); item.setRenderBodyOnly(true); WebMarkupContainer parentItem = new WebMarkupContainer(headersParents.newChildId()); parentItem.setRenderBodyOnly(true); WebMarkupContainer grandParentItem = new WebMarkupContainer(headersGrandParents.newChildId()); grandParentItem.setRenderBodyOnly(true); headers.add(item); headersParents.add(parentItem); headersGrandParents.add(grandParentItem); WebMarkupContainer firstHeaderContainer = new WebMarkupContainer("header"); WebMarkupContainer innerHeader = new WebMarkupContainer("filter"); innerHeader.add(c.getHeader("label")); firstHeaderContainer.add(innerHeader); firstHeaderContainer.add(new AttributeModifier("style", new Model<String>("font-size:12px; font-family:sans-serif;"))); item.add(firstHeaderContainer); secondHeaderContainer = new WebMarkupContainer("header"); decorateSecondParentHeader(secondHeaderContainer, null, column); secondHeaderContainer.add(new AttributeModifier("class", new Model<String>("empty"))); parentItem.add(secondHeaderContainer); secondHeaderContainer = null; thirdHeaderContainer = new WebMarkupContainer("header"); thirdHeaderContainer.add(new EmptyPanel("label")); thirdHeaderContainer.add(new AttributeModifier("class", new Model<String>("empty"))); grandParentItem.add(thirdHeaderContainer); thirdHeaderContainer = null; } continue; } IHeader firstHeader = column.getHeaderDecorator(); IHeader secondHeader = firstHeader == null ? null : firstHeader.getParentHeader(); IHeader thirdHeader = secondHeader == null ? null : secondHeader.getParentHeader(); WebMarkupContainer item = new WebMarkupContainer(headers.newChildId()); headers.add(item); WebMarkupContainer firstHeaderContainer = null; if (column.isFilterable()) { firstHeaderContainer = new FilteredHeader("header", (FieldHeader) column.getHeaderDecorator()); } else { firstHeaderContainer = new WebMarkupContainer("header"); } WebMarkupContainer innerHeader; if (column.isSortable()) { innerHeader = newSortableHeader("filter", column.getSortProperty(), stateLocator); } else { innerHeader = new WebMarkupContainer("filter"); } firstHeaderContainer.add(innerHeader); item.add(firstHeaderContainer); item.setRenderBodyOnly(true); innerHeader.add(firstHeader.getHeader("label")); if (firstHeader.getLabel() == null) { firstHeaderContainer.add(new AttributeModifier("class", new Model<String>("empty"))); } // Add parent and grand parent headers String secondTitle = null; String thirdTitle = null; firstHeaderContainer.add(new AttributeModifier("title", new Model<String>(firstHeader.getTitle()))); firstHeaderContainer.add(new AttributeModifier("rel", Model.of("tooltip"))); firstHeaderContainer.add(new AttributeModifier("data-placement", Model.of(placement))); firstHeaderContainer.add( new AttributeModifier("style", new Model<String>("font-size:12px; font-family:sans-serif;"))); if (secondHeader != null) { secondTitle = secondHeader.getLabel(); } if (thirdHeader != null) { thirdTitle = thirdHeader.getLabel(); } if (secondHeaderContainer != null && ((lastSecondHeaderTitle == null && secondTitle == null) || (lastSecondHeaderTitle != null && secondTitle != null && lastSecondHeaderTitle.equals(secondTitle)))) { lastSecondHeaderColspan += 1; secondHeaderContainer.add(new AttributeModifier("colspan", new Model<String>(Integer.toString(lastSecondHeaderColspan)))); } else { // Add parentItem WebMarkupContainer parentItem = new WebMarkupContainer(headersParents.newChildId()); headersParents.add(parentItem); secondHeaderContainer = new WebMarkupContainer("header"); decorateSecondParentHeader(secondHeaderContainer, secondHeader, column); if (secondTitle == null) { secondHeaderContainer.add(new AttributeModifier("class", new Model<String>("empty"))); } if (secondHeader != null && secondHeader.getLabel() != null) { secondHeaderContainer .add(new AttributeModifier("title", new Model<String>(secondHeader.getTitle()))); secondHeaderContainer.add(new AttributeModifier("rel", Model.of("tooltip"))); secondHeaderContainer.add(new AttributeModifier("data-placement", Model.of(placement))); } secondHeaderContainer.add(new AttributeModifier("style", new Model<String>("font-size:12px; font-family:sans-serif;"))); parentItem.add(secondHeaderContainer); parentItem.setRenderBodyOnly(true); lastSecondHeaderTitle = secondTitle; lastSecondHeaderColspan = 1; } // GrandParents if (thirdHeaderContainer != null && ((lastThirdHeaderTitle == null && thirdTitle == null) || (lastThirdHeaderTitle != null && thirdTitle != null && lastThirdHeaderTitle.equals(thirdTitle)))) { lastThirdHeaderColspan += 1; thirdHeaderContainer.add(new AttributeModifier("colspan", new Model<String>(Integer.toString(lastThirdHeaderColspan)))); } else { // Add grandParentItem WebMarkupContainer grandParentItem = new WebMarkupContainer(headersGrandParents.newChildId()); headersGrandParents.add(grandParentItem); thirdHeaderContainer = new WebMarkupContainer("header"); if (thirdTitle == null) { thirdHeaderContainer.add(new AttributeModifier("class", new Model<String>("empty"))); } if (thirdHeader != null) { thirdHeaderContainer.add(thirdHeader.getHeader("label")); if (thirdHeader.getLabel() != null) { thirdHeaderContainer .add(new AttributeModifier("title", new Model<String>(thirdHeader.getTitle()))); thirdHeaderContainer.add(new AttributeModifier("rel", Model.of("tooltip"))); thirdHeaderContainer.add(new AttributeModifier("data-placement", Model.of(placement))); } } else { thirdHeaderContainer.add(new EmptyPanel("label")); } thirdHeaderContainer.add(new AttributeModifier("style", new Model<String>("font-size:12px; font-family:sans-serif;"))); grandParentItem.add(thirdHeaderContainer); grandParentItem.setRenderBodyOnly(true); lastThirdHeaderTitle = thirdTitle; lastThirdHeaderColspan = 1; } col++; } }
From source file:org.projectforge.web.core.menuconfig.MenuConfigContent.java
License:Open Source License
public MenuConfigContent(final String id, final Menu menu) { super(id);/* w w w . j a v a 2s . c om*/ final RepeatingView mainMenuRepeater = new RepeatingView("mainMenuItem"); add(mainMenuRepeater); if (menu == null) { mainMenuRepeater.setVisible(false); log.error("Oups, menu is null. Configuration of favorite menu not possible."); return; } int counter = 0; for (final MenuEntry mainMenuEntry : menu.getMenuEntries()) { if (mainMenuEntry.hasSubMenuEntries() == false) { continue; } final WebMarkupContainer mainMenuContainer = new WebMarkupContainer(mainMenuRepeater.newChildId()); mainMenuRepeater.add(mainMenuContainer); if (counter++ % 5 == 0) { mainMenuContainer.add(AttributeModifier.append("class", "mm_clear")); } mainMenuContainer.add(new Label("label", new ResourceModel(mainMenuEntry.getI18nKey()))); final RepeatingView subMenuRepeater = new RepeatingView("menuItem"); mainMenuContainer.add(subMenuRepeater); for (final MenuEntry subMenuEntry : mainMenuEntry.getSubMenuEntries()) { final WebMarkupContainer subMenuContainer = new WebMarkupContainer(subMenuRepeater.newChildId()); subMenuRepeater.add(subMenuContainer); final AbstractLink link = NavAbstractPanel.getMenuEntryLink(subMenuEntry, false); if (link != null) { subMenuContainer.add(link); } else { subMenuContainer.setVisible(false); } } } }
From source file:org.projectforge.web.wicket.components.JiraIssuesPanel.java
License:Open Source License
public JiraIssuesPanel(final String id, final IModel<String> model) { super(id);//from w w w .j ava 2 s.com setRenderBodyOnly(true); if (WicketUtils.isJIRAConfigured() == false) { final WebMarkupContainer dummy = new WebMarkupContainer("issues"); setVisible(false); dummy.add(new ExternalLink("jiraLink", "dummy")); add(dummy); return; } final RepeatingView jiraIssuesRepeater = new RepeatingView("issues"); add(jiraIssuesRepeater); final String[] jiraIssues = JiraUtils.checkForJiraIssues(model.getObject()); if (jiraIssues == null) { jiraIssuesRepeater.setVisible(false); } else { for (final String issue : jiraIssues) { final WebMarkupContainer item = new WebMarkupContainer(jiraIssuesRepeater.newChildId()); item.setRenderBodyOnly(true); jiraIssuesRepeater.add(item); item.add(new ExternalLink("jiraLink", JiraUtils.buildJiraIssueBrowseLinkUrl(issue), issue)); } } }
From source file:org.sakaiproject.dash.tool.panels.MOTDPanel.java
License:Educational Community License
protected void initText() { ResourceLoader rl = new ResourceLoader("dash_entity"); WebMarkupContainer motdDiv = new WebMarkupContainer("motdTextDiv"); add(motdDiv);/*from www .j a v a2 s . c om*/ motdDiv.add(new Label("motdPanelTitle", rl.getString("dash.motd.title"))); List<NewsItem> motdList = dashboardCommonLogic.getMOTD(); boolean showMOTD = false; if (motdList != null && !motdList.isEmpty()) { for (NewsItem motd : motdList) { // exist when we've showed a MOTD item; // otherwise, loop till showing the first MOTD item if (showMOTD) break; SourceType sType = motd.getSourceType(); if (dashboardLogic.isAvailable(motd.getEntityReference(), sType != null ? sType.getIdentifier() : null)) { // show MOTD showMOTD = true; // only show MOTD when it is available motdDiv.add(new Label("motdId", motd.getId() + "@" + motd.getNewsTime().getTime())); Map<String, Object> info = dashboardCommonLogic.getEntityMapping( motd.getSourceType().getIdentifier(), motd.getEntityReference(), getLocale()); motdDiv.add(new Label("motdTitle", (String) info.get(DashboardEntityInfo.VALUE_TITLE))); Label motdText = new Label("motdText", (String) info.get(DashboardEntityInfo.VALUE_DESCRIPTION)); motdText.setEscapeModelStrings(false); motdDiv.add(motdText); RepeatingView attachments = new RepeatingView("attachments"); motdDiv.add(attachments); if (info.containsKey(DashboardEntityInfo.VALUE_ATTACHMENTS)) { List<Map<String, String>> list = (List) info.get(DashboardEntityInfo.VALUE_ATTACHMENTS); for (Map<String, String> attInfo : list) { WebMarkupContainer attItem = new WebMarkupContainer(attachments.newChildId()); attachments.add(attItem); ExternalLink attLink = new ExternalLink("attachment-link", attInfo.get(DashboardEntityInfo.VALUE_ATTACHMENT_URL), attInfo.get(DashboardEntityInfo.VALUE_ATTACHMENT_TITLE)); attLink.add(new AttributeModifier("target", true, new Model<String>(attInfo.get(DashboardEntityInfo.VALUE_ATTACHMENT_TARGET)))); attItem.add(attLink); } } else { WebMarkupContainer attItem = new WebMarkupContainer(attachments.newChildId()); attachments.add(attItem); attItem.add(new ExternalLink("attachment-link", "#", "---")); attachments.setVisible(false); } } } } if (!showMOTD || motdMode != MOTD_MODE_TEXT || motdList == null || motdList.isEmpty()) { motdDiv.setVisibilityAllowed(false); motdDiv.setVisible(false); } }
From source file:ro.fortsoft.wicket.pivot.web.PivotTable.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); PivotModel pivotModel = getModelObject(); PivotTableRenderModel renderModel = PivotTableRenderModel.create(pivotModel); // rendering header RepeatingView column = new RepeatingView("header"); add(column);//from w ww . ja v a 2 s .c o m Component tmp = null; for (HeaderRenderRow row : renderModel.getHeaderRows()) { // rendering row header (first columns) WebMarkupContainer tr = new WebMarkupContainer(column.newChildId()); column.add(tr); RepeatingView rowHeader = new RepeatingView("rowHeader"); tr.add(rowHeader); for (HeaderRenderCell cell : row.getRowHeader()) { if (cell.getPivotField() == null) { // rendering an empty cell tmp = new Label(rowHeader.newChildId(), ""); tmp.add(AttributeModifier.append("class", "empty")); applyRowColSpan(cell, tmp); rowHeader.add(tmp); } else { // rendering row field tmp = createTitleLabel(rowHeader.newChildId(), cell.getPivotField()); applyRowColSpan(cell, tmp); rowHeader.add(tmp); } } // rendering column keys RepeatingView value = new RepeatingView("value"); tr.add(value); for (RenderCell cell : row.getValueCells()) { if (cell instanceof HeaderValueRenderCell) { HeaderValueRenderCell headerValueRenderCell = (HeaderValueRenderCell) cell; tmp = createValueLabel(value.newChildId(), headerValueRenderCell.getRawValue(), headerValueRenderCell.getPivotField()); applyRowColSpan(cell, tmp); value.add(tmp); } else { HeaderRenderCell headerRenderCell = (HeaderRenderCell) cell; tmp = createTitleLabel(value.newChildId(), headerRenderCell.getPivotField()); applyRowColSpan(cell, tmp); value.add(tmp); } } // rendering grand total column RepeatingView grandTotalColumn = new RepeatingView("grandTotalColumn"); for (RenderCell cell : row.getGrandTotalColumn()) { if (cell instanceof GrandTotalHeaderRenderCell) { GrandTotalHeaderRenderCell grandTotalHeaderRenderCell = (GrandTotalHeaderRenderCell) cell; if (grandTotalHeaderRenderCell.getRawValue() != null) { tmp = new Label(grandTotalColumn.newChildId(), grandTotalHeaderRenderCell.getRawValue().toString()); applyRowColSpan(cell, tmp); grandTotalColumn.add(tmp); } else { tmp = new WebMarkupContainer(grandTotalColumn.newChildId()); applyRowColSpan(cell, tmp); tmp.add(AttributeModifier.append("class", "empty")); grandTotalColumn.add(tmp); } } else { HeaderRenderCell headerCell = (HeaderRenderCell) cell; tmp = createTitleLabel(value.newChildId(), headerCell.getPivotField()); applyRowColSpan(cell, tmp); grandTotalColumn.add(tmp); } } grandTotalColumn.setVisible(row.getGrandTotalColumn().size() > 0); tr.add(grandTotalColumn); } // rendering rows RepeatingView row = new RepeatingView("row"); add(row); for (DataRenderRow renderRow : renderModel.getValueRows()) { WebMarkupContainer tr = new WebMarkupContainer(row.newChildId()); row.add(tr); RepeatingView rowHeader = new RepeatingView("rowHeader"); tr.add(rowHeader); for (DataHeaderRenderCell cell : renderRow.getRowHeader()) { tmp = createValueLabel(rowHeader.newChildId(), cell.getRawValue(), cell.getPivotField()); applyRowColSpan(cell, tmp); rowHeader.add(tmp); } RepeatingView value = new RepeatingView("value"); tr.add(value); for (RenderCell cell : renderRow.getValue()) { if (cell instanceof DataValueRenderCell) { tmp = createValueLabel(value.newChildId(), cell.getRawValue(), cell.getPivotField()); applyRowColSpan(cell, tmp); value.add(tmp); } else { GrandTotalValueRenderCell grandTotalCell = (GrandTotalValueRenderCell) cell; tmp = createGrandTotalLabel(value.newChildId(), grandTotalCell.getRawValue(), grandTotalCell.isForRow()); applyRowColSpan(cell, tmp); tmp.add(AttributeModifier.append("class", "grand-total")); value.add(tmp); } } } WebMarkupContainer grandTotalRow = new WebMarkupContainer("grandTotalRow"); grandTotalRow.setVisible(renderModel.getGrandTotalRows().size() > 0); add(grandTotalRow); /* * We currently expect exactly one GrantTotalRenderRow, therefor we dont * need a repeating viewer */ for (GrandTotalRenderRow grantTotalRenderRow : renderModel.getGrandTotalRows()) { for (GrandTotalRowHeaderRenderCell cell : grantTotalRenderRow.getRowHeader()) { Label grandTotalRowHeader = new Label("rowHeader", "Grand Total"); applyRowColSpan(cell, grandTotalRowHeader); grandTotalRow.add(grandTotalRowHeader); } RepeatingView value = new RepeatingView("value"); grandTotalRow.add(value); for (GrandTotalValueRenderCell cell : grantTotalRenderRow.getValue()) { tmp = createGrandTotalLabel(value.newChildId(), cell.getRawValue(), cell.isForRow()); value.add(tmp); } } }
From source file:ro.nextreports.server.web.pivot.PivotTable.java
License:Apache License
public PivotTable(String id, PivotModel pivotModel) { super(id);//from ww w.ja v a 2 s . c o m List<PivotField> columnFields = pivotModel.getFields(PivotField.Area.COLUMN); List<PivotField> rowFields = pivotModel.getFields(PivotField.Area.ROW); List<PivotField> dataFields = pivotModel.getFields(PivotField.Area.DATA); List<List<Object>> rowKeys = pivotModel.getRowKeys(); List<List<Object>> columnKeys = pivotModel.getColumnKeys(); // rendering header RepeatingView column = new RepeatingView("header"); add(column); int headerRowCount = columnFields.size(); if (headerRowCount == 0) { headerRowCount = 1; } if (dataFields.size() > 1) { // add an extra row (the row with data field titles) headerRowCount++; } Component tmp = null; for (int i = 0; i < headerRowCount; i++) { // rendering row header (first columns) WebMarkupContainer tr = new WebMarkupContainer(column.newChildId()); column.add(tr); RepeatingView rowHeader = new RepeatingView("rowHeader"); tr.add(rowHeader); for (int j = 0; j < rowFields.size(); j++) { if (i < headerRowCount - 1) { // rendering an empty cell tmp = new Label(rowHeader.newChildId(), ""); tmp.add(AttributeModifier.append("class", "empty")); rowHeader.add(tmp); } else { // rendering row field tmp = createTitleLabel(rowHeader.newChildId(), rowFields.get(j)); rowHeader.add(tmp); } } // rendering column keys RepeatingView value = new RepeatingView("value"); tr.add(value); for (List<Object> columnKey : columnKeys) { if (i < columnFields.size()) { PivotField columnField = columnFields.get(i); tmp = createValueLabel(value.newChildId(), columnKey.get(i), columnField); tmp.add(AttributeModifier.append("colspan", dataFields.size())); value.add(tmp); } else { for (PivotField dataField : dataFields) { tmp = createTitleLabel(value.newChildId(), dataField); value.add(tmp); } } } // rendering grand total column RepeatingView grandTotalColumn = new RepeatingView("grandTotalColumn"); if (i == 0) { tmp = new Label(grandTotalColumn.newChildId(), getString("pivot.grandTotal")); tmp.add(AttributeModifier.append("colspan", dataFields.size())); grandTotalColumn.add(tmp); } else if (i < columnFields.size()) { tmp = new WebMarkupContainer(grandTotalColumn.newChildId()); tmp.add(AttributeModifier.append("colspan", dataFields.size())); tmp.add(AttributeModifier.append("class", "empty")); grandTotalColumn.add(tmp); } else { for (PivotField dataField : dataFields) { tmp = createTitleLabel(value.newChildId(), dataField); grandTotalColumn.add(tmp); } } grandTotalColumn.setVisible(!columnFields.isEmpty() && pivotModel.isShowGrandTotalForRow()); tr.add(grandTotalColumn); } // rendering rows RepeatingView row = new RepeatingView("row"); add(row); for (List<Object> rowKey : rowKeys) { WebMarkupContainer tr = new WebMarkupContainer(row.newChildId()); row.add(tr); RepeatingView rowHeader = new RepeatingView("rowHeader"); tr.add(rowHeader); for (int k = 0; k < rowKey.size(); k++) { PivotField rowField = rowFields.get(k); tmp = createValueLabel(rowHeader.newChildId(), rowKey.get(k), rowField); rowHeader.add(tmp); } RepeatingView value = new RepeatingView("value"); tr.add(value); for (List<Object> columnKey : columnKeys) { for (PivotField dataField : dataFields) { Number cellValue = (Number) pivotModel.getValueAt(dataField, rowKey, columnKey); tmp = createValueLabel(value.newChildId(), cellValue, dataField); value.add(tmp); } } if (!columnFields.isEmpty() && pivotModel.isShowGrandTotalForRow()) { MultiMap<PivotField, Object> values = new MultiMap<PivotField, Object>(); for (List<Object> columnKey : columnKeys) { for (PivotField dataField : dataFields) { values.addValue(dataField, pivotModel.getValueAt(dataField, rowKey, columnKey)); } } for (PivotField dataField : dataFields) { double grandTotalForRow = 0.0d; List<Object> items = values.get(dataField); for (Object item : items) { if (item != null) { grandTotalForRow += ((Number) item).doubleValue(); } } tmp = createGrandTotalLabel(value.newChildId(), grandTotalForRow, true); tmp.add(AttributeModifier.append("class", "grand-total")); value.add(tmp); } } } WebMarkupContainer grandTotalRow = new WebMarkupContainer("grandTotalRow"); grandTotalRow.setVisible(!rowFields.isEmpty() && pivotModel.isShowGrandTotalForColumn()); add(grandTotalRow); Label grandTotalRowHeader = new Label("rowHeader", getString("pivot.grandTotal")); grandTotalRowHeader.add(AttributeModifier.append("colspan", rowFields.size())); grandTotalRow.add(grandTotalRowHeader); RepeatingView value = new RepeatingView("value"); grandTotalRow.add(value); Map<PivotField, Double> grandTotal = new HashMap<PivotField, Double>(); for (List<Object> columnKey : columnKeys) { MultiMap<PivotField, Object> values = new MultiMap<PivotField, Object>(); for (List<Object> rowKey : rowKeys) { for (PivotField dataField : dataFields) { values.addValue(dataField, pivotModel.getValueAt(dataField, rowKey, columnKey)); } } for (PivotField dataField : dataFields) { double grandTotalForColumn = 0.0d; List<Object> items = values.get(dataField); for (Object item : items) { if (item != null) { grandTotalForColumn += ((Number) item).doubleValue(); } } if (!grandTotal.containsKey(dataField)) { grandTotal.put(dataField, grandTotalForColumn); } else { grandTotal.put(dataField, grandTotal.get(dataField) + grandTotalForColumn); } tmp = createGrandTotalLabel(value.newChildId(), grandTotalForColumn, false); value.add(tmp); } } if (!columnFields.isEmpty() && pivotModel.isShowGrandTotalForRow()) { for (PivotField dataField : dataFields) { tmp = createGrandTotalLabel(value.newChildId(), grandTotal.get(dataField), true); value.add(tmp); } } }