1 13 package org.jahia.views.engines.datepicker; 14 15 16 public class DatePickerEventListener 17 { 18 protected String eventTarget; 19 protected long date = 0; 20 protected DateValidator validator; 21 22 public DatePickerEventListener(String eventTarget, 23 long date, 24 DateValidator validator ){ 25 this.eventTarget = eventTarget; 26 this.date = date; 27 this.validator = validator; 28 } 29 30 public void beforeDisplayCalendar( DatePickerEvent ev ){ 31 if ( ev.getDatePickerData().getDate() == 0 ){ 32 ev.getDatePickerData().setDate(date); 33 } 34 } 35 36 public void saveDate ( DatePickerEvent ev ){ 37 if ( !this.eventTarget.equals(ev.getObject()) ){ 38 return; 39 } 40 41 DatePickerData data = ev.getDatePickerData(); 42 data.resetErrors(); 43 44 String msg = null; 45 if ( !validator.isValid(data.getDate()) ){ 46 switch (validator.getComparator()){ 47 case DateValidator.COMP_BIGGER: 48 msg = "Date must be bigger than " + DatePicker.getDate(validator.getStartDate()); 49 break; 50 case DateValidator.COMP_BIGGER_EQUAL: 51 msg = "Date must be bigger or equal to " + DatePicker.getDate(validator.getStartDate()); 52 break; 53 case DateValidator.COMP_EQUAL: 54 msg = "Date must be equal to " + DatePicker.getDate(validator.getStartDate()); 55 break; 56 case DateValidator.COMP_SMALLER: 57 msg = "Date must be smaller to " + DatePicker.getDate(validator.getStartDate()); 58 break; 59 case DateValidator.COMP_SMALLER_EQUAL: 60 msg = "Date must be smaller or equal to " + DatePicker.getDate(validator.getStartDate()); 61 break; 62 } 63 } 64 if ( msg != null ){ 65 data.addError(msg); 66 return; 67 } 68 this.date = data.getDate(); 69 } 70 71 public long getDate(){ 72 return this.date; 73 } 74 75 public void setDate(long date){ 76 this.date = date; 77 } 78 79 public DateValidator getValidator(){ 80 return this.validator; 81 } 82 83 public void setValidator(DateValidator validator){ 84 this.validator = validator; 85 } 86 } | Popular Tags |