/** * Constructor * * @param id component id * @param date date for the field * @param rowModel date for the data row * @param column column to which this panel belongs * @param dc Converter for the data to display */ public DateTextFieldPanel( String id, final IModel<Date> date, IModel<I> rowModel, AbstractColumn<M, I, S> column, DateConverter dc) { super(id, column, rowModel); DateTextField tf = newDateTextField(DateTextField_ID, date, dc); tf.setOutputMarkupId(true); tf.setLabel(column.getHeaderModel()); add(tf); }
/** {@inheritDoc} */ @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); if (!isValid()) { tag.put("class", "imxt-invalid"); FeedbackMessage message = getFeedbackMessages().first(); if (message != null) { tag.put("title", message.getMessage().toString()); } } }
/** * Construct a new YUIDateField. * * @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); }
public EditItemForm(final String id, final InventoryItem anItem) { super(id, new CompoundPropertyModel(anItem)); /** edited values */ IChoiceRenderer choiceRenderer = new IChoiceRenderer() { public String getIdValue(Object object, int index) { return object.toString(); } public Object getDisplayValue(Object object) { HardwareDevice device = (HardwareDevice) object; return (device.getType().getNameType()); } }; DropDownChoice aDeviceList = new DropDownChoice("hardwareDevice", aDAO.getAllDevices(), choiceRenderer); add(aDeviceList); TextField aNameItem = new TextField("nameItem"); add(aNameItem); IChoiceRenderer choiceRendererUser = new IChoiceRenderer() { public String getIdValue(Object object, int index) { return object.toString(); } public Object getDisplayValue(Object object) { User aUser = (User) object; return aUser.getNameUser(); } }; DropDownChoice aUserList = new DropDownChoice("user", aDAO.getAllUsers(), choiceRendererUser); add(aUserList); IChoiceRenderer choiceRendererLocation = new IChoiceRenderer() { public String getIdValue(Object object, int index) { return object.toString(); } public Object getDisplayValue(Object object) { LocationItemInventory aLocation = (LocationItemInventory) object; return aLocation.getNameLocation(); } }; DropDownChoice aLocationList = new DropDownChoice("location", aDAO.getAllLocations(), choiceRendererLocation); add(aLocationList); PropertyModel aInventoryDateModel = new PropertyModel(anItem, "inventoryDate"); DateTextField aItemDate = new DateTextField( "inventoryDate", aInventoryDateModel, new PatternDateConverter("MM/dd/yyyy", true)); DatePicker datePicker = new DatePicker(); aItemDate.add(datePicker); add(aItemDate); TextField aPrice = new TextField("price"); add(aPrice); TextField aBudget = new TextField("budget"); add(aBudget); TextField aGuarantee = new TextField("guarantee"); add(aGuarantee); PropertyModel aGuaranteeDateModel = new PropertyModel(anItem, "guaranteeDate"); DateTextField aGuaranteeDate = new DateTextField( "guaranteeDate", aGuaranteeDateModel, new PatternDateConverter("MM/dd/yyyy", true)); DatePicker GuaranteeDatePicker = new DatePicker(); aGuaranteeDate.add(GuaranteeDatePicker); add(aGuaranteeDate); TextField aNote = new TextField("note"); add(aNote); }
private void init() { feedback.setOutputMarkupId(true); add(feedback); CompoundPropertyModel model = new CompoundPropertyModel(new Adherent()); setModel(model); add(new RequiredTextField<String>("nom").add(new FocusOnLoadBehavior())); add(new RequiredTextField<String>("prenom")); add( new RequiredTextField<String>("numeroLicense", String.class) .add(new PatternValidator("\\d{6}"))); // numéro de téléphone au bon format (10 caractères numériques) RequiredTextField<String> telephone = new RequiredTextField<String>("telephone", String.class); telephone.add(ExactLengthValidator.exactLength(10)); telephone.add(new PatternValidator("\\d{10}")); add(telephone); add(new RequiredTextField<String>("mail").add(EmailAddressValidator.getInstance())); // Ajout de la liste des niveaux List<String> niveaux = new ArrayList<String>(); for (NiveauAutonomie n : NiveauAutonomie.values()) { niveaux.add(n.toString()); } add(new DropDownChoice("niveau", niveaux)); // Ajout de la liste des aptitudes List<String> aptitudes = new ArrayList<String>(); for (Aptitude apt : Aptitude.values()) { aptitudes.add(apt.name()); } add(new DropDownChoice("aptitude", aptitudes)); // Ajout de la liste des niveaux d'encadrement List<String> encadrement = new ArrayList<String>(); for (Adherent.Encadrement e : Adherent.Encadrement.values()) { encadrement.add(e.toString()); } add(new DropDownChoice("encadrement", encadrement)); // Ajout de la checkbox pilote add(new CheckBox("pilote", model.bind("pilote"))); // Ajout des roles List<String> roles = Arrays.asList(new String[] {"ADMIN", "USER", "SECRETARIAT", "DP", "ENCADRANT"}); add(new ListMultipleChoice<String>("roles", roles)); // Ajout du champs date du certificat medical DateTextField dateCMTextFiled = new DateTextField( "dateCM", new PropertyModel<Date>(model, "dateCM"), new StyleDateConverter("S-", true)); dateCMTextFiled.setRequired(true); add(dateCMTextFiled); dateCMTextFiled.add(new DatePicker()); Date dateDuJour = new Date(); GregorianCalendar gc = new GregorianCalendar(); gc.setTime(dateDuJour); int anneeCourante = gc.get(Calendar.YEAR); int nextAnnee = anneeCourante + 1; List<Integer> annees = new ArrayList<Integer>(); annees.add(new Integer(anneeCourante)); annees.add(new Integer(nextAnnee)); DropDownChoice<Integer> listAnnee = new DropDownChoice<Integer>("anneeCotisation", annees); listAnnee.setRequired(true); add(listAnnee); // Ajout de la checkbox TIV add(new CheckBox("tiv", model.bind("tiv"))); // commentaire TextArea<String> textareaInput = new TextArea<String>("commentaire"); textareaInput.add(ExactLengthValidator.maximumLength(45)); add(textareaInput); ContactPanel cuPanel = new ContactPanel("cuPanel", model); add(cuPanel); add( new AjaxButton("validAdherent") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Adherent adherent = (Adherent) form.getModelObject(); try { ResaSession.get().getAdherentService().creerAdherent(adherent); setResponsePage(AccueilPage.class); } catch (TechnicalException e) { e.printStackTrace(); error(e.getKey()); } } // L'implémentation de cette méthode est nécessaire pour voir // les messages d'erreur dans le feedBackPanel @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.addComponent(feedback); } }); add( new Link("cancel") { @Override public void onClick() { setResponsePage(AccueilPage.class); } }); }