EN · DE · RU · FR · ES

#3282: JodaDatePanel.java

projectforge-wicket/src/main/java/org/projectforge/web/wicket/components/JodaDatePanel.java Tipo: Java · Rol: Panel · Fuente: projectforge-wicket/src/main/java/org/projectforge/web/wicket/components/JodaDatePanel.java 121 líneas · 60 código · 48 comentarios · 13 en blanco
Componente Panel de Wicket para JodaDate. Fragmento de UI reutilizable compuesto dentro de páginas o diálogos.

Estructura del código

Paquete: org.projectforge.web.wicket.components

Clases: JodaDatePanel

Extiende: Panel

Implementa: ComponentWrapperPanel

Métodos (6): renderHead, setLabel, setFocus, setAutosubmit, getDateField, getComponentOutputId

Campos (3): serialVersionUID, dateField, autosubmit

Importaciones: 9 paquetes

Código fuente (resumido)

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 para selección de fecha.
 * @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 Solo para mostrar el nombre del campo en mensajes de validación.
   * @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 el autosubmit a establecer
   * @return this para encadenamiento.
   */
  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;
  }
}

Historial de Git

868d6abb7 2025 -> 2026
63081666f Encabezados de archivos fuente: 2024-> 2025.
b6092df09 Derechos de autor 2023 -> 2024
ab45d51fa Derechos de autor 2001-2022 -> 2001-2023.
5f7ef41b8 Derechos de autor 2021 -> 2022