List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink setEnabled
public final Component setEnabled(final boolean enabled)
From source file:com.axway.ats.testexplorer.pages.BasePage.java
License:Apache License
private void currentTestDetails() { currentClass = this.getClass(); final WebMarkupContainer testDetails = new WebMarkupContainer("testDetails"); testDetails.setOutputMarkupId(true); add(testDetails);/* w ww . j av a 2s .com*/ // here we will create empty datagrids, and later we will replace them with the full ones runGrid = new DataGrid("singleRun", new SuitesDataSource("0"), new ArrayList<IGridColumn>()); runGrid.setOutputMarkupId(true); runGrid.setVisible(false); testDetails.add(runGrid); suiteGrid = new DataGrid("singleSuite", new SuitesDataSource("0"), new ArrayList<IGridColumn>()); suiteGrid.setOutputMarkupId(true); suiteGrid.setVisible(false); testDetails.add(suiteGrid); scenarioGrid = new DataGrid("singleScenario", new SuitesDataSource("0"), new ArrayList<IGridColumn>()); scenarioGrid.setOutputMarkupId(true); scenarioGrid.setVisible(false); testDetails.add(scenarioGrid); AjaxLink<Object> testDetailslink = new AjaxLink<Object>("testDetailsButton") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { boolean isTestLocationDetailsVisible = runGrid.isVisible(); String runId = singleTestIds.get("runId"); String suiteId = singleTestIds.get("suiteId"); String scenarioId = singleTestIds.get("scenarioId"); if (runId != null) { RunsPanel runs = new RunsPanel(runId); createSingleGrid(testDetails, runGrid, "singleRun", new RunsDataSource(runId), runs.getColumns(null), runs.getTableColumnDefinitions()); runGrid.setVisible(!isTestLocationDetailsVisible); target.add(runGrid); if (suiteId != null) { SuitesPanel suites = new SuitesPanel(suiteId); createSingleGrid(testDetails, suiteGrid, "singleSuite", new SuitesDataSource(runId, suiteId), suites.getColumns(), suites.getTableColumnDefinitions()); suiteGrid.setVisible(!isTestLocationDetailsVisible); target.add(suiteGrid); if (scenarioId != null) { ScenariosPanel scenarios = new ScenariosPanel(scenarioId); createSingleGrid(testDetails, scenarioGrid, "singleScenario", new ScenariosDataSource(suiteId, scenarioId), scenarios.getColumns(), scenarios.getTableColumnDefinitions()); scenarioGrid.setVisible(!isTestLocationDetailsVisible); target.add(scenarioGrid); } } } else { // nothing to do here, do not modify anything return; } // here we will call JS function to show the navigation test details target.appendJavaScript("showOrHideTestDetails(" + !isTestLocationDetailsVisible + ")"); target.add(testDetails); } }; testDetailslink.setEnabled(currentClass != WelcomePage.class && currentClass != BasePage.class && currentClass != RunsPage.class); add(testDetailslink); }
From source file:com.doculibre.constellio.wicket.panels.results.tagging.SearchResultEditTaggingPanel.java
License:Open Source License
public SearchResultEditTaggingPanel(String id, final SolrDocument doc, final IDataProvider dataProvider, Thesaurus source) {/*from w w w. ja v a 2 s . c om*/ super(id); if (source == null) { freeTextTags = true; source = new Thesaurus(getLocalizer().getString("freeTextTags", SearchResultEditTaggingPanel.this)); } RecordServices recordServices = ConstellioSpringUtils.getRecordServices(); Record record = recordServices.get(doc); recordModel = new RecordModel(record); taggingSourceModel = new EntityModel<Thesaurus>(source); filterAddForm = new Form("filterAddForm"); filterAddForm.setOutputMarkupId(true); IModel taggingSourceChoicesModel = new LoadableDetachableModel() { @Override protected Object load() { List<Object> taggingSources = new ArrayList<Object>(); taggingSources.add( new Thesaurus(getLocalizer().getString("freeTextTags", SearchResultEditTaggingPanel.this))); SkosServices skosServices = ConstellioSpringUtils.getSkosServices(); Record record = recordModel.getObject(); ConnectorInstance connectorInstance = record.getConnectorInstance(); RecordCollection collection = connectorInstance.getRecordCollection(); Map<String, Object> criteria = new HashMap<String, Object>(); criteria.put("recordCollection", collection); taggingSources.addAll(skosServices.list(criteria)); return taggingSources; } }; IChoiceRenderer taggingSourceRenderer = new ChoiceRenderer("dcTitle"); taggingSourceField = new DropDownChoice("taggingSource", taggingSourceModel, taggingSourceChoicesModel, taggingSourceRenderer); taggingSourceField.setVisible(isSourceSelectionVisible()); taggingSourceField.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { target.addComponent(availableTagsContainer); target.addComponent(appliedTagsContainer); target.addComponent(filterAddField); target.addComponent(filterAddButton); } }); filterAddField = new TextField("filterAddField", new Model()); filterAddField.setOutputMarkupId(true); filterAddField.add(new AjaxFormComponentUpdatingBehavior("onkeyup") { @Override protected void onUpdate(AjaxRequestTarget target) { String input = filterAddField.getModelObjectAsString(); availableTagsModel.setFilter(input); appliedTagsModel.setFilter(input); if (isFreeTextTagSource()) { target.addComponent(availableTagsContainer); target.addComponent(appliedTagsContainer); } } }); filterAddButton = new AjaxButton("filterAddButton") { @Override protected void onSubmit(AjaxRequestTarget target, Form form) { String tagName = (String) filterAddField.getModelObject(); if (StringUtils.isNotBlank(tagName)) { if (isFreeTextTagSource()) { FreeTextTagServices freeTextTagServices = ConstellioSpringUtils.getFreeTextTagServices(); FreeTextTag existingTag = freeTextTagServices.get(tagName); if (existingTag == null) { FreeTextTag newTag = new FreeTextTag(); newTag.setFreeText(tagName); EntityManager entityManager = ConstellioPersistenceContext.getCurrentEntityManager(); if (!entityManager.getTransaction().isActive()) { entityManager.getTransaction().begin(); } freeTextTagServices.makePersistent(newTag); entityManager.getTransaction().commit(); availableTagsModel.setFilter(null); appliedTagsModel.setFilter(null); filterAddField.clearInput(); filterAddField.setModelObject(null); target.addComponent(filterAddField); target.addComponent(availableTagsContainer); target.addComponent(appliedTagsContainer); } } else { target.addComponent(availableTagsContainer); } } } }; filterAddButton.add(new AttributeModifier("value", true, new LoadableDetachableModel() { @Override protected Object load() { String key = isFreeTextTagSource() ? "add" : "filter"; return getLocalizer().getString(key, SearchResultEditTaggingPanel.this); } })); availableTagsContainer = new WebMarkupContainer("availableTagsContainer"); availableTagsContainer.setOutputMarkupId(true); availableTagsModel = new FilteredObjectsModel() { @Override protected List<Object> filter(String filter) { List<Object> matches = new ArrayList<Object>(); Thesaurus taggingSource = taggingSourceModel.getObject(); if (taggingSource == null || taggingSource.getId() == null) { if (StringUtils.isNotBlank(filter)) { filter = filter + "*"; } FreeTextTagServices taggingServices = ConstellioSpringUtils.getFreeTextTagServices(); if (StringUtils.isBlank(filter)) { List<FreeTextTag> first100 = taggingServices.list(100); matches.addAll(first100); } else { Set<FreeTextTag> searchResults = taggingServices.search(filter); matches.addAll(searchResults); } } else { SkosServices skosServices = ConstellioSpringUtils.getSkosServices(); Set<SkosConcept> searchResults = skosServices.searchAllLabels(filter, taggingSource, null); matches.addAll(searchResults); } return matches; } }; availableTagsListView = new ListView("availableTags", availableTagsModel) { @Override protected void populateItem(ListItem item) { ConstellioEntity tagSource = (ConstellioEntity) item.getModelObject(); final ReloadableEntityModel<ConstellioEntity> tagSourceModel = new ReloadableEntityModel<ConstellioEntity>( tagSource); final ModalWindow detailsModal = new ModalWindow("detailsModal"); item.add(detailsModal); final AjaxLink detailsLink = new AjaxLink("detailsLink") { @Override public void onClick(AjaxRequestTarget target) { ConstellioEntity tagSource = (ConstellioEntity) tagSourceModel.getObject(); if (tagSource instanceof SkosConcept) { SkosConcept skosConcept = (SkosConcept) tagSource; detailsModal.setContent( new SkosConceptModalPanel(detailsModal.getContentId(), skosConcept)); detailsModal.show(target); } } }; item.add(detailsLink); detailsLink.setEnabled(tagSource instanceof SkosConcept); detailsLink.add(new Label("name", new LoadableDetachableModel() { @Override protected Object load() { String name; ConstellioEntity tagSource = (ConstellioEntity) tagSourceModel.getObject(); if (tagSource != null) { if (tagSource instanceof FreeTextTag) { FreeTextTag freeTextTag = (FreeTextTag) tagSource; name = freeTextTag.getFreeText(); } else { SkosConcept skosConcept = (SkosConcept) tagSource; name = skosConcept.getPrefLabel(getLocale()); } } else { name = "null"; } return name; } })); item.add(new AjaxLink("addLink") { @Override public void onClick(AjaxRequestTarget target) { Record record = recordModel.getObject(); ConstellioEntity tagSource = (ConstellioEntity) tagSourceModel.getObject(); if (tagSource instanceof FreeTextTag) { FreeTextTag freeTextTag = (FreeTextTag) tagSource; record.addFreeTextTag(freeTextTag, true); } else { SkosConcept skosConcept = (SkosConcept) tagSource; record.addSkosConcept(skosConcept, true); } record.setUpdateIndex(true); RecordServices recordServices = ConstellioSpringUtils.getRecordServices(); SolrServer solrServer = SolrCoreContext .getSolrServer(record.getConnectorInstance().getRecordCollection()); try { ConstellioPersistenceUtils.beginTransaction(); recordServices.makePersistent(record); try { solrServer.commit(); } catch (Throwable t) { try { solrServer.rollback(); } catch (Exception e) { throw new RuntimeException(t); } } } finally { ConstellioPersistenceUtils.finishTransaction(false); } target.addComponent(availableTagsContainer); target.addComponent(appliedTagsContainer); } @Override public boolean isVisible() { boolean visible = super.isVisible(); if (visible) { Record record = recordModel.getObject(); if (tagSourceModel.getObject() instanceof FreeTextTag) { FreeTextTag freeTextTag = (FreeTextTag) tagSourceModel.getObject(); visible = !record.hasFreeTextTag(freeTextTag); } else { SkosConcept skosConcept = (SkosConcept) tagSourceModel.getObject(); visible = !record.hasSkosConcept(skosConcept); } } return visible; } @Override public void detachModels() { tagSourceModel.detach(); super.detachModels(); } }); } }; appliedTagsContainer = new WebMarkupContainer("appliedTagsContainer"); appliedTagsContainer.setOutputMarkupId(true); appliedTagsModel = new FilteredObjectsModel() { @Override protected List<RecordTag> filter(String filter) { List<RecordTag> matches = new ArrayList<RecordTag>(); Record record = recordModel.getObject(); Thesaurus source = taggingSourceModel.getObject(); for (RecordTag recordTag : record.getIncludedRecordTags(freeTextTags ? null : source, true)) { // if (StringUtils.isEmpty(filter) // || recordTag.getName(getLocale()).toLowerCase().indexOf(filter.toLowerCase()) != -1) { matches.add(recordTag); // } } return matches; } }; appliedTagsListView = new ListView("appliedTags", appliedTagsModel) { @Override protected void populateItem(ListItem item) { RecordTag recordTag = (RecordTag) item.getModelObject(); final RecordTagModel recordTagModel = new RecordTagModel(recordTag); ConstellioEntity tagSource; if (recordTag.getFreeTextTag() != null) { tagSource = recordTag.getFreeTextTag(); } else { tagSource = recordTag.getSkosConcept(); } final ReloadableEntityModel<ConstellioEntity> tagSourceModel = new ReloadableEntityModel<ConstellioEntity>( tagSource); final ModalWindow detailsModal = new ModalWindow("detailsModal"); item.add(detailsModal); final AjaxLink detailsLink = new AjaxLink("detailsLink") { @Override public void onClick(AjaxRequestTarget target) { ConstellioEntity tagSource = (ConstellioEntity) tagSourceModel.getObject(); if (tagSource instanceof SkosConcept) { SkosConcept skosConcept = (SkosConcept) tagSource; detailsModal.setContent( new SkosConceptModalPanel(detailsModal.getContentId(), skosConcept)); detailsModal.show(target); } } }; item.add(detailsLink); detailsLink.setEnabled(tagSource instanceof SkosConcept); detailsLink.add(new Label("name", new LoadableDetachableModel() { @Override protected Object load() { String name; ConstellioEntity tagSource = (ConstellioEntity) tagSourceModel.getObject(); if (tagSource != null) { if (tagSource instanceof FreeTextTag) { FreeTextTag freeTextTag = (FreeTextTag) tagSource; name = freeTextTag.getFreeText(); } else { SkosConcept skosConcept = (SkosConcept) tagSource; name = skosConcept.getPrefLabel(getLocale()); } } else { name = "null"; } return name; } })); detailsLink.add(new AttributeModifier("style", true, new LoadableDetachableModel() { @Override protected Object load() { RecordTag recordTag = recordTagModel.getObject(); return recordTag.isExcluded() ? "text-decoration: line-through;" : "text-decoration:none"; } })); item.add(new AjaxLink("removeLink") { @Override public void onClick(AjaxRequestTarget target) { Record record = recordModel.getObject(); RecordTag recordTag = recordTagModel.getObject(); boolean excluded = recordTag.isExcluded(); if (excluded) { record.getRecordTags().remove(recordTag); } else { recordTag.setManual(true); recordTag.setExcluded(true); } record.setUpdateIndex(true); RecordServices recordServices = ConstellioSpringUtils.getRecordServices(); SolrServer solrServer = SolrCoreContext .getSolrServer(record.getConnectorInstance().getRecordCollection()); try { ConstellioPersistenceUtils.beginTransaction(); recordServices.makePersistent(record); try { solrServer.commit(); } catch (Throwable t) { try { solrServer.rollback(); } catch (Exception e) { throw new RuntimeException(t); } } } finally { ConstellioPersistenceUtils.finishTransaction(false); } target.addComponent(availableTagsContainer); target.addComponent(appliedTagsContainer); } @Override public void detachModels() { recordTagModel.detach(); tagSourceModel.detach(); super.detachModels(); } }); } }; closeLink = new AjaxLink("closeLink") { @Override public void onClick(AjaxRequestTarget target) { SearchResultTaggingPanel parent = (SearchResultTaggingPanel) findParent( SearchResultTaggingPanel.class); target.addComponent(parent); ModalWindow.closeCurrent(target); } }; add(taggingSourceField); add(new Label("sourceName", source.getDcTitle()).setVisible(!isSourceSelectionVisible())); add(filterAddForm); filterAddForm.add(filterAddField); filterAddForm.add(filterAddButton); add(availableTagsContainer); availableTagsContainer.add(availableTagsListView); add(appliedTagsContainer); appliedTagsContainer.add(appliedTagsListView); add(closeLink); }
From source file:gr.interamerican.wicket.factories.TestLinkFactory.java
License:Open Source License
/** * Test method for {@link gr.interamerican.wicket.factories.LinkFactory#createTogleVisibleLink(java.lang.String, org.apache.wicket.MarkupContainer)}. *///from ww w . j av a 2 s . co m @Test public void testCreateTogleVisibleLink() { Form<Void> testForm = new Form<Void>(TestPage.FORM_ID); AjaxLink<?> testLink = LinkFactory.createTogleVisibleLink(TestPage.TEST_ID, testForm); testForm.add(testLink); wicketTester.startPage(new LinkPage(testForm, TestPage.TEST_ID)); wicketTester.dumpPage(); AjaxLink<?> link = (AjaxLink<?>) wicketTester.getComponentFromLastRenderedPage("tf:testIdLink"); //$NON-NLS-1$ link.setEnabled(true); wicketTester.clickLink("tf:testIdLink", true); //$NON-NLS-1$ wicketTester.isVisible("tf:testId"); //$NON-NLS-1$ }
From source file:kz.supershiny.web.wicket.components.AjaxPagingPanel.java
public AjaxPagingPanel(String id, final SearchCriteria criteria) { super(id);//ww w .j a v a2s . c o m globalContainer = new WebMarkupContainer("globalContainer"); add(globalContainer.setOutputMarkupId(true)); next = new AjaxLink("next") { @Override public void onClick(AjaxRequestTarget art) { criteria.next(); refreshPaging(art, criteria); } @Override public boolean isEnabled() { return !criteria.isLastPage(); } }; globalContainer.add(next.setOutputMarkupId(true)); prev = new AjaxLink("prev") { @Override public void onClick(AjaxRequestTarget art) { criteria.prev(); refreshPaging(art, criteria); } @Override public boolean isEnabled() { return !criteria.isFirstPage(); } }; globalContainer.add(prev.setOutputMarkupId(true)); snext = new AjaxLink("snext") { @Override public void onClick(AjaxRequestTarget art) { criteria.snext(); refreshPaging(art, criteria); } @Override public boolean isEnabled() { return !criteria.isLastPage(); } }; globalContainer.add(snext.setOutputMarkupId(true)); sprev = new AjaxLink("sprev") { @Override public void onClick(AjaxRequestTarget art) { criteria.sprev(); refreshPaging(art, criteria); } @Override public boolean isEnabled() { return !criteria.isFirstPage(); } }; globalContainer.add(sprev.setOutputMarkupId(true)); numbers = new ListView("numbers", criteria.getNumbers()) { @Override protected void populateItem(ListItem li) { final long pageNum = (Long) li.getModelObject(); final Label number = new Label("number", pageNum + ""); final AjaxLink numberLink = new AjaxLink("numberLink") { @Override public void onClick(AjaxRequestTarget art) { criteria.toPage(pageNum); refreshPaging(art, criteria); } }; if (pageNum != criteria.getCurrent()) { numberLink.setEnabled(true); li.add(AttributeModifier.remove("class")); } else { numberLink.setEnabled(false); li.add(AttributeModifier.append("class", "active")); } numberLink.add(number); li.add(numberLink); } }; globalContainer.add(numbers.setOutputMarkupId(true)); }
From source file:kz.supershiny.web.wicket.panels.admin.ImageUploadPanel.java
public ImageUploadPanel(String id, List<TireImage> images) { super(id);/*from ww w . j a va 2 s. c o m*/ initData(images); uploadForm = new UploadForm("uploadForm"); add(uploadForm.setOutputMarkupId(true)); //Display/edit images viewContainer = new WebMarkupContainer("viewContainer"); //images doesn't exist, wicket uses getter getImages() of ImageUploadPanel imagesView = new ListView("imagesView", new PropertyModel(ImageUploadPanel.this, "images")) { @Override protected void populateItem(ListItem li) { final TireImage ti = (TireImage) li.getModelObject(); final AjaxLink defaultLink; final AjaxLink removeLink; Image image = new Image("image", new DynamicImageResource() { @Override protected byte[] getImageData(IResource.Attributes atrbts) { return ti.getImageBody(); } }); defaultLink = new AjaxLink("defaultLink") { @Override public void onClick(AjaxRequestTarget target) { setPreviewImage(ti.getFileName()); target.add(viewContainer); } }; if (ti.getIsPreview()) { defaultLink.setEnabled(false); defaultLink.add(new AttributeAppender("class", Model.of("btn btn-primary"))); } else { defaultLink.setEnabled(true); defaultLink.add(new AttributeAppender("class", Model.of("btn btn-default"))); } removeLink = new ConfirmationLink("removeLink", new StringResourceModel("ask.deletionPhoto", ImageUploadPanel.this, null).getString()) { @Override public void onClick(AjaxRequestTarget target) { deletedImages.add(ti.getFileName()); target.add(viewContainer); } }; li.add(image); li.add(defaultLink); li.add(removeLink); } }; viewContainer.add(imagesView.setOutputMarkupId(true)); add(viewContainer.setOutputMarkupId(true)); }
From source file:org.apache.isis.viewer.wicket.ui.components.bookmarkedpages.BookmarkedPagesPanel.java
License:Apache License
private void buildGui() { final BookmarkedPagesModel bookmarkedPagesModel = getModel(); Component helpText = addHelpText(bookmarkedPagesModel); addOrReplace(helpText);/* ww w . j av a 2 s. c o m*/ final WebMarkupContainer container = new WebMarkupContainer(ID_BOOKMARK_LIST) { private static final long serialVersionUID = 1L; @Override public void renderHead(IHeaderResponse response) { response.render(CssHeaderItem.forReference( new CssResourceReference(BookmarkedPagesPanel.class, "BookmarkedPagesPanel.css"))); response.render(JavaScriptReferenceHeaderItem.forReference(SLIDE_PANEL_JS)); } }; // allow to be updated by AjaxLink container.setOutputMarkupId(true); add(container); final AjaxLink<Void> clearAllBookmarksLink = new AjaxLink<Void>(CLEAR_BOOKMARKS) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { BookmarkedPagesPanel.this.getModel().clear(); setEnabled(false); target.add(container, this); } }; clearAllBookmarksLink.setOutputMarkupId(true); add(clearAllBookmarksLink); clearAllBookmarksLink.setOutputMarkupId(true); if (getModel().isEmpty()) { clearAllBookmarksLink.setVisible(false); } final ListView<BookmarkTreeNode> listView = new ListView<BookmarkTreeNode>(ID_BOOKMARKED_PAGE_ITEM, bookmarkedPagesModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<BookmarkTreeNode> item) { final BookmarkTreeNode node = item.getModelObject(); try { final PageType pageType = node.getPageType(); final Class<? extends Page> pageClass = pageClassRegistry.getPageClass(pageType); final AjaxLink<Object> clearBookmarkLink = new AjaxLink<Object>(ID_CLEAR_BOOKMARK_LINK) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { bookmarkedPagesModel.remove(node); if (bookmarkedPagesModel.isEmpty()) { permanentlyHide(CLEAR_BOOKMARKS); } target.add(container, clearAllBookmarksLink); } }; if (node.getDepth() == 0) { clearBookmarkLink.add(new CssClassAppender("clearBookmark")); } else { clearBookmarkLink.setEnabled(true); } item.add(clearBookmarkLink); PageParameters pageParameters = node.getPageParameters(); final AbstractLink link = Links.newBookmarkablePageLink(ID_BOOKMARKED_PAGE_LINK, pageParameters, pageClass); ObjectSpecification objectSpec = null; RootOid oid = node.getOidNoVer(); if (oid != null) { ObjectSpecId objectSpecId = oid.getObjectSpecId(); objectSpec = getSpecificationLoader().lookupBySpecId(objectSpecId); } final ResourceReference imageResource = imageCache.resourceReferenceForSpec(objectSpec); final Image image = new Image(ID_BOOKMARKED_PAGE_ICON, imageResource) { private static final long serialVersionUID = 1L; @Override protected boolean shouldAddAntiCacheParameter() { return false; } }; link.addOrReplace(image); String title = node.getTitle(); final Label label = new Label(ID_BOOKMARKED_PAGE_TITLE, title); link.add(label); item.add(link); if (bookmarkedPagesModel.isCurrent(pageParameters)) { item.add(new CssClassAppender("disabled")); } item.add(new CssClassAppender("bookmarkDepth" + node.getDepth())); } catch (ObjectNotFoundException ex) { // ignore // this is a partial fix for an infinite redirect loop. // should be a bit smarter here, though; see ISIS-596. } } }; container.add(listView); }
From source file:org.apache.syncope.client.console.pages.ResultStatusModalPage.java
License:Apache License
private ResultStatusModalPage(final Builder builder) { super();/*from w w w . jav a 2 s .c o m*/ this.subject = builder.subject; statusUtils = new StatusUtils(this.userRestClient); if (builder.mode == null) { this.mode = Mode.ADMIN; } else { this.mode = builder.mode; } final BaseModalPage page = this; final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupId(true); add(container); final Fragment fragment = new Fragment("resultFrag", mode == Mode.SELF ? "userSelfResultFrag" : "propagationResultFrag", this); fragment.setOutputMarkupId(true); container.add(fragment); if (mode == Mode.ADMIN) { // add Syncope propagation status PropagationStatus syncope = new PropagationStatus(); syncope.setResource("Syncope"); syncope.setStatus(PropagationTaskExecStatus.SUCCESS); List<PropagationStatus> propagations = new ArrayList<PropagationStatus>(); propagations.add(syncope); propagations.addAll(subject.getPropagationStatusTOs()); fragment.add(new Label("info", ((subject instanceof UserTO) && ((UserTO) subject).getUsername() != null) ? ((UserTO) subject).getUsername() : ((subject instanceof GroupTO) && ((GroupTO) subject).getName() != null) ? ((GroupTO) subject).getName() : String.valueOf(subject.getKey()))); final ListView<PropagationStatus> propRes = new ListView<PropagationStatus>("resources", propagations) { private static final long serialVersionUID = -1020475259727720708L; @Override protected void populateItem(final ListItem<PropagationStatus> item) { final PropagationStatus propTO = (PropagationStatus) item.getDefaultModelObject(); final ListView attributes = getConnObjectView(propTO); final Fragment attrhead; if (attributes.getModelObject() == null || attributes.getModelObject().isEmpty()) { attrhead = new Fragment("attrhead", "emptyAttrHeadFrag", page); } else { attrhead = new Fragment("attrhead", "attrHeadFrag", page); } item.add(attrhead); item.add(attributes); attrhead.add(new Label("resource", propTO.getResource())); attrhead.add(new Label("propagation", propTO.getStatus() == null ? "UNDEFINED" : propTO.getStatus().toString())); final Image image; final String alt, title; final ModalWindow failureWindow = new ModalWindow("failureWindow"); final AjaxLink<?> failureWindowLink = new AjaxLink<Void>("showFailureWindow") { private static final long serialVersionUID = -7978723352517770644L; @Override public void onClick(AjaxRequestTarget target) { failureWindow.show(target); } }; switch (propTO.getStatus()) { case SUCCESS: case SUBMITTED: case CREATED: image = new Image("icon", new ContextRelativeResource( IMG_PREFIX + Status.ACTIVE.toString() + Constants.PNG_EXT)); alt = "success icon"; title = "success"; failureWindow.setVisible(false); failureWindowLink.setEnabled(false); break; default: image = new Image("icon", new ContextRelativeResource( IMG_PREFIX + Status.SUSPENDED.toString() + Constants.PNG_EXT)); alt = "failure icon"; title = "failure"; } image.add(new Behavior() { private static final long serialVersionUID = 1469628524240283489L; @Override public void onComponentTag(final Component component, final ComponentTag tag) { tag.put("alt", alt); tag.put("title", title); } }); final FailureMessageModalPage executionFailureMessagePage; if (propTO.getFailureReason() == null) { executionFailureMessagePage = new FailureMessageModalPage(failureWindow.getContentId(), StringUtils.EMPTY); } else { executionFailureMessagePage = new FailureMessageModalPage(failureWindow.getContentId(), propTO.getFailureReason()); } failureWindow.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = -7834632442532690940L; @Override public Page createPage() { return executionFailureMessagePage; } }); failureWindow.setCookieName("failureWindow"); failureWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY); failureWindowLink.add(image); attrhead.add(failureWindowLink); attrhead.add(failureWindow); } }; fragment.add(propRes); } final AjaxLink<Void> close = new IndicatingAjaxLink<Void>("close") { private static final long serialVersionUID = -7978723352517770644L; @Override public void onClick(final AjaxRequestTarget target) { builder.window.close(target); } }; container.add(close); setOutputMarkupId(true); }
From source file:org.apache.syncope.client.console.panels.SearchView.java
License:Apache License
@Override protected void populateItem(final ListItem<SearchClause> item) { final SearchClause searchClause = item.getModelObject(); final DropDownChoice<SearchClause.Operator> operator = new DropDownChoice<SearchClause.Operator>("operator", new PropertyModel<SearchClause.Operator>(searchClause, "operator"), Arrays.asList(SearchClause.Operator.values())); operator.setOutputMarkupPlaceholderTag(true); operator.setNullValid(false);/*from ww w .j av a2s .co m*/ operator.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); item.add(operator); if (item.getIndex() == 0) { operator.setVisible(false); } final DropDownChoice<SearchClause.Type> type = new DropDownChoice<SearchClause.Type>("type", new PropertyModel<SearchClause.Type>(searchClause, "type"), types); type.setOutputMarkupId(true); type.setRequired(required); type.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { target.add(searchFormContainer); } }); item.add(type); @SuppressWarnings("unchecked") final DropDownChoice<String> property = new DropDownChoice<String>("property", new PropertyModel<String>(searchClause, "property"), (IModel) null); property.setOutputMarkupId(true); property.setRequired(required); property.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); item.add(property); final TextField<String> value = new TextField<String>("value", new PropertyModel<String>(searchClause, "value")); value.setOutputMarkupId(true); value.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); item.add(value); final DropDownChoice<SearchClause.Comparator> comparator = new DropDownChoice<SearchClause.Comparator>( "comparator", new PropertyModel<SearchClause.Comparator>(searchClause, "comparator"), Collections.<SearchClause.Comparator>emptyList()); comparator.setOutputMarkupId(true); comparator.setNullValid(false); comparator.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { if (type.getModelObject() == SearchClause.Type.ATTRIBUTE) { if (comparator.getModelObject() == SearchClause.Comparator.IS_NULL || comparator.getModelObject() == SearchClause.Comparator.IS_NOT_NULL) { value.setModelObject(null); value.setEnabled(false); } else { value.setEnabled(true); } target.add(value); } } }); comparator.setRequired(required); item.add(comparator); AjaxLink<Void> drop = new IndicatingAjaxLink<Void>("drop") { private static final long serialVersionUID = -7978723352517770644L; @Override public void onClick(final AjaxRequestTarget target) { SearchView.this.getModel().getObject().remove(item.getModelObject()); target.add(searchFormContainer); } }; item.add(drop); if (item.getIndex() == 0) { drop.setVisible(false); drop.setEnabled(false); } else { drop.setVisible(true); drop.setEnabled(true); } final AjaxLink<Void> add = new IndicatingAjaxLink<Void>("add") { private static final long serialVersionUID = -7978723352517770644L; @Override public void onClick(final AjaxRequestTarget target) { SearchClause clause = new SearchClause(); SearchView.this.getModel().getObject().add(clause); target.add(searchFormContainer); } }; item.add(add); if (searchClause == null || searchClause.getType() == null) { property.setChoices(Collections.<String>emptyList()); } else { switch (searchClause.getType()) { case ATTRIBUTE: final List<String> names = new ArrayList<String>(dnames.getObject()); if (anames.getObject() != null && !anames.getObject().isEmpty()) { names.addAll(anames.getObject()); } Collections.sort(names); property.setChoices(names); comparator.setChoices(new LoadableDetachableModel<List<SearchClause.Comparator>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<SearchClause.Comparator> load() { return Arrays.asList(SearchClause.Comparator.values()); } }); comparator.setChoiceRenderer(new IChoiceRenderer<SearchClause.Comparator>() { private static final long serialVersionUID = -9086043750227867686L; @Override public Object getDisplayValue(final SearchClause.Comparator object) { String display; switch (object) { case IS_NULL: display = "NULL"; break; case IS_NOT_NULL: display = "NOT NULL"; break; case EQUALS: display = "=="; break; case NOT_EQUALS: display = "!="; break; case LESS_THAN: display = "<"; break; case LESS_OR_EQUALS: display = "<="; break; case GREATER_THAN: display = ">"; break; case GREATER_OR_EQUALS: display = ">="; break; default: display = StringUtils.EMPTY; } return display; } @Override public String getIdValue(final SearchClause.Comparator object, int index) { return getDisplayValue(object).toString(); } }); if (!comparator.isEnabled()) { comparator.setEnabled(true); comparator.setRequired(true); } if (!value.isEnabled()) { value.setEnabled(true); } break; case MEMBERSHIP: property.setChoices(groupNames); property.setChoiceRenderer(new IChoiceRenderer<String>() { private static final long serialVersionUID = -4288397951948436434L; @Override public Object getDisplayValue(final String object) { return object; } @Override public String getIdValue(final String object, final int index) { return object; } }); comparator.setChoices(new LoadableDetachableModel<List<SearchClause.Comparator>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<SearchClause.Comparator> load() { List<SearchClause.Comparator> comparators = new ArrayList<SearchClause.Comparator>(); comparators.add(SearchClause.Comparator.EQUALS); comparators.add(SearchClause.Comparator.NOT_EQUALS); return comparators; } }); comparator.setChoiceRenderer(new IChoiceRenderer<SearchClause.Comparator>() { private static final long serialVersionUID = -9086043750227867686L; @Override public Object getDisplayValue(final SearchClause.Comparator object) { String display; switch (object) { case EQUALS: display = "IN"; break; case NOT_EQUALS: display = "NOT IN"; break; default: display = StringUtils.EMPTY; } return display; } @Override public String getIdValue(final SearchClause.Comparator object, final int index) { return getDisplayValue(object).toString(); } }); value.setEnabled(false); value.setModelObject(""); break; case RESOURCE: property.setChoices(resourceNames); comparator.setChoices(new LoadableDetachableModel<List<SearchClause.Comparator>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<SearchClause.Comparator> load() { List<SearchClause.Comparator> comparators = new ArrayList<SearchClause.Comparator>(); comparators.add(SearchClause.Comparator.EQUALS); comparators.add(SearchClause.Comparator.NOT_EQUALS); return comparators; } }); comparator.setChoiceRenderer(new IChoiceRenderer<SearchClause.Comparator>() { private static final long serialVersionUID = -9086043750227867686L; @Override public Object getDisplayValue(final SearchClause.Comparator object) { String display; switch (object) { case EQUALS: display = "HAS"; break; case NOT_EQUALS: display = "HAS NOT"; break; default: display = StringUtils.EMPTY; } return display; } @Override public String getIdValue(final SearchClause.Comparator object, final int index) { return getDisplayValue(object).toString(); } }); value.setEnabled(false); value.setModelObject(""); break; case ENTITLEMENT: property.setChoices(entitlements); comparator.setChoices(new LoadableDetachableModel<List<SearchClause.Comparator>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<SearchClause.Comparator> load() { List<SearchClause.Comparator> comparators = new ArrayList<SearchClause.Comparator>(); comparators.add(SearchClause.Comparator.EQUALS); comparators.add(SearchClause.Comparator.NOT_EQUALS); return comparators; } }); comparator.setChoiceRenderer(new IChoiceRenderer<SearchClause.Comparator>() { private static final long serialVersionUID = -9086043750227867686L; @Override public Object getDisplayValue(final SearchClause.Comparator object) { String display; switch (object) { case EQUALS: display = "HAS"; break; case NOT_EQUALS: display = "HAS NOT"; break; default: display = StringUtils.EMPTY; } return display; } @Override public String getIdValue(final SearchClause.Comparator object, final int index) { return getDisplayValue(object).toString(); } }); value.setEnabled(false); value.setModelObject(""); break; default: property.setChoices(Collections.<String>emptyList()); } } }
From source file:org.apache.syncope.client.console.SyncopeApplication.java
License:Apache License
public void setupEditProfileModal(final WebPage page, final UserSelfRestClient userSelfRestClient) { // Modal window for editing user profile final ModalWindow editProfileModalWin = new ModalWindow("editProfileModal"); editProfileModalWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY); editProfileModalWin.setInitialHeight(EDIT_PROFILE_WIN_HEIGHT); editProfileModalWin.setInitialWidth(EDIT_PROFILE_WIN_WIDTH); editProfileModalWin.setCookieName("edit-profile-modal"); page.add(editProfileModalWin);//w w w . ja va 2 s. c om final AjaxLink<Page> editProfileLink = new AjaxLink<Page>("editProfileLink") { private static final long serialVersionUID = -7978723352517770644L; @Override public void onClick(final AjaxRequestTarget target) { final UserTO userTO; if (SyncopeSession.get().isAuthenticated()) { try { userTO = userSelfRestClient.read(); } catch (Exception e) { throw new WicketRuntimeException(e); } } else { userTO = new UserTO(); } editProfileModalWin.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = -7834632442532690940L; @Override public Page createPage() { return new UserSelfModalPage(page.getPageReference(), editProfileModalWin, userTO); } }); editProfileModalWin.show(target); } }; editProfileLink.add(new Label("username", SyncopeSession.get().getUsername())); if ("admin".equals(SyncopeSession.get().getUsername())) { editProfileLink.setEnabled(false); } page.add(editProfileLink); }
From source file:org.apache.syncope.console.pages.panels.SearchView.java
License:Apache License
@Override protected void populateItem(final ListItem<SearchClause> item) { final SearchClause searchClause = item.getModelObject(); final DropDownChoice<SearchClause.Operator> operator = new DropDownChoice<SearchClause.Operator>("operator", new PropertyModel<SearchClause.Operator>(searchClause, "operator"), Arrays.asList(SearchClause.Operator.values())); operator.setOutputMarkupPlaceholderTag(true); operator.setNullValid(false);// w w w. j av a2 s . c o m operator.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); item.add(operator); if (item.getIndex() == 0) { operator.setVisible(false); } final DropDownChoice<SearchClause.Type> type = new DropDownChoice<SearchClause.Type>("type", new PropertyModel<SearchClause.Type>(searchClause, "type"), types); type.setOutputMarkupId(true); type.setRequired(required); type.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { target.add(searchFormContainer); } }); item.add(type); @SuppressWarnings("unchecked") final DropDownChoice<String> property = new DropDownChoice<String>("property", new PropertyModel<String>(searchClause, "property"), (IModel) null); property.setOutputMarkupId(true); property.setRequired(required); property.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); item.add(property); final TextField<String> value = new TextField<String>("value", new PropertyModel<String>(searchClause, "value")); value.setOutputMarkupId(true); value.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { } }); item.add(value); final DropDownChoice<SearchClause.Comparator> comparator = new DropDownChoice<SearchClause.Comparator>( "comparator", new PropertyModel<SearchClause.Comparator>(searchClause, "comparator"), Collections.<SearchClause.Comparator>emptyList()); comparator.setOutputMarkupId(true); comparator.setNullValid(false); comparator.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { if (type.getModelObject() == SearchClause.Type.ATTRIBUTE) { if (comparator.getModelObject() == SearchClause.Comparator.IS_NULL || comparator.getModelObject() == SearchClause.Comparator.IS_NOT_NULL) { value.setModelObject(null); value.setEnabled(false); } else { value.setEnabled(true); } target.add(value); } } }); comparator.setRequired(required); item.add(comparator); AjaxLink<Void> drop = new IndicatingAjaxLink<Void>("drop") { private static final long serialVersionUID = -7978723352517770644L; @Override public void onClick(final AjaxRequestTarget target) { SearchView.this.getModel().getObject().remove(item.getModelObject()); target.add(searchFormContainer); } }; item.add(drop); if (item.getIndex() == 0) { drop.setVisible(false); drop.setEnabled(false); } else { drop.setVisible(true); drop.setEnabled(true); } final AjaxLink<Void> add = new IndicatingAjaxLink<Void>("add") { private static final long serialVersionUID = -7978723352517770644L; @Override public void onClick(final AjaxRequestTarget target) { SearchClause clause = new SearchClause(); SearchView.this.getModel().getObject().add(clause); target.add(searchFormContainer); } }; item.add(add); if (searchClause == null || searchClause.getType() == null) { property.setChoices(Collections.<String>emptyList()); } else { switch (searchClause.getType()) { case ATTRIBUTE: final List<String> names = new ArrayList<String>(dnames.getObject()); if (anames.getObject() != null && !anames.getObject().isEmpty()) { names.addAll(anames.getObject()); } Collections.sort(names); property.setChoices(names); comparator.setChoices(new LoadableDetachableModel<List<SearchClause.Comparator>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<SearchClause.Comparator> load() { return Arrays.asList(SearchClause.Comparator.values()); } }); comparator.setChoiceRenderer(new IChoiceRenderer<SearchClause.Comparator>() { private static final long serialVersionUID = -9086043750227867686L; @Override public Object getDisplayValue(final SearchClause.Comparator object) { String display; switch (object) { case IS_NULL: display = "NULL"; break; case IS_NOT_NULL: display = "NOT NULL"; break; case EQUALS: display = "=="; break; case NOT_EQUALS: display = "!="; break; case LESS_THAN: display = "<"; break; case LESS_OR_EQUALS: display = "<="; break; case GREATER_THAN: display = ">"; break; case GREATER_OR_EQUALS: display = ">="; break; default: display = StringUtils.EMPTY; } return display; } @Override public String getIdValue(final SearchClause.Comparator object, int index) { return getDisplayValue(object).toString(); } }); if (!comparator.isEnabled()) { comparator.setEnabled(true); comparator.setRequired(true); } if (!value.isEnabled()) { value.setEnabled(true); } break; case MEMBERSHIP: property.setChoices(roleNames); property.setChoiceRenderer(new IChoiceRenderer<String>() { private static final long serialVersionUID = -4288397951948436434L; @Override public Object getDisplayValue(final String object) { return object; } @Override public String getIdValue(final String object, final int index) { return object; } }); comparator.setChoices(new LoadableDetachableModel<List<SearchClause.Comparator>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<SearchClause.Comparator> load() { List<SearchClause.Comparator> comparators = new ArrayList<SearchClause.Comparator>(); comparators.add(SearchClause.Comparator.EQUALS); comparators.add(SearchClause.Comparator.NOT_EQUALS); return comparators; } }); comparator.setChoiceRenderer(new IChoiceRenderer<SearchClause.Comparator>() { private static final long serialVersionUID = -9086043750227867686L; @Override public Object getDisplayValue(final SearchClause.Comparator object) { String display; switch (object) { case EQUALS: display = "IN"; break; case NOT_EQUALS: display = "NOT IN"; break; default: display = StringUtils.EMPTY; } return display; } @Override public String getIdValue(final SearchClause.Comparator object, final int index) { return getDisplayValue(object).toString(); } }); value.setEnabled(false); value.setModelObject(""); break; case RESOURCE: property.setChoices(resourceNames); comparator.setChoices(new LoadableDetachableModel<List<SearchClause.Comparator>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<SearchClause.Comparator> load() { List<SearchClause.Comparator> comparators = new ArrayList<SearchClause.Comparator>(); comparators.add(SearchClause.Comparator.EQUALS); comparators.add(SearchClause.Comparator.NOT_EQUALS); return comparators; } }); comparator.setChoiceRenderer(new IChoiceRenderer<SearchClause.Comparator>() { private static final long serialVersionUID = -9086043750227867686L; @Override public Object getDisplayValue(final SearchClause.Comparator object) { String display; switch (object) { case EQUALS: display = "HAS"; break; case NOT_EQUALS: display = "HAS NOT"; break; default: display = StringUtils.EMPTY; } return display; } @Override public String getIdValue(final SearchClause.Comparator object, final int index) { return getDisplayValue(object).toString(); } }); value.setEnabled(false); value.setModelObject(""); break; case ENTITLEMENT: property.setChoices(entitlements); comparator.setChoices(new LoadableDetachableModel<List<SearchClause.Comparator>>() { private static final long serialVersionUID = 5275935387613157437L; @Override protected List<SearchClause.Comparator> load() { List<SearchClause.Comparator> comparators = new ArrayList<SearchClause.Comparator>(); comparators.add(SearchClause.Comparator.EQUALS); comparators.add(SearchClause.Comparator.NOT_EQUALS); return comparators; } }); comparator.setChoiceRenderer(new IChoiceRenderer<SearchClause.Comparator>() { private static final long serialVersionUID = -9086043750227867686L; @Override public Object getDisplayValue(final SearchClause.Comparator object) { String display; switch (object) { case EQUALS: display = "HAS"; break; case NOT_EQUALS: display = "HAS NOT"; break; default: display = StringUtils.EMPTY; } return display; } @Override public String getIdValue(final SearchClause.Comparator object, final int index) { return getDisplayValue(object).toString(); } }); value.setEnabled(false); value.setModelObject(""); break; default: property.setChoices(Collections.<String>emptyList()); } } }