Example usage for org.apache.wicket.markup.html.list LoopItem setRenderBodyOnly

List of usage examples for org.apache.wicket.markup.html.list LoopItem setRenderBodyOnly

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.list LoopItem setRenderBodyOnly.

Prototype

public final Component setRenderBodyOnly(final boolean renderTag) 

Source Link

Document

If false the component's tag will be printed as well as its body (which is default).

Usage

From source file:com.servoy.j2db.server.headlessclient.dataui.WebAccordionPanel.java

License:Open Source License

public WebAccordionPanel(IApplication application, final RuntimeAccordionPanel scriptable, String name) {
    super(name);/*from   w  ww  .  ja  v a2 s .  c  o  m*/
    this.application = application;

    setOutputMarkupPlaceholderTag(true);
    accordion = new Accordion("accordion_" + name) {
        @Override
        public JsStatement statement() {
            JsStatement statement = super.statement();
            int index = getTabIndex();
            if (index > 0) // 0 is opened by default
            {
                statement = statement.chain("accordion", "'activate'", String.valueOf(index));
            }
            return statement;
        }
    };
    add(accordion);
    // disable animation, see http://forum.jquery.com/topic/jquery-accordion-not-work-on-ie-7
    accordion.setAnimated(new AccordionAnimated(Boolean.FALSE));
    accordion.setFillSpace(true);
    IModel<Integer> tabsModel = new AbstractReadOnlyModel<Integer>() {
        private static final long serialVersionUID = 1L;

        @Override
        public Integer getObject() {
            return Integer.valueOf(allTabs.size());
        }
    };
    final boolean useAJAX = Utils.getAsBoolean(application.getRuntimeProperties().get("useAJAX")); //$NON-NLS-1$

    accordion.add(new Loop("tabs", tabsModel) //$NON-NLS-1$
    {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final LoopItem item) {
            item.setRenderBodyOnly(true);
            final WebTabHolder holder = allTabs.get(item.getIteration());
            ServoySubmitLink link = new ServoySubmitLink("tablink", useAJAX)//$NON-NLS-1$
            {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    Page page = findPage();
                    if (page != null) {
                        boolean needsRelayout = false;
                        if (currentForm != null && currentForm != holder.getPanel()
                                && currentForm.getFormName().equals(holder.getPanel().getFormName())) {
                            needsRelayout = true;
                        }
                        setActiveTabPanel(holder.getPanel());
                        if (target != null) {
                            if (needsRelayout && page instanceof MainPage
                                    && ((MainPage) page).getController() != null) {
                                if (Utils.getAsBoolean(((MainPage) page).getController().getApplication()
                                        .getRuntimeProperties().get("enableAnchors"))) //$NON-NLS-1$
                                {
                                    target.appendJavascript("layoutEntirePage();"); //$NON-NLS-1$
                                }
                            }
                            relinkFormIfNeeded();
                            accordion.activate(target, item.getIteration());
                            WebEventExecutor.generateResponse(target, page);
                        }
                    }
                }

                @Override
                protected void disableLink(ComponentTag tag) {
                    // do nothing here
                }
            };
            link.setEnabled(holder.isEnabled() && WebAccordionPanel.this.isEnabled());
            if (holder.getIcon() != null) {
                accordion.hideIcons();
            }
            if (holder.getTooltip() != null) {
                link.setMetaData(TooltipAttributeModifier.TOOLTIP_METADATA, holder.getTooltip());
            }
            TabIndexHelper.setUpTabIndexAttributeModifier(link, tabSequenceIndex);
            link.add(TooltipAttributeModifier.INSTANCE);

            String text = holder.getText();
            if (holder.getDisplayedMnemonic() > 0) {
                final String mnemonic = Character.toString((char) holder.getDisplayedMnemonic());
                link.add(new SimpleAttributeModifier("accesskey", mnemonic)); //$NON-NLS-1$
                if (text != null && text.contains(mnemonic) && !HtmlUtils.hasUsefulHtmlContent(text)) {
                    StringBuffer sbBodyText = new StringBuffer(text);
                    int mnemonicIdx = sbBodyText.indexOf(mnemonic);
                    if (mnemonicIdx != -1) {
                        sbBodyText.insert(mnemonicIdx + 1, "</u>"); //$NON-NLS-1$
                        sbBodyText.insert(mnemonicIdx, "<u>"); //$NON-NLS-1$
                        text = sbBodyText.toString();
                    }
                }
            }

            Label label = new Label("linktext", new Model<String>(text)); //$NON-NLS-1$
            label.setEscapeModelStrings(false);
            if (holder.getIcon() != null) {
                label.add(new SimpleAttributeModifier("class", "accordionlinkmargin"));
            }
            link.add(label);
            ServoyTabIcon icon = new ServoyTabIcon("icon", holder, scriptable); //$NON-NLS-1$
            if (holder.getIcon() != null) {
                icon.add(new StyleAppendingModifier(new Model<String>() {
                    @Override
                    public String getObject() {
                        return "float: left;"; //$NON-NLS-1$
                    }
                }));
            }
            holder.getPanel().getWebForm().add(new StyleAppendingModifier(new Model<String>() {
                private int getAllPartsHeight() {
                    int height = 0;
                    if (getCurrentForm().getController().getDataRenderers() != null) {
                        IDataRenderer[] renderers = getCurrentForm().getController().getDataRenderers();
                        for (IDataRenderer renderer : renderers) {
                            if (renderer != null) {
                                height += renderer.getSize().height;
                            }
                        }
                    }
                    return height;
                }

                @Override
                public String getObject() {
                    String formStyle = "padding: 0px;"; //$NON-NLS-1$
                    if (getBorder() instanceof TitledBorder) {
                        int fsize = 0;
                        int height = getAllPartsHeight();
                        TitledBorder td = (TitledBorder) getBorder();
                        if (td.getTitleFont() != null)
                            fsize = td.getTitleFont().getSize();
                        if (fsize > 11)
                            height = getAllPartsHeight() - (fsize - 11);
                        formStyle += "height: " + height + "px;"; //$NON-NLS-1$ //$NON-NLS-2$
                    }
                    return formStyle;
                }
            }));
            link.add(icon);
            item.add(link);
            item.add(new Label("webform", new Model<String>(""))); // temporary add  //$NON-NLS-1$//$NON-NLS-2$
            label.add(new StyleAppendingModifier(new Model<String>() {
                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    String style = "white-space: nowrap;"; //$NON-NLS-1$
                    if (font != null) {
                        Pair<String, String>[] fontPropetiesPair = PersistHelper
                                .createFontCSSProperties(PersistHelper.createFontString(font));
                        if (fontPropetiesPair != null) {
                            for (Pair<String, String> element : fontPropetiesPair) {
                                if (element == null)
                                    continue;
                                style += element.getLeft() + ": " + element.getRight() + ";"; //$NON-NLS-1$ //$NON-NLS-2$
                            }
                        }
                    }
                    if (holder.getForeground() != null) {
                        style += " color:" + PersistHelper.createColorString(holder.getForeground()); //$NON-NLS-1$
                    } else if (foreground != null) {
                        style += " color:" + PersistHelper.createColorString(foreground); //$NON-NLS-1$
                    }
                    return style;
                }
            }));
        }
    });
    add(new AbstractServoyDefaultAjaxBehavior() {
        @Override
        protected void respond(AjaxRequestTarget target) {
        }

        @Override
        public void renderHead(IHeaderResponse response) {
            super.renderHead(response);
            // avoid flickering, see also tabpanel
            response.renderOnDomReadyJavascript(
                    "var accordion = document.getElementById('" + WebAccordionPanel.this.getMarkupId()
                            + "');if (accordion){accordion.style.visibility = 'inherit';}");
        }
    });

    accordion.add(new StyleAppendingModifier(new Model<String>() {
        @Override
        public String getObject() {
            if (getBorder() instanceof TitledBorder) {
                return "margin-top: -0.4em;"; //"padding: 6px 0px 0px 0px; margin-top: -8px;"; //$NON-NLS-1$
            }
            return ""; //$NON-NLS-1$
        }
    }));

    add(new StyleAppendingModifier(new Model<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return "visibility: hidden;"; //$NON-NLS-1$
        }
    }));
    add(StyleAttributeModifierModel.INSTANCE);
    this.scriptable = scriptable;
    ((ChangesRecorder) scriptable.getChangesRecorder()).setDefaultBorderAndPadding(null,
            TemplateGenerator.DEFAULT_LABEL_PADDING);
}

From source file:org.obiba.onyx.jade.core.wicket.workstation.ExperimentalConditionForm.java

License:Open Source License

public void addComponents() {

    WebMarkupContainer experimentalConditionFormParent = new WebMarkupContainer(
            "experimentalConditionFormParent");
    experimentalConditionFormParent.setOutputMarkupId(true);

    experimentalCondition = new ExperimentalCondition();
    experimentalCondition.setName(//www  .  j a  v a2s .  c  o  m
            selectedExperimentalConditionLog != null ? selectedExperimentalConditionLog.getName() : "");
    experimentalCondition.setUserName(userSessionService.getUserName());
    experimentalCondition.setWorkstation(userSessionService.getWorkstation());

    final List<InstructionModel> instructionModels = getInstructionModels(selectedExperimentalConditionLog);
    Label instructionTitle = new Label("instructionTitle", new ResourceModel("InstructionTitle"));
    experimentalConditionFormParent.addOrReplace(instructionTitle);
    if (instructionModels.size() == 0)
        instructionTitle.setVisible(false);
    Loop instructionsLoop = new Loop("instructionList",
            selectedExperimentalConditionLog != null ? selectedExperimentalConditionLog.getInstructions().size()
                    : 0) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(LoopItem item) {
            item.setRenderBodyOnly(true);
            item.add(new InstructionFragment("instructionRows", "instructionFragment",
                    ExperimentalConditionForm.this, instructionModels.get(item.getIteration())));
        }
    };
    experimentalConditionFormParent.addOrReplace(instructionsLoop);

    final List<AttributeModel> attributeModels = getAttributeModels(selectedExperimentalConditionLog);
    Loop attributeLoop = new Loop("table",
            selectedExperimentalConditionLog != null ? selectedExperimentalConditionLog.getAttributes().size()
                    : 0) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(LoopItem item) {
            item.setRenderBodyOnly(true);
            Attribute attribute = (Attribute) attributeModels.get(item.getIteration()).getObject();
            if (attribute.getAllowedValues() != null && attribute.getAllowedValues().size() > 0) {
                item.add(new DropDownFragment("inputRows", "dropDownFragment", ExperimentalConditionForm.this,
                        attributeModels.get(item.getIteration())));
            } else {
                item.add(new TextFieldFragment("inputRows", "textFieldFragment", ExperimentalConditionForm.this,
                        attributeModels.get(item.getIteration())));
            }
        }
    };
    if (getDefaultModelObject() == null) {
        setVisible(false);
    }
    experimentalConditionFormParent.addOrReplace(attributeLoop);
    if (formParent == null) {
        formParent = experimentalConditionFormParent;
        addOrReplace(formParent);
    } else {
        oldFormParent = experimentalConditionFormParent;
        formParent.replaceWith(experimentalConditionFormParent);
        formParent = experimentalConditionFormParent;
    }
}

From source file:org.obiba.onyx.webapp.action.panel.InterviewLogPanel.java

License:Open Source License

@SuppressWarnings("unchecked")
public void addInterviewLogComponent() {

    final List<Action> interviewLogList = (List<Action>) getDefaultModelObject();

    if (logItemLoop != null) {
        remove(logItemLoop);//from   w w  w .j av  a  2 s  . c  om
    }
    logItemLoop = new Loop("table", interviewLogList.size()) {

        private static final long serialVersionUID = 5173436167390888581L;

        @Override
        protected void populateItem(LoopItem item) {
            item.setRenderBodyOnly(true);
            Action action = interviewLogList.get(item.getIteration());
            item.add(new CommentFragment("rows", "interviewLogRow", InterviewLogPanel.this,
                    new Model<Action>(action), item.getIteration()));
        }
    };

    addOrReplace(logItemLoop);
}

From source file:org.obiba.onyx.webapp.participant.panel.AppointmentUpdateLogPanel.java

License:Open Source License

@SuppressWarnings("unchecked")
public void addLogComponent(final List<AppointmentUpdateLog> appointmentUpdateLogs) {

    if (logItemLoop != null) {
        remove(logItemLoop);/*from  ww  w  .  j av a  2  s  . c o m*/
    }
    logItemLoop = new Loop("table", appointmentUpdateLogs != null ? appointmentUpdateLogs.size() : 0) {

        private static final long serialVersionUID = 5173436167390888581L;

        @Override
        protected void populateItem(LoopItem item) {
            item.setRenderBodyOnly(true);
            AppointmentUpdateLog appointmentUpdateLog = appointmentUpdateLogs.get(item.getIteration());
            item.add(new RowFragment("rows", "appointmentUpdateLogRow", AppointmentUpdateLogPanel.this,
                    new Model(appointmentUpdateLog), item.getIteration()));
        }
    };

    addOrReplace(logItemLoop);
}

From source file:org.obiba.onyx.wicket.reusable.PrintableReportPanel.java

License:Open Source License

public void addPrintableReportList() {

    final List<IPrintableReport> interviewLogList = new ArrayList<IPrintableReport>(
            printableReportsRegistry.availableReports());
    final List<PrintableReportModel> printReportModels = new ArrayList<PrintableReportModel>(
            interviewLogList.size());//from   w  ww  .  j a  v  a 2  s .  c  om
    for (IPrintableReport report : interviewLogList) {
        printReportModels.add(new PrintableReportModel(report));
    }

    Collections.sort(printReportModels, new Comparator<PrintableReportModel>() {

        public int compare(PrintableReportModel arg0, PrintableReportModel arg1) {
            return arg0.name.compareTo(arg1.name);
        }

    });

    Loop logItemLoop;
    logItemLoop = new Loop("table", printReportModels.size()) {

        private static final long serialVersionUID = 5173436167390888581L;

        @Override
        protected void populateItem(LoopItem item) {
            item.setRenderBodyOnly(true);
            item.add(new PrintableReportFragment("rows", "printableReportRow", PrintableReportPanel.this,
                    printReportModels.get(item.getIteration()), item.getIteration()));
        }
    };
    group.addOrReplace(logItemLoop);
}