List of usage examples for org.apache.wicket.markup.html.list ListView setOutputMarkupId
public final Component setOutputMarkupId(final boolean output)
From source file:org.hippoecm.frontend.widgets.breadcrumb.BreadcrumbWidget.java
License:Apache License
public BreadcrumbWidget(final String id, final IModel<List<IModel<T>>> model) { super(id, model); setOutputMarkupId(true);//from w ww .j a v a2 s . c o m add(CssClass.append("hippo-breadcrumbs")); final BreadcrumbModel breadcrumbModel = new BreadcrumbModel(); final ListView<Breadcrumb> breadCrumbs = new ListView<Breadcrumb>("crumbs", breadcrumbModel) { @Override protected void populateItem(final ListItem<Breadcrumb> item) { Breadcrumb crumb = item.getModelObject(); item.add(crumb); final String css = crumb.getCssClass(); if (StringUtils.isNotEmpty(css)) { item.add(CssClass.append(css)); } } }; breadCrumbs.setOutputMarkupId(true); add(breadCrumbs); }
From source file:org.jabylon.rest.ui.wicket.config.sections.ProjectVersionsConfigSection.java
License:Open Source License
public ProjectVersionsConfigSection(String id, IModel<Project> model, Preferences config) { super(id, model); add(buildAddNewLink(model));// w w w .j ava2 s. c o m ComplexEObjectListDataProvider<ProjectVersion> provider = new ComplexEObjectListDataProvider<ProjectVersion>( model, PropertiesPackage.Literals.RESOLVABLE__CHILDREN); ListView<ProjectVersion> project = new ListView<ProjectVersion>("versions", provider) { private static final long serialVersionUID = 1L; private ProgressionModel progressModel; @Override protected void populateItem(ListItem<ProjectVersion> item) { item.setOutputMarkupId(true); item.add(new Label("name", item.getModelObject().getName())); item.add(new Label("summary", new StringResourceModel("ProjectVersionsConfigSection.summary", item, null, item.getModel().getObject().getChildren().size()))); progressModel = new ProgressionModel(""); final ProgressPanel progressPanel = new ProgressPanel("progress", progressModel); item.add(progressPanel); ProjectVersion projectVersion = item.getModelObject(); item.add(new BookmarkablePageLink<Void>("edit", SettingsPage.class, WicketUtil.buildPageParametersFor(projectVersion))); item.add(createCheckoutAction(progressPanel, item.getModel())); item.add(createRescanAction(progressPanel, item.getModel())); item.add(createUpdateAction(progressPanel, item.getModel())); item.add(createResetAction(progressPanel, item.getModel())); item.add(createCommitAction(progressPanel, item.getModel())); item.add(createDeleteAction(progressPanel, item.getModel())); } }; project.setReuseItems(true); project.setOutputMarkupId(true); add(project); }
From source file:org.jabylon.rest.ui.wicket.panels.PropertyEditorPanel.java
License:Open Source License
public PropertyEditorPanel(PropertyFileDescriptor object, PageParameters parameters) { super("content", object, parameters); List<ReviewParticipant> activeReviews = PropertyListModeFactory.filterActiveReviews( getModel().getObject().getProjectLocale().getParent().getParent(), reviewParticipants); PropertyListMode mode = PropertyListModeFactory.allAsMap(activeReviews) .get(parameters.get("mode").toString()); addLinkList(mode);/*from w w w . j av a2 s . com*/ reviewModel = new LoadableDetachableModel<Multimap<String, Review>>() { private static final long serialVersionUID = 1L; @Override protected Multimap<String, Review> load() { return buildReviewMap(getModelObject()); } }; PropertyPairDataProvider provider = new PropertyPairDataProvider(object, mode, reviewModel); List<PropertyPair> contents = provider.createContents(); ListView<PropertyPair> properties = new ListView<PropertyPair>("repeater", contents) { private static final long serialVersionUID = -7087485011138279358L; @Override protected void populateItem(final ListItem<PropertyPair> item) { IModel<PropertyPair> model = item.getModel(); String key = model.getObject().getKey(); Collection<Review> reviewList = reviewModel.getObject().get(key); item.add(new SinglePropertyEditor("row", model, false, reviewList)); } }; properties.setOutputMarkupId(true); Form<List<? extends PropertyPair>> form = new Form<List<? extends PropertyPair>>("properties-form", Model.ofList(contents)) { private static final long serialVersionUID = 1L; @Override protected void onSubmit() { super.onSubmit(); IModel<List<? extends PropertyPair>> model = getModel(); List<? extends PropertyPair> list = model.getObject(); PropertyFileDescriptor descriptor = PropertyEditorPanel.this.getModelObject(); PropertyFile file = descriptor.loadProperties(); Map<String, Property> map = file.asMap(); for (PropertyPair pair : list) { Property translation = pair.getTranslation(); if (translation == null) continue; if (map.containsKey(translation.getKey())) { Property property = map.get(translation.getKey()); property.setComment(translation.getComment()); property.setValue(translation.getValue()); } else file.getProperties().add(translation); } propertyPersistence.saveProperties(descriptor, file); getSession().info("Saved successfully"); try { //TODO: this is very unclean... // give it some time to store the values Thread.sleep(500); } catch (InterruptedException e) { logger.error("Interrupted while waiting for property persistence", e); } } }; add(form); form.add(new SubmitLink("properties-submit") { private static final long serialVersionUID = 1L; @Override protected String getTriggerJavaScript() { /* disables the default submit behaviour since we do that ourselfs in JS * https://github.com/jutzig/jabylon/issues/52 * see propertyEditor.js */ return ""; } }); form.add(properties); final PropertiesEditorToolbar editorToolbar = new PropertiesEditorToolbar("properties-toolbar", getModel(), getPageParameters()); editorToolbar.setOutputMarkupId(true); add(editorToolbar); // // final AbstractDefaultAjaxBehavior behave = new AbstractDefaultAjaxBehavior() { // protected void respond(final AjaxRequestTarget target) { // editorToolbar.respond(target); // // StringValue parameter = RequestCycle.get().getRequest().getRequestParameters().getParameterValue("key"); // editorToolbar.setKey(parameter.toString("")); // } // // public CharSequence getCallbackFunction(String functionName, CallbackParameter... extraParameters) // { // StringBuilder sb = new StringBuilder(); // sb.append("function "); // sb.append(functionName); // sb.append(" ("); // boolean first = true; // for (CallbackParameter curExtraParameter : extraParameters) // { // if (curExtraParameter.getFunctionParameterName() != null) // { // if (!first) // sb.append(','); // else // first = false; // sb.append(curExtraParameter.getFunctionParameterName()); // } // } // sb.append(") {\n"); // sb.append(getCallbackFunctionBody(extraParameters)); // sb.append("}\n"); // return sb; // } // // @Override // public void renderHead(Component component, IHeaderResponse response) { // response.render(JavaScriptHeaderItem.forScript(getCallbackFunction("requestAid",CallbackParameter.explicit("key")), "requestAid")); // super.renderHead(component, response); // } // // }; // // add(behave); }
From source file:org.jabylon.rest.ui.wicket.panels.PropertyListPanel.java
License:Open Source License
@Override protected void construct() { super.construct(); List<ReviewParticipant> activeReviews = PropertyListModeFactory.filterActiveReviews( getModel().getObject().getProjectLocale().getParent().getParent(), reviewParticipants); mode = PropertyListModeFactory.allAsMap(activeReviews).get(getPageParameters().get("mode").toString()); addLinkList(activeReviews, mode);//from w w w . ja v a 2 s. co m reviewModel = new LoadableDetachableModel<Multimap<String, Review>>() { private static final long serialVersionUID = 1L; @Override protected Multimap<String, Review> load() { return buildReviewMap(getModelObject()); } }; PropertyPairListDataProvider provider = new PropertyPairListDataProvider(getModelObject(), mode, reviewModel); List<PropertyPair> contents = provider.createContents(); ListView<PropertyPair> properties = new ListView<PropertyPair>("repeater", contents) { private static final long serialVersionUID = -7087485011138279358L; @Override protected void populateItem(final ListItem<PropertyPair> item) { IModel<PropertyPair> model = item.getModel(); String key = model.getObject().getKey(); Collection<Review> reviewList = reviewModel.getObject().get(key); BookmarkablePageLink<Object> link = new BookmarkablePageLink<Object>("edit", getPage().getClass(), new PageParameters(getPageParameters()).add("key", key)); item.add(link); link.setMarkupId(URLUtil.escapeToIdAttribute(key)); link.setOutputMarkupId(true); link.add(new AttributeModifier("name", link.getMarkupId())); Label keyLabel = new Label("key", key); keyLabel.add(new AttributeModifier("title", model.getObject().getTranslated())); item.add(keyLabel); Label translationLabel = new Label("translation", model.getObject().getTranslated()); translationLabel.add(new AttributeModifier("title", model.getObject().getTranslatedComment())); item.add(translationLabel); fillStatusColumn(model.getObject(), reviewList, item); } }; properties.setOutputMarkupId(true); add(properties); String contextPath = WicketUtil.getContextPath(); String href = contextPath + "/api/" + getModelObject().toURI().appendQuery("type=file"); ExternalLink link = new ExternalLink("download.link", href); File file = new File(getModelObject().absoluteFilePath().toFileString()); boolean enabled = file.isFile(); link.setEnabled(enabled); if (!enabled) { link.add(new AttributeAppender("disabled", Model.of("disabled"))); link.add(new AttributeAppender("class", Model.of("disabled"))); } add(link); StatelessLink<Void> deleteLink = new DeleteLink("remove.button"); deleteLink.add(new ConfirmBehaviour(nls("confirm.remove"))); deleteLink.setVisible(canConfigure()); add(deleteLink); FileUploadForm uploadForm = new FileUploadForm("translation-upload-form", getModel()); uploadForm.setVisible(canSuggest()); add(uploadForm); }
From source file:org.jabylon.scheduler.ui.JobOverviewPanel.java
License:Open Source License
@Override protected void construct() { super.construct(); jobsModel = createJobsModel();//from w ww.j av a2s . co m WebMarkupContainer container = new WebMarkupContainer("container", jobsModel); IModel<Integer> sizeModel = new ComputableModel<IModel<List<JobInstance>>, Integer>(new SizeFunction(), jobsModel); Label noJobs = new Label("running-jobs", nls("running.jobs.title", sizeModel)); noJobs.setOutputMarkupId(true); container.add(noJobs); ListView<JobInstance> list = new ListView<JobInstance>("list", jobsModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<JobInstance> item) { JobInstance instance = item.getModelObject(); String argLab = getLabel(instance.getDomainObject()); if (argLab == null) item.add(new Label("title", nls(instance.getExecutionObject().getClass(), instance.getDescription()))); else item.add(new Label("title", nls(instance.getExecutionObject().getClass(), instance.getDescription(), argLab))); ProgressionModel model = new ProgressionModel(instance.getID()); ProgressPanel progressPanel = new ProgressPanel("panel", model); item.add(progressPanel); item.setOutputMarkupId(true); progressPanel.start(); } private String getLabel(Object domainObject) { if (domainObject instanceof Workspace) { return "Workspace"; } if (domainObject instanceof Resolvable) { @SuppressWarnings("rawtypes") Resolvable r = (Resolvable) domainObject; return r.fullPath().toString(); } return null; } }; list.setOutputMarkupId(true); list.setReuseItems(true); container.add(list); container.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(1))); add(container); }
From source file:org.onehippo.forge.settings.management.config.urlrewriter.UrlRewriterConfigPanel.java
License:Apache License
private WebMarkupContainer createSkippedPrefixes(Model copyOfSkippedPrefixesModel) { final WebMarkupContainer listContainer = new WebMarkupContainer("skippedPrefixesContainer"); //generate a markup-id so the contents can be updated through an AJAX call listContainer.setOutputMarkupId(true); ListView<String> skippedPrefixes = new ListView<String>("urlrewriter-skipped-prefixes", copyOfSkippedPrefixesModel) { private static final long serialVersionUID = 1L; @Override/* w w w. ja v a2 s. c om*/ protected void populateItem(final ListItem<String> item) { RequiredTextField prefixField = new RequiredTextField("prefix", item.getModel()); prefixField.setOutputMarkupId(true); prefixField.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); item.add(prefixField); AjaxSubmitLink remove = new AjaxSubmitLink("remove") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form form) { int index = item.getIndex(); getModelObject().remove(index); target.add(listContainer); } }; remove.setDefaultFormProcessing(false); item.add(remove); } }; AjaxLink addPrefix = new AjaxLink("add") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { skippedPrefixes.getModelObject().add(""); target.add(listContainer); target.focusComponent(this); } }; skippedPrefixes.setOutputMarkupId(true); listContainer.add(skippedPrefixes); listContainer.add(addPrefix); return listContainer; }
From source file:org.openengsb.ui.admin.userService.UserService.java
License:Apache License
private void initContent() { final WebMarkupContainer usermanagementContainer = new WebMarkupContainer("usermanagementContainer"); usermanagementContainer.setOutputMarkupId(true); final Form<UserInput> userForm = new Form<UserInput>("form") { private static final long serialVersionUID = 6420993810725159979L; @Override//from w w w. java 2 s. c o m protected void onSubmit() { createUser(); } }; usernameField = new RequiredTextField<String>("username"); passwordField = new PasswordTextField("password"); passwordVerficationField = new PasswordTextField("passwordVerification"); usernameField.setOutputMarkupId(true); passwordField.setOutputMarkupId(true); passwordVerficationField.setOutputMarkupId(true); rolesField = new TextField<String>("roles"); rolesField.setOutputMarkupId(true); userForm.add(usernameField); userForm.add(passwordField); userForm.add(passwordVerficationField); userForm.add(rolesField); userForm.setModel(new CompoundPropertyModel<UserInput>(input)); FeedbackPanel feedbackPanel = new FeedbackPanel("feedback"); feedbackPanel.setOutputMarkupId(true); userForm.add(feedbackPanel); AjaxButton resetButton = new AjaxButton("resetbutton") { private static final long serialVersionUID = 7997862317008905740L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { input.setPassword(""); input.setUsername(""); input.setPasswordVerification(""); input.setRoles(""); form.clearInput(); usernameField.setEnabled(true); editMode = false; target.addComponent(usermanagementContainer); } }; resetButton.setDefaultFormProcessing(false); userForm.add(resetButton); IModel<List<User>> userList = new LoadableDetachableModel<List<User>>() { private static final long serialVersionUID = 2579825372351310299L; @Override protected List<User> load() { try { return userManager.getAllUser(); } catch (UserManagementException e) { error(new StringResourceModel("userManagementExceptionError", null).getString()); } return new ArrayList<User>(); } }; ListView<User> users = new ListView<User>("users", userList) { private static final long serialVersionUID = 7628860457238288128L; @Override protected void populateItem(final ListItem<User> userListItem) { userListItem.add(new Label("user.name", userListItem.getModelObject().getUsername())); userListItem.add(new AjaxLink<User>("user.delete") { private static final long serialVersionUID = 2004369349622394213L; @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { try { userManager.deleteUser(userListItem.getModelObject().getUsername()); getList().remove(userListItem.getModelObject()); ajaxRequestTarget.addComponent(usermanagementContainer); } catch (UserManagementException e) { error(new StringResourceModel("userManagementExceptionError", this, null).getString()); } } }); userListItem.add(new AjaxLink<User>("user.update") { private static final long serialVersionUID = -2327085637957255085L; @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { input.setUsername(userListItem.getModelObject().getUsername()); input.setPassword(userListItem.getModelObject().getPassword()); input.setPasswordVerification(userListItem.getModelObject().getPassword()); input.setRoles(makeCommaSeparatedList(userListItem.getModelObject().getAuthorities())); editMode = true; usernameField.setEnabled(false); ajaxRequestTarget.addComponent(usermanagementContainer); } }); } }; users.setOutputMarkupId(true); usermanagementContainer.add(users); usermanagementContainer.add(userForm); add(usermanagementContainer); }
From source file:org.openengsb.ui.common.usermanagement.GenericListPanel.java
License:Apache License
private void initContent() { final WebMarkupContainer listContainer = new WebMarkupContainer("listContainer"); listContainer.setOutputMarkupId(true); add(listContainer);/*from ww w . j a v a 2s . co m*/ final Form<Object> form = new Form<Object>("form"); listContainer.add(form); ListView<T> users = new ListView<T>("list", listModel) { private static final long serialVersionUID = 7628860457238288128L; private ListItem<T> activeConfirm; @Override protected void populateItem(final ListItem<T> userListItem) { userListItem.add(new Label("item.name", userListItem.getModelObject().toString())); Panel confirm = new EmptyPanel("confirm"); userListItem.add(confirm); userListItem.setOutputMarkupId(true); final AjaxLink<String> deleteLink = new AjaxLink<String>("item.delete") { private static final long serialVersionUID = 2004369349622394213L; @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { if (activeConfirm != null) { activeConfirm.get("confirm").replaceWith(new EmptyPanel("confirm")); ajaxRequestTarget.add(activeConfirm); activeConfirm = null; } final Model<T> model = new Model<T>(userListItem.getModelObject()); ConfirmPanel<T> confirmPanel = new ConfirmPanel<T>("confirm", model, userListItem) { private static final long serialVersionUID = -1506781103470764246L; @Override protected void onConfirm(AjaxRequestTarget ajaxRequestTarget, Form<?> form) { onDeleteClick(ajaxRequestTarget, form, model.getObject()); ajaxRequestTarget.add(listContainer); } @Override protected void onCancel(AjaxRequestTarget ajaxRequestTarget, Form<?> form) { ajaxRequestTarget.add(listContainer); } }; userListItem.get("confirm").replaceWith(confirmPanel); activeConfirm = userListItem; ajaxRequestTarget.add(userListItem); } }; userListItem.add(deleteLink); userListItem.add(new AjaxLink<String>("item.update") { private static final long serialVersionUID = -2327085637957255085L; @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { onEditClick(ajaxRequestTarget, userListItem.getModelObject()); } }); } }; users.setOutputMarkupId(true); form.add(users); }
From source file:org.sakaiproject.delegatedaccess.tool.pages.BaseTreePage.java
License:Educational Community License
private void createInheritedSpan() { WebMarkupContainer inheritedSpan = new WebMarkupContainer("inheritedSpan"); inheritedSpan.setOutputMarkupId(true); final String inheritedSpanId = inheritedSpan.getMarkupId(); add(inheritedSpan);/* www. j a v a 2 s .c o m*/ AbstractReadOnlyModel<List<? extends ListOptionSerialized>> inheritedRestrictedToolsModel = new AbstractReadOnlyModel<List<? extends ListOptionSerialized>>() { private static final long serialVersionUID = 1L; @Override public List<? extends ListOptionSerialized> getObject() { return new ArrayList<ListOptionSerialized>(); } }; final ListView<ListOptionSerialized> inheritedListView = new ListView<ListOptionSerialized>( "inheritedRestrictedTools", inheritedRestrictedToolsModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<ListOptionSerialized> item) { ListOptionSerialized tool = (ListOptionSerialized) item.getModelObject(); Label name = new Label("name", tool.getName()); item.add(name); } }; inheritedListView.setOutputMarkupId(true); inheritedSpan.add(inheritedListView); AjaxLink<Void> closeInheritedSpanLink = new AjaxLink("closeInheritedSpanLink") { @Override public void onClick(AjaxRequestTarget arg0) { } }; inheritedSpan.add(closeInheritedSpanLink); Label inheritedNodeTitle = new Label("inheritedNodeTitle", ""); inheritedSpan.add(inheritedNodeTitle); Label noInheritedToolsLabel = new Label("noToolsInherited", new StringResourceModel("inheritedNothing", null)); inheritedSpan.add(noInheritedToolsLabel); }
From source file:org.sakaiproject.delegatedaccess.tool.pages.EditablePanelListInherited.java
License:Educational Community License
public EditablePanelListInherited(String id, IModel inputModel, final NodeModel nodeModel, final TreeNode node, final int userType, final int fieldType) { super(id);//from w ww. j a va 2 s. co m final WebMarkupContainer inheritedSpan = new WebMarkupContainer("inheritedSpan"); inheritedSpan.setOutputMarkupId(true); final String inheritedSpanId = inheritedSpan.getMarkupId(); add(inheritedSpan); //Auth final IModel<List<? extends ListOptionSerialized>> inheritedRestrictedAuthToolsModel = new AbstractReadOnlyModel<List<? extends ListOptionSerialized>>() { private static final long serialVersionUID = 1L; @Override public List<? extends ListOptionSerialized> getObject() { if (loadedFlag) { List<ListOptionSerialized> selectedOptions = null; List<ListOptionSerialized> inheritedOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { selectedOptions = nodeModel.getSelectedRestrictedAuthTools(); inheritedOptions = nodeModel.getInheritedRestrictedAuthTools(); } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType && !nodeModel.getNodeShoppingPeriodAdmin()) { List<ListOptionSerialized> returnList = selectedOptions; if (returnList.isEmpty()) { returnList = inheritedOptions; } return returnList; } else { return inheritedOptions; } } else { return new ArrayList<ListOptionSerialized>(); } } }; //Public final IModel<List<? extends ListOptionSerialized>> inheritedRestrictedPublicToolsModel = new AbstractReadOnlyModel<List<? extends ListOptionSerialized>>() { private static final long serialVersionUID = 1L; @Override public List<? extends ListOptionSerialized> getObject() { if (loadedFlag) { List<ListOptionSerialized> selectedOptions = null; List<ListOptionSerialized> inheritedOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { selectedOptions = nodeModel.getSelectedRestrictedPublicTools(); inheritedOptions = nodeModel.getInheritedRestrictedPublicTools(); } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType && !nodeModel.getNodeShoppingPeriodAdmin()) { List<ListOptionSerialized> returnList = selectedOptions; if (returnList.isEmpty()) { returnList = inheritedOptions; } return returnList; } else { return inheritedOptions; } } else { return new ArrayList<ListOptionSerialized>(); } } }; //Auth final ListView<ListOptionSerialized> inheritedAuthListView = new ListView<ListOptionSerialized>( "inheritedRestrictedAuthTools", inheritedRestrictedAuthToolsModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<ListOptionSerialized> item) { ListOptionSerialized tool = (ListOptionSerialized) item.getModelObject(); Label name = new Label("name", tool.getName()); item.add(name); } @Override public boolean isVisible() { if (loadedFlag) { List<ListOptionSerialized> inheritedOptions = null; String[] nodeOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { inheritedOptions = nodeModel.getInheritedRestrictedAuthTools(); nodeOptions = nodeModel.getNodeRestrictedAuthTools(); } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { return (inheritedOptions != null && !inheritedOptions.isEmpty()) || (!nodeModel.getNodeShoppingPeriodAdmin() && nodeOptions.length > 0); } else { return inheritedOptions != null && !inheritedOptions.isEmpty(); } } else { return false; } } }; inheritedAuthListView.setOutputMarkupId(true); inheritedSpan.add(inheritedAuthListView); //public: final ListView<ListOptionSerialized> inheritedPublicListView = new ListView<ListOptionSerialized>( "inheritedRestrictedPublicTools", inheritedRestrictedPublicToolsModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<ListOptionSerialized> item) { ListOptionSerialized tool = (ListOptionSerialized) item.getModelObject(); Label name = new Label("name", tool.getName()); item.add(name); } @Override public boolean isVisible() { if (loadedFlag && DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { List<ListOptionSerialized> inheritedOptions = null; String[] nodeOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { inheritedOptions = nodeModel.getInheritedRestrictedPublicTools(); nodeOptions = nodeModel.getNodeRestrictedPublicTools(); } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { return (inheritedOptions != null && !inheritedOptions.isEmpty()) || (!nodeModel.getNodeShoppingPeriodAdmin() && nodeOptions.length > 0); } else { return inheritedOptions != null && !inheritedOptions.isEmpty(); } } else { return false; } } }; inheritedPublicListView.setOutputMarkupId(true); inheritedSpan.add(inheritedPublicListView); AjaxLink<Void> inheritedToolsLink = new AjaxLink<Void>("inheritedToolsLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { if (!loadedFlag) { loadedFlag = true; inheritedAuthListView.setDefaultModel(inheritedRestrictedAuthToolsModel); inheritedPublicListView.setDefaultModel(inheritedRestrictedPublicToolsModel); target.addComponent(inheritedSpan); } target.appendJavascript("document.getElementById('" + inheritedSpanId + "').style.display='';"); } }; add(inheritedToolsLink); AjaxLink<Void> closeInheritedSpanLink = new AjaxLink<Void>("closeInheritedSpanLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.appendJavascript("document.getElementById('" + inheritedSpanId + "').style.display='none';"); } }; inheritedSpan.add(closeInheritedSpanLink); Label inheritedNodeTitle = new Label("inheritedNodeTitle", nodeModel.getNode().title); inheritedSpan.add(inheritedNodeTitle); Label noInheritedToolsLabel = new Label("noToolsInherited", new StringResourceModel("inheritedNothing", null)) { public boolean isVisible() { if (loadedFlag) { List<ListOptionSerialized> inheritedOptions = null; String[] nodeOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { inheritedOptions = nodeModel.getInheritedRestrictedAuthTools(); nodeOptions = nodeModel.getNodeRestrictedAuthTools(); if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { inheritedOptions.addAll(nodeModel.getInheritedRestrictedPublicTools()); String[] nodeOptions2 = nodeModel.getNodeRestrictedPublicTools(); //we only care about the length, so its fine to keep it empty: nodeOptions = new String[nodeOptions2.length + nodeOptions.length]; } } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { return (nodeModel.getNodeShoppingPeriodAdmin() && (inheritedOptions == null || inheritedOptions.isEmpty())) || (!nodeModel.getNodeShoppingPeriodAdmin() && (nodeOptions == null || nodeOptions.length == 0)); } else { return inheritedOptions == null || inheritedOptions.isEmpty(); } } else { return false; } }; }; inheritedSpan.add(noInheritedToolsLabel); Label authHeader = new Label("authHeader", new ResourceModel(".auth")) { @Override public boolean isVisible() { return DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType && !nodeModel.getInheritedRestrictedAuthTools().isEmpty(); } }; inheritedSpan.add(authHeader); Label publicHeader = new Label("publicHeader", new ResourceModel(".anon")) { @Override public boolean isVisible() { return DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType && !nodeModel.getInheritedRestrictedPublicTools().isEmpty(); } }; inheritedSpan.add(publicHeader); }