Example usage for org.apache.wicket.ajax.markup.html AjaxLink setVisible

List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink setVisible

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.markup.html AjaxLink setVisible.

Prototype

public final Component setVisible(final boolean visible) 

Source Link

Document

Sets whether this component and any children are visible.

Usage

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);
}