List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink setVisible
public final Component setVisible(final boolean visible)
From source file:by.grodno.ss.rentacar.webapp.page.admin.panel.UserEditPanel.java
@Override public void onInitialize() { super.onInitialize(); UserEditPanel.this.setOutputMarkupId(true); Form<UserProfile> form = new Form<UserProfile>("form", new CompoundPropertyModel<UserProfile>(userProfile)); TextField<String> created = new TextField<String>("created"); created.setEnabled(false);/*from w ww . j a va 2s . c o m*/ form.add(created); TextField<String> email = new TextField<String>("email", new PropertyModel<>(userCredentials, "email")); email.setRequired(true); email.add(StringValidator.maximumLength(100)); email.add(StringValidator.minimumLength(3)); email.add(EmailAddressValidator.getInstance()); form.add(email); DropDownChoice<UserRole> roleDropDown = new DropDownChoice<>("role", new PropertyModel<>(userCredentials, "role"), Arrays.asList(UserRole.values()), UserRoleChoiceRenderer.INSTANCE); roleDropDown.setRequired(true); form.add(roleDropDown); TextField<String> firstName = new TextField<String>("firstName"); firstName.setRequired(true); firstName.add(StringValidator.maximumLength(100)); firstName.add(StringValidator.minimumLength(2)); firstName.add(new PatternValidator("[A-Za-z]+")); form.add(firstName); TextField<String> lastName = new TextField<String>("lastName"); lastName.setRequired(true); lastName.add(StringValidator.maximumLength(100)); lastName.add(StringValidator.minimumLength(2)); lastName.add(new PatternValidator("[A-Za-z]+")); form.add(lastName); TextField<String> phone = new TextField<String>("phoneNumber"); phone.setRequired(true); phone.add(StringValidator.maximumLength(100)); phone.add(StringValidator.minimumLength(2)); phone.add(new PatternValidator("[0-9+()-]+")); form.add(phone); TextField<String> licNumber = new TextField<String>("licenseNumber"); licNumber.add(StringValidator.maximumLength(100)); licNumber.add(StringValidator.minimumLength(2)); licNumber.add(new PatternValidator("[A-Za-z0-9]+")); form.add(licNumber); DateTextFieldConfig config = new DateTextFieldConfig(); config.withLanguage(AuthorizedSession.get().getLocale().getLanguage()); config.withFormat("dd.MM.yyyy"); DateTextField dateBirth = new DateTextField("birthDay", config); form.add(dateBirth); TextField<String> address = new TextField<String>("address"); address.add(StringValidator.maximumLength(100)); address.add(StringValidator.minimumLength(2)); address.add(new PatternValidator("[A-Za-z0-9 /-]+")); form.add(address); TextField<String> city = new TextField<String>("city"); city.add(StringValidator.maximumLength(100)); city.add(StringValidator.minimumLength(2)); city.add(new PatternValidator("[A-Za-z0-9]+")); form.add(city); TextField<String> region = new TextField<String>("region"); region.add(StringValidator.maximumLength(100)); region.add(StringValidator.minimumLength(2)); region.add(new PatternValidator("[A-Za-z0-9]+")); form.add(region); TextField<String> zip = new TextField<String>("zipCode"); zip.add(StringValidator.maximumLength(20)); zip.add(StringValidator.minimumLength(2)); zip.add(new PatternValidator("[0-9]+")); form.add(zip); WebMarkupContainer passTable = new WebMarkupContainer("pass-table"); passTable.setOutputMarkupId(true); WebMarkupContainer trPass = new WebMarkupContainer("pass"); WebMarkupContainer trCpass = new WebMarkupContainer("cpass"); if (userProfile.getId() == null) { trPass.setVisible(true); trCpass.setVisible(true); } else { trPass.setVisible(false); trCpass.setVisible(false); } trPass.setOutputMarkupId(true); trCpass.setOutputMarkupId(true); PasswordTextField password = new PasswordTextField("password", new PropertyModel<>(userCredentials, "password")); trPass.add(password); PasswordTextField cpassword = new PasswordTextField("cpassword", Model.of("")); trCpass.add(cpassword); passTable.add(trPass); passTable.add(trCpass); form.add(passTable); form.add(new EqualPasswordInputValidator(password, cpassword)); AjaxLink<Void> changePass = new AjaxLink<Void>("change-password") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { if (!trPass.isVisible()) { trPass.setVisible(true); trCpass.setVisible(true); passTable.add(trPass); passTable.add(trCpass); } else { trPass.setVisible(false); trCpass.setVisible(false); } if (target != null) { target.add(passTable); } } }; if (userProfile.getId() == null) { changePass.setVisible(false); } form.add(changePass); form.add(new SubmitLink("save") { private static final long serialVersionUID = 1L; @Override public void onSubmit() { if (userProfile.getId() == null) { userService.register(userProfile, userCredentials); } else { userService.update(userProfile); userService.update(userCredentials); } info("User was saved"); } }); boolean a = (AuthorizedSession.get().isSignedIn() && AuthorizedSession.get().getLoggedUser().getRole().equals(UserRole.ADMIN)); form.setEnabled(a); add(form); add(new AjaxLink<Void>("back") { private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { Component newPanel = new UserListPanel(UserEditPanel.this.getId(), filter); UserEditPanel.this.replaceWith(newPanel); if (target != null) { target.add(newPanel); } } }); }
From source file:by.grodno.ss.rentacar.webapp.page.MyBooking.ProfileEditPanel.java
@Override public void onInitialize() { super.onInitialize(); final NotificationPanel feedback = new NotificationPanel("feedbackpanel"); add(feedback);/*from w w w . ja v a 2 s. com*/ Form<UserProfile> form = new Form<UserProfile>("form", new CompoundPropertyModel<UserProfile>(userProfile)); TextField<String> firstName = new TextField<String>("firstName"); firstName.setRequired(true); firstName.add(StringValidator.maximumLength(100)); firstName.add(StringValidator.minimumLength(2)); firstName.add(new PatternValidator("[A-Za-z]+")); form.add(firstName); TextField<String> lastName = new TextField<String>("lastName"); lastName.setRequired(true); lastName.add(StringValidator.maximumLength(100)); lastName.add(StringValidator.minimumLength(2)); lastName.add(new PatternValidator("[A-Za-z]+")); form.add(lastName); TextField<String> phone = new TextField<String>("phoneNumber"); phone.setRequired(true); phone.add(StringValidator.maximumLength(100)); phone.add(StringValidator.minimumLength(2)); phone.add(new PatternValidator("[0-9+()-]+")); form.add(phone); TextField<String> licNumber = new TextField<String>("licenseNumber"); licNumber.add(StringValidator.maximumLength(100)); licNumber.add(StringValidator.minimumLength(2)); licNumber.add(new PatternValidator("[A-Za-z0-9]+")); form.add(licNumber); DateTextFieldConfig config = new DateTextFieldConfig(); config.withLanguage(AuthorizedSession.get().getLocale().getLanguage()); config.withFormat("dd.MM.yyyy"); DateTextField dateBirth = new DateTextField("birthDay", config); form.add(dateBirth); TextField<String> address = new TextField<String>("address"); address.add(StringValidator.maximumLength(100)); address.add(StringValidator.minimumLength(2)); address.add(new PatternValidator("[A-Za-z0-9 /-]+")); form.add(address); TextField<String> city = new TextField<String>("city"); city.add(StringValidator.maximumLength(100)); city.add(StringValidator.minimumLength(2)); city.add(new PatternValidator("[A-Za-z0-9]+")); form.add(city); TextField<String> region = new TextField<String>("region"); region.add(StringValidator.maximumLength(100)); region.add(StringValidator.minimumLength(2)); region.add(new PatternValidator("[A-Za-z0-9]+")); form.add(region); TextField<String> zip = new TextField<String>("zipCode"); zip.add(StringValidator.maximumLength(20)); zip.add(StringValidator.minimumLength(2)); zip.add(new PatternValidator("[0-9]+")); form.add(zip); Label email = new Label("email", new PropertyModel<>(userCredentials, "email")); form.add(email); WebMarkupContainer passTable = new WebMarkupContainer("pass-table"); passTable.setOutputMarkupId(true); WebMarkupContainer trPass = new WebMarkupContainer("pass"); WebMarkupContainer trCpass = new WebMarkupContainer("cpass"); if (userProfile.getId() == null) { trPass.setVisible(true); trCpass.setVisible(true); } else { trPass.setVisible(false); trCpass.setVisible(false); } trPass.setOutputMarkupId(true); trCpass.setOutputMarkupId(true); PasswordTextField password = new PasswordTextField("password", new PropertyModel<>(userCredentials, "password")); trPass.add(password); PasswordTextField cpassword = new PasswordTextField("cpassword", Model.of("")); trCpass.add(cpassword); passTable.add(trPass); passTable.add(trCpass); form.add(passTable); form.add(new EqualPasswordInputValidator(password, cpassword)); AjaxLink<Void> changePass = new AjaxLink<Void>("change-password") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { if (!trPass.isVisible()) { trPass.setVisible(true); trCpass.setVisible(true); passTable.add(trPass); passTable.add(trCpass); } else { trPass.setVisible(false); trCpass.setVisible(false); } if (target != null) { target.add(passTable); } } }; if (userProfile.getId() == null) { changePass.setVisible(false); } form.add(changePass); form.add(new SubmitLink("save") { private static final long serialVersionUID = 1L; @Override public void onSubmit() { if (userProfile.getId() == null) { error("saving error"); } else { userService.update(userProfile); userService.update(userCredentials); } info("User was saved"); } }); add(form); add(new Link<Void>("back") { private static final long serialVersionUID = 1L; @Override public void onClick() { setResponsePage(new MyBookingPage()); } }); }
From source file:com.axway.ats.testexplorer.pages.BasePage.java
License:Apache License
private Component getTestcasesCopyButton() { AjaxLink<Object> testcasesCopyLink = new AjaxLink<Object>("testcasesCopyLink") { private static final long serialVersionUID = 1L; @Override//w w w . j av a2 s. co m public void onClick(AjaxRequestTarget target) { if (mainGrid.getSelectedItems().size() == 0) { target.appendJavaScript("alert('Please select one or more items to copy');"); } else { // serialize all the important DB entities in a string StringBuilder copyEntities = new StringBuilder(); PageParameters parameters = new PageParameters(); ENTITY_TYPES copyEntityTypes = null; for (IModel<?> model : (Collection<IModel<?>>) mainGrid.getSelectedItems()) { Object obj = model.getObject(); if (obj instanceof Suite) { copyEntityTypes = ENTITY_TYPES.SUITES; copyEntities.append(((Suite) obj).suiteId); } else if (obj instanceof Scenario) { copyEntityTypes = ENTITY_TYPES.SCENARIOS; copyEntities.append(((Scenario) obj).scenarioId); parameters.add("suiteId", ((Scenario) obj).suiteId); } else { copyEntityTypes = ENTITY_TYPES.TESTCASES; copyEntities.append(((Testcase) obj).testcaseId); } copyEntities.append("_"); } String copyEntitiesString = copyEntities.toString(); copyEntitiesString = copyEntitiesString.substring(0, copyEntitiesString.length() - 1); parameters.add("dbname", ((TestExplorerSession) Session.get()).getDbName()); parameters.add("copyEntities", copyEntitiesString); parameters.add("copyEntitiesType", copyEntityTypes.toString()); setResponsePage(TestcasesCopyPage.class, parameters); } } }; testcasesCopyLink.setVisible( this instanceof SuitesPage || this instanceof ScenariosPage || this instanceof TestcasesPage); return testcasesCopyLink; }
From source file:com.doculibre.constellio.wicket.panels.admin.indexField.AddEditIndexFieldPanel.java
License:Open Source License
public AddEditIndexFieldPanel(String id, IndexField indexField) { super(id);//w ww.j a v a2 s . c o m this.indexFieldModel = new ReloadableEntityModel<IndexField>(indexField); for (CopyField copyFieldDest : indexField.getCopyFieldsDest()) { copyFieldsDest.add(new CopyFieldDTO(copyFieldDest)); } for (CopyField copyFieldSource : indexField.getCopyFieldsDest()) { copyFieldsSource.add(new CopyFieldDTO(copyFieldSource)); } for (ConnectorInstanceMeta meta : indexField.getConnectorInstanceMetas()) { metas.add(new ConnectorInstanceMetaDTO(meta)); } add(new FeedbackPanel("feedback")); Form form = new Form("form", new CompoundPropertyModel(indexFieldModel)); add(form); form.add(new SetFocusBehavior(form)); String titleKey = indexField.getId() == null ? "add" : "edit"; IModel titleModel = new StringResourceModel(titleKey, this, null); form.add(new Label("title", titleModel)); TextField nameField = new RequiredTextField("name"); nameField.add(new StringValidator.MaximumLengthValidator(255)); nameField.setEnabled(!indexField.isInternalField()); form.add(nameField); final CheckBox indexedCheckbox = new CheckBox("indexed"); indexedCheckbox.setEnabled(!indexField.isInternalField()); form.add(indexedCheckbox); // final CheckBox storedCheckbox = new CheckBox("stored"); // storedCheckbox.setEnabled(!indexField.isInternalField()); // form.add(storedCheckbox); final CheckBox dynamicFieldCheckbox = new CheckBox("dynamicField"); dynamicFieldCheckbox.setEnabled(!indexField.isInternalField()); form.add(dynamicFieldCheckbox); final CheckBox multiValuedCheckbox = new CheckBox("multiValued"); multiValuedCheckbox.setEnabled(!indexField.isInternalField()); form.add(multiValuedCheckbox); final CheckBox sortableCheckbox = new CheckBox("sortable"); form.add(sortableCheckbox); final CheckBox highlightedCheckbox = new CheckBox("highlighted"); form.add(highlightedCheckbox); final ModalWindow fieldTypeModal = new ModalWindow("fieldTypeModal"); form.add(fieldTypeModal); fieldTypeModal.setCssClassName(ModalWindow.CSS_CLASS_GRAY); IModel fieldTypesModel = new LoadableDetachableModel() { @Override protected Object load() { FieldTypeServices fieldTypeServices = ConstellioSpringUtils.getFieldTypeServices(); return fieldTypeServices.list(); } }; IChoiceRenderer fieldTypeRenderer = new ChoiceRenderer("name"); final DropDownChoice fieldTypeField = new DropDownChoice("fieldType", fieldTypesModel, fieldTypeRenderer); form.add(fieldTypeField); fieldTypeField.setOutputMarkupId(true); fieldTypeField.setEnabled(indexField.isAnalyzingCustomizable()); AjaxLink addFieldTypeLink = new AjaxLink("addFieldTypeLink") { @Override public void onClick(AjaxRequestTarget target) { AddEditFieldTypePanel addEditFieldTypePanel = new AddEditFieldTypePanel( fieldTypeModal.getContentId(), new FieldType(), fieldTypeField); fieldTypeModal.setContent(addEditFieldTypePanel); fieldTypeModal.show(target); } }; form.add(addFieldTypeLink); addFieldTypeLink.setVisible(indexField.isAnalyzingCustomizable()); form.add(new MetaListPanel("metas").setVisible(indexField.isAnalyzingCustomizable())); form.add(new CopyFieldListPanel("copyFieldsDest", true).setVisible(indexField.isAnalyzingCustomizable())); IModel localesModel = new LoadableDetachableModel() { @Override protected Object load() { AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent( AdminCollectionPanel.class); RecordCollection collection = collectionAdminPanel.getCollection(); return collection.getLocales(); } }; MultiLocaleComponentHolder nameHolder = new MultiLocaleComponentHolder("label", indexFieldModel, localesModel) { @Override protected void onPopulateItem(ListItem item, IModel componentModel, Locale locale) { TextField nameField = new TextField("nameLocale", componentModel); item.add(nameField); item.add(new LocaleNameLabel("localeName", locale, true) { @Override public boolean isVisible() { AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent( AdminCollectionPanel.class); RecordCollection collection = collectionAdminPanel.getCollection(); return collection.getLocales().size() > 1; } }); } }; form.add(nameHolder); Button submitButton = new AjaxButton("submitButton") { @Override public void onSubmit(AjaxRequestTarget target, Form form) { IndexField indexField = indexFieldModel.getObject(); EntityManager entityManager = ConstellioPersistenceContext.getCurrentEntityManager(); if (!entityManager.getTransaction().isActive()) { entityManager.getTransaction().begin(); } List<ConnectorInstanceMeta> existingMetas = new ArrayList<ConnectorInstanceMeta>( indexField.getConnectorInstanceMetas()); // Remove deleted metas List<ConnectorInstanceMeta> formMetas = new ArrayList<ConnectorInstanceMeta>(); for (ConnectorInstanceMetaDTO metaDTO : getMetas()) { formMetas.add(metaDTO.toConnectorInstanceMeta()); } for (Iterator<ConnectorInstanceMeta> it = existingMetas.iterator(); it.hasNext();) { ConnectorInstanceMeta meta = it.next(); meta = entityManager.merge(meta); if (!hasMeta(meta, formMetas)) { indexField.removeConnectorInstanceMeta(meta); } } // Add new for (ConnectorInstanceMetaDTO metaDTO : getMetas()) { ConnectorInstanceMeta meta = metaDTO.toConnectorInstanceMeta(); if (!hasMeta(meta, existingMetas)) { meta = entityManager.merge(meta); indexField.addConnectorInstanceMeta(meta); } } Set<CopyField> existingCopyFieldsSource = indexField.getCopyFieldsSource(); // Remove deleted copy fields for (Iterator<CopyField> it = existingCopyFieldsSource.iterator(); it.hasNext();) { CopyField copyField = it.next(); if (!getCopyFieldsSource().contains(new CopyFieldDTO(copyField))) { it.remove(); } } // Add new or update set for (CopyFieldDTO copyFieldDTO : getCopyFieldsSource()) { CopyField copyField = copyFieldDTO.toCopyField(); copyField.setIndexFieldSource(indexField); if (copyField.getId() != null) { entityManager.merge(copyField); } else { existingCopyFieldsSource.add(copyField); } } Set<CopyField> existingCopyFieldsDest = indexField.getCopyFieldsDest(); // Remove deleted copy fields for (Iterator<CopyField> it = existingCopyFieldsDest.iterator(); it.hasNext();) { CopyField copyField = it.next(); if (!getCopyFieldsDest().contains(new CopyFieldDTO(copyField))) { it.remove(); } } // Add new or update set for (CopyFieldDTO copyFieldDTO : getCopyFieldsDest()) { CopyField copyField = copyFieldDTO.toCopyField(); copyField.setIndexFieldDest(indexField); if (copyField.getId() != null) { entityManager.merge(copyField); } else { existingCopyFieldsDest.add(copyField); } } AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent( AdminCollectionPanel.class); RecordCollection collection = collectionAdminPanel.getCollection(); indexField.setRecordCollection(collection); IndexFieldServices indexFieldServices = ConstellioSpringUtils.getIndexFieldServices(); FederationServices federationServices = ConstellioSpringUtils.getFederationServices(); if (indexField.isSortable()) { if (indexFieldServices.getSortFieldOf(indexField) == null) { indexFieldServices.newSortFieldFor(indexField); } } AutocompleteServices autocompleteServices = ConstellioSpringUtils.getAutocompleteServices(); if (indexField.isAutocompleted()) { autocompleteServices.setAutoCompleteToField(indexField); } else { autocompleteServices.removeAutoCompleteFromField(indexField); } if (collection.isIncludedInFederation()) { List<String> conflicts = new ArrayList<String>(); List<IndexField> newFederationFields = new ArrayList<IndexField>(); List<RecordCollection> ownerCollections = federationServices.listOwnerCollections(collection); for (RecordCollection ownerCollection : ownerCollections) { String indexFieldName = indexField.getName(); IndexField ownerIndexField = ownerCollection.getIndexField(indexFieldName); if (ownerIndexField == null) { IndexField copy = federationServices.copy(indexField, ownerCollection); newFederationFields.add(copy); } if (federationServices.isConflict(indexFieldName, ownerCollection, collection)) { Locale displayLocale = ownerCollection.getDisplayLocale(getLocale()); conflicts.add(ownerCollection.getTitle(displayLocale)); } } if (conflicts.isEmpty()) { indexFieldServices.makePersistent(indexField); for (IndexField newFederationField : newFederationFields) { indexFieldServices.makePersistent(newFederationField); } } else { for (String collectionTitle : conflicts) { error(getLocalizer().getString("conflict", this) + " : " + collectionTitle); } } } else { indexFieldServices.makePersistent(indexField); } entityManager.getTransaction().commit(); ModalWindow modalWindow = (ModalWindow) findParent(ModalWindow.class); modalWindow.close(target); target.addComponent(modalWindow.findParent(AdminIndexFieldsPanel.class)); } }; form.add(submitButton); Button cancelButton = new AjaxButton("cancelButton") { @Override public void onSubmit(AjaxRequestTarget target, Form form) { ModalWindow modalWindow = (ModalWindow) findParent(ModalWindow.class); modalWindow.close(target); } }.setDefaultFormProcessing(false); form.add(cancelButton); }
From source file:com.evolveum.midpoint.gui.api.component.password.PasswordPanel.java
License:Apache License
private void initLayout(final IModel<ProtectedStringType> model, final boolean isReadOnly, boolean showRemoveButton) { setOutputMarkupId(true);//from ww w.ja va2s.com passwordInputVisble = model.getObject() == null; // TODO: remove // LOGGER.trace("PASSWORD model: {}", model.getObject()); final WebMarkupContainer inputContainer = new WebMarkupContainer(ID_INPUT_CONTAINER) { @Override public boolean isVisible() { return passwordInputVisble; } }; inputContainer.setOutputMarkupId(true); add(inputContainer); final PasswordTextField password1 = new PasswordTextField(ID_PASSWORD_ONE, new PasswordModel(model)); password1.setRequired(false); password1.setResetPassword(false); password1.setOutputMarkupId(true); password1.add(new EmptyOnBlurAjaxFormUpdatingBehaviour()); inputContainer.add(password1); final PasswordTextField password2 = new PasswordTextField(ID_PASSWORD_TWO, new Model<String>()); password2.setRequired(false); password2.setResetPassword(false); password2.setOutputMarkupId(true); password2.add(new EmptyOnBlurAjaxFormUpdatingBehaviour()); inputContainer.add(password2); password1.add(new AjaxFormComponentUpdatingBehavior("change") { @Override protected void onUpdate(AjaxRequestTarget target) { boolean required = !StringUtils.isEmpty(password1.getModel().getObject()); password2.setRequired(required); //fix of MID-2463 // target.add(password2); // target.appendJavaScript("$(\"#"+ password2.getMarkupId() +"\").focus()"); } }); password2.add(new PasswordValidator(password1, password2)); final WebMarkupContainer linkContainer = new WebMarkupContainer(ID_LINK_CONTAINER) { @Override public boolean isVisible() { return !passwordInputVisble; } }; inputContainer.setOutputMarkupId(true); linkContainer.setOutputMarkupId(true); add(linkContainer); final Label passwordSetLabel = new Label(ID_PASSWORD_SET, new ResourceModel("passwordPanel.passwordSet")); linkContainer.add(passwordSetLabel); final Label passwordRemoveLabel = new Label(ID_PASSWORD_REMOVE, new ResourceModel("passwordPanel.passwordRemoveLabel")); passwordRemoveLabel.setVisible(false); linkContainer.add(passwordRemoveLabel); AjaxLink link = new AjaxLink(ID_CHANGE_PASSWORD_LINK) { @Override public void onClick(AjaxRequestTarget target) { onLinkClick(target); } @Override public boolean isVisible() { return !passwordInputVisble; } }; link.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !isReadOnly; } }); link.setBody(new ResourceModel("passwordPanel.passwordChange")); link.setOutputMarkupId(true); linkContainer.add(link); final WebMarkupContainer removeButtonContainer = new WebMarkupContainer(ID_REMOVE_BUTTON_CONTAINER); AjaxLink removePassword = new AjaxLink(ID_REMOVE_PASSWORD_LINK) { @Override public void onClick(AjaxRequestTarget target) { onRemovePassword(model, target); } }; removePassword.setVisible(showRemoveButton); removePassword.setBody(new ResourceModel("passwordPanel.passwordRemove")); removePassword.setOutputMarkupId(true); removeButtonContainer.add(removePassword); add(removeButtonContainer); }
From source file:com.evolveum.midpoint.web.component.data.TableConfigurationPanel.java
License:Apache License
protected void initLayout() { WebMarkupContainer cogButton = new WebMarkupContainer(ID_COG_BUTTON); cogButton.setOutputMarkupId(true);//from w ww . j a v a 2 s .c om add(cogButton); WebMarkupContainer pageSize = new WebMarkupContainer(ID_PAGE_SIZE); pageSize.setOutputMarkupId(true); cogButton.add(pageSize); AjaxLink tableColumns = new AjaxLink(ID_TABLE_COLUMNS) { @Override public void onClick(AjaxRequestTarget target) { tableColumnsPerformed(target); } }; cogButton.add(tableColumns); tableColumns.setVisible(false); //todo implement [lazyman] initPopoverLayout(); }
From source file:com.norconex.jefmon.instances.InstancesPanel.java
License:Apache License
private DataView<InstanceSummary> createDataView() { ListDataProvider<InstanceSummary> dataProvider = new ListDataProvider<InstanceSummary>( InstancesManager.loadInstances()); DataView<InstanceSummary> dataView = new DataView<InstanceSummary>("instances", dataProvider) { private static final long serialVersionUID = 4462642058300231730L; @Override// w w w. j a v a 2 s.co m public void populateItem(final Item<InstanceSummary> item) { final InstanceSummary instance = item.getModelObject(); Label nameLabel = new Label("name", instance.getName()); if (instance.isInvalid()) { nameLabel.add(new CssStyle("font-weight: bold;")); } item.add(nameLabel); String url = instance.getUrl(); if (url == null) { url = "<" + getString("instance.this") + ">"; } item.add(new Label("url", url)); item.add(createJobStateListView(instance)); String totalLabel; if (instance.isInvalid()) { totalLabel = StringUtils.EMPTY; } else { totalLabel = Integer.toString(instance.getTotalRoots()); } item.add(new Label("status-total", totalLabel)); AjaxLink<String> removeButton = new AjaxLink<String>("remove") { private static final long serialVersionUID = -7913473337936429743L; @Override public void onClick(AjaxRequestTarget target) { InstancesManager.removeInstance(instance.getUrl()); target.add(instancesTable); } }; removeButton.add(new BootstrapTooltip(new ResourceModel("btn.remove"))); if (instance.isThisInstance()) { removeButton.setVisible(false); } item.add(removeButton); } @Override protected Item<InstanceSummary> newItem(String id, int index, final IModel<InstanceSummary> model) { Item<InstanceSummary> row = super.newItem(id, index, model); InstanceSummary instance = model.getObject(); if (instance.isInvalid()) { row.add(new CssClass("danger")); row.add(new CssStyle("cursor: default;")); row.add(new BootstrapTooltip(getString("instance.error") + instance.getRemoteError())); } else { row.add(new CssStyle("cursor: pointer;")); row.add(new OnClickBehavior() { private static final long serialVersionUID = 7484946666996050240L; @Override protected void onClick(AjaxRequestTarget target) { onInstanceClick(target, model.getObject()); } }); } return row; } }; return dataView; }
From source file:com.tysanclan.site.projectewok.pages.member.RolesManagementPage.java
License:Open Source License
/** * /*from w ww.j a va2s.c o m*/ */ public RolesManagementPage() { super("Roles management"); RoleFilter filter = new RoleFilter(); filter.addOrderBy("roleType", true); filter.addOrderBy("name", true); List<Role> roles = roleDAO.findByFilter(filter); add(new ListView<Role>("roles", ModelMaker.wrap(roles)) { private static final long serialVersionUID = 1L; @SpringBean private UserDAO userDAO; @Override protected void populateItem(ListItem<Role> item) { Role role = item.getModelObject(); item.add(new Label("name", role.getName())); if (role.getAssignedTo() != null) { item.add(new MemberListItem("member", role.getAssignedTo())); } else { item.add(new Label("member", "-")); } Dialog reassignDialog = new Dialog("assigndialog"); Form<Role> reassignForm = new Form<Role>("assign", ModelMaker.wrap(role)) { private static final long serialVersionUID = 1L; @SpringBean private RoleService roleService; /** * @see org.apache.wicket.markup.html.form.Form#onSubmit() */ @SuppressWarnings("unchecked") @Override protected void onSubmit() { DropDownChoice<User> userChoice = (DropDownChoice<User>) get("user"); User user = userChoice.getModelObject(); if (user != null) { roleService.assignTo(getUser().getId(), getModelObject().getId(), user.getId()); setResponsePage(new RolesManagementPage()); } } }; reassignDialog.setAutoOpen(false); reassignDialog.setTitle("Assign role " + role.getName()); UserFilter f = new UserFilter(); f.addRank(Rank.CHANCELLOR); f.addRank(Rank.SENATOR); f.addRank(Rank.TRUTHSAYER); f.addRank(Rank.REVERED_MEMBER); f.addRank(Rank.SENIOR_MEMBER); f.addRank(Rank.FULL_MEMBER); List<User> users = userDAO.findByFilter(f); reassignForm.add(new DropDownChoice<User>("user", ModelMaker.wrap(users.get(0), true), ModelMaker.wrap(users)).setNullValid(false)); reassignDialog.add(reassignForm); item.add(reassignDialog); AjaxLink<Dialog> reassignLink = new AjaxLink<Dialog>("reassign", new Model<Dialog>(reassignDialog)) { private static final long serialVersionUID = 1L; /** * @see org.apache.wicket.ajax.markup.html.AjaxLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget) */ @Override public void onClick(AjaxRequestTarget target) { Dialog dlg = getModelObject(); if (target != null) { dlg.open(target); } } }; reassignLink.add(new ContextImage("icon", "images/icons/vcard.png")); reassignLink.setVisible(role.isReassignable()); Link<Role> editLink = new Link<Role>("edit", ModelMaker.wrap(role)) { private static final long serialVersionUID = 1L; @Override public void onClick() { setResponsePage(new EditRolePage(getModelObject())); } }; editLink.add(new ContextImage("icon", "images/icons/vcard_edit.png")); editLink.setVisible(role.isReassignable()); Dialog deletedialog = new Dialog("deletedialog"); deletedialog.setTitle("Delete role " + role.getName()); deletedialog.setAutoOpen(false); deletedialog.add(new Label("name", role.getName())); Link<Role> yesDeleteLink = new Link<Role>("yes", ModelMaker.wrap(role)) { private static final long serialVersionUID = 1L; @SpringBean private RoleService roleService; @Override public void onClick() { roleService.deleteRole(getUser(), getModelObject()); setResponsePage(new RolesManagementPage()); } }; yesDeleteLink.add(new ContextImage("icon", "images/icons/tick.png")); deletedialog.add(yesDeleteLink); AjaxLink<Dialog> noDeleteLink = new AjaxLink<Dialog>("no", new Model<Dialog>(deletedialog)) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { Dialog dlg = getModelObject(); if (target != null) { dlg.close(target); } } }; noDeleteLink.add(new ContextImage("icon", "images/icons/cross.png")); deletedialog.add(noDeleteLink); item.add(deletedialog); AjaxLink<Dialog> deleteLink = new AjaxLink<Dialog>("delete", new Model<Dialog>(deletedialog)) { private static final long serialVersionUID = 1L; /** * @see org.apache.wicket.ajax.markup.html.AjaxLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget) */ @Override public void onClick(AjaxRequestTarget target) { Dialog dlg = getModelObject(); if (target != null) { dlg.open(target); } } }; deleteLink.add(new ContextImage("icon", "images/icons/vcard_delete.png")); deleteLink.setVisible(role.isReassignable()); item.add(new WebMarkupContainer("nonreassignable").setVisible(!role.isReassignable())); item.add(new WebMarkupContainer("noneditable").setVisible(!role.isReassignable())); item.add(new WebMarkupContainer("nondeletable").setVisible(!role.isReassignable())); item.add(reassignLink); item.add(deleteLink); item.add(editLink); } }); Form<Role> addRoleForm = new Form<Role>("addRoleForm") { private static final long serialVersionUID = 1L; @SpringBean private RoleService roleService; /** * @see org.apache.wicket.markup.html.form.Form#onSubmit() */ @SuppressWarnings("unchecked") @Override protected void onSubmit() { TextField<String> nameField = (TextField<String>) get("name"); TextArea<String> descriptionArea = (TextArea<String>) get("description"); String name = nameField.getModelObject(); String description = descriptionArea.getModelObject(); roleService.createRole(getUser(), name, description, RoleType.NORMAL); setResponsePage(new RolesManagementPage()); } }; addRoleForm.add(new TextField<String>("name", new Model<String>(""))); addRoleForm.add(new BBCodeTextArea("description", "")); add(addRoleForm); }
From source file:com.userweave.pages.configuration.project.SetToPublicWebPage.java
License:Open Source License
@Override protected WebMarkupContainer getAcceptButton(String componentId, final ModalWindow window) { AjaxLink acceptLink = new AjaxLink(componentId) { private static final long serialVersionUID = 1L; @Override//from ww w .j a v a2 s .c o m public void onClick(AjaxRequestTarget target) { onAccept(target); window.close(target); } }; acceptLink.setVisible(false); acceptLink.setOutputMarkupId(true); acceptLink.setOutputMarkupPlaceholderTag(true); return acceptLink; }
From source file:com.userweave.pages.configuration.project.userpanel.UserListPanel.java
License:Open Source License
/** * Default constructor/*from w w w.j a va 2 s.c o m*/ * * @param id * Markup id of component * @param projectUserModel * Purj list model * @param selectedProject * The current selected project */ public UserListPanel(String id, List<ProjectUserRoleJoin> projectUserList, final Project selectedProject, String resourceKey) { super(id); Label noUserLabel = new Label("noUserLabel", new StringResourceModel(resourceKey, this, null)); noUserLabel.setVisible(projectUserList == null || projectUserList.isEmpty()); add(noUserLabel); add(new ListView("userList", projectUserList) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem item) { ProjectUserRoleJoin join = (ProjectUserRoleJoin) item.getModelObject(); User user = join.getUser(); // display name and email address of user String userName = user.getForename() + " " + user.getSurname(); item.add(new Label("userName", userName)); //item.add(new Label("userEmail", user.getEmail())); // add mailto link item.add(new ExternalLink("mailto", "mailto:" + user.getEmail())); // flag to indicate if the row in this list contains a // user, who has a project admin role. final boolean joinEqualsProjectAdmin = join.getRole().getRoleName().equals(Role.PROJECT_ADMIN); final List<ProjectUserRoleJoin> projectAdmins = purjDao.getProjectAdmins(selectedProject); final CustomModalWindow deleteModal = getDeleteModal("deleteModal", join); final CustomModalWindow unableToDeleteUserModal = getUnableToDeleteModal("unableToDeleteModal"); AjaxLink deleteLink = getDeleteLink(deleteModal, unableToDeleteUserModal, joinEqualsProjectAdmin, projectAdmins.size(), selectedProject); item.add(deleteLink); item.add(deleteModal); item.add(unableToDeleteUserModal); // workflow logic User currentUser = UserWeaveSession.get().getUser(); if (currentUser.hasRole(Role.PROJECT_ADMIN)) { /* * A project admin can delete everybody but himself, * if he is the only project admin. Also he can change * everybodies role, except his own, if he is the only * project admin. */ if (!joinEqualsProjectAdmin) { /* * The rendered row is a user, who is not * a project admin. */ item.add(new ListChoiceFragment("roleFragment", roleDao.findAll(), join, currentUser)); } else { /* * The rendered row is a user, who is a * project admin. Ensure, that at least * two admins are there before the active * user change the role of the row user. */ if (projectAdmins.size() > 1) { item.add(new ListChoiceFragment("roleFragment", roleDao.findAll(), join, currentUser)); } else { /* * there is only one project admin and the * current user can't change his role nor * delete him from this project. */ item.add(new LabelFragment("roleFragment", join.getRole().getRoleName())); deleteLink.setVisible(false); } } } else if (currentUser.hasRole(Role.PROJECT_PARTICIPANT) && !joinEqualsProjectAdmin) // <- participant can't change an admin { /* * A project participant can change roles of and * delete guests and other participants. */ List<Role> roles = roleDao.findAll(); List<Role> newRoles = new ArrayList<Role>(roles.size() - 1); /* * Populate a list choice with all roles equal * or lower to the current users role. */ for (Role r : roles) { if (!(r.getRoleName().compareTo(Role.PROJECT_ADMIN) == 0)) { newRoles.add(r); } } // @see: #1313 if (join.getUser().equals(currentUser)) { item.add(new ListChoiceFragment("roleFragment", newRoles, join, currentUser)); } else { item.add(new LabelFragment("roleFragment", join.getRole().getRoleName())); } // a project participant can only delete // project guests or himself deleteLink.setVisible( //join.getRole().getRoleName().equals(Role.PROJECT_GUEST) || @see: #1313 join.getUser().equals(currentUser)); } else { item.add(new LabelFragment("roleFragment", join.getRole().getRoleName())); // guests can always delete themselfs deleteLink.setVisible(join.getUser().equals(currentUser)); } } }); feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); add(feedback); }