List of usage examples for org.apache.wicket.markup.html.form FormComponent add
public final FormComponent<T> add(final IValidator<? super T>... validators)
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; } }); } }