/*
* PatientView
*
* Copyright (c) Worth Solutions Limited 2004-2013
*
* This file is part of PatientView.
*
* PatientView is free software: you can redistribute it and/or modify it under the terms of the
* GNU General Public License as published by the Free Software Foundation, either version 3 of the License,
* or (at your option) any later version.
* PatientView is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License along with PatientView in a file
* titled COPYING. If not, see <http://www.gnu.org/licenses/>.
*
* @package PatientView
* @link http://www.patientview.org
* @author PatientView <info@patientview.org>
* @copyright Copyright (c) 2004-2013, Worth Solutions Limited
* @license http://www.gnu.org/licenses/gpl-3.0.html The GNU General Public License V3.0
*/
package org.patientview.radar.web.components;
import org.patientview.radar.web.RadarApplication;
import org.apache.wicket.Component;
import org.apache.wicket.extensions.markup.html.form.DateTextField;
import org.apache.wicket.feedback.FeedbackMessage;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel;
import org.apache.wicket.model.IModel;
import java.util.Date;
import java.util.List;
public class RadarDateTextField extends DateTextField {
public RadarDateTextField(String id, Form form, List<Component> componentsToUpdate) {
super(id, RadarApplication.DATE_PATTERN2);
init(form, componentsToUpdate);
}
public RadarDateTextField(String id, IModel<Date> model, String datePattern, Form form,
List<Component> componentsToUpdate) {
super(id, model, datePattern);
init(form, componentsToUpdate);
}
private void init(Form form, List<Component> componentsToUpdate) {
add(new RadarDatePicker());
ComponentFeedbackPanel feedbackPanel = new ComponentFeedbackPanel(getId() + "Feedback", this) {
@Override
public boolean isVisible() {
List<FeedbackMessage> feedbackMessages = getCurrentMessages();
for (FeedbackMessage feedbackMessage : feedbackMessages) {
if (feedbackMessage.getMessage().toString().contains("required")) {
return false;
}
}
return super.isVisible();
}
};
feedbackPanel.setOutputMarkupId(true);
feedbackPanel.setOutputMarkupPlaceholderTag(true);
form.add(feedbackPanel);
componentsToUpdate.add(feedbackPanel);
}
}