List of usage examples for org.apache.wicket.markup.html.list LoopItem setRenderBodyOnly
public final Component setRenderBodyOnly(final boolean renderTag)
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); }