Example usage for org.apache.wicket.markup.html.form FormComponent add

List of usage examples for org.apache.wicket.markup.html.form FormComponent add

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form FormComponent add.

Prototype

public final FormComponent<T> add(final IValidator<? super T>... validators) 

Source Link

Document

Adds a validator to this form component.

Usage

From source file:br.com.oak.wicket.ui.behavior.ComponentVisualErrorBehavior.java

License:Open Source License

/**
 * Changes the CSS class of the linked {@link FormComponent} via AJAX.
 *
 * @param ajaxRequestTarget of type AjaxRequestTarget
 * @param valid Was the validation succesful?
 * @param cssClass The CSS class that must be set on the linked {@link FormComponent}
 *///from   www . ja  va 2s  . c  o  m
private void changeCssClass(AjaxRequestTarget ajaxRequestTarget, boolean valid, String cssClass) {

    FormComponent<?> formComponent = (FormComponent<?>) getFormComponent();

    if (formComponent.isValid() == valid) {
        formComponent.add(new AttributeModifier("class", true, new Model("formcomponent " + cssClass)));
        ajaxRequestTarget.add(formComponent);
    }

    if (updateComponent != null) {
        ajaxRequestTarget.add(updateComponent);
    }
}

From source file:com.evolveum.midpoint.web.component.assignment.ACAttributeValuePanel.java

License:Apache License

private void initPanel(Form form) {
    ACValueConstructionDto dto = getModel().getObject();
    PrismPropertyDefinition definition = dto.getAttribute().getDefinition();
    boolean required = definition.getMinOccurs() > 0;

    InputPanel input = createTypedInputComponent(ID_INPUT, definition);
    for (FormComponent comp : input.getFormComponents()) {
        comp.setLabel(new PropertyModel(dto.getAttribute(), ACAttributeDto.F_NAME));
        comp.setRequired(required);/*ww  w  .j  ava  2s .  c  o  m*/

        comp.add(new AjaxFormComponentUpdatingBehavior("onBlur") {
            @Override
            protected void onUpdate(AjaxRequestTarget target) {
            }
        });
    }

    add(input);

    AjaxLink addLink = new AjaxLink(ID_ADD) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addPerformed(target);
        }
    };
    add(addLink);
    addLink.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return isAddVisible();
        }
    });

    AjaxLink removeLink = new AjaxLink(ID_REMOVE) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            removePerformed(target);
        }
    };
    add(removeLink);
    removeLink.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return isRemoveVisible();
        }
    });
}

From source file:com.evolveum.midpoint.web.component.prism.PrismValuePanel.java

License:Apache License

private void initAccessBehaviour(InputPanel panel) {
    List<FormComponent> components = panel.getFormComponents();
    for (FormComponent component : components) {
        component.add(new VisibleEnableBehaviour() {

            @Override//from   w w w .j a  v  a2  s .co  m
            public boolean isEnabled() {
                ValueWrapper wrapper = model.getObject();
                PropertyWrapper propertyWrapper = wrapper.getProperty();
                ObjectWrapper object = propertyWrapper.getContainer().getObject();
                PrismPropertyDefinition def = propertyWrapper.getItem().getDefinition();

                return !model.getObject().isReadonly() && isAccessible(def, object.getStatus());
            }
        });
    }
}

From source file:com.evolveum.midpoint.web.component.prism.PrismValuePanel.java

License:Apache License

private InputPanel createInputComponent(String id, IModel<String> label, Form form) {
    ValueWrapper valueWrapper = model.getObject();
    ObjectWrapper objectWrapper = valueWrapper.getProperty().getContainer().getObject();
    PrismProperty property = valueWrapper.getProperty().getItem();
    boolean required = property.getDefinition().getMinOccurs() > 0;
    //enforcing required for user will be enabled later (MID-1048)
    if (UserType.class.isAssignableFrom(objectWrapper.getObject().getCompileTimeClass())) {
        required = false;/*from  ww w .j a  v a2 s.  co m*/
    }

    InputPanel component = createTypedInputComponent(id);

    //adding valid from/to date range validator, if necessary
    ItemPath activation = new ItemPath(UserType.F_ACTIVATION);
    if (ActivationType.F_VALID_FROM.equals(property.getElementName())) {
        DateValidator validator = getActivationRangeValidator(form, activation);
        validator.setDateFrom((DateTimeField) component.getBaseFormComponent());
    } else if (ActivationType.F_VALID_TO.equals(property.getElementName())) {
        DateValidator validator = getActivationRangeValidator(form, activation);
        validator.setDateTo((DateTimeField) component.getBaseFormComponent());
    }

    final List<FormComponent> formComponents = component.getFormComponents();
    for (FormComponent formComponent : formComponents) {
        formComponent.setLabel(label);
        formComponent.setRequired(required);

        if (formComponent instanceof TextField) {
            formComponent.add(new AttributeModifier("size", "42"));
        }
        formComponent.add(new AjaxFormComponentUpdatingBehavior("onBlur") {

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

        // Validation occurs when submitting the form
        //            if (form != null) {
        //                AjaxFormValidatingBehavior validator = new AjaxFormValidatingBehavior(form, "onBlur"); 
        //                 
        //                formComponent.add(validator);
        //            }
    }
    return component;
}

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

License:Apache License

private List<IColumn<LoggerConfiguration, String>> initLoggerColumns() {
    List<IColumn<LoggerConfiguration, String>> columns = new ArrayList<IColumn<LoggerConfiguration, String>>();
    IColumn column = new CheckBoxHeaderColumn<LoggerConfiguration>();
    columns.add(column);/* w ww. jav a 2s . c om*/

    //name editing column
    columns.add(new EditableLinkColumn<LoggerConfiguration>(createStringResource("LoggingConfigPanel.logger"),
            "name") {

        @Override
        protected Component createInputPanel(String componentId, final IModel<LoggerConfiguration> model) {
            if (model.getObject() instanceof StandardLogger) {
                DropDownChoicePanel dropDownChoicePanel = new DropDownChoicePanel(componentId,
                        new PropertyModel(model, "logger"),
                        WebMiscUtil.createReadonlyModelFromEnum(StandardLoggerType.class),
                        new IChoiceRenderer<StandardLoggerType>() {

                            @Override
                            public Object getDisplayValue(StandardLoggerType item) {
                                return createStringResource("StandardLoggerType." + item).getString();
                            }

                            @Override
                            public String getIdValue(StandardLoggerType item, int index) {
                                return Integer.toString(index);
                            }
                        });

                FormComponent<StandardLoggerType> input = dropDownChoicePanel.getBaseFormComponent();
                input.add(new LoggerValidator());
                input.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
                return dropDownChoicePanel;

            } else if (model.getObject() instanceof ComponentLogger) {
                DropDownChoicePanel dropDownChoicePanel = new DropDownChoicePanel(componentId,
                        new PropertyModel(model, "component"),
                        WebMiscUtil.createReadonlyModelFromEnum(LoggingComponentType.class),
                        new IChoiceRenderer<LoggingComponentType>() {

                            @Override
                            public Object getDisplayValue(LoggingComponentType item) {
                                return getComponenLoggerDisplayValue(item);
                            }

                            @Override
                            public String getIdValue(LoggingComponentType item, int index) {
                                return Integer.toString(index);
                            }
                        });

                FormComponent<LoggingComponentType> input = dropDownChoicePanel.getBaseFormComponent();
                input.add(new LoggerValidator());
                input.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
                return dropDownChoicePanel;

            } else {
                TextPanel<String> textPanel = new TextPanel(componentId,
                        new PropertyModel(model, getPropertyExpression()));
                FormComponent input = textPanel.getBaseFormComponent();
                input.add(new AttributeAppender("style", "width: 100%"));
                input.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
                input.add(new InputStringValidator());
                return textPanel;
            }
        }

        @Override
        public void onClick(AjaxRequestTarget target, IModel<LoggerConfiguration> rowModel) {
            loggerEditPerformed(target, rowModel);
        }
    });

    //level editing column
    columns.add(new EditableLinkColumn<LoggerConfiguration>(
            createStringResource("LoggingConfigPanel.loggersLevel"), "level") {

        @Override
        protected Component createInputPanel(String componentId, IModel<LoggerConfiguration> model) {
            DropDownChoicePanel dropDownChoicePanel = new DropDownChoicePanel(componentId,
                    new PropertyModel(model, getPropertyExpression()),
                    WebMiscUtil.createReadonlyModelFromEnum(LoggingLevelType.class));
            FormComponent<LoggingLevelType> input = dropDownChoicePanel.getBaseFormComponent();
            input.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
            input.add(new LevelValidator());
            return dropDownChoicePanel;
        }

        @Override
        public void onClick(AjaxRequestTarget target, IModel<LoggerConfiguration> rowModel) {
            loggerEditPerformed(target, rowModel);
        }

        @Override
        protected IModel<String> createLinkModel(IModel<LoggerConfiguration> rowModel) {
            LoggerConfiguration configuration = rowModel.getObject();
            return WebMiscUtil.createLocalizedModelForEnum(configuration.getLevel(), getPageBase());
        }
    });

    //appender editing column
    columns.add(new EditableLinkColumn<LoggerConfiguration>(
            createStringResource("LoggingConfigPanel.loggersAppender"), "appenders") {

        @Override
        protected IModel<String> createLinkModel(IModel<LoggerConfiguration> rowModel) {
            final LoggerConfiguration configuration = rowModel.getObject();

            if (configuration.getAppenders().isEmpty()) {
                return createStringResource("LoggingConfigPanel.appenders.Inherit");
            } else {
                return new LoadableModel<String>() {

                    @Override
                    protected String load() {
                        StringBuilder builder = new StringBuilder();
                        for (String appender : configuration.getAppenders()) {
                            if (configuration.getAppenders().indexOf(appender) != 0) {
                                builder.append(", ");
                            }
                            builder.append(appender);
                        }

                        return builder.toString();
                    }
                };
            }
        }

        @Override
        protected InputPanel createInputPanel(String componentId, IModel<LoggerConfiguration> model) {
            IModel<Map<String, String>> options = new Model(null);
            ListMultipleChoicePanel panel = new ListMultipleChoicePanel<String>(componentId,
                    new PropertyModel<List<String>>(model, getPropertyExpression()),
                    createNewLoggerAppendersListModel(), new IChoiceRenderer<String>() {

                        @Override
                        public String getDisplayValue(String o) {
                            return o;
                        }

                        @Override
                        public String getIdValue(String o, int index) {
                            return Integer.toString(index);
                        }
                    }, options);

            FormComponent<AppenderConfigurationType> input = panel.getBaseFormComponent();
            input.add(new EmptyOnChangeAjaxFormUpdatingBehavior());

            return panel;
        }

        public void onClick(AjaxRequestTarget target, IModel<LoggerConfiguration> rowModel) {
            loggerEditPerformed(target, rowModel);
        }
    });

    return columns;
}

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

License:Apache License

private List<IColumn<AppenderConfiguration, String>> initAppenderColumns() {
    List<IColumn<AppenderConfiguration, String>> columns = new ArrayList<>();

    IColumn column = new CheckBoxHeaderColumn<AppenderConfiguration>();
    columns.add(column);/*w  ww .  j a v a2  s . c om*/

    //name columns (editable)
    column = new EditableLinkColumn<AppenderConfiguration>(
            createStringResource("LoggingConfigPanel.appenders.name"), "name") {

        @Override
        public void onClick(AjaxRequestTarget target, IModel<AppenderConfiguration> rowModel) {
            appenderEditPerformed(target, rowModel);
        }

        @Override
        protected Component createInputPanel(String componentId, IModel<AppenderConfiguration> model) {
            TextPanel<String> panel = new TextPanel<String>(componentId,
                    new PropertyModel(model, getPropertyExpression()));
            panel.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
            panel.add(new InputStringValidator());
            return panel;
        }

    };
    columns.add(column);

    //pattern column (editable)
    column = new EditablePropertyColumn(createStringResource("LoggingConfigPanel.appenders.pattern"),
            "pattern") {

        @Override
        protected InputPanel createInputPanel(String componentId, IModel model) {
            InputPanel panel = super.createInputPanel(componentId, model);
            panel.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
            panel.add(new InputStringValidator());
            return panel;
        }
    };
    columns.add(column);

    //file path column (editable)
    column = new FileAppenderColumn(createStringResource("LoggingConfigPanel.appenders.filePath"), "filePath");
    columns.add(column);

    //file pattern column (editable)                                                                               jj
    column = new FileAppenderColumn(createStringResource("LoggingConfigPanel.appenders.filePattern"),
            "filePattern");
    columns.add(column);

    //max history column (editable)
    column = new FileAppenderColumn(createStringResource("LoggingConfigPanel.appenders.maxHistory"),
            "maxHistory") {

        @Override
        protected InputPanel createInputPanel(String componentId, IModel model) {
            TextPanel panel = new TextPanel(componentId, new PropertyModel(model, getPropertyExpression()));
            FormComponent component = panel.getBaseFormComponent();
            component.add(new AttributeModifier("size", 5));
            component.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
            return panel;
        }
    };
    columns.add(column);

    //max file size column (editable)
    column = new FileAppenderColumn(createStringResource("LoggingConfigPanel.appenders.maxFileSize"),
            "maxFileSize") {

        @Override
        protected InputPanel createInputPanel(String componentId, IModel model) {
            TextPanel<String> panel = new TextPanel(componentId,
                    new PropertyModel(model, getPropertyExpression()));
            FormComponent component = panel.getBaseFormComponent();
            component.add(new AttributeModifier("size", 5));
            component.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
            component.add(new InputStringValidator());
            return panel;
        }
    };
    columns.add(column);

    CheckBoxColumn check = new EditableCheckboxColumn(
            createStringResource("LoggingConfigPanel.appenders.appending"), "appending") {

        @Override
        protected InputPanel createInputPanel(String componentId, IModel model) {
            InputPanel panel = super.createInputPanel(componentId, model);
            panel.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
            panel.add(new InputStringValidator());
            return panel;
        }
    };
    check.setEnabled(false);
    columns.add(check);

    return columns;
}

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

License:Apache License

private void initParametersPanel(Form mainForm) {
    WebMarkupContainer parametersPanel = new WebMarkupContainer(ID_PARAMETERS_PANEL);
    parametersPanel.setOutputMarkupId(true);
    mainForm.add(parametersPanel);//from w  w  w. j ava 2s . c  o  m

    DatePanel from = new DatePanel(ID_FROM, new PropertyModel<>(getModel(), AuditSearchDto.F_FROM));
    DateValidator dateFromValidator = WebComponentUtil.getRangeValidator(mainForm,
            ItemPath.create(AuditSearchDto.F_FROM));
    dateFromValidator.setMessageKey("AuditLogViewerPanel.dateValidatorMessage");
    dateFromValidator.setDateFrom((DateTimeField) from.getBaseFormComponent());
    for (FormComponent<?> formComponent : from.getFormComponents()) {
        formComponent.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
    }

    from.setOutputMarkupId(true);
    parametersPanel.add(from);

    DatePanel to = new DatePanel(ID_TO, new PropertyModel<>(getModel(), AuditSearchDto.F_TO));
    DateValidator dateToValidator = WebComponentUtil.getRangeValidator(mainForm,
            ItemPath.create(AuditSearchDto.F_FROM));
    dateToValidator.setMessageKey("AuditLogViewerPanel.dateValidatorMessage");
    dateToValidator.setDateTo((DateTimeField) to.getBaseFormComponent());
    for (FormComponent<?> formComponent : to.getFormComponents()) {
        formComponent.add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
    }

    to.setOutputMarkupId(true);
    parametersPanel.add(to);

    ItemPathPanel changedItemPanel = new ItemPathPanel(ID_CHANGED_ITEM,
            new PropertyModel<>(getModel(), AuditSearchDto.F_CHANGED_ITEM));
    changedItemPanel.setOutputMarkupId(true);
    parametersPanel.add(changedItemPanel);

    TextPanel<String> hostIdentifier = new TextPanel<>(ID_HOST_IDENTIFIER,
            new PropertyModel<>(getModel(), AuditSearchDto.F_HOST_IDENTIFIER));
    hostIdentifier.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
    hostIdentifier.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
    hostIdentifier.setOutputMarkupId(true);
    parametersPanel.add(hostIdentifier);

    DropDownChoicePanel<AuditEventTypeType> eventType = new DropDownChoicePanel<>(ID_EVENT_TYPE,
            new PropertyModel<>(getModel(), AuditSearchDto.F_EVENT_TYPE),
            new ListModel<>(Arrays.asList(AuditEventTypeType.values())), new EnumChoiceRenderer<>(), true);
    eventType.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
    eventType.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
    eventType.setOutputMarkupId(true);
    parametersPanel.add(eventType);

    WebMarkupContainer eventStage = new WebMarkupContainer(ID_EVENT_STAGE);
    eventStage.setOutputMarkupId(true);
    eventStage.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return !isHistory;
        }
    });

    parametersPanel.add(eventStage);

    ListModel<AuditEventStageType> eventStageListModel = new ListModel<>(
            Arrays.asList(AuditEventStageType.values()));
    PropertyModel<AuditEventStageType> eventStageModel = new PropertyModel<>(getModel(),
            AuditSearchDto.F_EVENT_STAGE);
    DropDownChoicePanel<AuditEventStageType> eventStageField = new DropDownChoicePanel<>(ID_EVENT_STAGE_FIELD,
            eventStageModel, eventStageListModel, new EnumChoiceRenderer<>(), true);
    eventStageField.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
    eventStageField.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
    eventStageField.setOutputMarkupId(true);
    eventStage.add(eventStageField);

    ListModel<OperationResultStatusType> outcomeListModel = new ListModel<>(
            Arrays.asList(OperationResultStatusType.values()));
    PropertyModel<OperationResultStatusType> outcomeModel = new PropertyModel<>(getModel(),
            AuditSearchDto.F_OUTCOME);
    DropDownChoicePanel<OperationResultStatusType> outcome = new DropDownChoicePanel<>(ID_OUTCOME, outcomeModel,
            outcomeListModel, new EnumChoiceRenderer<>(), true);
    outcome.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
    outcome.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
    outcome.setOutputMarkupId(true);
    parametersPanel.add(outcome);

    List<String> channelList = WebComponentUtil.getChannelList();
    List<QName> channelQnameList = new ArrayList<>();
    for (int i = 0; i < channelList.size(); i++) {
        String channel = channelList.get(i);
        if (channel != null) {
            QName channelQName = QNameUtil.uriToQName(channel);
            channelQnameList.add(channelQName);
        }
    }
    //        ListModel<QName> channelListModel = new ListModel<>(channelQnameList);
    PropertyModel<Channel> channelModel = new PropertyModel<>(getModel(), AuditSearchDto.F_CHANNEL);
    DropDownChoicePanel<Channel> channel = new DropDownChoicePanel<>(ID_CHANNEL, channelModel,
            Model.ofList(Arrays.asList(Channel.values())), new EnumChoiceRenderer<>(), true);
    channel.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior());
    channel.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
    channel.setOutputMarkupId(true);
    parametersPanel.add(channel);

    List<Class<? extends ObjectType>> allowedClasses = new ArrayList<>();
    allowedClasses.add(UserType.class);
    MultiValueChoosePanel<ObjectType> chooseInitiatorPanel = new SingleValueChoosePanel<>(ID_INITIATOR_NAME,
            allowedClasses, objectReferenceTransformer,
            new PropertyModel<>(getModel(), AuditSearchDto.F_INITIATOR_NAME));
    parametersPanel.add(chooseInitiatorPanel);

    WebMarkupContainer targetOwnerName = new WebMarkupContainer(ID_TARGET_OWNER_NAME);
    targetOwnerName.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return !isHistory;
        }
    });
    parametersPanel.add(targetOwnerName);

    MultiValueChoosePanel<ObjectType> chooseTargetOwnerPanel = new SingleValueChoosePanel<>(
            ID_TARGET_OWNER_NAME_FIELD, allowedClasses, objectReferenceTransformer,
            new PropertyModel<>(getModel(), AuditSearchDto.F_TARGET_OWNER_NAME));
    targetOwnerName.add(chooseTargetOwnerPanel);

    WebMarkupContainer targetName = new WebMarkupContainer(ID_TARGET_NAME);
    targetName.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return !isHistory;
        }
    });

    parametersPanel.add(targetName);
    List<Class<? extends ObjectType>> allowedClassesAll = new ArrayList<>();
    allowedClassesAll.addAll(ObjectTypes.getAllObjectTypes());

    MultiValueChoosePanel<ObjectType> chooseTargetPanel = new MultiValueChoosePanel<>(ID_TARGET_NAME_FIELD,
            new PropertyModel<>(getModel(), AuditSearchDto.F_TARGET_NAMES_OBJECTS), allowedClassesAll);
    chooseTargetPanel.setOutputMarkupId(true);
    targetName.add(chooseTargetPanel);

    AjaxSubmitButton searchButton = new AjaxSubmitButton(ID_SEARCH_BUTTON,
            createStringResource("BasicSearchPanel.search")) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            updateAuditSearchStorage(getModel().getObject());
            searchUpdatePerformed(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target) {
            target.add(getPageBase().getFeedbackPanel());
        }
    };
    searchButton.setOutputMarkupId(true);
    parametersPanel.add(searchButton);

    AjaxSubmitButton resetSearchButton = new AjaxSubmitButton(ID_RESET_SEARCH_BUTTON,
            createStringResource("AuditLogViewerPanel.resetSearchButton")) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            resetAuditSearchStorage();
            searchUpdatePerformed(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target) {
            target.add(getPageBase().getFeedbackPanel());
        }
    };
    resetSearchButton.setOutputMarkupId(true);
    parametersPanel.add(resetSearchButton);

    WebMarkupContainer valueRefTargetNameContainer = new WebMarkupContainer(ID_VALUE_REF_TARGET_NAMES);
    valueRefTargetNameContainer.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return !isHistory;
        }

    });
    parametersPanel.add(valueRefTargetNameContainer);

    MultiValueChoosePanel<ObjectType> chooseValueRefTargetNamePanel = new MultiValueChoosePanel<>(
            ID_VALUE_REF_TARGET_NAMES_FIELD,
            new PropertyModel<>(getModel(), AuditSearchDto.F_VALUE_REF_TARGET_NAME), allowedClassesAll);
    chooseValueRefTargetNamePanel.setOutputMarkupId(true);
    valueRefTargetNameContainer.add(chooseValueRefTargetNamePanel);

}

From source file:com.googlecode.wicketwebbeans.fields.AbstractField.java

License:Apache License

protected void setFieldParameters(FormComponent field) {
    Integer maxLength = getMaxLength();
    if (maxLength != null) {
        field.add(new SimpleAttributeModifier("maxlength", maxLength.toString()));
    }/*from ww w  .java 2s.com*/

    String defaultValue = getDefaultValue();
    if (defaultValue != null && Strings.isEmpty(getDefaultModelObjectAsString())) {
        field.setModelValue(defaultValue);
    }
}

From source file:com.googlecode.wicketwebbeans.fields.YUIDateField.java

License:Apache License

/**
 * Construct a new YUIDateField./*w  ww.j  a  v a 2 s  . com*/
 *
 * @param id the Wicket id for the editor.
 * @param model the model.
 * @param metaData the meta data for the property.
 * @param viewOnly true if the component should be view-only.
 */
public YUIDateField(String id, IModel<Date> model, ElementMetaData metaData, boolean viewOnly) {
    super(id, model, metaData, viewOnly);

    type = metaData.getPropertyType();
    boolean displayTz = false;
    Component metaDataComponent = metaData.getBeanMetaData().getComponent();
    Localizer localizer = metaDataComponent.getLocalizer();
    if (Time.class.isAssignableFrom(type) || java.sql.Date.class.isAssignableFrom(type)
            || Date.class.isAssignableFrom(type) || Timestamp.class.isAssignableFrom(type)) {
        fmt = localizer.getString(DATE_TIME_FIELD_PREFIX + "date" + FORMAT_SUFFIX, metaDataComponent,
                DATE_FMT_STR);
    } else if (Calendar.class.isAssignableFrom(type)) {
        fmt = viewOnly
                ? localizer.getString(DATE_TIME_FIELD_PREFIX + "datetz" + FORMAT_SUFFIX, metaDataComponent,
                        DATE_ZONE_FMT_STR)
                : localizer.getString(DATE_TIME_FIELD_PREFIX + "date" + FORMAT_SUFFIX, metaDataComponent,
                        DATE_FMT_STR);
        displayTz = true;
    } else {
        throw new RuntimeException("YUIDateField does not handle " + type);
    }

    String customFmt = getFormat();
    if (customFmt != null) {
        fmt = customFmt;
    }

    Fragment fragment;
    if (viewOnly) {
        fragment = new Fragment("frag", "viewer");
        fragment.add(DateLabel.withConverter("date", model, new InternalDateConverter()));
    } else {
        fragment = new Fragment("frag", "editor");

        FormComponent dateField = DateTextField.withConverter("dateTextField", model,
                new InternalDateConverter());
        setFieldParameters(dateField);
        fragment.add(dateField);

        dateField.add(new DatePicker() {
            private static final long serialVersionUID = 1L;

            @Override
            protected boolean enableMonthYearSelection() {
                return false;
            }

            @Override
            protected CharSequence getIconUrl() {
                return RequestCycle.get().urlFor(new ResourceReference(YUIDateField.class, "calendar.gif"));
            }
        });

        if (displayTz) {
            DateLabel tzLabel = DateLabel.withConverter("timezone", model, new TimeZoneConverter());
            fragment.add(tzLabel);
        } else {
            fragment.add(new Label("timezone", "").setVisible(false));
        }
    }

    add(fragment);
}

From source file:com.googlecode.wicketwebbeans.model.ComponentRegistry.java

License:Apache License

/**
 * Associate label with FormComponents that are descendants of component. 
 *
 * @param propertyMeta//from   ww w .j a v a2  s .com
 * @param component
 */
private void associateLabelToFormComponents(final ElementMetaData propertyMeta, Component component) {
    if (component instanceof MarkupContainer) {
        MarkupContainer container = (MarkupContainer) component;
        container.visitChildren(FormComponent.class, new IVisitor<Component>() {
            public Object component(Component component) {
                FormComponent formComponent = (FormComponent) component;
                formComponent.setLabel(new Model(propertyMeta.getLabel()));
                formComponent.add(new ErrorHighlightingBehavior());
                return IVisitor.CONTINUE_TRAVERSAL;
            }
        });
    }
}