EN · DE · RU · FR · ES

#3282: JodaDatePanel.java

projectforge-wicket/src/main/java/org/projectforge/web/wicket/components/JodaDatePanel.java Typ: Java · Rolle: Panel · Quelle: projectforge-wicket/src/main/java/org/projectforge/web/wicket/components/JodaDatePanel.java 121 Zeilen · 60 Code · 48 Kommentare · 13 leer
Wicket-Panel-Komponente für JodaDate. Wiederverwendbares UI-Fragment, das in Seiten oder Dialogen eingebunden wird.

Codestruktur

Paket: org.projectforge.web.wicket.components

Klassen: JodaDatePanel

Erweitert: Panel

Implementiert: ComponentWrapperPanel

Methoden (6): renderHead, setLabel, setFocus, setAutosubmit, getDateField, getComponentOutputId

Felder (3): serialVersionUID, dateField, autosubmit

Importe: 9 Pakete

Quelltext (gekürzt)

package org.projectforge.web.wicket.components;

import org.apache.wicket.AttributeModifier;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.joda.time.DateMidnight;
import org.projectforge.web.wicket.WicketRenderHeadUtils;
import org.projectforge.web.wicket.WicketUtils;
import org.projectforge.web.wicket.flowlayout.ComponentWrapperPanel;

/**
 * Panel für die Datumsauswahl.
 * @author Kai Reinhard (k.reinhard@micromata.de)
 * 
 */
public class JodaDatePanel extends Panel implements ComponentWrapperPanel
{
  private static final long serialVersionUID = 3785639935585959803L;

  protected JodaDateField dateField;

  protected boolean autosubmit;

  /**
   * @param id
   * @param label Nur zur Anzeige des Feldnamens in Validierungsmeldungen.
   * @param model
   */
  public JodaDatePanel(final String id, final IModel<DateMidnight> model)
  {
    super(id);
    dateField = new JodaDateField("dateField", model);
    dateField.add(AttributeModifier.replace("size", "10"));
    dateField.setOutputMarkupId(true);
    add(dateField);
  }

  /**
   * @see org.apache.wicket.Component#renderHead(org.apache.wicket.markup.html.IHeaderResponse)
   */
  @Override
  public void renderHead(final IHeaderResponse response)
  {
    super.renderHead(response);
    WicketRenderHeadUtils.renderMainJavaScriptIncludes(response);
    DatePickerUtils.renderHead(response, getLocale(), dateField.getMarkupId(), autosubmit);
  }

  /**
   * @see org.apache.wicket.markup.html.form.FormComponent#setLabel(org.apache.wicket.model.IModel)
   */
  public JodaDatePanel setLabel(final IModel<String> labelModel)
  {
    dateField.setLabel(labelModel);
    return this;
  }

  public JodaDatePanel setFocus()
  {
    dateField.add(WicketUtils.setFocus());
    return this;
  }

  /**
   * @param autosubmit the autosubmit to set
   * @return this for chaining.
   */
  public JodaDatePanel setAutosubmit(final boolean autosubmit)
  {
    this.autosubmit = autosubmit;
    return this;
  }

  public JodaDateField getDateField()
  {
    return dateField;
  }

  /**
   * @see org.projectforge.web.wicket.flowlayout.ComponentWrapperPanel#getComponentOutputId()
   */
  @Override
  public String getComponentOutputId()
  {
    return dateField.getMarkupId();
  }

  /**
   * @see org.projectforge.web.wicket.flowlayout.ComponentWrapperPanel#getFormComponent()
   */
  @Override
  public FormComponent< ? > getFormComponent()
  {
    return dateField;
  }
}

Git-Verlauf

868d6abb7 2025 -> 2026
63081666f Quelltext-Header: 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022