List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink add
public MarkupContainer add(final Component... children)
From source file:com.evolveum.midpoint.web.component.prism.PrismOptionButtonPanel.java
License:Apache License
private void initButtons(final IModel<ObjectWrapper> model) { AjaxLink showEmpty = new AjaxLink("showEmptyButton") { @Override/*from w w w. j a v a2 s. c o m*/ public void onClick(AjaxRequestTarget target) { showEmptyOnClick(target); } }; add(showEmpty); showEmpty.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !model.getObject().isReadonly(); } }); Image showEmptyImg = new Image("showEmptyImg", new AbstractReadOnlyModel() { @Override public Object getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isShowEmpty()) { return new PackageResourceReference(PrismObjectPanel.class, "ShowEmptyFalse.png"); } return new PackageResourceReference(PrismObjectPanel.class, "ShowEmptyTrue.png"); } }); showEmptyImg.add(new AttributeAppender("title", new AbstractReadOnlyModel() { @Override public Object getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isShowEmpty()) { return getString("prismOptionButtonPanel.hideEmpty"); } return getString("prismOptionButtonPanel.showEmpty"); } }, "")); showEmpty.add(showEmptyImg); AjaxLink minimize = new AjaxLink("minimizeButton") { @Override public void onClick(AjaxRequestTarget target) { minimizeOnClick(target); } }; add(minimize); Image minimizeImg = new Image("minimizeImg", new AbstractReadOnlyModel() { @Override public Object getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isMinimalized()) { return new PackageResourceReference(PrismObjectPanel.class, "Maximize.png"); } return new PackageResourceReference(PrismObjectPanel.class, "Minimize.png"); } }); minimizeImg.add(new AttributeAppender("title", new AbstractReadOnlyModel() { @Override public Object getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isMinimalized()) { return getString("prismOptionButtonPanel.maximize"); } return getString("prismOptionButtonPanel.minimize"); } }, "")); minimize.add(minimizeImg); }
From source file:com.evolveum.midpoint.web.component.prism.PrismValuePanel.java
License:Apache License
private void initLayout(IModel<String> label, Form form) { //feedback// w ww .j av a2 s. co m FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK); feedback.setOutputMarkupId(true); add(feedback); //input InputPanel input = createInputComponent("input", label, form); initAccessBehaviour(input); add(input); feedback.setFilter(new ComponentFeedbackMessageFilter(input.getBaseFormComponent())); //buttons AjaxLink addButton = new AjaxLink("addButton") { @Override public void onClick(AjaxRequestTarget target) { addValue(target); } }; addButton.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return isAddButtonVisible(); } }); add(addButton); AjaxLink removeButton = new AjaxLink("removeButton") { @Override public void onClick(AjaxRequestTarget target) { removeValue(target); } }; removeButton.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return isRemoveButtonVisible(); } }); add(removeButton); }
From source file:com.evolveum.midpoint.web.component.prism.show.SceneButtonPanel.java
License:Apache License
private void initLayout(final IModel<SceneDto> model) { AjaxLink<String> minimize = new AjaxLink<String>(ID_MINIMIZE_BUTTON) { private static final long serialVersionUID = 1L; @Override/*from w w w . j av a 2 s .c o m*/ public void onClick(AjaxRequestTarget target) { minimizeOnClick(target); } }; add(minimize); Label icon = new Label(ID_ICON); icon.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { SceneDto dto = model.getObject(); if (dto.isMinimized()) { return GuiStyleConstants.CLASS_ICON_EXPAND; } return GuiStyleConstants.CLASS_ICON_COLLAPSE; } })); minimize.add(icon); icon.add(new AttributeAppender("title", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { SceneDto dto = model.getObject(); if (dto.isMinimized()) { return getString("prismOptionButtonPanel.maximize"); } return getString("prismOptionButtonPanel.minimize"); } }, "")); }
From source file:com.evolveum.midpoint.web.component.prism.SimpleErrorPanel.java
License:Apache License
@Override protected void initLayout() { Label icon = new Label(ID_ICON); add(icon);//from www . j a va2 s .c o m Label description = new Label(ID_DESCRIPTION, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getDescription(); } }); add(description); AjaxLink link = new AjaxLink(ID_LINK) { @Override public void onClick(AjaxRequestTarget target) { onShowMorePerformed(target); } }; add(link); Label showMore = new Label(ID_SHOW_MORE, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return createStringResource("simpleErrorPanel.label.showMore").getString(); } }); link.add(showMore); }
From source file:com.evolveum.midpoint.web.component.search.SearchItemPanel.java
License:Apache License
private void initLayout() { popoverModel = new LoadableModel<SearchItemPopoverDto>(false) { @Override/* w ww. jav a 2 s. co m*/ protected SearchItemPopoverDto load() { return loadPopoverItems(); } }; AjaxLink mainButton = new AjaxLink(ID_MAIN_BUTTON) { @Override public void onClick(AjaxRequestTarget target) { editPerformed(target); } }; add(mainButton); Label label = new Label(ID_LABEL, createLabelModel()); label.setRenderBodyOnly(true); mainButton.add(label); AjaxLink deleteButton = new AjaxLink(ID_DELETE_BUTTON) { @Override public void onClick(AjaxRequestTarget target) { deletePerformed(target); } }; mainButton.add(deleteButton); deleteButton.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !getModelObject().isFixed(); } }); initPopover(); }
From source file:com.evolveum.midpoint.web.component.search.SearchPanel.java
License:Apache License
private void initLayout() { moreDialogModel = new LoadableModel<MoreDialogDto>(false) { @Override/*from w w w .j av a 2 s. co m*/ protected MoreDialogDto load() { MoreDialogDto dto = new MoreDialogDto(); dto.setProperties(createPropertiesList()); return dto; } }; Form form = new Form(ID_FORM); add(form); ListView items = new ListView<SearchItem>(ID_ITEMS, new PropertyModel<List<SearchItem>>(getModel(), Search.F_ITEMS)) { @Override protected void populateItem(ListItem<SearchItem> item) { SearchItemPanel searchItem = new SearchItemPanel(ID_ITEM, item.getModel()); item.add(searchItem); } }; items.add(createAdvancedVisibleBehaviour(false)); form.add(items); WebMarkupContainer moreGroup = new WebMarkupContainer(ID_MORE_GROUP); moreGroup.add(createAdvancedVisibleBehaviour(false)); form.add(moreGroup); AjaxLink more = new AjaxLink(ID_MORE) { @Override public void onClick(AjaxRequestTarget target) { Component button = SearchPanel.this.get(createComponentPath(ID_FORM, ID_MORE_GROUP, ID_MORE)); Component popover = SearchPanel.this.get(createComponentPath(ID_POPOVER)); togglePopover(target, button, popover, 14); } }; more.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { Search search = getModelObject(); return !search.getAvailableDefinitions().isEmpty(); } }); more.setOutputMarkupId(true); moreGroup.add(more); WebMarkupContainer searchContainer = new WebMarkupContainer(ID_SEARCH_CONTAINER); searchContainer.setOutputMarkupId(true); form.add(searchContainer); AjaxSubmitButton searchSimple = new AjaxSubmitButton(ID_SEARCH_SIMPLE) { @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(form); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { searchPerformed(target); } }; searchSimple.add(new VisibleEnableBehaviour() { @Override public boolean isEnabled() { Search search = getModelObject(); if (!search.isShowAdvanced()) { return true; } PrismContext ctx = getPageBase().getPrismContext(); return search.isAdvancedQueryValid(ctx); } @Override public boolean isVisible() { return !getModelObject().isShowAdvanced() || !queryPlagroundAccessible; } }); searchSimple.setOutputMarkupId(true); searchContainer.add(searchSimple); WebMarkupContainer searchDropdown = new WebMarkupContainer(ID_SEARCH_DROPDOWN); searchDropdown.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getModelObject().isShowAdvanced() && queryPlagroundAccessible; } }); searchContainer.add(searchDropdown); AjaxSubmitButton searchButtonBeforeDropdown = new AjaxSubmitButton(ID_SEARCH_BUTTON_BEFORE_DROPDOWN) { @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(form); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { searchPerformed(target); } }; searchButtonBeforeDropdown.add(new VisibleEnableBehaviour() { @Override public boolean isEnabled() { Search search = getModelObject(); if (!search.isShowAdvanced()) { return true; } PrismContext ctx = getPageBase().getPrismContext(); return search.isAdvancedQueryValid(ctx); } }); searchDropdown.add(searchButtonBeforeDropdown); List<InlineMenuItem> searchItems = new ArrayList<>(); InlineMenuItem searchItem = new InlineMenuItem(createStringResource("SearchPanel.search"), new InlineMenuItemAction() { @Override public void onClick(AjaxRequestTarget target) { PrismContext ctx = getPageBase().getPrismContext(); if (getModelObject().isAdvancedQueryValid(ctx)) { searchPerformed(target); } } }); searchItems.add(searchItem); searchItem = new InlineMenuItem(createStringResource("SearchPanel.debug"), new InlineMenuItemAction() { @Override public void onClick(AjaxRequestTarget target) { debugPerformed(); } }); searchItems.add(searchItem); ListView<InlineMenuItem> li = new ListView<InlineMenuItem>(ID_MENU_ITEM, Model.ofList(searchItems)) { @Override protected void populateItem(ListItem<InlineMenuItem> item) { WebMarkupContainer menuItemBody = new MenuLinkPanel(ID_MENU_ITEM_BODY, item.getModel()); menuItemBody.setRenderBodyOnly(true); item.add(menuItemBody); } }; searchDropdown.add(li); AjaxButton advanced = new AjaxButton(ID_ADVANCED, createAdvancedModel()) { @Override public void onClick(AjaxRequestTarget target) { advancedPerformed(target); } }; advanced.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return advancedSearch; } }); form.add(advanced); initPopover(); WebMarkupContainer advancedGroup = new WebMarkupContainer(ID_ADVANCED_GROUP); advancedGroup.add(createAdvancedVisibleBehaviour(true)); advancedGroup.add(AttributeAppender.append("class", createAdvancedGroupStyle())); advancedGroup.setOutputMarkupId(true); form.add(advancedGroup); Label advancedCheck = new Label(ID_ADVANCED_CHECK); advancedCheck.add(AttributeAppender.append("class", createAdvancedGroupLabelStyle())); advancedGroup.add(advancedCheck); final TextArea advancedArea = new TextArea(ID_ADVANCED_AREA, new PropertyModel(getModel(), Search.F_ADVANCED_QUERY)); advancedArea.add(new AjaxFormComponentUpdatingBehavior("keyup") { @Override protected void onUpdate(AjaxRequestTarget target) { updateAdvancedArea(advancedArea, target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.setThrottlingSettings( new ThrottlingSettings(ID_ADVANCED_AREA, Duration.milliseconds(500), true)); } }); advancedGroup.add(advancedArea); Label advancedError = new Label(ID_ADVANCED_ERROR, new PropertyModel<String>(getModel(), Search.F_ADVANCED_ERROR)); advancedError.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { Search search = getModelObject(); if (!search.isShowAdvanced()) { return false; } return StringUtils.isNotEmpty(search.getAdvancedError()); } }); advancedGroup.add(advancedError); }
From source file:com.evolveum.midpoint.web.component.search.SearchPanel.java
License:Apache License
private void initPopover() { WebMarkupContainer popover = new WebMarkupContainer(ID_POPOVER); popover.setOutputMarkupId(true);//from w ww. j a v a2 s. c om add(popover); final WebMarkupContainer propList = new WebMarkupContainer(ID_PROP_LIST); propList.setOutputMarkupId(true); popover.add(propList); ListView properties = new ListView<Property>(ID_PROPERTIES, new PropertyModel<List<Property>>(moreDialogModel, MoreDialogDto.F_PROPERTIES)) { @Override protected void populateItem(final ListItem<Property> item) { CheckBox check = new CheckBox(ID_CHECK, new PropertyModel<Boolean>(item.getModel(), Property.F_SELECTED)); check.add(new AjaxFormComponentUpdatingBehavior("change") { @Override protected void onUpdate(AjaxRequestTarget target) { //nothing, just update model. } }); item.add(check); AjaxLink propLink = new AjaxLink(ID_PROP_LINK) { @Override public void onClick(AjaxRequestTarget target) { addOneItemPerformed(item.getModelObject(), target); } }; item.add(propLink); Label name = new Label(ID_PROP_NAME, new PropertyModel<>(item.getModel(), Property.F_NAME)); name.setRenderBodyOnly(true); propLink.add(name); item.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { Property property = item.getModelObject(); Search search = SearchPanel.this.getModelObject(); if (!search.getAvailableDefinitions().contains(property.getDefinition())) { return false; } MoreDialogDto dto = moreDialogModel.getObject(); String nameFilter = dto.getNameFilter(); String propertyName = property.getName().toLowerCase(); if (StringUtils.isNotEmpty(nameFilter) && !propertyName.contains(nameFilter.toLowerCase())) { return false; } return true; } }); } }; propList.add(properties); TextField addText = new TextField(ID_ADD_TEXT, new PropertyModel(moreDialogModel, MoreDialogDto.F_NAME_FILTER)); addText.add(new Behavior() { @Override public void bind(Component component) { super.bind(component); component.add(AttributeModifier.replace("onkeydown", Model.of("if(event.keyCode == 13) {event.preventDefault();}"))); } }); popover.add(addText); addText.add(new AjaxFormComponentUpdatingBehavior("keyup") { @Override protected void onUpdate(AjaxRequestTarget target) { target.add(propList); } }); popover.add(addText); AjaxButton add = new AjaxButton(ID_ADD, createStringResource("SearchPanel.add")) { @Override public void onClick(AjaxRequestTarget target) { addItemPerformed(target); } }; popover.add(add); AjaxButton close = new AjaxButton(ID_CLOSE, createStringResource("SearchPanel.close")) { @Override public void onClick(AjaxRequestTarget target) { closeMorePopoverPerformed(target); } }; popover.add(close); }
From source file:com.evolveum.midpoint.web.component.wizard.resource.component.SchemaListPanel.java
License:Apache License
@Override protected void initLayout() { initModels();// ww w .j a v a 2s .c om final ObjectClassDataProvider dataProvider = new ObjectClassDataProvider(allClasses); TextField objectClass = new TextField(ID_OBJECT_CLASS, new Model<>()); objectClass.setOutputMarkupId(true); objectClass.add(new AjaxFormComponentUpdatingBehavior("keyUp") { @Override protected void onUpdate(AjaxRequestTarget target) { updateSearchPerformed(target, dataProvider); } }); add(objectClass); AjaxButton clearSearch = new AjaxButton(ID_CLEAR_SEARCH) { @Override public void onClick(AjaxRequestTarget target) { clearSearchPerformed(target, dataProvider); } }; add(clearSearch); WebMarkupContainer tableBody = new WebMarkupContainer(ID_TABLE_BODY); tableBody.setOutputMarkupId(true); add(tableBody); DataView<ObjectClassDto> pageable = new DataView<ObjectClassDto>(ID_PAGEABLE, dataProvider) { @Override protected void populateItem(final Item<ObjectClassDto> item) { AjaxLink link = new AjaxLink(ID_CLASS_LINK) { @Override public void onClick(AjaxRequestTarget target) { objectClassClickPerformed(target, item.getModelObject(), allClasses.getObject()); } }; item.add(link); Label label = new Label(ID_LABEL, new PropertyModel<>(item.getModel(), ObjectClassDto.F_NAME)); link.add(label); item.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<Object>() { @Override public Object getObject() { if (item.getModelObject().isSelected()) { return "success"; } return null; } })); } }; tableBody.add(pageable); ISortableDataProvider attributeProvider = new ListDataProvider(this, attributeModel); TablePanel attributeTable = new TablePanel(ID_ATTRIBUTE_TABLE, attributeProvider, initColumns()); attributeTable.setOutputMarkupId(true); attributeTable.setItemsPerPage(20); add(attributeTable); }
From source file:com.evolveum.midpoint.web.page.admin.certification.StageEditorPanel.java
License:Apache License
private void initPanelLayout() { AjaxLink name = new AjaxLink(ID_NAME) { @Override// www .j av a 2 s. c om public void onClick(AjaxRequestTarget target) { nameClickPerformed(target); } }; Label nameLabel = new Label(ID_NAME_LABEL, getModel().getObject().getName() == null || getModel().getObject().getName().trim().equals("") ? "Stage definition #" + getModel().getObject().getNumber() : getModel().getObject().getName()); name.add(nameLabel); add(name); }
From source file:com.evolveum.midpoint.web.page.admin.configuration.PageAccounts.java
License:Apache License
private void initLayout() { Form form = new Form(ID_MAIN_FORM); add(form);// ww w .j ava2s. c o m DropDownChoice<ResourceItemDto> resources = new DropDownChoice<ResourceItemDto>(ID_RESOURCES, resourceModel, resourcesModel, new IChoiceRenderer<ResourceItemDto>() { @Override public Object getDisplayValue(ResourceItemDto object) { if (object == null) { return ""; } return object.getName(); } @Override public String getIdValue(ResourceItemDto object, int index) { return Integer.toString(index); } }); form.add(resources); initLinks(form); initTotals(form); final AjaxDownloadBehaviorFromFile ajaxDownloadBehavior = new AjaxDownloadBehaviorFromFile(true) { @Override protected File initFile() { return downloadFile; } }; ajaxDownloadBehavior.setRemoveFile(false); form.add(ajaxDownloadBehavior); WebMarkupContainer filesContainer = new WebMarkupContainer(ID_FILES_CONTAINER); filesContainer.setOutputMarkupId(true); form.add(filesContainer); filesModel = createFilesModel(); ListView<String> files = new ListView<String>(ID_FILES, filesModel) { @Override protected void populateItem(final ListItem<String> item) { AjaxLink file = new AjaxLink(ID_FILE) { @Override public void onClick(AjaxRequestTarget target) { downloadPerformed(target, item.getModelObject(), ajaxDownloadBehavior); } }; file.add(new Label(ID_FILE_NAME, item.getModelObject())); item.add(file); } }; files.setRenderBodyOnly(true); filesContainer.add(files); WebMarkupContainer accountsContainer = new WebMarkupContainer(ID_ACCOUNTS_CONTAINER); accountsContainer.setOutputMarkupId(true); form.add(accountsContainer); ObjectDataProvider provider = new ObjectDataProvider(this, ShadowType.class); provider.setOptions(SelectorOptions.createCollection(GetOperationOptions.createRaw())); provider.setQuery(ObjectQuery.createObjectQuery(createResourceQueryFilter())); TablePanel accounts = new TablePanel(ID_ACCOUNTS, provider, createAccountsColumns()); accounts.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return resourceModel.getObject() != null; } }); accounts.setItemsPerPage(50); accountsContainer.add(accounts); }