EN · DE · RU · FR · ES

#3282: JodaDatePanel.java

projectforge-wicket/src/main/java/org/projectforge/web/wicket/components/JodaDatePanel.java Тип: Java · Роль: Панель · Источник: projectforge-wicket/src/main/java/org/projectforge/web/wicket/components/JodaDatePanel.java 121 строка · 60 кода · 48 комментариев · 13 пустых
Компонент панели Wicket для JodaDate. Многоразовый UI-фрагмент, встраиваемый в страницы или диалоги.

Структура кода

Пакет: org.projectforge.web.wicket.components

Классы: JodaDatePanel

Расширяет: Panel

Реализует: ComponentWrapperPanel

Методы (6): renderHead, setLabel, setFocus, setAutosubmit, getDateField, getComponentOutputId

Поля (3): serialVersionUID, dateField, autosubmit

Импорты: 9 пакетов

Исходный код (сокращён)

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;

/**
 * Панель для выбора даты.
 * @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 Только для отображения имени поля в сообщениях валидации.
   * @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 значение autosubmit для установки
   * @return this для цепочки вызовов.
   */
  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

868d6abb7 2025 → 2026
63081666f Заголовки исходных файлов: 2024 → 2025.
b6092df09 Авторские права 2023 → 2024
ab45d51fa Авторские права 2001-2022 → 2001-2023.
5f7ef41b8 Авторские права 2021 → 2022