Example usage for org.apache.wicket.ajax.form OnChangeAjaxBehavior OnChangeAjaxBehavior

List of usage examples for org.apache.wicket.ajax.form OnChangeAjaxBehavior OnChangeAjaxBehavior

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.form OnChangeAjaxBehavior OnChangeAjaxBehavior.

Prototype

public OnChangeAjaxBehavior() 

Source Link

Document

Constructor.

Usage

From source file:com.evolveum.midpoint.web.page.admin.configuration.PageDebugList.java

License:Apache License

private void initSearchForm(Form searchForm) {
    IChoiceRenderer<ObjectTypes> renderer = new IChoiceRenderer<ObjectTypes>() {

        @Override/*from  w w  w  .ja v  a2  s  .c o m*/
        public Object getDisplayValue(ObjectTypes object) {
            ObjectTypeGuiDescriptor descr = ObjectTypeGuiDescriptor.getDescriptor(object);
            String key = descr != null ? descr.getLocalizationKey()
                    : ObjectTypeGuiDescriptor.ERROR_LOCALIZATION_KEY;

            return new StringResourceModel(key, PageDebugList.this, null).getString();
        }

        @Override
        public String getIdValue(ObjectTypes object, int index) {
            return object.getClassDefinition().getSimpleName();
        }
    };

    DropDownChoice choice = new DropDownChoice(ID_CHOICE, new PropertyModel(searchModel, DebugSearchDto.F_TYPE),
            createChoiceModel(renderer), renderer);
    searchForm.add(choice);
    choice.add(new OnChangeAjaxBehavior() {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            listObjectsPerformed(target);
        }
    });

    BasicSearchPanel<DebugSearchDto> basicSearch = new BasicSearchPanel<DebugSearchDto>(ID_BASIC_SEARCH) {

        @Override
        protected IModel<String> createSearchTextModel() {
            return new PropertyModel<>(searchModel, DebugSearchDto.F_TEXT);
        }

        @Override
        protected void searchPerformed(AjaxRequestTarget target) {
            listObjectsPerformed(target);
        }

        @Override
        protected void clearSearchPerformed(AjaxRequestTarget target) {
            PageDebugList.this.clearSearchPerformed(target);
        }
    };
    searchForm.add(basicSearch);
}

From source file:com.evolveum.midpoint.web.page.admin.configuration.PageEvaluateMapping.java

License:Apache License

private void initLayout() {
    Form mainForm = new Form(ID_MAIN_FORM);
    add(mainForm);//from  w w w .  j  a v a  2  s  . c  o  m

    AceEditor editorMapping = new AceEditor(ID_EDITOR_MAPPING,
            new PropertyModel<String>(model, ExecuteMappingDto.F_MAPPING));
    editorMapping.setHeight(400);
    editorMapping.setResizeToMaxHeight(false);
    mainForm.add(editorMapping);

    AceEditor editorRequest = new AceEditor(ID_EDITOR_REQUEST,
            new PropertyModel<String>(model, ExecuteMappingDto.F_REQUEST));
    editorRequest.setHeight(430);
    editorRequest.setResizeToMaxHeight(false);
    mainForm.add(editorRequest);

    AjaxSubmitButton evaluateMapping = new AjaxSubmitButton(ID_EXECUTE,
            createStringResource("PageEvaluateMapping.button.evaluateMapping")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            executeMappingPerformed(target);
        }
    };
    mainForm.add(evaluateMapping);

    final DropDownChoice<String> sampleChoice = new DropDownChoice<>(ID_MAPPING_SAMPLE, Model.of(""),
            new AbstractReadOnlyModel<List<String>>() {
                @Override
                public List<String> getObject() {
                    return SAMPLES;
                }
            }, new StringResourceChoiceRenderer("PageEvaluateMapping.sample"));
    sampleChoice.setNullValid(true);
    sampleChoice.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            String sampleName = sampleChoice.getModelObject();
            if (StringUtils.isEmpty(sampleName)) {
                return;
            }
            model.getObject().setMapping(readResource(SAMPLES_DIR + "/" + sampleName + ".map.xml.data"));
            model.getObject().setRequest(readResource(SAMPLES_DIR + "/" + sampleName + ".req.xml.data"));
            model.getObject().setResultText("");
            target.add(PageEvaluateMapping.this);
        }

        private String readResource(String name) {
            InputStream is = PageEvaluateMapping.class.getResourceAsStream(name);
            if (is != null) {
                try {
                    return IOUtils.toString(is, "UTF-8");
                } catch (IOException e) {
                    LoggingUtils.logUnexpectedException(LOGGER, "Couldn't read sample from resource {}", e,
                            name);
                } finally {
                    IOUtils.closeQuietly(is);
                }
            } else {
                LOGGER.warn("Resource {} containing sample couldn't be found", name);
            }
            return null;
        }
    });
    mainForm.add(sampleChoice);

    AceEditor resultText = new AceEditor(ID_RESULT_TEXT,
            new PropertyModel<String>(model, ExecuteMappingDto.F_RESULT_TEXT));
    resultText.setReadonly(true);
    resultText.setHeight(300);
    resultText.setResizeToMaxHeight(false);
    resultText.setMode(null);
    mainForm.add(resultText);

}

From source file:com.evolveum.midpoint.web.page.admin.configuration.PageRepositoryQuery.java

License:Apache License

private void initLayout() {
    Form mainForm = new Form(ID_MAIN_FORM);
    add(mainForm);/*from w ww  . j av  a2  s  .  c  o  m*/

    List<QName> objectTypeList = WebComponentUtil.createObjectTypeList();
    Collections.sort(objectTypeList, new Comparator<QName>() {
        @Override
        public int compare(QName o1, QName o2) {
            return String.CASE_INSENSITIVE_ORDER.compare(o1.getLocalPart(), o2.getLocalPart());
        }
    });
    DropDownChoice<QName> objectTypeChoice = new DropDownChoice<>(ID_OBJECT_TYPE,
            new PropertyModel<QName>(model, RepoQueryDto.F_OBJECT_TYPE), new ListModel<>(objectTypeList),
            new QNameChoiceRenderer());
    objectTypeChoice.setOutputMarkupId(true);
    objectTypeChoice.setNullValid(true);
    objectTypeChoice.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(get(ID_MAIN_FORM).get(ID_MIDPOINT_QUERY_BUTTON_BAR));
        }
    });
    mainForm.add(objectTypeChoice);

    AceEditor editorMidPoint = new AceEditor(ID_EDITOR_MIDPOINT,
            new PropertyModel<String>(model, RepoQueryDto.F_MIDPOINT_QUERY));
    editorMidPoint.setHeight(400);
    editorMidPoint.setResizeToMaxHeight(false);
    mainForm.add(editorMidPoint);

    AceEditor editorHibernate = new AceEditor(ID_EDITOR_HIBERNATE,
            new PropertyModel<String>(model, RepoQueryDto.F_HIBERNATE_QUERY));
    editorHibernate.setHeight(300);
    editorHibernate.setResizeToMaxHeight(false);
    editorHibernate.setReadonly(!isAdmin);
    editorHibernate.setMode(null);
    mainForm.add(editorHibernate);

    AceEditor hibernateParameters = new AceEditor(ID_HIBERNATE_PARAMETERS,
            new PropertyModel<String>(model, RepoQueryDto.F_HIBERNATE_PARAMETERS));
    hibernateParameters.setReadonly(true);
    hibernateParameters.setHeight(100);
    hibernateParameters.setResizeToMaxHeight(false);
    hibernateParameters.setMode(null);
    mainForm.add(hibernateParameters);

    WebMarkupContainer hibernateParametersNote = new WebMarkupContainer(ID_HIBERNATE_PARAMETERS_NOTE);
    hibernateParametersNote.setVisible(isAdmin);
    mainForm.add(hibernateParametersNote);

    WebMarkupContainer midPointQueryButtonBar = new WebMarkupContainer(ID_MIDPOINT_QUERY_BUTTON_BAR);
    midPointQueryButtonBar.setOutputMarkupId(true);
    mainForm.add(midPointQueryButtonBar);

    AjaxSubmitButton executeMidPoint = new AjaxSubmitButton(ID_EXECUTE_MIDPOINT,
            createStringResource("PageRepositoryQuery.button.translateAndExecute")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            queryPerformed(Action.EXECUTE_MIDPOINT, target);
        }
    };
    midPointQueryButtonBar.add(executeMidPoint);

    AjaxSubmitButton compileMidPoint = new AjaxSubmitButton(ID_COMPILE_MIDPOINT,
            createStringResource("PageRepositoryQuery.button.translate")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            queryPerformed(Action.TRANSLATE_ONLY, target);
        }
    };
    midPointQueryButtonBar.add(compileMidPoint);

    AjaxSubmitButton useInObjectList = new AjaxSubmitButton(ID_USE_IN_OBJECT_LIST,
            createStringResource("PageRepositoryQuery.button.useInObjectList")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            useInObjectListPerformed(target);
        }
    };
    useInObjectList.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return USE_IN_OBJECT_LIST_AVAILABLE_FOR.contains(model.getObject().getObjectType());
        }
    });
    midPointQueryButtonBar.add(useInObjectList);

    final DropDownChoice<String> sampleChoice = new DropDownChoice<>(ID_QUERY_SAMPLE, Model.of(""),
            new AbstractReadOnlyModel<List<String>>() {
                @Override
                public List<String> getObject() {
                    return SAMPLES;
                }
            }, new StringResourceChoiceRenderer("PageRepositoryQuery.sample"));
    sampleChoice.setNullValid(true);
    sampleChoice.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            String sampleName = sampleChoice.getModelObject();
            if (StringUtils.isEmpty(sampleName)) {
                return;
            }
            String resourceName = SAMPLES_DIR + "/" + sampleName + ".xml.data";
            InputStream is = PageRepositoryQuery.class.getResourceAsStream(resourceName);
            if (is != null) {
                try {
                    String localTypeName = StringUtils.substringBefore(sampleName, "_");
                    model.getObject().setObjectType(new QName(SchemaConstants.NS_C, localTypeName));
                    model.getObject().setMidPointQuery(IOUtils.toString(is, "UTF-8"));
                    model.getObject().setHibernateQuery("");
                    model.getObject().setHibernateParameters("");
                    model.getObject().setQueryResultObject(null);
                    model.getObject().resetQueryResultText();
                    target.add(PageRepositoryQuery.this);
                } catch (IOException e) {
                    LoggingUtils.logUnexpectedException(LOGGER, "Couldn't read sample from resource {}", e,
                            resourceName);
                }
            } else {
                LOGGER.warn("Resource {} containing sample couldn't be found", resourceName);
            }
        }
    });
    mainForm.add(sampleChoice);

    AjaxSubmitButton executeHibernate = new AjaxSubmitButton(ID_EXECUTE_HIBERNATE,
            createStringResource("PageRepositoryQuery.button.execute")) {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            queryPerformed(Action.EXECUTE_HIBERNATE, target);
        }
    };
    executeHibernate.setVisible(isAdmin);
    mainForm.add(executeHibernate);

    Label resultLabel = new Label(ID_RESULT_LABEL, new AbstractReadOnlyModel<String>() {
        @Override
        public String getObject() {
            if (model.getObject().getQueryResultText() == null) {
                return "";
            }
            Object queryResult = model.getObject().getQueryResultObject();
            if (queryResult instanceof List) {
                return getString("PageRepositoryQuery.resultObjects", ((List) queryResult).size());
            } else if (queryResult instanceof Throwable) {
                return getString("PageRepositoryQuery.resultException", queryResult.getClass().getName());
            } else {
                // including null
                return getString("PageRepositoryQuery.result");
            }
        }
    });
    mainForm.add(resultLabel);

    WebMarkupContainer incompleteResultsNote = new WebMarkupContainer(ID_INCOMPLETE_RESULTS_NOTE);
    incompleteResultsNote.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return !isAdmin && model.getObject().getQueryResultText() != null;
        }
    });
    mainForm.add(incompleteResultsNote);

    AceEditor resultText = new AceEditor(ID_RESULT_TEXT,
            new PropertyModel<String>(model, RepoQueryDto.F_QUERY_RESULT_TEXT));
    resultText.setReadonly(true);
    resultText.setHeight(300);
    resultText.setResizeToMaxHeight(false);
    resultText.setMode(null);
    resultText.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            return model.getObject().getQueryResultText() != null;
        }
    });
    mainForm.add(resultText);

}

From source file:com.evolveum.midpoint.web.page.admin.reports.PageCreatedReports.java

License:Apache License

private void initSearchForm() {
    Form searchForm = new Form(ID_SEARCH_FORM);
    add(searchForm);/* w  w w  .  j a v  a 2  s .  c om*/

    //TODO - commented until FileType property will be available in ReportOutputType
    /*
    DropDownChoice filetypeSelect = new DropDownChoice(ID_FILTER_FILE_TYPE,
        new PropertyModel(searchModel, ReportOutputDto.F_FILE_TYPE),
        new AbstractReadOnlyModel<List<ExportType>>() {
            
            @Override
            public List<ExportType> getObject() {
                return createFileTypeList();
            }
        },
        new EnumChoiceRenderer(PageCreatedReports.this));
    filetypeSelect.add(new OnChangeAjaxBehavior() {
            
    @Override
    protected void onUpdate(AjaxRequestTarget target) {
        fileTypeFilterPerformed(target);
    }
    });
    filetypeSelect.setOutputMarkupId(true);
            
    if(filetypeSelect.getModel().getObject() == null){
    filetypeSelect.getModel().setObject(null);
    }
    searchForm.add(filetypeSelect);
    */

    DropDownChoice reportTypeSelect = new DropDownChoice(ID_REPORT_TYPE_SELECT,
            new PropertyModel(searchModel, ReportOutputSearchDto.F_REPORT_TYPE),
            new AbstractReadOnlyModel<List<String>>() {

                @Override
                public List getObject() {
                    return createReportTypeList();
                }
            }, new ChoiceRenderer()) {

        @Override
        protected String getNullValidDisplayValue() {
            return getString("pageCreatedReports.filter.reportType");
        }

    };
    reportTypeSelect.add(new OnChangeAjaxBehavior() {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            reportTypeFilterPerformed(target);
        }
    });
    reportTypeSelect.setOutputMarkupId(true);
    reportTypeSelect.setNullValid(true);

    if (getPageParameters().get(OnePageParameterEncoder.PARAMETER) != null) {
        createReportTypeList();

        for (String key : searchModel.getObject().getReportTypeMap().keySet()) {
            if (searchModel.getObject().getReportTypeMap().get(key)
                    .equals(getPageParameters().get(OnePageParameterEncoder.PARAMETER).toString())) {
                reportTypeSelect.getModel().setObject(key);
            }
        }
    }
    searchForm.add(reportTypeSelect);

    BasicSearchPanel<ReportOutputSearchDto> basicSearch = new BasicSearchPanel<ReportOutputSearchDto>(
            ID_BASIC_SEARCH) {

        @Override
        protected IModel<String> createSearchTextModel() {
            return new PropertyModel<>(searchModel, ReportOutputSearchDto.F_TEXT);
        }

        @Override
        protected void searchPerformed(AjaxRequestTarget target) {
            PageCreatedReports.this.searchPerformed(target);
        }

        @Override
        protected void clearSearchPerformed(AjaxRequestTarget target) {
            PageCreatedReports.this.clearSearchPerformed(target);
        }
    };
    searchForm.add(basicSearch);
}

From source file:com.evolveum.midpoint.web.page.admin.resources.ResourceContentTabPanel.java

License:Apache License

private void initLayout(final IModel<PrismObject<ResourceType>> model, final PageBase parentPage) {
    setOutputMarkupId(true);//from   w ww  .  ja  v  a  2  s .c o  m

    final Form mainForm = new Form(ID_MAIN_FORM);
    mainForm.setOutputMarkupId(true);
    mainForm.addOrReplace(initTable(model));
    add(mainForm);

    AutoCompleteTextPanel<String> intent = new AutoCompleteTextPanel<String>(ID_INTENT,
            new PropertyModel<String>(resourceContentSearch, "intent"), String.class) {
        private static final long serialVersionUID = 1L;

        @Override
        public Iterator<String> getIterator(String input) {
            RefinedResourceSchema refinedSchema = null;
            try {
                refinedSchema = RefinedResourceSchema.getRefinedSchema(model.getObject(),
                        parentPage.getPrismContext());

            } catch (SchemaException e) {
                return new ArrayList<String>().iterator();
            }
            return RefinedResourceSchema.getIntentsForKind(refinedSchema, getKind()).iterator();

        }

    };
    intent.getBaseFormComponent().add(new OnChangeAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(get(ID_REAL_OBJECT_CLASS));
            updateResourceContentSearch();
            mainForm.addOrReplace(initTable(model));
            target.add(mainForm);

        }
    });
    intent.setOutputMarkupId(true);
    intent.add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return !isUseObjectClass();
        }
    });
    add(intent);

    Label realObjectClassLabel = new Label(ID_REAL_OBJECT_CLASS, new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            RefinedObjectClassDefinition ocDef;
            try {
                RefinedResourceSchema refinedSchema = RefinedResourceSchema.getRefinedSchema(model.getObject(),
                        parentPage.getPrismContext());
                if (refinedSchema == null) {
                    return "NO SCHEMA DEFINED";
                }
                ocDef = refinedSchema.getRefinedDefinition(getKind(), getIntent());
                if (ocDef != null) {
                    return ocDef.getObjectClassDefinition().getTypeName().getLocalPart();
                }
            } catch (SchemaException e) {
            }

            return "NOT FOUND";
        }
    });
    realObjectClassLabel.setOutputMarkupId(true);
    add(realObjectClassLabel);

    AutoCompleteQNamePanel objectClassPanel = new AutoCompleteQNamePanel(ID_OBJECT_CLASS,
            new PropertyModel<QName>(resourceContentSearch, "objectClass")) {
        private static final long serialVersionUID = 1L;

        @Override
        public Collection<QName> loadChoices() {
            return createObjectClassChoices(model);
        }

        @Override
        protected void onChange(AjaxRequestTarget target) {
            LOGGER.trace("Object class panel update: {}", isUseObjectClass());
            updateResourceContentSearch();
            mainForm.addOrReplace(initTable(model));
            target.add(mainForm);
        }

    };

    objectClassPanel.add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return isUseObjectClass();
        }
    });
    add(objectClassPanel);

    AjaxLink<Boolean> repoSearch = new AjaxLink<Boolean>(ID_REPO_SEARCH,
            new PropertyModel<Boolean>(resourceContentSearch, "resourceSearch")) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            isRepoSearch = true;
            getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_REPOSITORY_CONTENT)
                    .setResourceSearch(Boolean.FALSE);
            getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_RESOURCE_CONTENT)
                    .setResourceSearch(Boolean.FALSE);

            resourceContentSearch.getObject().setResourceSearch(Boolean.FALSE);
            updateResourceContentSearch();
            mainForm.addOrReplace(initRepoContent(model));
            target.add(getParent().addOrReplace(mainForm));
            target.add(this);
            target.add(getParent().get(ID_RESOURCE_SEARCH)
                    .add(AttributeModifier.replace("class", "btn btn-sm btn-default")));
        }

        @Override
        protected void onBeforeRender() {
            super.onBeforeRender();
            if (!getModelObject().booleanValue())
                add(AttributeModifier.replace("class", "btn btn-sm btn-default active"));
        }
    };
    add(repoSearch);

    AjaxLink<Boolean> resourceSearch = new AjaxLink<Boolean>(ID_RESOURCE_SEARCH,
            new PropertyModel<Boolean>(resourceContentSearch, "resourceSearch")) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            isRepoSearch = false;
            getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_REPOSITORY_CONTENT)
                    .setResourceSearch(Boolean.TRUE);
            getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_RESOURCE_CONTENT)
                    .setResourceSearch(Boolean.TRUE);
            updateResourceContentSearch();
            resourceContentSearch.getObject().setResourceSearch(Boolean.TRUE);
            mainForm.addOrReplace(initResourceContent(model));
            target.add(getParent().addOrReplace(mainForm));
            target.add(this.add(AttributeModifier.append("class", " active")));
            target.add(getParent().get(ID_REPO_SEARCH)
                    .add(AttributeModifier.replace("class", "btn btn-sm btn-default")));
        }

        @Override
        protected void onBeforeRender() {
            super.onBeforeRender();
            getModelObject().booleanValue();
            if (getModelObject().booleanValue())
                add(AttributeModifier.replace("class", "btn btn-sm btn-default active"));
        }
    };
    add(resourceSearch);

}

From source file:com.evolveum.midpoint.web.page.admin.roles.AbstractRoleMemberPanel.java

License:Apache License

private <V> DropDownFormGroup<V> createDropDown(String id, IModel<V> defaultModel, final List<V> values,
        IChoiceRenderer<V> renderer, String labelKey, String tooltipKey) {
    DropDownFormGroup<V> listSelect = new DropDownFormGroup<V>(id, defaultModel, Model.ofList(values), renderer,
            createStringResource(labelKey), tooltipKey, false, "col-md-4", "col-md-8", true);

    listSelect.getInput().add(new OnChangeAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override//from  w w  w  .  ja v a 2  s .  c  om
        protected void onUpdate(AjaxRequestTarget target) {
            refreshAll(target);
        }
    });
    listSelect.setOutputMarkupId(true);
    return listSelect;
}

From source file:com.evolveum.midpoint.web.page.admin.roles.component.MultiplicityPolicyDialog.java

License:Apache License

private void initLayout(WebMarkupContainer content) {
    Form form = new Form(ID_MAIN_FORM);
    form.setOutputMarkupId(true);/*from  w w w  .j av  a 2 s  .co m*/
    content.add(form);

    TextAreaFormGroup description = new TextAreaFormGroup(ID_DESCRIPTION,
            new PropertyModel<String>(model, MultiplicityPolicyConstraintType.F_DESCRIPTION.getLocalPart()),
            createStringResource("multiplicityContainer.label.description"), ID_LABEL_SIZE, ID_INPUT_SIZE);
    form.add(description);

    DropDownFormGroup enforcement = new DropDownFormGroup<>(ID_ENFORCEMENT,
            new PropertyModel<PolicyConstraintEnforcementType>(model,
                    MultiplicityPolicyConstraintType.F_ENFORCEMENT.getLocalPart()),
            WebMiscUtil.createReadonlyModelFromEnum(PolicyConstraintEnforcementType.class),
            new EnumChoiceRenderer<PolicyConstraintEnforcementType>(),
            createStringResource("multiplicityContainer.label.enforcement"), ID_LABEL_SIZE, ID_INPUT_SIZE,
            false);
    form.add(enforcement);

    WebMarkupContainer multiplicityContainer = new WebMarkupContainer(ID_MULTIPLICITY_CONTAINER);
    multiplicityContainer.setOutputMarkupId(true);
    form.add(multiplicityContainer);

    TextField multiplicity = new TextField<>(ID_MULTIPLICITY,
            new PropertyModel<String>(model, MultiplicityPolicyConstraintType.F_MULTIPLICITY.getLocalPart()));
    multiplicity.add(prepareMultiplicityValidator());
    multiplicity.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isEnabled() {
            return !unbounded;
        }
    });
    multiplicityContainer.add(multiplicity);

    CheckBox multiplicityUnbounded = new CheckBox(ID_MULTIPLICITY_UNBOUND,
            new PropertyModel<Boolean>(this, MULTIPLICITY_UNBOUNDED));
    multiplicityUnbounded.add(new OnChangeAjaxBehavior() {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            model.getObject().setMultiplicity(MULTIPLICITY_UNBOUNDED);
            target.add(getMultiplicityContainer());
        }
    });
    multiplicityContainer.add(multiplicityUnbounded);

    initButtons(form);
}

From source file:com.evolveum.midpoint.web.page.admin.roles.PageRoles.java

License:Apache License

private void initSearchForm(Form searchForm) {
    DropDownChoice requestable = new DropDownChoice(ID_SEARCH_REQUESTABLE,
            new PropertyModel(searchModel, RolesSearchDto.F_REQUESTABLE),
            WebMiscUtil.createReadonlyModelFromEnum(RolesSearchDto.Requestable.class),
            new EnumChoiceRenderer(this));
    requestable.add(new OnChangeAjaxBehavior() {

        @Override//from   w ww  .ja  va2s. c o m
        protected void onUpdate(AjaxRequestTarget target) {
            listRolesPerformed(target);
        }
    });

    searchForm.add(requestable);

    BasicSearchPanel<RolesSearchDto> basicSearch = new BasicSearchPanel<RolesSearchDto>(ID_BASIC_SEARCH) {

        @Override
        protected IModel<String> createSearchTextModel() {
            return new PropertyModel<>(searchModel, RolesSearchDto.F_SEARCH_TEXT);
        }

        @Override
        protected void searchPerformed(AjaxRequestTarget target) {
            listRolesPerformed(target);
        }

        @Override
        protected void clearSearchPerformed(AjaxRequestTarget target) {
            PageRoles.this.clearSearchPerformed(target);
        }
    };
    searchForm.add(basicSearch);
}

From source file:com.evolveum.midpoint.web.page.admin.roles.RoleMemberPanel.java

License:Apache License

private <V> DropDownChoice<V> createDropDown(String id, IModel<V> defaultModel, final List<V> values,
        IChoiceRenderer<V> renderer) {
    DropDownChoice<V> listSelect = new DropDownChoice<V>(id, defaultModel,
            new AbstractReadOnlyModel<List<V>>() {
                private static final long serialVersionUID = 1L;

                @Override/*w ww  . ja va  2  s  .  co  m*/
                public List<V> getObject() {
                    return values;
                }
            }, renderer);

    listSelect.add(new OnChangeAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            refreshTable(target);
        }
    });

    return listSelect;
}

From source file:com.evolveum.midpoint.web.page.admin.users.component.MergeObjectsPanel.java

License:Apache License

private void initLayout() {
    Form mainForm = new Form(ID_FORM);
    mainForm.setOutputMarkupId(true);//from   w  w w  . j  a  v  a 2s. c om
    add(mainForm);

    DropDownChoicePanel mergeTypeSelect = new DropDownChoicePanel(ID_MERGE_TYPE_SELECTOR, mergeTypeModel,
            mergeTypeChoicesModel);

    mergeTypeSelect.getBaseFormComponent().add(new OnChangeAjaxBehavior() {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            mergeResultObject = getMergeObjectsResult();
            WebMarkupContainer resultObjectPanel = (WebMarkupContainer) get(ID_FORM).get(ID_OBJECTS_PANEL)
                    .get(ID_MERGE_RESULT_PANEL_CONTAINER);
            resultObjectPanel.addOrReplace(getMergeResultObjectPanel());
            target.add(resultObjectPanel);
        }
    });
    mergeTypeSelect.setOutputMarkupId(true);
    mainForm.add(mergeTypeSelect);

    final WebMarkupContainer objectsPanel = new WebMarkupContainer(ID_OBJECTS_PANEL);
    objectsPanel.setOutputMarkupId(true);
    mainForm.addOrReplace(objectsPanel);

    initObjectsPanel(objectsPanel);

    AjaxButton switchDirectionButton = new AjaxButton(ID_SWITCH_DIRECTION_BUTTON,
            pageBase.createStringResource("MergeObjectsPanel.switchDirection")) {
        @Override
        public void onClick(AjaxRequestTarget ajaxRequestTarget) {
            F temp = mergeObjectModel.getObject();
            mergeObjectModel.setObject(mergeWithObjectModel.getObject());
            mergeWithObjectModel.setObject(temp);
            initObjectsPanel(objectsPanel);

            ajaxRequestTarget.add(objectsPanel);
        }
    };
    switchDirectionButton.setOutputMarkupId(true);
    mainForm.add(switchDirectionButton);
}