Example usage for org.apache.wicket.markup.repeater RepeatingView setVisible

List of usage examples for org.apache.wicket.markup.repeater RepeatingView setVisible

Introduction

In this page you can find the example usage for org.apache.wicket.markup.repeater RepeatingView setVisible.

Prototype

public final Component setVisible(final boolean visible) 

Source Link

Document

Sets whether this component and any children are visible.

Usage

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);
        }
    }
}