Commit f6195010eaaa4fb6faa9ce0e0827e34a5649e477
1 parent
30c584f0
Changed some attribute names to meet RichFaces naming conventions.
Showing
36 changed files
with
1731 additions
and
1009 deletions
... | ... | @@ -48,7 +48,8 @@ |
48 | 48 | <systemProperties> |
49 | 49 | <property> |
50 | 50 | <name>displayedDaysForMonthViewCalculationTestData</name> |
51 | - <value>${basedir}/src/test/resources/displayedDaysForMonthViewCalculationTestData.txt</value> | |
51 | + <value>${basedir}/src/test/resources/displayedDaysForMonthViewCalculationTestData.txt | |
52 | + </value> | |
52 | 53 | </property> |
53 | 54 | <property> |
54 | 55 | <name>displayedDaysForWeekViewCalculationTestData</name> | ... | ... |
1 | 1 | <listener> |
2 | - <name>itemSelectedListener</name> | |
2 | + <name>itemSelectListener</name> | |
3 | 3 | <property existintag="true" exist="true" el="true" elonly="true"> |
4 | 4 | <name>binding</name> |
5 | - <classname>org.richfaces.scheduleItemSelectedListener</classname> | |
5 | + <classname>org.richfaces.scheduleItemSelectListener</classname> | |
6 | 6 | <description>The attribute takes a value-binding expression for a component property of |
7 | 7 | a backing bean |
8 | 8 | </description> |
9 | 9 | </property> |
10 | 10 | <listenerclass> |
11 | - org.richfaces.component.event.ScheduleItemSelectedListener | |
11 | + org.richfaces.component.event.ScheduleItemSelectListener | |
12 | 12 | </listenerclass> |
13 | 13 | <componentclass> |
14 | 14 | org.richfaces.component.event.ScheduleListenerEventsProducer |
15 | 15 | </componentclass> |
16 | 16 | <eventclass> |
17 | - org.richfaces.component.event.ScheduleItemSelectedEvent | |
17 | + org.richfaces.component.event.ScheduleItemSelectEvent | |
18 | 18 | </eventclass> |
19 | 19 | <taghandler generate="true"> |
20 | 20 | <classname> |
21 | - org.richfaces.taglib.ScheduleItemSelectedListenerTagHandler | |
21 | + org.richfaces.taglib.ScheduleItemSelectListenerTagHandler | |
22 | 22 | </classname> |
23 | 23 | </taghandler> |
24 | 24 | <tag generate="true"> |
25 | 25 | <classname> |
26 | - org.richfaces.taglib.ItemSelectedListenerTag | |
26 | + org.richfaces.taglib.ItemSelectListenerTag | |
27 | 27 | </classname> |
28 | 28 | </tag> |
29 | 29 | |
... | ... | @@ -107,31 +107,31 @@ |
107 | 107 | </listener> |
108 | 108 | |
109 | 109 | <listener> |
110 | - <name>viewChangedListener</name> | |
110 | + <name>viewChangeListener</name> | |
111 | 111 | <property existintag="true" exist="true" el="true" elonly="true"> |
112 | 112 | <name>binding</name> |
113 | - <classname>org.richfaces.scheduleViewChangedListener</classname> | |
113 | + <classname>org.richfaces.scheduleViewChangeListener</classname> | |
114 | 114 | <description>The attribute takes a value-binding expression for a component property of |
115 | 115 | a backing bean |
116 | 116 | </description> |
117 | 117 | </property> |
118 | 118 | <listenerclass> |
119 | - org.richfaces.component.event.ScheduleViewChangedListener | |
119 | + org.richfaces.component.event.ScheduleViewChangeListener | |
120 | 120 | </listenerclass> |
121 | 121 | <componentclass> |
122 | 122 | org.richfaces.component.event.ScheduleListenerEventsProducer |
123 | 123 | </componentclass> |
124 | 124 | <eventclass> |
125 | - org.richfaces.component.event.ScheduleViewChangedEvent | |
125 | + org.richfaces.component.event.ScheduleViewChangeEvent | |
126 | 126 | </eventclass> |
127 | 127 | <taghandler generate="true"> |
128 | 128 | <classname> |
129 | - org.richfaces.taglib.ScheduleViewChangedListenerTagHandler | |
129 | + org.richfaces.taglib.ScheduleViewChangeListenerTagHandler | |
130 | 130 | </classname> |
131 | 131 | </taghandler> |
132 | 132 | <tag generate="true"> |
133 | 133 | <classname> |
134 | - org.richfaces.taglib.ViewChangedListenerTag | |
134 | + org.richfaces.taglib.ViewChangeListenerTag | |
135 | 135 | </classname> |
136 | 136 | </tag> |
137 | 137 | |
... | ... | @@ -143,31 +143,31 @@ |
143 | 143 | </listener> |
144 | 144 | |
145 | 145 | <listener> |
146 | - <name>dateRangeChangedListener</name> | |
146 | + <name>dateRangeChangeListener</name> | |
147 | 147 | <property existintag="true" exist="true" el="true" elonly="true"> |
148 | 148 | <name>binding</name> |
149 | - <classname>org.richfaces.scheduleDateRangeChangedListener</classname> | |
149 | + <classname>org.richfaces.scheduleDateRangeChangeListener</classname> | |
150 | 150 | <description>The attribute takes a value-binding expression for a component property of |
151 | 151 | a backing bean |
152 | 152 | </description> |
153 | 153 | </property> |
154 | 154 | <listenerclass> |
155 | - org.richfaces.component.event.ScheduleDateRangeChangedListener | |
155 | + org.richfaces.component.event.ScheduleDateRangeChangeListener | |
156 | 156 | </listenerclass> |
157 | 157 | <componentclass> |
158 | 158 | org.richfaces.component.event.ScheduleListenerEventsProducer |
159 | 159 | </componentclass> |
160 | 160 | <eventclass> |
161 | - org.richfaces.component.event.ScheduleDateRangeChangedEvent | |
161 | + org.richfaces.component.event.ScheduleDateRangeChangeEvent | |
162 | 162 | </eventclass> |
163 | 163 | <taghandler generate="true"> |
164 | 164 | <classname> |
165 | - org.richfaces.taglib.ScheduleDateRangeChangedListenerTagHandler | |
165 | + org.richfaces.taglib.ScheduleDateRangeChangeListenerTagHandler | |
166 | 166 | </classname> |
167 | 167 | </taghandler> |
168 | 168 | <tag generate="true"> |
169 | 169 | <classname> |
170 | - org.richfaces.taglib.DateRangeChangedListenerTag | |
170 | + org.richfaces.taglib.DateRangeChangeListenerTag | |
171 | 171 | </classname> |
172 | 172 | </tag> |
173 | 173 | |
... | ... | @@ -178,31 +178,31 @@ |
178 | 178 | </property> |
179 | 179 | </listener> |
180 | 180 | <listener> |
181 | - <name>dateRangeSelectedListener</name> | |
181 | + <name>dateRangeSelectListener</name> | |
182 | 182 | <property existintag="true" exist="true" el="true" elonly="true"> |
183 | 183 | <name>binding</name> |
184 | - <classname>org.richfaces.scheduleDateRangeChangedListener</classname> | |
184 | + <classname>org.richfaces.scheduleDateRangeSelectdListener</classname> | |
185 | 185 | <description>The attribute takes a value-binding expression for a component property of |
186 | 186 | a backing bean |
187 | 187 | </description> |
188 | 188 | </property> |
189 | 189 | <listenerclass> |
190 | - org.richfaces.component.event.ScheduleDateRangeSelectedListener | |
190 | + org.richfaces.component.event.ScheduleDateRangeSelectListener | |
191 | 191 | </listenerclass> |
192 | 192 | <componentclass> |
193 | 193 | org.richfaces.component.event.ScheduleListenerEventsProducer |
194 | 194 | </componentclass> |
195 | 195 | <eventclass> |
196 | - org.richfaces.component.event.ScheduleDateRangeSelectedEvent | |
196 | + org.richfaces.component.event.ScheduleDateRangeSelectEvent | |
197 | 197 | </eventclass> |
198 | 198 | <taghandler generate="true"> |
199 | 199 | <classname> |
200 | - org.richfaces.taglib.ScheduleDateRangeSelectedListenerTagHandler | |
200 | + org.richfaces.taglib.ScheduleDateRangeSelectListenerTagHandler | |
201 | 201 | </classname> |
202 | 202 | </taghandler> |
203 | 203 | <tag generate="true"> |
204 | 204 | <classname> |
205 | - org.richfaces.taglib.DateRangeSelectedListenerTag | |
205 | + org.richfaces.taglib.DateRangeSelectListenerTag | |
206 | 206 | </classname> |
207 | 207 | </tag> |
208 | 208 | |
... | ... | @@ -214,31 +214,31 @@ |
214 | 214 | </listener> |
215 | 215 | |
216 | 216 | <listener> |
217 | - <name>dateSelectedListener</name> | |
217 | + <name>dateSelectListener</name> | |
218 | 218 | <property existintag="true" exist="true" el="true" elonly="true"> |
219 | 219 | <name>binding</name> |
220 | - <classname>org.richfaces.scheduleDateSelectedListener</classname> | |
220 | + <classname>org.richfaces.scheduleDateSelectListener</classname> | |
221 | 221 | <description>The attribute takes a value-binding expression for a component property of |
222 | 222 | a backing bean |
223 | 223 | </description> |
224 | 224 | </property> |
225 | 225 | <listenerclass> |
226 | - org.richfaces.component.event.ScheduleDateSelectedListener | |
226 | + org.richfaces.component.event.ScheduleDateSelectListener | |
227 | 227 | </listenerclass> |
228 | 228 | <componentclass> |
229 | 229 | org.richfaces.component.event.ScheduleListenerEventsProducer |
230 | 230 | </componentclass> |
231 | 231 | <eventclass> |
232 | - org.richfaces.component.event.ScheduleDateSelectedEvent | |
232 | + org.richfaces.component.event.ScheduleDateSelectEvent | |
233 | 233 | </eventclass> |
234 | 234 | <taghandler generate="true"> |
235 | 235 | <classname> |
236 | - org.richfaces.taglib.ScheduleDateSelectedListenerTagHandler | |
236 | + org.richfaces.taglib.ScheduleDateSelectListenerTagHandler | |
237 | 237 | </classname> |
238 | 238 | </taghandler> |
239 | 239 | <tag generate="true"> |
240 | 240 | <classname> |
241 | - org.richfaces.taglib.DateSelectedListenerTag | |
241 | + org.richfaces.taglib.DateSelectListenerTag | |
242 | 242 | </classname> |
243 | 243 | </tag> |
244 | 244 | ... | ... |
... | ... | @@ -37,8 +37,6 @@ |
37 | 37 | &ui_component_attributes; |
38 | 38 | &commonViewAttributes; |
39 | 39 | &ajax_component_attributes; |
40 | - <!--TODO how about reRender ajaxSingle and others?--> | |
41 | - <!--TODO add style attribute--> | |
42 | 40 | <property> |
43 | 41 | <name>switchType</name> |
44 | 42 | <classname>java.lang.String</classname> |
... | ... | @@ -462,7 +460,7 @@ |
462 | 460 | </property> |
463 | 461 | |
464 | 462 | <property> |
465 | - <name>onItemSelected</name> | |
463 | + <name>onbeforeitemselect</name> | |
466 | 464 | <classname>java.lang.String</classname> |
467 | 465 | <description> |
468 | 466 | JavaScript code for handling event. |
... | ... | @@ -476,7 +474,7 @@ |
476 | 474 | <defaultvalue>null</defaultvalue> |
477 | 475 | </property> |
478 | 476 | <property> |
479 | - <name>onItemSelectedComplete</name> | |
477 | + <name>onitemselect</name> | |
480 | 478 | <classname>java.lang.String</classname> |
481 | 479 | <description> |
482 | 480 | JavaScript code called when ajax request triggered when item |
... | ... | @@ -493,7 +491,7 @@ |
493 | 491 | <defaultvalue>null</defaultvalue> |
494 | 492 | </property> |
495 | 493 | <property> |
496 | - <name>onItemDragStart</name> | |
494 | + <name>onitemdragstart</name> | |
497 | 495 | <classname>java.lang.String</classname> |
498 | 496 | <description> |
499 | 497 | JavaScript code for handling event. |
... | ... | @@ -508,7 +506,7 @@ |
508 | 506 | <defaultvalue>null</defaultvalue> |
509 | 507 | </property> |
510 | 508 | <property> |
511 | - <name>onItemDragStop</name> | |
509 | + <name>onitemdragstop</name> | |
512 | 510 | <classname>java.lang.String</classname> |
513 | 511 | <description> |
514 | 512 | JavaScript code for handling event. |
... | ... | @@ -523,7 +521,7 @@ |
523 | 521 | <defaultvalue>null</defaultvalue> |
524 | 522 | </property> |
525 | 523 | <property> |
526 | - <name>onItemResizeStart</name> | |
524 | + <name>onitemresizestart</name> | |
527 | 525 | <classname>java.lang.String</classname> |
528 | 526 | <description> |
529 | 527 | JavaScript code for handling event. |
... | ... | @@ -538,7 +536,7 @@ |
538 | 536 | <defaultvalue>null</defaultvalue> |
539 | 537 | </property> |
540 | 538 | <property> |
541 | - <name>onItemResizeStop</name> | |
539 | + <name>onitemresizestop</name> | |
542 | 540 | <classname>java.lang.String</classname> |
543 | 541 | <description> |
544 | 542 | JavaScript code for handling event. |
... | ... | @@ -553,7 +551,7 @@ |
553 | 551 | <defaultvalue>null</defaultvalue> |
554 | 552 | </property> |
555 | 553 | <property> |
556 | - <name>onItemDrop</name> | |
554 | + <name>onbeforeitemdrop</name> | |
557 | 555 | <classname>java.lang.String</classname> |
558 | 556 | <description> |
559 | 557 | JavaScript code for handling event. |
... | ... | @@ -578,7 +576,7 @@ |
578 | 576 | <defaultvalue>null</defaultvalue> |
579 | 577 | </property> |
580 | 578 | <property> |
581 | - <name>onItemDropComplete</name> | |
579 | + <name>onitemdrop</name> | |
582 | 580 | <classname>java.lang.String</classname> |
583 | 581 | <description> |
584 | 582 | JavaScript code called when ajax request triggered when item |
... | ... | @@ -607,7 +605,7 @@ |
607 | 605 | <defaultvalue>null</defaultvalue> |
608 | 606 | </property> |
609 | 607 | <property> |
610 | - <name>onItemResized</name> | |
608 | + <name>onbeforeitemresize</name> | |
611 | 609 | <classname>java.lang.String</classname> |
612 | 610 | <description> |
613 | 611 | JavaScript code for handling event. |
... | ... | @@ -630,7 +628,7 @@ |
630 | 628 | <defaultvalue>null</defaultvalue> |
631 | 629 | </property> |
632 | 630 | <property> |
633 | - <name>onItemResizedComplete</name> | |
631 | + <name>onitemresize</name> | |
634 | 632 | <classname>java.lang.String</classname> |
635 | 633 | <description> |
636 | 634 | JavaScript code called when ajax request triggered when item |
... | ... | @@ -655,7 +653,7 @@ |
655 | 653 | <defaultvalue>null</defaultvalue> |
656 | 654 | </property> |
657 | 655 | <property> |
658 | - <name>onItemMouseover</name> | |
656 | + <name>onitemmouseover</name> | |
659 | 657 | <classname>java.lang.String</classname> |
660 | 658 | <description> |
661 | 659 | JavaScript code for handling event. |
... | ... | @@ -669,7 +667,7 @@ |
669 | 667 | <defaultvalue>null</defaultvalue> |
670 | 668 | </property> |
671 | 669 | <property> |
672 | - <name>onItemMouseout</name> | |
670 | + <name>onitemmouseout</name> | |
673 | 671 | <classname>java.lang.String</classname> |
674 | 672 | <description> |
675 | 673 | JavaScript code for handling event. |
... | ... | @@ -683,7 +681,7 @@ |
683 | 681 | <defaultvalue>null</defaultvalue> |
684 | 682 | </property> |
685 | 683 | <property> |
686 | - <name>onViewChanged</name> | |
684 | + <name>onbeforeviewchange</name> | |
687 | 685 | <classname>java.lang.String</classname> |
688 | 686 | <description> |
689 | 687 | JavaScript code for handling event. |
... | ... | @@ -697,7 +695,7 @@ |
697 | 695 | <defaultvalue>null</defaultvalue> |
698 | 696 | </property> |
699 | 697 | <property> |
700 | - <name>onViewChangedComplete</name> | |
698 | + <name>onviewchange</name> | |
701 | 699 | <classname>java.lang.String</classname> |
702 | 700 | <description> |
703 | 701 | JavaScript code called when ajax request triggered when view |
... | ... | @@ -712,7 +710,7 @@ |
712 | 710 | <defaultvalue>null</defaultvalue> |
713 | 711 | </property> |
714 | 712 | <property> |
715 | - <name>onDateSelected</name> | |
713 | + <name>onbeforedateselect</name> | |
716 | 714 | <classname>java.lang.String</classname> |
717 | 715 | <description> |
718 | 716 | JavaScript code for handling event. |
... | ... | @@ -729,7 +727,7 @@ |
729 | 727 | <defaultvalue>null</defaultvalue> |
730 | 728 | </property> |
731 | 729 | <property> |
732 | - <name>onDateSelectedComplete</name> | |
730 | + <name>ondateselect</name> | |
733 | 731 | <classname>java.lang.String</classname> |
734 | 732 | <description> |
735 | 733 | JavaScript code called when ajax request triggered when date |
... | ... | @@ -749,7 +747,7 @@ |
749 | 747 | <defaultvalue>null</defaultvalue> |
750 | 748 | </property> |
751 | 749 | <property> |
752 | - <name>onDateRangeSelected</name> | |
750 | + <name>onbeforedaterangeselect</name> | |
753 | 751 | <classname>java.lang.String</classname> |
754 | 752 | <description> |
755 | 753 | JavaScript code for handling event. |
... | ... | @@ -766,7 +764,7 @@ |
766 | 764 | <defaultvalue>null</defaultvalue> |
767 | 765 | </property> |
768 | 766 | <property> |
769 | - <name>onDateRangeSelectedComplete</name> | |
767 | + <name>ondaterangeselect</name> | |
770 | 768 | <classname>java.lang.String</classname> |
771 | 769 | <description> |
772 | 770 | JavaScript code called when ajax request triggered when date |
... | ... | @@ -785,8 +783,9 @@ |
785 | 783 | </description> |
786 | 784 | <defaultvalue>null</defaultvalue> |
787 | 785 | </property> |
786 | + <!--TODO change javadoc of event attributes--> | |
788 | 787 | <property> |
789 | - <name>onDateRangeChanged</name> | |
788 | + <name>onbeforedaterangechange</name> | |
790 | 789 | <classname>java.lang.String</classname> |
791 | 790 | <description> |
792 | 791 | JavaScript code for handling event. |
... | ... | @@ -801,7 +800,7 @@ |
801 | 800 | <defaultvalue>null</defaultvalue> |
802 | 801 | </property> |
803 | 802 | <property> |
804 | - <name>onDateRangeChangedComplete</name> | |
803 | + <name>ondaterangechange</name> | |
805 | 804 | <classname>java.lang.String</classname> |
806 | 805 | <description> |
807 | 806 | JavaScript code called when ajax request triggered when displayed |
... | ... | @@ -827,7 +826,6 @@ |
827 | 826 | <property elonly="true" attachedstate="true"> |
828 | 827 | <name>itemMoveListener</name> |
829 | 828 | <classname>javax.faces.el.MethodBinding</classname> |
830 | - <!--<methodargs>org.richfaces.component.event.ScheduleItemMoveEvent</methodargs>--> | |
831 | 829 | <returntype>boolean</returntype> |
832 | 830 | </property> |
833 | 831 | |
... | ... | @@ -837,27 +835,27 @@ |
837 | 835 | </property> |
838 | 836 | |
839 | 837 | <property elonly="true" attachedstate="true"> |
840 | - <name>itemSelectedListener</name> | |
838 | + <name>itemSelectListener</name> | |
841 | 839 | <classname>javax.faces.el.MethodBinding</classname> |
842 | 840 | </property> |
843 | 841 | |
844 | 842 | <property elonly="true" attachedstate="true"> |
845 | - <name>viewChangedListener</name> | |
843 | + <name>viewChangeListener</name> | |
846 | 844 | <classname>javax.faces.el.MethodBinding</classname> |
847 | 845 | </property> |
848 | 846 | |
849 | 847 | <property elonly="true" attachedstate="true"> |
850 | - <name>dateRangeChangedListener</name> | |
848 | + <name>dateRangeChangeListener</name> | |
851 | 849 | <classname>javax.faces.el.MethodBinding</classname> |
852 | 850 | </property> |
853 | 851 | |
854 | 852 | <property elonly="true" attachedstate="true"> |
855 | - <name>dateRangeSelectedListener</name> | |
853 | + <name>dateRangeSelectListener</name> | |
856 | 854 | <classname>javax.faces.el.MethodBinding</classname> |
857 | 855 | </property> |
858 | 856 | |
859 | 857 | <property elonly="true" attachedstate="true"> |
860 | - <name>dateSelectedListener</name> | |
858 | + <name>dateSelectListener</name> | |
861 | 859 | <classname>javax.faces.el.MethodBinding</classname> |
862 | 860 | </property> |
863 | 861 | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" |
3 | 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" |
4 | -[ | |
5 | -<!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | -] | |
7 | -> | |
4 | + [ | |
5 | + <!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | + ] | |
7 | + > | |
8 | 8 | <components> |
9 | 9 | <component> |
10 | 10 | <name>org.richfaces.ScheduleAgendaDayView</name> |
... | ... | @@ -22,11 +22,6 @@ |
22 | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase |
23 | 23 | </superclass> |
24 | 24 | </tag> |
25 | - <!-- | |
26 | - <taghandler> | |
27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | |
28 | - </taghandler> | |
29 | - --> | |
30 | 25 | &ui_component_attributes; |
31 | 26 | &commonViewAttributes; |
32 | 27 | </component> | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" |
3 | 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" |
4 | -[ | |
5 | -<!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | -] | |
7 | -> | |
4 | + [ | |
5 | + <!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | + ] | |
7 | + > | |
8 | 8 | <components> |
9 | 9 | <component> |
10 | 10 | <name>org.richfaces.ScheduleAgendaWeekView</name> |
... | ... | @@ -22,11 +22,6 @@ |
22 | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase |
23 | 23 | </superclass> |
24 | 24 | </tag> |
25 | - <!-- | |
26 | - <taghandler> | |
27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | |
28 | - </taghandler> | |
29 | - --> | |
30 | 25 | &ui_component_attributes; |
31 | 26 | &commonViewAttributes; |
32 | 27 | </component> | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" |
3 | 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" |
4 | -[ | |
5 | -<!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | -] | |
7 | -> | |
4 | + [ | |
5 | + <!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | + ] | |
7 | + > | |
8 | 8 | <components> |
9 | 9 | <component> |
10 | 10 | <name>org.richfaces.ScheduleBasicDayView</name> |
... | ... | @@ -22,11 +22,6 @@ |
22 | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase |
23 | 23 | </superclass> |
24 | 24 | </tag> |
25 | - <!-- | |
26 | - <taghandler> | |
27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | |
28 | - </taghandler> | |
29 | - --> | |
30 | 25 | &ui_component_attributes; |
31 | 26 | &commonViewAttributes; |
32 | 27 | </component> | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" |
3 | 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" |
4 | -[ | |
5 | -<!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | -] | |
7 | -> | |
4 | + [ | |
5 | + <!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | + ] | |
7 | + > | |
8 | 8 | <components> |
9 | 9 | <component> |
10 | 10 | <name>org.richfaces.ScheduleBasicWeekView</name> |
... | ... | @@ -22,11 +22,6 @@ |
22 | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase |
23 | 23 | </superclass> |
24 | 24 | </tag> |
25 | - <!-- | |
26 | - <taghandler> | |
27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | |
28 | - </taghandler> | |
29 | - --> | |
30 | 25 | &ui_component_attributes; |
31 | 26 | &commonViewAttributes; |
32 | 27 | </component> | ... | ... |
... | ... | @@ -19,14 +19,7 @@ |
19 | 19 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase |
20 | 20 | </superclass> |
21 | 21 | </tag> |
22 | - <!-- | |
23 | - <taghandler> | |
24 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | |
25 | - </taghandler> | |
26 | - --> | |
27 | 22 | &ui_component_attributes; |
28 | - <!-- | |
29 | - --> | |
30 | 23 | <property> |
31 | 24 | <name>styleClass</name> |
32 | 25 | <classname>java.lang.String</classname> | ... | ... |
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" |
3 | 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" |
4 | -[ | |
5 | -<!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | -] | |
7 | -> | |
4 | + [ | |
5 | + <!ENTITY commonViewAttributes SYSTEM "commonViewAttributes.ent"> | |
6 | + ] | |
7 | + > | |
8 | 8 | <components> |
9 | 9 | <component> |
10 | 10 | <name>org.richfaces.ScheduleMonthView</name> |
... | ... | @@ -22,15 +22,8 @@ |
22 | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase |
23 | 23 | </superclass> |
24 | 24 | </tag> |
25 | - <!-- | |
26 | - <taghandler> | |
27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | |
28 | - </taghandler> | |
29 | - --> | |
30 | 25 | &ui_component_attributes; |
31 | 26 | &commonViewAttributes; |
32 | - <!-- | |
33 | - --> | |
34 | 27 | <property> |
35 | 28 | <name>weekMode</name> |
36 | 29 | <classname>java.lang.String</classname> | ... | ... |
1 | +/* | |
2 | + * JBoss, Home of Professional Open Source | |
3 | + * Copyright , Red Hat, Inc. and individual contributors | |
4 | + * by the @authors tag. See the copyright.txt in the distribution for a | |
5 | + * full listing of individual contributors. | |
6 | + * | |
7 | + * This is free software; you can redistribute it and/or modify it | |
8 | + * under the terms of the GNU Lesser General Public License as | |
9 | + * published by the Free Software Foundation; either version 2.1 of | |
10 | + * the License, or (at your option) any later version. | |
11 | + * | |
12 | + * This software is distributed in the hope that it will be useful, | |
13 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | + * Lesser General Public License for more details. | |
16 | + * | |
17 | + * You should have received a copy of the GNU Lesser General Public | |
18 | + * License along with this software; if not, write to the Free | |
19 | + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA | |
20 | + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. | |
21 | + */ | |
1 | 22 | package org.richfaces.component; |
2 | 23 | |
3 | 24 | /** | ... | ... |
... | ... | @@ -18,13 +18,25 @@ import javax.faces.context.FacesContext; |
18 | 18 | import javax.faces.el.MethodBinding; |
19 | 19 | import javax.faces.event.AbortProcessingException; |
20 | 20 | import javax.faces.event.FacesEvent; |
21 | -import javax.faces.model.*; | |
21 | +import javax.faces.model.ArrayDataModel; | |
22 | +import javax.faces.model.DataModel; | |
23 | +import javax.faces.model.ListDataModel; | |
24 | +import javax.faces.model.ResultDataModel; | |
25 | +import javax.faces.model.ResultSetDataModel; | |
26 | +import javax.faces.model.ScalarDataModel; | |
22 | 27 | import javax.servlet.jsp.jstl.sql.Result; |
23 | 28 | import java.io.IOException; |
24 | 29 | import java.sql.ResultSet; |
25 | 30 | import java.text.DateFormat; |
26 | 31 | import java.text.SimpleDateFormat; |
27 | -import java.util.*; | |
32 | +import java.util.ArrayList; | |
33 | +import java.util.Calendar; | |
34 | +import java.util.Collections; | |
35 | +import java.util.Date; | |
36 | +import java.util.HashMap; | |
37 | +import java.util.List; | |
38 | +import java.util.Locale; | |
39 | +import java.util.Map; | |
28 | 40 | |
29 | 41 | public abstract class UISchedule extends UIComponentBase implements ScheduleCommonViewAttributes, ScheduleListenerEventsProducer, AjaxComponent { |
30 | 42 | |
... | ... | @@ -38,12 +50,42 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
38 | 50 | public static final String VIEW_AGENDA_WEEK = "agendaWeek"; |
39 | 51 | public static final String VIEW_BASIC_DAY = "basicDay"; |
40 | 52 | public static final String VIEW_AGENDA_DAY = "agendaDay"; |
53 | + public static final String DEFAULT_VIEW = VIEW_MONTH; | |
54 | + /** | |
55 | + * Values of switchType attribute | |
56 | + */ | |
57 | + public static final String SWITCH_TYPE_AJAX = "ajax"; | |
58 | + public static final String SWITCH_TYPE_SERVER = "server"; | |
59 | + public static final String SWITCH_TYPE_CLIENT = "client"; | |
60 | + public static final String DEFAULT_SWITCH_TYPE = SWITCH_TYPE_AJAX; | |
41 | 61 | /** |
42 | 62 | * Values of weekMode attribute. |
43 | 63 | */ |
44 | 64 | public static final String WEEK_MODE_FIXED = "fixed"; |
45 | 65 | public static final String WEEK_MODE_LIQUID = "liquid"; |
46 | 66 | public static final String WEEK_MODE_VARIABLE = "variable"; |
67 | + public static final String DEFAULT_WEEK_MODE = WEEK_MODE_FIXED; | |
68 | + public static final boolean DEFAULT_SHOW_WEEKENDS = true; | |
69 | + public static final boolean DEFAULT_RTL = false; | |
70 | + public static final int DEFAULT_FIRST_DAY = Calendar.SUNDAY; | |
71 | + public static final double DEFAULT_ASPECT_RATIO = 1.35; | |
72 | + public static final boolean DEFAULT_ALL_DAY_SLOT = true; | |
73 | + public static final String DEFAULT_AXIS_FORMAT = "h(:mm)tt"; | |
74 | + public static final int DEFAULT_SLOT_MINUTES = 30; | |
75 | + public static final int DEFAULT_EVENT_MINUTES = 120; | |
76 | + public static final int DEFAULT_FIRST_HOUR = 6; | |
77 | + public static final String DEFAULT_MIN_TIME = "0"; | |
78 | + public static final String DEFAULT_MAX_TIME = "24"; | |
79 | + public static final boolean DEFAULT_EDITABLE = false; | |
80 | + public static final boolean DEFAULT_SELECTABLE = false; | |
81 | + public static final boolean DEFAULT_SELECT_HELPER = false; | |
82 | + public static final boolean DEFAULT_UNSELECT_AUTO = true; | |
83 | + public static final String DEFAULT_UNSELECT_CANCEL = ""; | |
84 | + public static final boolean DEFAULT_DISABLE_DRAGGING = false; | |
85 | + public static final boolean DEFAULT_DISABLE_RESIZING = false; | |
86 | + public static final int DEFAULT_DRAG_REVERT_DURATION = 500; | |
87 | + public static final double DEFAULT_DRAG_OPACITY = .3; | |
88 | + public static final boolean DEFAULT_ALL_DAY_DEFAULT = true; | |
47 | 89 | private DataModel model; |
48 | 90 | |
49 | 91 | public abstract Object getValue(); |
... | ... | @@ -174,123 +216,109 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
174 | 216 | |
175 | 217 | public abstract void setDragRevertDuration(Integer dragRevertDuration); |
176 | 218 | |
177 | - public abstract Double getDragOpacity(); | |
178 | - | |
179 | - public abstract void setDragOpacity(Double dragOpacity); | |
180 | - | |
181 | 219 | public abstract String getStyleClass(); |
182 | 220 | |
183 | 221 | public abstract void setStyleClass(String styleClass); |
184 | 222 | |
185 | - public abstract String getOnItemSelected(); | |
186 | - | |
187 | - public abstract void setOnItemSelected(String onItemSelect); | |
188 | - | |
189 | - public abstract String getOnItemSelectedComplete(); | |
223 | + public abstract String getOnbeforeitemselect(); | |
190 | 224 | |
191 | - public abstract void setOnItemSelectedComplete(String onItemSelectedComplete); | |
225 | + public abstract void setOnbeforeitemselect(String onbeforeitemselect); | |
192 | 226 | |
193 | - public abstract String getOnItemDragStart(); | |
227 | + public abstract String getOnitemselect(); | |
194 | 228 | |
195 | - public abstract void setOnItemDragStart(String onItemDragStart); | |
229 | + public abstract void setOnitemselect(String onitemselect); | |
196 | 230 | |
197 | - public abstract String getOnItemDragStop(); | |
231 | + public abstract String getOnitemdragstart(); | |
198 | 232 | |
199 | - public abstract void setOnItemDragStop(String onItemDragStop); | |
233 | + public abstract void setOnitemdragstart(String onitemdragstop); | |
200 | 234 | |
201 | - public abstract String getOnItemDrop(); | |
235 | + public abstract String getOnitemdragstop(); | |
202 | 236 | |
203 | - public abstract void setOnItemDrop(String onItemDrop); | |
237 | + public abstract void setOnitemdragstop(String onitemdragstop); | |
204 | 238 | |
205 | - public abstract String getOnItemDropComplete(); | |
239 | + public abstract String getOnbeforeitemdrop(); | |
206 | 240 | |
207 | - public abstract void setOnItemDropComplete(String onItemDropComplete); | |
241 | + public abstract void setOnbeforeitemdrop(String onbeforeitemdrop); | |
208 | 242 | |
209 | - public abstract String getOnItemResizeStart(); | |
243 | + public abstract String getOnitemdrop(); | |
210 | 244 | |
211 | - public abstract void setOnItemResizeStart(String onItemResizeStart); | |
245 | + public abstract void setOnitemdrop(String onitemdrop); | |
212 | 246 | |
213 | - public abstract String getOnItemResizeStop(); | |
247 | + public abstract String getOnitemresizestart(); | |
214 | 248 | |
215 | - public abstract void setOnItemResizeStop(String onItemResizeStop); | |
249 | + public abstract void setOnitemresizestart(String onitemresizestart); | |
216 | 250 | |
217 | - public abstract String getOnItemResized(); | |
251 | + public abstract String getOnitemresizestop(); | |
218 | 252 | |
219 | - public abstract void setOnItemResized(String onItemMouseover); | |
253 | + public abstract void setOnitemresizestop(String onitemresizestop); | |
220 | 254 | |
221 | - public abstract String getOnItemResizedComplete(); | |
255 | + public abstract String getOnbeforeitemresize(); | |
222 | 256 | |
223 | - public abstract void setOnItemResizedComplete(String setOnItemResizedComplete); | |
257 | + public abstract void setOnbeforeitemresize(String onbeforeitemresize); | |
224 | 258 | |
225 | - public abstract String getOnItemMouseover(); | |
259 | + public abstract String getOnitemresize(); | |
226 | 260 | |
227 | - public abstract void setOnItemMouseover(String onItemMouseover); | |
261 | + public abstract void setOnitemresize(String onitemresize); | |
228 | 262 | |
229 | - public abstract String getOnItemMouseout(); | |
263 | + public abstract String getOnitemmouseover(); | |
230 | 264 | |
231 | - public abstract void setOnItemMouseout(String onItemMouseout); | |
265 | + public abstract void setOnitemmouseover(String onitemmouseover); | |
232 | 266 | |
233 | - public abstract String getOnViewChanged(); | |
267 | + public abstract String getOnitemmouseout(); | |
234 | 268 | |
235 | - public abstract void setOnViewChanged(String onViewChanged); | |
269 | + public abstract void setOnitemmouseout(String onitemmouseout); | |
236 | 270 | |
237 | - public abstract String getOnViewChangedComplete(); | |
271 | + public abstract String getOnviewchange(); | |
238 | 272 | |
239 | - public abstract void setOnViewChangedComplete(String onViewDisplayComplete); | |
273 | + public abstract void setOnviewchange(String onviewchange); | |
240 | 274 | |
241 | - public abstract String getOnDateSelected(); | |
275 | + public abstract String getOnbeforedateselect(); | |
242 | 276 | |
243 | - public abstract void setOnDateSelected(String onDaySelected); | |
277 | + public abstract void setOnbeforedateselect(String onbeforedateselect); | |
244 | 278 | |
245 | - public abstract String getOnDateSelectedComplete(); | |
279 | + public abstract String getOndateselect(); | |
246 | 280 | |
247 | - public abstract void setOnDateSelectedComplete(String setOnDateSelectedComplete); | |
281 | + public abstract void setOndateselect(String ondateselect); | |
248 | 282 | |
249 | - public abstract String getOnDateRangeSelected(); | |
283 | + public abstract String getOnbeforedaterangeselect(); | |
250 | 284 | |
251 | - public abstract void setOnDateRangeSelected(String onDateRangeSelected); | |
285 | + public abstract void setOnbeforedaterangeselect(String onbeforedaterangeselect); | |
252 | 286 | |
253 | - public abstract String getOnDateRangeSelectedComplete(); | |
287 | + public abstract String getOndaterangeselect(); | |
254 | 288 | |
255 | - public abstract void setOnDateRangeSelectedComplete(String onDateRangeSelectedComplete); | |
289 | + public abstract void setOndaterangeselect(String ondaterangeselect); | |
256 | 290 | |
257 | - public abstract String getOnDateRangeChanged(); | |
291 | + public abstract String getOndaterangechange(); | |
258 | 292 | |
259 | - public abstract void setOnDateRangeChanged(String onDateRangeChanged); | |
260 | - | |
261 | - public abstract String getOnDateRangeChangedComplete(); | |
262 | - | |
263 | - public abstract void setOnDateRangeChangedComplete(String onDateRangeChangedComplete); | |
264 | - | |
265 | - // TODO do we use MethodBinding or MethodExpression? | |
293 | + public abstract void setOndaterangechange(String ondaterangechange); | |
266 | 294 | |
267 | 295 | public abstract MethodBinding getItemMoveListener(); |
268 | 296 | |
269 | 297 | public abstract void setItemMoveListener(MethodBinding listener); |
270 | 298 | |
271 | - public abstract MethodBinding getItemSelectedListener(); | |
299 | + public abstract MethodBinding getItemSelectListener(); | |
272 | 300 | |
273 | - public abstract void setItemSelectedListener(MethodBinding listener); | |
301 | + public abstract void setItemSelectListener(MethodBinding listener); | |
274 | 302 | |
275 | 303 | public abstract MethodBinding getItemResizeListener(); |
276 | 304 | |
277 | 305 | public abstract void setItemResizeListener(MethodBinding listener); |
278 | 306 | |
279 | - public abstract MethodBinding getViewChangedListener(); | |
307 | + public abstract MethodBinding getViewChangeListener(); | |
280 | 308 | |
281 | - public abstract void setViewChangedListener(MethodBinding listener); | |
309 | + public abstract void setViewChangeListener(MethodBinding listener); | |
282 | 310 | |
283 | - public abstract MethodBinding getDateRangeChangedListener(); | |
311 | + public abstract MethodBinding getDateRangeChangeListener(); | |
284 | 312 | |
285 | - public abstract void setDateRangeChangedListener(MethodBinding listener); | |
313 | + public abstract void setDateRangeChangeListener(MethodBinding listener); | |
286 | 314 | |
287 | - public abstract MethodBinding getDateRangeSelectedListener(); | |
315 | + public abstract MethodBinding getDateRangeSelectListener(); | |
288 | 316 | |
289 | - public abstract void setDateRangeSelectedListener(MethodBinding listener); | |
317 | + public abstract void setDateRangeSelectListener(MethodBinding listener); | |
290 | 318 | |
291 | - public abstract MethodBinding getDateSelectedListener(); | |
319 | + public abstract MethodBinding getDateSelectListener(); | |
292 | 320 | |
293 | - public abstract void setDateSelectedListener(MethodBinding listener); | |
321 | + public abstract void setDateSelectListener(MethodBinding listener); | |
294 | 322 | |
295 | 323 | public abstract String getWidgetVar(); |
296 | 324 | |
... | ... | @@ -303,10 +331,10 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
303 | 331 | * listeners. |
304 | 332 | * In case of non vetoable events the order of broadcast is reverse. |
305 | 333 | * Vetoable events are: ScheduleItemMoveEvent, ScheduleItemResizeEvent |
306 | - * Non-vetoable events: ScheduleDateRangeChangedEvent, ScheduleItemSelectedEvent, | |
307 | - * ScheduleViewChangedEvent, ScheduleDateSelectedEvent, | |
308 | - * ScheduleDateRangeSelectedEvent | |
309 | - * In case of ScheduleDateRangeChangedEvent new items are returned | |
334 | + * Non-vetoable events: ScheduleDateRangeChangeEvent, ScheduleItemSelectEvent, | |
335 | + * ScheduleViewChangeEvent, ScheduleDateSelectEvent, | |
336 | + * ScheduleDateRangeSelectEvent | |
337 | + * In case of ScheduleDateRangeChangeEvent new items are returned | |
310 | 338 | * via response data map of ajaxContext. |
311 | 339 | * In case of ScheduleItemMoveEvent and ScheduleItemResizeEvent, the |
312 | 340 | * decision if veto was raised is sent back to client via response data map |
... | ... | @@ -318,13 +346,13 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
318 | 346 | */ |
319 | 347 | @Override |
320 | 348 | public void broadcast(FacesEvent event) throws AbortProcessingException { |
321 | - if (event instanceof ScheduleDateRangeChangedEvent) { | |
349 | + if (event instanceof ScheduleDateRangeChangeEvent) { | |
322 | 350 | super.broadcast(event); |
323 | 351 | new AjaxEvent(this).queue(); |
324 | - ScheduleDateRangeChangedEvent calendarAjaxEvent = (ScheduleDateRangeChangedEvent) event; | |
352 | + ScheduleDateRangeChangeEvent calendarAjaxEvent = (ScheduleDateRangeChangeEvent) event; | |
325 | 353 | FacesContext facesContext = getFacesContext(); |
326 | 354 | AjaxContext ajaxContext = AjaxContext.getCurrentInstance(facesContext); |
327 | - MethodBinding expression = getDateRangeChangedListener(); | |
355 | + MethodBinding expression = getDateRangeChangeListener(); | |
328 | 356 | if (expression != null) { |
329 | 357 | expression.invoke(facesContext, new Object[]{event}); |
330 | 358 | } |
... | ... | @@ -357,35 +385,35 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
357 | 385 | ajaxContext.getResponseDataMap().put("_ajax:scheduleData", allow); |
358 | 386 | super.broadcast(event); |
359 | 387 | new AjaxEvent(this).queue(); |
360 | - } else if (event instanceof ScheduleItemSelectedEvent) { | |
388 | + } else if (event instanceof ScheduleItemSelectEvent) { | |
361 | 389 | super.broadcast(event); |
362 | 390 | new AjaxEvent(this).queue(); |
363 | 391 | FacesContext facesContext = getFacesContext(); |
364 | - MethodBinding expression = getItemSelectedListener(); | |
392 | + MethodBinding expression = getItemSelectListener(); | |
365 | 393 | if (expression != null) { |
366 | 394 | expression.invoke(facesContext, new Object[]{event}); |
367 | 395 | } |
368 | - } else if (event instanceof ScheduleViewChangedEvent) { | |
396 | + } else if (event instanceof ScheduleViewChangeEvent) { | |
369 | 397 | super.broadcast(event); |
370 | 398 | new AjaxEvent(this).queue(); |
371 | 399 | FacesContext facesContext = getFacesContext(); |
372 | - MethodBinding expression = getViewChangedListener(); | |
400 | + MethodBinding expression = getViewChangeListener(); | |
373 | 401 | if (expression != null) { |
374 | 402 | expression.invoke(facesContext, new Object[]{event}); |
375 | 403 | } |
376 | - } else if (event instanceof ScheduleDateSelectedEvent) { | |
404 | + } else if (event instanceof ScheduleDateSelectEvent) { | |
377 | 405 | super.broadcast(event); |
378 | 406 | new AjaxEvent(this).queue(); |
379 | 407 | FacesContext facesContext = getFacesContext(); |
380 | - MethodBinding expression = getDateSelectedListener(); | |
408 | + MethodBinding expression = getDateSelectListener(); | |
381 | 409 | if (expression != null) { |
382 | 410 | expression.invoke(facesContext, new Object[]{event}); |
383 | 411 | } |
384 | - } else if (event instanceof ScheduleDateRangeSelectedEvent) { | |
412 | + } else if (event instanceof ScheduleDateRangeSelectEvent) { | |
385 | 413 | super.broadcast(event); |
386 | 414 | new AjaxEvent(this).queue(); |
387 | 415 | FacesContext facesContext = getFacesContext(); |
388 | - MethodBinding expression = getDateRangeSelectedListener(); | |
416 | + MethodBinding expression = getDateRangeSelectListener(); | |
389 | 417 | if (expression != null) { |
390 | 418 | expression.invoke(facesContext, new Object[]{event}); |
391 | 419 | } |
... | ... | @@ -406,7 +434,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
406 | 434 | // XXX - use more pourful search, as in h:outputLabel |
407 | 435 | // component. |
408 | 436 | UIComponent focusComponent = RendererUtils.getInstance(). |
409 | - findComponentFor(this, focus); | |
437 | + findComponentFor(this, focus); | |
410 | 438 | if (null != focusComponent) { |
411 | 439 | focus = focusComponent.getClientId(context); |
412 | 440 | } |
... | ... | @@ -541,7 +569,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
541 | 569 | if (VIEW_MONTH.equals(view)) { |
542 | 570 | if (WEEK_MODE_FIXED.equals(getWeekMode(schedule))) { |
543 | 571 | calendar.setTime(getFirstDisplayedDay(schedule)); |
544 | - calendar.add(Calendar.DAY_OF_YEAR, 7 * 6); | |
572 | + calendar.add(Calendar.DAY_OF_YEAR, 42); | |
545 | 573 | } else { |
546 | 574 | Date date = schedule.getDate(); |
547 | 575 | if (date != null) { |
... | ... | @@ -597,37 +625,28 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
597 | 625 | */ |
598 | 626 | public static boolean isShowWeekends(UISchedule schedule) { |
599 | 627 | Boolean showWeekends = schedule.getShowWeekends(); |
600 | - return showWeekends == null || schedule.getShowWeekends(); | |
628 | + return showWeekends == null ? UISchedule.DEFAULT_SHOW_WEEKENDS : schedule.getShowWeekends(); | |
601 | 629 | } |
602 | 630 | |
603 | 631 | public static int getFirstDay(UISchedule schedule) { |
604 | 632 | Integer firstDay = schedule.getFirstDay(); |
605 | - if (firstDay == null) { | |
606 | - firstDay = Calendar.SUNDAY; | |
607 | - } | |
608 | - return firstDay; | |
633 | + return firstDay == null ? UISchedule.DEFAULT_FIRST_DAY : firstDay; | |
609 | 634 | } |
610 | 635 | |
611 | 636 | public static String getWeekMode(UISchedule schedule) { |
612 | 637 | String weekMode = schedule.getWeekMode(); |
613 | - if (weekMode == null) { | |
614 | - weekMode = WEEK_MODE_FIXED; | |
615 | - } | |
616 | - return weekMode; | |
638 | + return weekMode == null ? UISchedule.DEFAULT_WEEK_MODE : weekMode; | |
617 | 639 | } |
618 | 640 | |
619 | 641 | public static String getView(UISchedule schedule) { |
620 | 642 | String view = schedule.getView(); |
621 | - if (view == null) { | |
622 | - view = VIEW_MONTH; | |
623 | - } | |
624 | - return view; | |
643 | + return view == null ? UISchedule.DEFAULT_VIEW : view; | |
625 | 644 | } |
626 | 645 | |
627 | 646 | protected DataModel getDataModel() { |
628 | 647 | // Return any previously cached DataModel instance |
629 | 648 | if (this.model != null) { |
630 | - return (model); | |
649 | + return model; | |
631 | 650 | } |
632 | 651 | |
633 | 652 | // Synthesize a DataModel around our current value if possible |
... | ... | @@ -647,7 +666,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
647 | 666 | } else { |
648 | 667 | setDataModel(new ScalarDataModel(current)); |
649 | 668 | } |
650 | - return (model); | |
669 | + return model; | |
651 | 670 | |
652 | 671 | } |
653 | 672 | |
... | ... | @@ -655,16 +674,16 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
655 | 674 | this.model = model; |
656 | 675 | } |
657 | 676 | |
658 | - public void addItemSelectedListener(ScheduleItemSelectedListener listener) { | |
677 | + public void addItemSelectListener(ScheduleItemSelectListener listener) { | |
659 | 678 | addFacesListener(listener); |
660 | 679 | } |
661 | 680 | |
662 | - public void removeItemSelectedListener(ScheduleItemSelectedListener listener) { | |
681 | + public void removeItemSelectListener(ScheduleItemSelectListener listener) { | |
663 | 682 | removeFacesListener(listener); |
664 | 683 | } |
665 | 684 | |
666 | - public ScheduleItemSelectedListener[] getItemSelectedListeners() { | |
667 | - return (ScheduleItemSelectedListener[]) getFacesListeners(ScheduleItemSelectedListener.class); | |
685 | + public ScheduleItemSelectListener[] getItemSelectListeners() { | |
686 | + return (ScheduleItemSelectListener[]) getFacesListeners(ScheduleItemSelectListener.class); | |
668 | 687 | } |
669 | 688 | |
670 | 689 | public void addItemMoveListener(ScheduleItemMoveListener listener) { |
... | ... | @@ -691,51 +710,51 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm |
691 | 710 | return (ScheduleItemResizeListener[]) getFacesListeners(ScheduleItemResizeListener.class); |
692 | 711 | } |
693 | 712 | |
694 | - public void addViewChangedListener(ScheduleViewChangedListener listener) { | |
713 | + public void addViewChangeListener(ScheduleViewChangeListener listener) { | |
695 | 714 | addFacesListener(listener); |
696 | 715 | } |
697 | 716 | |
698 | - public void removeViewChangedListener(ScheduleViewChangedListener listener) { | |
717 | + public void removeViewChangeListener(ScheduleViewChangeListener listener) { | |
699 | 718 | removeFacesListener(listener); |
700 | 719 | } |
701 | 720 | |
702 | - public ScheduleViewChangedListener[] getViewChangedListeners() { | |
703 | - return (ScheduleViewChangedListener[]) getFacesListeners(ScheduleViewChangedListener.class); | |
721 | + public ScheduleViewChangeListener[] getViewChangeListeners() { | |
722 | + return (ScheduleViewChangeListener[]) getFacesListeners(ScheduleViewChangeListener.class); | |
704 | 723 | } |
705 | 724 | |
706 | - public void addDateRangeChangedListener(ScheduleDateRangeChangedListener listener) { | |
725 | + public void addDateRangeChangeListener(ScheduleDateRangeChangeListener listener) { | |
707 | 726 | addFacesListener(listener); |
708 | 727 | } |
709 | 728 | |
710 | - public void removeDateRangeChangedListener(ScheduleDateRangeChangedListener listener) { | |
729 | + public void removeDateRangeChangeListener(ScheduleDateRangeChangeListener listener) { | |
711 | 730 | removeFacesListener(listener); |
712 | 731 | } |
713 | 732 | |
714 | - public ScheduleDateRangeChangedListener[] getDateRangeChangedListeners() { | |
715 | - return (ScheduleDateRangeChangedListener[]) getFacesListeners(ScheduleDateRangeChangedListener.class); | |
733 | + public ScheduleDateRangeChangeListener[] getDateRangeChangeListeners() { | |
734 | + return (ScheduleDateRangeChangeListener[]) getFacesListeners(ScheduleDateRangeChangeListener.class); | |
716 | 735 | } |
717 | 736 | |
718 | - public void addDateRangeSelectedListener(ScheduleDateRangeSelectedListener listener) { | |
737 | + public void addDateRangeSelectListener(ScheduleDateRangeSelectListener listener) { | |
719 | 738 | addFacesListener(listener); |
720 | 739 | } |
721 | 740 | |
722 | - public void removeDateRangeSelectedListener(ScheduleDateRangeSelectedListener listener) { | |
741 | + public void removeDateRangeSelectListener(ScheduleDateRangeSelectListener listener) { | |
723 | 742 | removeFacesListener(listener); |
724 | 743 | } |
725 | 744 | |
726 | - public ScheduleDateRangeSelectedListener[] getDateRangeSelectedListeners() { | |
727 | - return (ScheduleDateRangeSelectedListener[]) getFacesListeners(ScheduleDateRangeSelectedListener.class); | |
745 | + public ScheduleDateRangeSelectListener[] getDateRangeSelectListeners() { | |
746 | + return (ScheduleDateRangeSelectListener[]) getFacesListeners(ScheduleDateRangeSelectListener.class); | |
728 | 747 | } |
729 | 748 | |
730 | - public void addDateSelectedListener(ScheduleDateSelectedListener listener) { | |
749 | + public void addDateSelectListener(ScheduleDateSelectListener listener) { | |
731 | 750 | addFacesListener(listener); |
732 | 751 | } |
733 | 752 | |
734 | - public void removeDateSelectedListener(ScheduleDateSelectedListener listener) { | |
753 | + public void removeDateSelectListener(ScheduleDateSelectListener listener) { | |
735 | 754 | removeFacesListener(listener); |
736 | 755 | } |
737 | 756 | |
738 | - public ScheduleDateSelectedListener[] getDateSelectedListeners() { | |
739 | - return (ScheduleDateSelectedListener[]) getFacesListeners(ScheduleDateSelectedListener.class); | |
757 | + public ScheduleDateSelectListener[] getDateSelectListeners() { | |
758 | + return (ScheduleDateSelectListener[]) getFacesListeners(ScheduleDateSelectListener.class); | |
740 | 759 | } |
741 | 760 | } | ... | ... |
... | ... | @@ -10,6 +10,8 @@ public abstract class UIScheduleItem extends UIComponentBase { |
10 | 10 | |
11 | 11 | public static final String COMPONENT_TYPE = "org.richfaces.ScheduleItem"; |
12 | 12 | public static final String COMPONENT_FAMILY = "org.richfaces.Schedule"; |
13 | + public static final boolean DEFAULT_ALL_DAY = true; | |
14 | + public static final boolean DEFAULT_EDITABLE = UISchedule.DEFAULT_EDITABLE; | |
13 | 15 | |
14 | 16 | public abstract String getStyleClass(); |
15 | 17 | ... | ... |
... | ... | @@ -5,12 +5,12 @@ import javax.faces.event.FacesEvent; |
5 | 5 | import javax.faces.event.FacesListener; |
6 | 6 | import java.util.Date; |
7 | 7 | |
8 | -public class ScheduleDateRangeChangedEvent extends FacesEvent { | |
8 | +public class ScheduleDateRangeChangeEvent extends FacesEvent { | |
9 | 9 | |
10 | 10 | private Date startDate; |
11 | 11 | private Date endDate; |
12 | 12 | |
13 | - public ScheduleDateRangeChangedEvent(UIComponent component, Date startDate, Date endDate) { | |
13 | + public ScheduleDateRangeChangeEvent(UIComponent component, Date startDate, Date endDate) { | |
14 | 14 | super(component); |
15 | 15 | this.startDate = startDate; |
16 | 16 | this.endDate = endDate; |
... | ... | @@ -31,11 +31,11 @@ public class ScheduleDateRangeChangedEvent extends FacesEvent { |
31 | 31 | |
32 | 32 | @Override |
33 | 33 | public boolean isAppropriateListener(FacesListener listener) { |
34 | - return listener instanceof ScheduleDateRangeChangedListener; | |
34 | + return listener instanceof ScheduleDateRangeChangeListener; | |
35 | 35 | } |
36 | 36 | |
37 | 37 | @Override |
38 | 38 | public void processListener(FacesListener listener) { |
39 | - ((ScheduleDateRangeChangedListener) listener).dateRangeChanged(this); | |
39 | + ((ScheduleDateRangeChangeListener) listener).dateRangeChanged(this); | |
40 | 40 | } |
41 | 41 | } | ... | ... |
... | ... | @@ -2,7 +2,7 @@ package org.richfaces.component.event; |
2 | 2 | |
3 | 3 | import javax.faces.event.FacesListener; |
4 | 4 | |
5 | -public interface ScheduleDateRangeChangedListener extends FacesListener { | |
5 | +public interface ScheduleDateRangeChangeListener extends FacesListener { | |
6 | 6 | |
7 | - void dateRangeChanged(ScheduleDateRangeChangedEvent event); | |
7 | + void dateRangeChanged(ScheduleDateRangeChangeEvent event); | |
8 | 8 | } | ... | ... |
... | ... | @@ -5,13 +5,13 @@ import javax.faces.event.FacesEvent; |
5 | 5 | import javax.faces.event.FacesListener; |
6 | 6 | import java.util.Date; |
7 | 7 | |
8 | -public class ScheduleDateRangeSelectedEvent extends FacesEvent { | |
8 | +public class ScheduleDateRangeSelectEvent extends FacesEvent { | |
9 | 9 | |
10 | 10 | private Date startDate; |
11 | 11 | private Date endDate; |
12 | 12 | private boolean allDay; |
13 | 13 | |
14 | - public ScheduleDateRangeSelectedEvent(UIComponent component, Date startDate, Date endDate, boolean allDay) { | |
14 | + public ScheduleDateRangeSelectEvent(UIComponent component, Date startDate, Date endDate, boolean allDay) { | |
15 | 15 | super(component); |
16 | 16 | this.startDate = startDate; |
17 | 17 | this.endDate = endDate; |
... | ... | @@ -19,11 +19,11 @@ public class ScheduleDateRangeSelectedEvent extends FacesEvent { |
19 | 19 | } |
20 | 20 | |
21 | 21 | public boolean isAppropriateListener(FacesListener facesListener) { |
22 | - return facesListener instanceof ScheduleDateSelectedListener; | |
22 | + return facesListener instanceof ScheduleDateSelectListener; | |
23 | 23 | } |
24 | 24 | |
25 | 25 | public void processListener(FacesListener facesListener) { |
26 | - ((ScheduleDateRangeSelectedListener) facesListener).dateRangeSelected(this); | |
26 | + ((ScheduleDateRangeSelectListener) facesListener).dateRangeSelected(this); | |
27 | 27 | } |
28 | 28 | |
29 | 29 | public Date getStartDate() { | ... | ... |
... | ... | @@ -2,7 +2,7 @@ package org.richfaces.component.event; |
2 | 2 | |
3 | 3 | import javax.faces.event.FacesListener; |
4 | 4 | |
5 | -public interface ScheduleDateRangeSelectedListener extends FacesListener { | |
5 | +public interface ScheduleDateRangeSelectListener extends FacesListener { | |
6 | 6 | |
7 | - void dateRangeSelected(ScheduleDateRangeSelectedEvent event); | |
7 | + void dateRangeSelected(ScheduleDateRangeSelectEvent event); | |
8 | 8 | } | ... | ... |
... | ... | @@ -5,23 +5,23 @@ import javax.faces.event.FacesEvent; |
5 | 5 | import javax.faces.event.FacesListener; |
6 | 6 | import java.util.Date; |
7 | 7 | |
8 | -public class ScheduleDateSelectedEvent extends FacesEvent { | |
8 | +public class ScheduleDateSelectEvent extends FacesEvent { | |
9 | 9 | |
10 | 10 | private Date date; |
11 | 11 | private boolean allDay; |
12 | 12 | |
13 | - public ScheduleDateSelectedEvent(UIComponent component, Date date, boolean allDay) { | |
13 | + public ScheduleDateSelectEvent(UIComponent component, Date date, boolean allDay) { | |
14 | 14 | super(component); |
15 | 15 | this.date = date; |
16 | 16 | this.allDay = allDay; |
17 | 17 | } |
18 | 18 | |
19 | 19 | public boolean isAppropriateListener(FacesListener facesListener) { |
20 | - return facesListener instanceof ScheduleDateSelectedListener; | |
20 | + return facesListener instanceof ScheduleDateSelectListener; | |
21 | 21 | } |
22 | 22 | |
23 | 23 | public void processListener(FacesListener facesListener) { |
24 | - ((ScheduleDateSelectedListener) facesListener).dateSelected(this); | |
24 | + ((ScheduleDateSelectListener) facesListener).dateSelected(this); | |
25 | 25 | } |
26 | 26 | |
27 | 27 | public Date getDate() { | ... | ... |
... | ... | @@ -2,7 +2,7 @@ package org.richfaces.component.event; |
2 | 2 | |
3 | 3 | import javax.faces.event.FacesListener; |
4 | 4 | |
5 | -public interface ScheduleDateSelectedListener extends FacesListener { | |
5 | +public interface ScheduleDateSelectListener extends FacesListener { | |
6 | 6 | |
7 | - void dateSelected(ScheduleDateSelectedEvent event); | |
7 | + void dateSelected(ScheduleDateSelectEvent event); | |
8 | 8 | } | ... | ... |
... | ... | @@ -45,6 +45,7 @@ public class ScheduleItemMoveEvent extends FacesEvent { |
45 | 45 | |
46 | 46 | @Override |
47 | 47 | public String toString() { |
48 | - return getClass().getSimpleName() + "[eventId=" + eventId + ";dayDelta=" + dayDelta + ";minuteDelta=" + minuteDelta + ";allDay=" + allDay + "]"; | |
48 | + return getClass().getSimpleName() + "[eventId=" + eventId + ";dayDelta=" + dayDelta | |
49 | + + ";minuteDelta=" + minuteDelta + ";allDay=" + allDay + "]"; | |
49 | 50 | } |
50 | 51 | } | ... | ... |
... | ... | @@ -39,6 +39,7 @@ public class ScheduleItemResizeEvent extends FacesEvent { |
39 | 39 | |
40 | 40 | @Override |
41 | 41 | public String toString() { |
42 | - return getClass().getSimpleName() + "[eventId=" + eventId + ";dayDelta=" + dayDelta + ";minuteDelta=" + minuteDelta + "]"; | |
42 | + return getClass().getSimpleName() + "[eventId=" + eventId + ";dayDelta=" + dayDelta | |
43 | + + ";minuteDelta=" + minuteDelta + "]"; | |
43 | 44 | } |
44 | 45 | } | ... | ... |
... | ... | @@ -4,21 +4,21 @@ import javax.faces.component.UIComponent; |
4 | 4 | import javax.faces.event.FacesEvent; |
5 | 5 | import javax.faces.event.FacesListener; |
6 | 6 | |
7 | -public class ScheduleItemSelectedEvent extends FacesEvent { | |
7 | +public class ScheduleItemSelectEvent extends FacesEvent { | |
8 | 8 | |
9 | 9 | private String eventId; |
10 | 10 | |
11 | - public ScheduleItemSelectedEvent(UIComponent component, String eventId) { | |
11 | + public ScheduleItemSelectEvent(UIComponent component, String eventId) { | |
12 | 12 | super(component); |
13 | 13 | this.eventId = eventId; |
14 | 14 | } |
15 | 15 | |
16 | 16 | public boolean isAppropriateListener(FacesListener facesListener) { |
17 | - return facesListener instanceof ScheduleItemSelectedListener; | |
17 | + return facesListener instanceof ScheduleItemSelectListener; | |
18 | 18 | } |
19 | 19 | |
20 | 20 | public void processListener(FacesListener facesListener) { |
21 | - ((ScheduleItemSelectedListener) facesListener).itemSelected(this); | |
21 | + ((ScheduleItemSelectListener) facesListener).itemSelected(this); | |
22 | 22 | } |
23 | 23 | |
24 | 24 | public String getEventId() { | ... | ... |
... | ... | @@ -2,7 +2,7 @@ package org.richfaces.component.event; |
2 | 2 | |
3 | 3 | import javax.faces.event.FacesListener; |
4 | 4 | |
5 | -public interface ScheduleItemSelectedListener extends FacesListener { | |
5 | +public interface ScheduleItemSelectListener extends FacesListener { | |
6 | 6 | |
7 | - public void itemSelected(ScheduleItemSelectedEvent event); | |
7 | + public void itemSelected(ScheduleItemSelectEvent event); | |
8 | 8 | } | ... | ... |
... | ... | @@ -2,11 +2,11 @@ package org.richfaces.component.event; |
2 | 2 | |
3 | 3 | public interface ScheduleListenerEventsProducer { |
4 | 4 | |
5 | - void addItemSelectedListener(ScheduleItemSelectedListener listener); | |
5 | + void addItemSelectListener(ScheduleItemSelectListener listener); | |
6 | 6 | |
7 | - void removeItemSelectedListener(ScheduleItemSelectedListener listener); | |
7 | + void removeItemSelectListener(ScheduleItemSelectListener listener); | |
8 | 8 | |
9 | - ScheduleItemSelectedListener[] getItemSelectedListeners(); | |
9 | + ScheduleItemSelectListener[] getItemSelectListeners(); | |
10 | 10 | |
11 | 11 | void addItemMoveListener(ScheduleItemMoveListener listener); |
12 | 12 | |
... | ... | @@ -20,27 +20,27 @@ public interface ScheduleListenerEventsProducer { |
20 | 20 | |
21 | 21 | ScheduleItemResizeListener[] getItemResizeListeners(); |
22 | 22 | |
23 | - void addViewChangedListener(ScheduleViewChangedListener listener); | |
23 | + void addViewChangeListener(ScheduleViewChangeListener listener); | |
24 | 24 | |
25 | - void removeViewChangedListener(ScheduleViewChangedListener listener); | |
25 | + void removeViewChangeListener(ScheduleViewChangeListener listener); | |
26 | 26 | |
27 | - ScheduleViewChangedListener[] getViewChangedListeners(); | |
27 | + ScheduleViewChangeListener[] getViewChangeListeners(); | |
28 | 28 | |
29 | - void addDateRangeChangedListener(ScheduleDateRangeChangedListener listener); | |
29 | + void addDateRangeChangeListener(ScheduleDateRangeChangeListener listener); | |
30 | 30 | |
31 | - void removeDateRangeChangedListener(ScheduleDateRangeChangedListener listener); | |
31 | + void removeDateRangeChangeListener(ScheduleDateRangeChangeListener listener); | |
32 | 32 | |
33 | - ScheduleDateRangeChangedListener[] getDateRangeChangedListeners(); | |
33 | + ScheduleDateRangeChangeListener[] getDateRangeChangeListeners(); | |
34 | 34 | |
35 | - void addDateRangeSelectedListener(ScheduleDateRangeSelectedListener listener); | |
35 | + void addDateRangeSelectListener(ScheduleDateRangeSelectListener listener); | |
36 | 36 | |
37 | - void removeDateRangeSelectedListener(ScheduleDateRangeSelectedListener listener); | |
37 | + void removeDateRangeSelectListener(ScheduleDateRangeSelectListener listener); | |
38 | 38 | |
39 | - ScheduleDateRangeSelectedListener[] getDateRangeSelectedListeners(); | |
39 | + ScheduleDateRangeSelectListener[] getDateRangeSelectListeners(); | |
40 | 40 | |
41 | - void addDateSelectedListener(ScheduleDateSelectedListener listener); | |
41 | + void addDateSelectListener(ScheduleDateSelectListener listener); | |
42 | 42 | |
43 | - void removeDateSelectedListener(ScheduleDateSelectedListener listener); | |
43 | + void removeDateSelectListener(ScheduleDateSelectListener listener); | |
44 | 44 | |
45 | - ScheduleDateSelectedListener[] getDateSelectedListeners(); | |
45 | + ScheduleDateSelectListener[] getDateSelectListeners(); | |
46 | 46 | } | ... | ... |
... | ... | @@ -4,21 +4,21 @@ import javax.faces.component.UIComponent; |
4 | 4 | import javax.faces.event.FacesEvent; |
5 | 5 | import javax.faces.event.FacesListener; |
6 | 6 | |
7 | -public class ScheduleViewChangedEvent extends FacesEvent { | |
7 | +public class ScheduleViewChangeEvent extends FacesEvent { | |
8 | 8 | |
9 | 9 | private String view; |
10 | 10 | |
11 | - public ScheduleViewChangedEvent(UIComponent component, String view) { | |
11 | + public ScheduleViewChangeEvent(UIComponent component, String view) { | |
12 | 12 | super(component); |
13 | 13 | this.view = view; |
14 | 14 | } |
15 | 15 | |
16 | 16 | public boolean isAppropriateListener(FacesListener facesListener) { |
17 | - return facesListener instanceof ScheduleViewChangedListener; | |
17 | + return facesListener instanceof ScheduleViewChangeListener; | |
18 | 18 | } |
19 | 19 | |
20 | 20 | public void processListener(FacesListener facesListener) { |
21 | - ((ScheduleViewChangedListener) facesListener).viewChanged(this); | |
21 | + ((ScheduleViewChangeListener) facesListener).viewChanged(this); | |
22 | 22 | } |
23 | 23 | |
24 | 24 | public String getView() { | ... | ... |
... | ... | @@ -2,7 +2,7 @@ package org.richfaces.component.event; |
2 | 2 | |
3 | 3 | import javax.faces.event.FacesListener; |
4 | 4 | |
5 | -public interface ScheduleViewChangedListener extends FacesListener { | |
5 | +public interface ScheduleViewChangeListener extends FacesListener { | |
6 | 6 | |
7 | - void viewChanged(ScheduleViewChangedEvent event); | |
7 | + void viewChanged(ScheduleViewChangeEvent event); | |
8 | 8 | } | ... | ... |
... | ... | @@ -6,8 +6,20 @@ import org.ajax4jsf.javascript.JSObject; |
6 | 6 | import org.ajax4jsf.javascript.JSReference; |
7 | 7 | import org.ajax4jsf.renderkit.AjaxComponentRendererBase; |
8 | 8 | import org.ajax4jsf.renderkit.AjaxRendererUtils; |
9 | -import org.richfaces.component.*; | |
10 | -import org.richfaces.component.event.*; | |
9 | +import org.richfaces.component.ScheduleCommonViewAttributes; | |
10 | +import org.richfaces.component.UISchedule; | |
11 | +import org.richfaces.component.UIScheduleAgendaDayView; | |
12 | +import org.richfaces.component.UIScheduleAgendaWeekView; | |
13 | +import org.richfaces.component.UIScheduleBasicDayView; | |
14 | +import org.richfaces.component.UIScheduleBasicWeekView; | |
15 | +import org.richfaces.component.UIScheduleMonthView; | |
16 | +import org.richfaces.component.event.ScheduleDateRangeChangeEvent; | |
17 | +import org.richfaces.component.event.ScheduleDateRangeSelectEvent; | |
18 | +import org.richfaces.component.event.ScheduleDateSelectEvent; | |
19 | +import org.richfaces.component.event.ScheduleItemMoveEvent; | |
20 | +import org.richfaces.component.event.ScheduleItemResizeEvent; | |
21 | +import org.richfaces.component.event.ScheduleItemSelectEvent; | |
22 | +import org.richfaces.component.event.ScheduleViewChangeEvent; | |
11 | 23 | |
12 | 24 | import javax.faces.FacesException; |
13 | 25 | import javax.faces.component.NamingContainer; |
... | ... | @@ -15,20 +27,22 @@ import javax.faces.component.UIComponent; |
15 | 27 | import javax.faces.context.FacesContext; |
16 | 28 | import javax.faces.context.ResponseWriter; |
17 | 29 | import java.io.IOException; |
18 | -import java.util.*; | |
30 | +import java.util.Calendar; | |
31 | +import java.util.Collections; | |
32 | +import java.util.Date; | |
33 | +import java.util.HashMap; | |
34 | +import java.util.Locale; | |
35 | +import java.util.Map; | |
19 | 36 | |
20 | 37 | public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { |
21 | 38 | |
22 | 39 | public static final String ITEM_MOVE_EVENT = "itemMove"; |
23 | 40 | public static final String ITEM_RESIZE_EVENT = "itemResize"; |
24 | - public static final String ITEM_SELECTED_EVENT = "itemSelected"; | |
25 | - public static final String DATE_RANGE_CHANGED_EVENT = "dateRangeChanged"; | |
26 | - public static final String VIEW_CHANGED_EVENT = "viewChanged"; | |
27 | - public static final String DATE_SELECTED_EVENT = "dateSelected"; | |
28 | - public static final String DATE_RANGE_SELECTED_EVENT = "dateRangeSelected"; | |
29 | - public static final String AJAX_MODE = "ajax"; | |
30 | - public static final String SERVER_MODE = "server"; | |
31 | - public static final String CLIENT_MODE = "client"; | |
41 | + public static final String ITEM_SELECT_EVENT = "itemSelect"; | |
42 | + public static final String DATE_RANGE_CHANGE_EVENT = "dateRangeChange"; | |
43 | + public static final String VIEW_CHANGE_EVENT = "viewChange"; | |
44 | + public static final String DATE_SELECT_EVENT = "dateSelect"; | |
45 | + public static final String DATE_RANGE_SELECT_EVENT = "dateRangeSelect"; | |
32 | 46 | private static final String CALLBACK = "callback"; |
33 | 47 | private static final String END_DATE_PARAM = "endDate"; |
34 | 48 | private static final String START_DATE_PARAM = "startDate"; |
... | ... | @@ -38,33 +52,55 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { |
38 | 52 | private static final String ALL_DAY_PARAM = "allDay"; |
39 | 53 | private static final String EVENT_TYPE_PARAM = "eventType"; |
40 | 54 | private static final String VIEW_PARAM = "view"; |
55 | + private static final Map<String, Object> DEFAULTS; | |
41 | 56 | |
42 | - protected Object createSubmitEventFunction(FacesContext context, UISchedule component) { | |
43 | - JSFunction jsFunction; | |
44 | - Map<String, Object> params = new HashMap<String, Object>(); | |
45 | - params.put(getFieldId(context, component, START_DATE_PARAM), new JSReference(START_DATE_PARAM)); | |
46 | - params.put(getFieldId(context, component, END_DATE_PARAM), new JSReference(END_DATE_PARAM)); | |
47 | - params.put(getFieldId(context, component, ITEM_ID_PARAM), new JSReference(ITEM_ID_PARAM)); | |
48 | - params.put(getFieldId(context, component, DAY_DELTA_PARAM), new JSReference(DAY_DELTA_PARAM)); | |
49 | - params.put(getFieldId(context, component, MINUTE_DELTA_PARAM), new JSReference(MINUTE_DELTA_PARAM)); | |
50 | - params.put(getFieldId(context, component, ALL_DAY_PARAM), new JSReference(ALL_DAY_PARAM)); | |
51 | - params.put(getFieldId(context, component, EVENT_TYPE_PARAM), new JSReference(EVENT_TYPE_PARAM)); | |
52 | - params.put(getFieldId(context, component, VIEW_PARAM), new JSReference(VIEW_PARAM)); | |
53 | - if (isAjaxMode(component)) { | |
54 | - jsFunction = AjaxRendererUtils.buildAjaxFunction(component, context); | |
55 | - Map<String, Object> eventOptions = AjaxRendererUtils.buildEventOptions(context, component, params); | |
56 | - eventOptions.put("oncomplete", new JSReference(CALLBACK)); | |
57 | - jsFunction.addParameter(eventOptions); | |
58 | - } else if (SERVER_MODE.equals(component.getSwitchType())) { | |
59 | - jsFunction = new JSFunction("Richfaces.jsFormSubmit", | |
60 | - component.getClientId(context), | |
61 | - getUtils().getNestingForm(context, component).getClientId(context), | |
62 | - null, | |
63 | - params); | |
64 | - } else { | |
65 | - return null; | |
66 | - } | |
67 | - return new JSFunctionDefinition("event", VIEW_PARAM, EVENT_TYPE_PARAM, ITEM_ID_PARAM, START_DATE_PARAM, END_DATE_PARAM, DAY_DELTA_PARAM, MINUTE_DELTA_PARAM, ALL_DAY_PARAM, CALLBACK).addToBody(jsFunction); | |
57 | + /** | |
58 | + * Following defaults are be used by addOptionIfSetAndNotDefault | |
59 | + */ | |
60 | + static { | |
61 | + Map<String, Object> defaults = new HashMap<String, Object>(); | |
62 | + defaults.put("styleClass", ""); | |
63 | + defaults.put("defaultView", UISchedule.DEFAULT_VIEW); | |
64 | + defaults.put("firstDay", UISchedule.DEFAULT_FIRST_DAY); | |
65 | + defaults.put("isRTL", UISchedule.DEFAULT_RTL); | |
66 | + defaults.put("weekends", UISchedule.DEFAULT_SHOW_WEEKENDS); | |
67 | + defaults.put("weekMode", UISchedule.DEFAULT_WEEK_MODE); | |
68 | + defaults.put("aspectRatio", UISchedule.DEFAULT_ASPECT_RATIO); | |
69 | + defaults.put("allDaySlot", UISchedule.DEFAULT_ALL_DAY_SLOT); | |
70 | + defaults.put("axisFormat", UISchedule.DEFAULT_AXIS_FORMAT); | |
71 | + defaults.put("slotMinutes", UISchedule.DEFAULT_SLOT_MINUTES); | |
72 | + defaults.put("defaultEventMinutes", UISchedule.DEFAULT_EVENT_MINUTES); | |
73 | + defaults.put("firstHour", UISchedule.DEFAULT_FIRST_HOUR); | |
74 | + defaults.put("minTime", UISchedule.DEFAULT_MIN_TIME); | |
75 | + defaults.put("maxTime", UISchedule.DEFAULT_MAX_TIME); | |
76 | + defaults.put("editable", UISchedule.DEFAULT_EDITABLE); | |
77 | + defaults.put("selectable", UISchedule.DEFAULT_SELECTABLE); | |
78 | + defaults.put("selectHelper", UISchedule.DEFAULT_SELECT_HELPER); | |
79 | + defaults.put("unselectAuto", UISchedule.DEFAULT_UNSELECT_AUTO); | |
80 | + defaults.put("unselectCancel", UISchedule.DEFAULT_UNSELECT_CANCEL); | |
81 | + defaults.put("disableDragging", UISchedule.DEFAULT_DISABLE_DRAGGING); | |
82 | + defaults.put("disableResizing", UISchedule.DEFAULT_DISABLE_RESIZING); | |
83 | + defaults.put("dragRevertDuration", UISchedule.DEFAULT_DRAG_REVERT_DURATION); | |
84 | + defaults.put("allDayDefault", UISchedule.DEFAULT_ALL_DAY_DEFAULT); | |
85 | + defaults.put("onbeforeitemselect", ""); | |
86 | + defaults.put("onitemselect", ""); | |
87 | + defaults.put("onbeforeitemdrop", ""); | |
88 | + defaults.put("onitemdrop", ""); | |
89 | + defaults.put("onbeforeitemresize", ""); | |
90 | + defaults.put("onitemresize", ""); | |
91 | + defaults.put("onitemresizestart", ""); | |
92 | + defaults.put("onitemresizestop", ""); | |
93 | + defaults.put("onitemdragstart", ""); | |
94 | + defaults.put("onitemdragstop", ""); | |
95 | + defaults.put("onitemmouseover", ""); | |
96 | + defaults.put("onitemmouseout", ""); | |
97 | + defaults.put("onviewchange", ""); | |
98 | + defaults.put("onbeforedateselect", ""); | |
99 | + defaults.put("ondateselect", ""); | |
100 | + defaults.put("onbeforedaterangeselect", ""); | |
101 | + defaults.put("ondaterangeselect", ""); | |
102 | + defaults.put("ondaterangechange", ""); | |
103 | + DEFAULTS = Collections.unmodifiableMap(defaults); | |
68 | 104 | } |
69 | 105 | |
70 | 106 | @Override |
... | ... | @@ -74,20 +110,28 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { |
74 | 110 | } |
75 | 111 | Map<String, String> requestParameterMap = context.getExternalContext().getRequestParameterMap(); |
76 | 112 | if (requestParameterMap.get(component.getClientId(context)) != null) { |
77 | - String startDateParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, START_DATE_PARAM)); | |
78 | - String endDateParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, END_DATE_PARAM)); | |
79 | - String itemIdParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, ITEM_ID_PARAM)); | |
80 | - String dayDeltaParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, DAY_DELTA_PARAM)); | |
81 | - String minuteDeltaParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, MINUTE_DELTA_PARAM)); | |
82 | - String allDayParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, ALL_DAY_PARAM)); | |
83 | - String eventTypeParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, EVENT_TYPE_PARAM)); | |
84 | - String viewParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, VIEW_PARAM)); | |
113 | + String startDateParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, | |
114 | + START_DATE_PARAM)); | |
115 | + String endDateParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, | |
116 | + END_DATE_PARAM)); | |
117 | + String itemIdParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, | |
118 | + ITEM_ID_PARAM)); | |
119 | + String dayDeltaParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, | |
120 | + DAY_DELTA_PARAM)); | |
121 | + String minuteDeltaParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, | |
122 | + MINUTE_DELTA_PARAM)); | |
123 | + String allDayParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, | |
124 | + ALL_DAY_PARAM)); | |
125 | + String eventTypeParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, | |
126 | + EVENT_TYPE_PARAM)); | |
127 | + String viewParam = requestParameterMap.get(getFieldId(context, (UISchedule) component, | |
128 | + VIEW_PARAM)); | |
85 | 129 | |
86 | 130 | try { |
87 | - if (DATE_RANGE_CHANGED_EVENT.equals(eventTypeParam)) { | |
131 | + if (DATE_RANGE_CHANGE_EVENT.equals(eventTypeParam)) { | |
88 | 132 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); |
89 | 133 | Date endDate = new Date(Long.parseLong(endDateParam) * 1000); |
90 | - new ScheduleDateRangeChangedEvent(component, startDate, endDate).queue(); | |
134 | + new ScheduleDateRangeChangeEvent(component, startDate, endDate).queue(); | |
91 | 135 | } else if (ITEM_MOVE_EVENT.equals(eventTypeParam)) { |
92 | 136 | int dayDelta = Integer.parseInt(dayDeltaParam); |
93 | 137 | int minuteDelta = Integer.parseInt(minuteDeltaParam); |
... | ... | @@ -97,19 +141,19 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { |
97 | 141 | int dayDelta = Integer.parseInt(dayDeltaParam); |
98 | 142 | int minuteDelta = Integer.parseInt(minuteDeltaParam); |
99 | 143 | new ScheduleItemResizeEvent(component, itemIdParam, dayDelta, minuteDelta).queue(); |
100 | - } else if (ITEM_SELECTED_EVENT.equals(eventTypeParam)) { | |
101 | - new ScheduleItemSelectedEvent(component, itemIdParam).queue(); | |
102 | - } else if (VIEW_CHANGED_EVENT.equals(eventTypeParam)) { | |
103 | - new ScheduleViewChangedEvent(component, viewParam).queue(); | |
104 | - } else if (DATE_SELECTED_EVENT.equals(eventTypeParam)) { | |
144 | + } else if (ITEM_SELECT_EVENT.equals(eventTypeParam)) { | |
145 | + new ScheduleItemSelectEvent(component, itemIdParam).queue(); | |
146 | + } else if (VIEW_CHANGE_EVENT.equals(eventTypeParam)) { | |
147 | + new ScheduleViewChangeEvent(component, viewParam).queue(); | |
148 | + } else if (DATE_SELECT_EVENT.equals(eventTypeParam)) { | |
105 | 149 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); |
106 | 150 | boolean allDay = Boolean.parseBoolean(allDayParam); |
107 | - new ScheduleDateSelectedEvent(component, startDate, allDay).queue(); | |
108 | - } else if (DATE_RANGE_SELECTED_EVENT.equals(eventTypeParam)) { | |
151 | + new ScheduleDateSelectEvent(component, startDate, allDay).queue(); | |
152 | + } else if (DATE_RANGE_SELECT_EVENT.equals(eventTypeParam)) { | |
109 | 153 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); |
110 | 154 | Date endDate = new Date(Long.parseLong(endDateParam) * 1000); |
111 | 155 | boolean allDay = Boolean.parseBoolean(allDayParam); |
112 | - new ScheduleDateRangeSelectedEvent(component, startDate, endDate, allDay).queue(); | |
156 | + new ScheduleDateRangeSelectEvent(component, startDate, endDate, allDay).queue(); | |
113 | 157 | } |
114 | 158 | } catch (NumberFormatException ex) { |
115 | 159 | throw new FacesException("Cannot convert request parmeters", ex); |
... | ... | @@ -126,19 +170,50 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { |
126 | 170 | writer.writeText("var " + widgetVar + " = ", null); |
127 | 171 | } |
128 | 172 | writer.writeText(new JSObject("RichFaces.Schedule", clientId, locale.toString(), |
129 | - getOptions(component), | |
130 | - DATE_RANGE_CHANGED_EVENT, | |
131 | - ITEM_SELECTED_EVENT, | |
132 | - ITEM_MOVE_EVENT, | |
133 | - ITEM_RESIZE_EVENT, | |
134 | - VIEW_CHANGED_EVENT, | |
135 | - DATE_SELECTED_EVENT, | |
136 | - DATE_RANGE_SELECTED_EVENT, | |
137 | - createSubmitEventFunction(context, component)).toScript(), | |
138 | - null); | |
173 | + getOptions(component), | |
174 | + DATE_RANGE_CHANGE_EVENT, | |
175 | + ITEM_SELECT_EVENT, | |
176 | + ITEM_MOVE_EVENT, | |
177 | + ITEM_RESIZE_EVENT, | |
178 | + VIEW_CHANGE_EVENT, | |
179 | + DATE_SELECT_EVENT, | |
180 | + DATE_RANGE_SELECT_EVENT, | |
181 | + createSubmitEventFunction(context, component)).toScript(), | |
182 | + null); | |
139 | 183 | } |
140 | 184 | |
141 | - public Map<String, Object> getOptions(UISchedule schedule) throws IOException { | |
185 | + protected Object createSubmitEventFunction(FacesContext context, UISchedule component) { | |
186 | + JSFunction jsFunction; | |
187 | + Map<String, Object> params = new HashMap<String, Object>(); | |
188 | + params.put(getFieldId(context, component, START_DATE_PARAM), new JSReference(START_DATE_PARAM)); | |
189 | + params.put(getFieldId(context, component, END_DATE_PARAM), new JSReference(END_DATE_PARAM)); | |
190 | + params.put(getFieldId(context, component, ITEM_ID_PARAM), new JSReference(ITEM_ID_PARAM)); | |
191 | + params.put(getFieldId(context, component, DAY_DELTA_PARAM), new JSReference(DAY_DELTA_PARAM)); | |
192 | + params.put(getFieldId(context, component, MINUTE_DELTA_PARAM), new JSReference(MINUTE_DELTA_PARAM)); | |
193 | + params.put(getFieldId(context, component, ALL_DAY_PARAM), new JSReference(ALL_DAY_PARAM)); | |
194 | + params.put(getFieldId(context, component, EVENT_TYPE_PARAM), new JSReference(EVENT_TYPE_PARAM)); | |
195 | + params.put(getFieldId(context, component, VIEW_PARAM), new JSReference(VIEW_PARAM)); | |
196 | + String clientId = component.getClientId(context); | |
197 | + params.put(clientId, clientId); | |
198 | + if (isAjaxMode(component)) { | |
199 | + jsFunction = AjaxRendererUtils.buildAjaxFunction(component, context); | |
200 | + Map<String, Object> eventOptions = AjaxRendererUtils.buildEventOptions(context, component, params); | |
201 | + eventOptions.put("oncomplete", new JSReference(CALLBACK)); | |
202 | + jsFunction.addParameter(eventOptions); | |
203 | + } else if (UISchedule.SWITCH_TYPE_SERVER.equals(component.getSwitchType())) { | |
204 | + jsFunction = new JSFunction("Richfaces.jsFormSubmit", | |
205 | + component.getClientId(context), | |
206 | + getUtils().getNestingForm(context, component).getClientId(context), | |
207 | + null, | |
208 | + params); | |
209 | + } else { | |
210 | + return null; | |
211 | + } | |
212 | + return new JSFunctionDefinition("event", VIEW_PARAM, EVENT_TYPE_PARAM, ITEM_ID_PARAM, START_DATE_PARAM, | |
213 | + END_DATE_PARAM, DAY_DELTA_PARAM, MINUTE_DELTA_PARAM, ALL_DAY_PARAM, CALLBACK).addToBody(jsFunction); | |
214 | + } | |
215 | + | |
216 | + protected Map<String, Object> getOptions(UISchedule schedule) throws IOException { | |
142 | 217 | /** |
143 | 218 | * Copy attributes from child view components |
144 | 219 | */ |
... | ... | @@ -170,66 +245,67 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { |
170 | 245 | * Include only attributes that are actually set. |
171 | 246 | */ |
172 | 247 | Map<String, Object> options = new HashMap<String, Object>(); |
173 | - addOptionIfSet("defaultView", schedule.getView(), options); | |
174 | -// TODO shall we numerate firstDayOfWeek as in Calendar (sunday=1,monday=2,etc.) or like in widget(sunday=0,monday=1,etc.)? | |
175 | - if (schedule.getFirstDay() != null) { | |
176 | - options.put("firstDay", schedule.getFirstDay() - 1); | |
248 | + addOptionIfSetAndNotDefault("defaultView", schedule.getView(), options); | |
249 | + /** | |
250 | + * firstDayOfWeek numeration in Calendar (sunday=1,monday=2,etc.) and in widget(sunday=0,monday=1,etc.) | |
251 | + */ | |
252 | + Integer firstDay = schedule.getFirstDay(); | |
253 | + if (firstDay != null) { | |
254 | + addOptionIfSetAndNotDefault("firstDay", firstDay - 1, options); | |
177 | 255 | } |
178 | - addOptionIfSet("isRTL", schedule.getIsRTL(), options); | |
179 | - addOptionIfSet("weekends", schedule.getShowWeekends(), options); | |
180 | - addOptionIfSet("weekMode", schedule.getWeekMode(), options); | |
181 | - addOptionIfSet("height", schedule.getHeight(), options); | |
182 | - addOptionIfSet("contentHeight", schedule.getContentHeight(), options); | |
183 | - addOptionIfSet("aspectRatio", schedule.getAspectRatio(), options); | |
184 | - addOptionIfSet("allDaySlot", schedule.getAllDaySlot(), options); | |
185 | - addOptionIfSet("allDayText", schedule.getAllDayText(), options); | |
186 | - addOptionIfSet("axisFormat", schedule.getAxisFormat(), options); | |
187 | - addOptionIfSet("slotMinutes", schedule.getSlotMinutes(), options); | |
188 | - addOptionIfSet("defaultEventMinutes", schedule.getDefaultEventMinutes(), options); | |
189 | - addOptionIfSet("firstHour", schedule.getFirstHour(), options); | |
190 | - addOptionIfSet("minTime", schedule.getMinTime(), options); | |
191 | - addOptionIfSet("maxTime", schedule.getMaxTime(), options); | |
192 | - addOptionIfSet("editable", schedule.getEditable(), options); | |
193 | - addOptionIfSet("selectable", schedule.getSelectable(), options); | |
194 | - addOptionIfSet("selectHelper", schedule.getSelectHelper(), options); | |
195 | - addOptionIfSet("unselectAuto", schedule.getUnselectAuto(), options); | |
196 | - addOptionIfSet("unselectCancel", schedule.getUnselectCancel(), options); | |
197 | - addOptionIfSet("disableDragging", schedule.getDisableDragging(), options); | |
198 | - addOptionIfSet("disableResizing", schedule.getDisableResizing(), options); | |
199 | - addOptionIfSet("dragRevertDuration", schedule.getDragRevertDuration(), options); | |
256 | + addOptionIfSetAndNotDefault("isRTL", schedule.getIsRTL(), options); | |
257 | + addOptionIfSetAndNotDefault("weekends", schedule.getShowWeekends(), options); | |
258 | + addOptionIfSetAndNotDefault("weekMode", schedule.getWeekMode(), options); | |
259 | + addOptionIfSetAndNotDefault("height", schedule.getHeight(), options); | |
260 | + addOptionIfSetAndNotDefault("contentHeight", schedule.getContentHeight(), options); | |
261 | + addOptionIfSetAndNotDefault("aspectRatio", schedule.getAspectRatio(), options); | |
262 | + addOptionIfSetAndNotDefault("allDaySlot", schedule.getAllDaySlot(), options); | |
263 | + addOptionIfSetAndNotDefault("allDayText", schedule.getAllDayText(), options); | |
264 | + addOptionIfSetAndNotDefault("axisFormat", schedule.getAxisFormat(), options); | |
265 | + addOptionIfSetAndNotDefault("slotMinutes", schedule.getSlotMinutes(), options); | |
266 | + addOptionIfSetAndNotDefault("defaultEventMinutes", schedule.getDefaultEventMinutes(), options); | |
267 | + addOptionIfSetAndNotDefault("firstHour", schedule.getFirstHour(), options); | |
268 | + addOptionIfSetAndNotDefault("minTime", schedule.getMinTime(), options); | |
269 | + addOptionIfSetAndNotDefault("maxTime", schedule.getMaxTime(), options); | |
270 | + addOptionIfSetAndNotDefault("editable", schedule.getEditable(), options); | |
271 | + addOptionIfSetAndNotDefault("selectable", schedule.getSelectable(), options); | |
272 | + addOptionIfSetAndNotDefault("selectHelper", schedule.getSelectHelper(), options); | |
273 | + addOptionIfSetAndNotDefault("unselectAuto", schedule.getUnselectAuto(), options); | |
274 | + addOptionIfSetAndNotDefault("unselectCancel", schedule.getUnselectCancel(), options); | |
275 | + addOptionIfSetAndNotDefault("disableDragging", schedule.getDisableDragging(), options); | |
276 | + addOptionIfSetAndNotDefault("disableResizing", schedule.getDisableResizing(), options); | |
277 | + addOptionIfSetAndNotDefault("dragRevertDuration", schedule.getDragRevertDuration(), options); | |
200 | 278 | addOptionHash("dragOpacity", schedule, options); |
201 | 279 | addOptionHash("titleFormat", schedule, options); |
202 | 280 | addOptionHash("timeFormat", schedule, options); |
203 | 281 | addOptionHash("columnFormat", schedule, options); |
204 | 282 | Map<String, Object> headerOptions = new HashMap<String, Object>(3); |
205 | - addOptionIfSet("left", schedule.getHeaderLeft(), headerOptions); | |
206 | - addOptionIfSet("center", schedule.getHeaderCenter(), headerOptions); | |
207 | - addOptionIfSet("right", schedule.getHeaderRight(), headerOptions); | |
283 | + addOptionIfSetAndNotDefault("left", schedule.getHeaderLeft(), headerOptions); | |
284 | + addOptionIfSetAndNotDefault("center", schedule.getHeaderCenter(), headerOptions); | |
285 | + addOptionIfSetAndNotDefault("right", schedule.getHeaderRight(), headerOptions); | |
208 | 286 | if (headerOptions.size() > 0) { |
209 | 287 | options.put("header", headerOptions); |
210 | 288 | } |
211 | - addOptionIfSet("allDayDefault", schedule.getAllDayByDefault(), options); | |
289 | + addOptionIfSetAndNotDefault("allDayDefault", schedule.getAllDayByDefault(), options); | |
212 | 290 | |
213 | - addOptionIfSet("onItemSelected", schedule.getOnItemSelected(), options); | |
214 | - addOptionIfSet("onItemSelectedComplete", schedule.getOnItemSelectedComplete(), options); | |
215 | - addOptionIfSet("onItemDrop", schedule.getOnItemDrop(), options); | |
216 | - addOptionIfSet("onItemDropComplete", schedule.getOnItemDropComplete(), options); | |
217 | - addOptionIfSet("onItemResized", schedule.getOnItemResized(), options); | |
218 | - addOptionIfSet("onItemResizedComplete", schedule.getOnItemResizedComplete(), options); | |
219 | - addOptionIfSet("onItemResizeStart", schedule.getOnItemResizeStart(), options); | |
220 | - addOptionIfSet("onItemResizeStop", schedule.getOnItemResizeStop(), options); | |
221 | - addOptionIfSet("onItemDragStart", schedule.getOnItemDragStart(), options); | |
222 | - addOptionIfSet("onItemDragStop", schedule.getOnItemDragStop(), options); | |
223 | - addOptionIfSet("onItemMouseover", schedule.getOnItemMouseover(), options); | |
224 | - addOptionIfSet("onItemMouseout", schedule.getOnItemMouseout(), options); | |
225 | - addOptionIfSet("onViewChanged", schedule.getOnViewChanged(), options); | |
226 | - addOptionIfSet("onViewChangedComplete", schedule.getOnViewChangedComplete(), options); | |
227 | - addOptionIfSet("onDateSelected", schedule.getOnDateSelected(), options); | |
228 | - addOptionIfSet("onDateSelectedComplete", schedule.getOnDateSelectedComplete(), options); | |
229 | - addOptionIfSet("onDateRangeSelected", schedule.getOnDateRangeSelected(), options); | |
230 | - addOptionIfSet("onDateRangeSelectedComplete", schedule.getOnDateRangeSelectedComplete(), options); | |
231 | - addOptionIfSet("onDateRangeChanged", schedule.getOnDateRangeChanged(), options); | |
232 | - addOptionIfSet("onDateRangeChangedComplete", schedule.getOnDateRangeChangedComplete(), options); | |
291 | + addOptionIfSetAndNotDefault("onbeforeitemselect", schedule.getOnbeforeitemselect(), options); | |
292 | + addOptionIfSetAndNotDefault("onitemselect", schedule.getOnitemselect(), options); | |
293 | + addOptionIfSetAndNotDefault("onbeforeitemdrop", schedule.getOnbeforeitemdrop(), options); | |
294 | + addOptionIfSetAndNotDefault("onitemdrop", schedule.getOnitemdrop(), options); | |
295 | + addOptionIfSetAndNotDefault("onbeforeitemresize", schedule.getOnbeforeitemresize(), options); | |
296 | + addOptionIfSetAndNotDefault("onitemresize", schedule.getOnitemresize(), options); | |
297 | + addOptionIfSetAndNotDefault("onitemresizestart", schedule.getOnitemresizestart(), options); | |
298 | + addOptionIfSetAndNotDefault("onitemresizestop", schedule.getOnitemresizestop(), options); | |
299 | + addOptionIfSetAndNotDefault("onitemdragstart", schedule.getOnitemdragstart(), options); | |
300 | + addOptionIfSetAndNotDefault("onitemdragstop", schedule.getOnitemdragstop(), options); | |
301 | + addOptionIfSetAndNotDefault("onitemmouseover", schedule.getOnitemmouseover(), options); | |
302 | + addOptionIfSetAndNotDefault("onitemmouseout", schedule.getOnitemmouseout(), options); | |
303 | + addOptionIfSetAndNotDefault("onviewchange", schedule.getOnviewchange(), options); | |
304 | + addOptionIfSetAndNotDefault("onbeforedateselect", schedule.getOnbeforedateselect(), options); | |
305 | + addOptionIfSetAndNotDefault("ondateselect", schedule.getOndateselect(), options); | |
306 | + addOptionIfSetAndNotDefault("onbeforedaterangeselect", schedule.getOnbeforedaterangeselect(), options); | |
307 | + addOptionIfSetAndNotDefault("ondaterangeselect", schedule.getOndaterangeselect(), options); | |
308 | + addOptionIfSetAndNotDefault("ondaterangechange", schedule.getOndaterangechange(), options); | |
233 | 309 | if (schedule.getDate() != null) { |
234 | 310 | Calendar calendar = Calendar.getInstance(); |
235 | 311 | calendar.setTime(schedule.getDate()); |
... | ... | @@ -262,40 +338,40 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { |
262 | 338 | return options; |
263 | 339 | } |
264 | 340 | |
265 | - protected void addOptionIfSet(String optionName, Object value, Map<String, Object> options) { | |
266 | - if (value != null && value != "") { | |
341 | + protected void addOptionIfSetAndNotDefault(String optionName, Object value, Map<String, Object> options) { | |
342 | + if (value != null && !"".equals(value) && !value.equals(DEFAULTS.get(optionName))) { | |
267 | 343 | options.put(optionName, value); |
268 | 344 | } |
269 | 345 | } |
270 | 346 | |
271 | - public String getFieldId(FacesContext context, UISchedule component, String attribute) { | |
347 | + protected String getFieldId(FacesContext context, UISchedule component, String attribute) { | |
272 | 348 | return getUtils().clientId(context, component) + NamingContainer.SEPARATOR_CHAR + attribute; |
273 | 349 | } |
274 | 350 | |
351 | + protected boolean isAjaxMode(UISchedule component) { | |
352 | + String mode = component.getSwitchType(); | |
353 | + return UISchedule.SWITCH_TYPE_AJAX.equals(mode) || "".equals(mode) || null == mode; | |
354 | + } | |
355 | + | |
356 | + protected boolean isClientMode(UISchedule component) { | |
357 | + String mode = component.getSwitchType(); | |
358 | + return UISchedule.SWITCH_TYPE_CLIENT.equals(mode); | |
359 | + } | |
360 | + | |
275 | 361 | private void addOptionHash(String attribute, UIComponent source, Map<String, Object> options) { |
276 | 362 | Map<String, Object> hash = new HashMap<String, Object>(3); |
277 | 363 | Map<String, Object> attributes = source.getAttributes(); |
278 | - addOptionIfSet("month", attributes.get(attribute + "Month"), hash); | |
279 | - addOptionIfSet("basicWeek", attributes.get(attribute + "BasicWeek"), hash); | |
280 | - addOptionIfSet("agendaWeek", attributes.get(attribute + "AgendaWeek"), hash); | |
281 | - addOptionIfSet("basicDay", attributes.get(attribute + "BasicDay"), hash); | |
282 | - addOptionIfSet("agendaDay", attributes.get(attribute + "AgendaDay"), hash); | |
283 | - addOptionIfSet("", attributes.get(attribute), hash); | |
364 | + addOptionIfSetAndNotDefault("month", attributes.get(attribute + "Month"), hash); | |
365 | + addOptionIfSetAndNotDefault("basicWeek", attributes.get(attribute + "BasicWeek"), hash); | |
366 | + addOptionIfSetAndNotDefault("agendaWeek", attributes.get(attribute + "AgendaWeek"), hash); | |
367 | + addOptionIfSetAndNotDefault("basicDay", attributes.get(attribute + "BasicDay"), hash); | |
368 | + addOptionIfSetAndNotDefault("agendaDay", attributes.get(attribute + "AgendaDay"), hash); | |
369 | + addOptionIfSetAndNotDefault("", attributes.get(attribute), hash); | |
284 | 370 | if (hash.size() > 0) { |
285 | 371 | options.put(attribute, hash); |
286 | 372 | } |
287 | 373 | } |
288 | 374 | |
289 | - private boolean isAjaxMode(UISchedule component) { | |
290 | - String mode = component.getSwitchType(); | |
291 | - return AJAX_MODE.equals(mode) || "".equals(mode) || null == mode; | |
292 | - } | |
293 | - | |
294 | - private boolean isClientMode(UISchedule component) { | |
295 | - String mode = component.getSwitchType(); | |
296 | - return CLIENT_MODE.equals(mode); | |
297 | - } | |
298 | - | |
299 | 375 | private static void copyAttribute(String attribute, String suffix, UIComponent source, UIComponent target) { |
300 | 376 | Object value = source.getAttributes().get(attribute); |
301 | 377 | if (value != null) { | ... | ... |
... | ... | @@ -19,7 +19,7 @@ public class ScheduleMessages extends ClientScript { |
19 | 19 | |
20 | 20 | public static final String BUNDLE_NAME = "org.richfaces.component.UIScheduleMessages"; |
21 | 21 | private static final String MESSAGE_KEY_BASE = "org.richfaces.component.UISchedule."; |
22 | - private static final Log log = LogFactory.getLog(ClientScript.class); | |
22 | + private static final Log LOG = LogFactory.getLog(ScheduleMessages.class); | |
23 | 23 | |
24 | 24 | @Override |
25 | 25 | public InputStream getResourceAsStream(ResourceContext context) { |
... | ... | @@ -34,10 +34,12 @@ public class ScheduleMessages extends ClientScript { |
34 | 34 | Locale locale = supportedLocales.next(); |
35 | 35 | ResourceBundle applicationBundle = ResourceBundle.getBundle(application.getMessageBundle(), locale, loader); |
36 | 36 | ResourceBundle stockBundle = ResourceBundle.getBundle(BUNDLE_NAME, locale, loader); |
37 | - String[] months = new String[]{"JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"}; | |
37 | + String[] months = new String[]{"JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", | |
38 | + "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"}; | |
38 | 39 | String[] days = new String[]{"SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"}; |
39 | 40 | out.append("'").append(locale.toString()).append("':{"); |
40 | - out.append("allDayText:'").append(escape(getMessageFromBundle(MESSAGE_KEY_BASE + "allDay", applicationBundle, stockBundle))).append("',"); | |
41 | + out.append("allDayText:'").append(escape(getMessageFromBundle(MESSAGE_KEY_BASE + "allDay", | |
42 | + applicationBundle, stockBundle))).append("',"); | |
41 | 43 | appendArray(out, applicationBundle, stockBundle, "monthNames", "monthNames", months); |
42 | 44 | out.append(","); |
43 | 45 | appendArray(out, applicationBundle, stockBundle, "monthNamesShort", "monthNamesShort", months); |
... | ... | @@ -46,20 +48,23 @@ public class ScheduleMessages extends ClientScript { |
46 | 48 | out.append(","); |
47 | 49 | appendArray(out, applicationBundle, stockBundle, "dayNamesShort", "dayNamesShort", days); |
48 | 50 | out.append(","); |
49 | - appendMap(out, applicationBundle, stockBundle, "buttonText", "buttonTexts", new String[]{"prev", "next", "prevYear", "nextYear", "today", "month", "day", "week"}); | |
51 | + appendMap(out, applicationBundle, stockBundle, "buttonText", "buttonTexts", new String[]{"prev", "next", | |
52 | + "prevYear", "nextYear", "today", "month", "day", "week"}); | |
50 | 53 | out.append("},"); |
51 | 54 | } |
52 | 55 | out.delete(out.length() - 1, out.length()); |
53 | 56 | out.append("})"); |
54 | 57 | try { |
55 | 58 | // TODO where to get encoding from? It should match properties file's encoding, but probably be converted to response encoding |
56 | - return new ByteArrayInputStream(out.toString().getBytes(application.getViewHandler().calculateCharacterEncoding(facesContext))); | |
59 | + return new ByteArrayInputStream(out.toString().getBytes(application.getViewHandler() | |
60 | + .calculateCharacterEncoding(facesContext))); | |
57 | 61 | } catch (UnsupportedEncodingException e) { |
58 | 62 | throw new RuntimeException(e); |
59 | 63 | } |
60 | 64 | } |
61 | 65 | |
62 | - private void appendArray(StringBuilder out, ResourceBundle applicationBundle, ResourceBundle stockBundle, String jsPropertyName, String prefix, String[] keys) { | |
66 | + private void appendArray(StringBuilder out, ResourceBundle applicationBundle, ResourceBundle stockBundle, | |
67 | + String jsPropertyName, String prefix, String[] keys) { | |
63 | 68 | String key; |
64 | 69 | out.append(jsPropertyName).append(":["); |
65 | 70 | for (int i = 0; i < keys.length; i++) { |
... | ... | @@ -72,12 +77,15 @@ public class ScheduleMessages extends ClientScript { |
72 | 77 | out.append("]"); |
73 | 78 | } |
74 | 79 | |
75 | - private void appendMap(StringBuilder out, ResourceBundle applicationBundle, ResourceBundle stockBundle, String jsPropertyName, String prefix, String[] keys) { | |
80 | + private void appendMap(StringBuilder out, ResourceBundle applicationBundle, ResourceBundle stockBundle, | |
81 | + String jsPropertyName, String prefix, String[] keys) { | |
76 | 82 | String key; |
77 | 83 | out.append(jsPropertyName).append(":{"); |
78 | 84 | for (int i = 0; i < keys.length; i++) { |
79 | 85 | key = MESSAGE_KEY_BASE + prefix + "." + keys[i]; |
80 | - out.append(keys[i]).append(":").append("'").append(escape(getMessageFromBundle(key, applicationBundle, stockBundle))).append("'"); | |
86 | + out.append(keys[i]).append(":").append("'").append(escape( | |
87 | + getMessageFromBundle(key, applicationBundle, stockBundle)) | |
88 | + ).append("'"); | |
81 | 89 | if (i + 1 < keys.length) { |
82 | 90 | out.append(","); |
83 | 91 | } |
... | ... | @@ -92,8 +100,8 @@ public class ScheduleMessages extends ClientScript { |
92 | 100 | try { |
93 | 101 | return stockBundle.getString(key); |
94 | 102 | } catch (MissingResourceException e1) { |
95 | - if (log.isWarnEnabled()) { | |
96 | - log.warn("Cannot find resource " + e1.getKey() + " in bundle " + e1.getClassName()); | |
103 | + if (LOG.isWarnEnabled()) { | |
104 | + LOG.warn("Cannot find resource " + e1.getKey() + " in bundle " + e1.getClassName()); | |
97 | 105 | } |
98 | 106 | return ""; |
99 | 107 | } | ... | ... |
1 | 1 | package org.richfaces.taglib; |
2 | 2 | |
3 | 3 | import com.sun.facelets.FaceletContext; |
4 | -import com.sun.facelets.tag.*; | |
4 | +import com.sun.facelets.tag.MetaRule; | |
5 | +import com.sun.facelets.tag.MetaRuleset; | |
6 | +import com.sun.facelets.tag.Metadata; | |
7 | +import com.sun.facelets.tag.MetadataTarget; | |
8 | +import com.sun.facelets.tag.TagAttribute; | |
5 | 9 | import com.sun.facelets.tag.jsf.ComponentConfig; |
6 | 10 | import com.sun.facelets.tag.jsf.ComponentHandler; |
7 | 11 | import org.richfaces.event.NodeExpandedEvent; |
... | ... | @@ -12,12 +16,12 @@ import javax.faces.el.MethodBinding; |
12 | 16 | |
13 | 17 | public class ScheduleTagHandlerBase extends ComponentHandler { |
14 | 18 | |
15 | - private final static String DATE_RANGE_CHANGED_LISTENER = "dateRangeChangedListener"; | |
16 | - private final static String DATE_SELECTED_LISTENER = "dateSelectedListener"; | |
19 | + private final static String DATE_RANGE_CHANGED_LISTENER = "dateRangeChangeListener"; | |
20 | + private final static String DATE_SELECTED_LISTENER = "dateSelectListener"; | |
17 | 21 | private final static String ITEM_RESIZE_LISTENER = "itemResizeListener"; |
18 | 22 | private final static String ITEM_MOVE_LISTENER = "itemMoveListener"; |
19 | - private final static String ITEM_SELECTED_LISTENER = "itemSelectedListener"; | |
20 | - private final static String VIEW_CHANGED_LISTENER = "viewChangedListener"; | |
23 | + private final static String ITEM_SELECTED_LISTENER = "itemSelectListener"; | |
24 | + private final static String VIEW_CHANGED_LISTENER = "viewChangeListener"; | |
21 | 25 | |
22 | 26 | public ScheduleTagHandlerBase(ComponentConfig config) { |
23 | 27 | super(config); | ... | ... |
This diff could not be displayed because it is too large.
1 | -window.RichFaces = window.RichFaces || {}; | |
2 | -//TODO test ajax reRender | |
3 | -RichFaces.Schedule = function(id, locale, options, loadItemsEventName, itemSelectedEventName, itemMovedEventName, itemResizedEventName, viewChangedEventName, daySelectedEventName, dateRangeSelectedEventName, submitEventFunction) { | |
4 | - | |
5 | - var _this = this; | |
6 | - this.scheduleNode = document.getElementById(id); | |
7 | - this.scheduleNode.component = this; | |
8 | - if (!this.scheduleNode) { | |
9 | - throw "No element with id '" + id + "' found."; | |
10 | - } | |
11 | - | |
12 | - /** | |
13 | - * Message bundle setup. | |
14 | - */ | |
15 | - options = jQuery.extend(this.messages[locale], options); | |
16 | - | |
17 | - jQuery(document).ready(function() { | |
18 | - _this.delegate = jQuery(_this.scheduleNode).fullCalendar(options); | |
19 | - window.status = _this.delegate; | |
20 | - }); | |
21 | - | |
22 | - | |
23 | - // --- | |
24 | - /** | |
25 | - * Utility functions. | |
26 | - */ | |
27 | - // --- | |
28 | - /** | |
29 | - * Converts javascript date into integer that can be used as param | |
30 | - * for new Date(long) - milliseconds since epoch. | |
31 | - */ | |
32 | - var formatDateParam = function(date) { | |
33 | - return Math.round(date.getTime() / 1000); | |
34 | - }; | |
35 | - /** | |
36 | - * Compares two dates with with an accuracy of a day. | |
37 | - */ | |
38 | - var isSameDay = function(dateA, dateB) { | |
39 | - if (!dateA instanceof Date || !dateB instanceof Date) { | |
40 | - throw "Both params must be Date objects"; | |
41 | - } | |
42 | - return dateA.getYear() == dateB.getYear() | |
43 | - && dateA.getMonth() == dateB.getMonth() | |
44 | - && dateA.getDate() == dateB.getDate(); | |
45 | - }; | |
46 | - // --- | |
47 | - /** | |
48 | - * DELEGATE SETUP. | |
49 | - * Delegate (fullCalendar) needs callback methods | |
50 | - * for various events such as item clicking, dragging, resizing or loading | |
51 | - * items. | |
52 | - * Functions below can be overriden by ones declared in "options" parameter. | |
53 | - */ | |
54 | - // --- | |
55 | - /** | |
56 | - * Called by fullCalendar when it needs to load items - initial load, | |
57 | - * view type change, time navigation. | |
58 | - * If in ajax mode, then some initial items should be provided. | |
59 | - * If so then they are used for the first invocation of this function. | |
60 | - * This avoids creating additional ajax request on initial rendering. | |
61 | - * Custom users code cannot raise veto so any return statements there are | |
62 | - * ignored. | |
63 | - */ | |
64 | - var dateRangeChange = function(startDate, endDate, callback) { | |
65 | - var firstInvocation = options.initialItems != null; | |
66 | - if (firstInvocation) { | |
67 | - var startDateData = options.initialItems.startDate; | |
68 | - var endDateData = options.initialItems.endDate; | |
69 | - var initialStartDate = new Date(startDateData.year, startDateData.month, startDateData.date); | |
70 | - var initialEndDate = new Date(endDateData.year, endDateData.month, endDateData.date); | |
71 | - var items = options.initialItems.items; | |
72 | - /** | |
73 | - * After initial load this should be cleaned so items are not cached. | |
74 | - */ | |
75 | - options.initialItems = null; | |
76 | - /** | |
77 | - * In case the JSF component made a mistake in calculating initial | |
78 | - * date range we don't use initial items and just continue. | |
79 | - */ | |
80 | - if (isSameDay(startDate, initialStartDate) && isSameDay(endDate, initialEndDate)) { | |
81 | - callback(items); | |
82 | - return; | |
83 | - } | |
84 | - } | |
85 | - if (!firstInvocation && options.onDateRangeChanged != null) { | |
86 | - RichFaces.Schedule.eval("(function(){" + options.onDateRangeChanged + "})()", { | |
87 | - 'startDate':startDate, | |
88 | - 'endDate':endDate | |
89 | - }); | |
90 | - } | |
91 | - if (submitEventFunction != null) { | |
92 | - submitEventFunction({} /* stub event */, | |
93 | - null, | |
94 | - loadItemsEventName, | |
95 | - null, | |
96 | - formatDateParam(startDate), | |
97 | - formatDateParam(endDate), | |
98 | - null, null, null, | |
99 | - function(request, event, data) { | |
100 | - var scheduleData = request.getJSON('_ajax:scheduleData') | |
101 | - if (scheduleData != undefined) { | |
102 | - callback(scheduleData); | |
103 | - } | |
104 | - if (options.onDateRangeChangedComplete != null) { | |
105 | - RichFaces.Schedule.eval("(function(){" + options.onDateRangeChangedComplete + "})()", { | |
106 | - 'startDate':startDate, | |
107 | - 'endDate':endDate, | |
108 | - 'request':request, | |
109 | - 'data':data, | |
110 | - 'items':scheduleData | |
111 | - }); | |
112 | - } | |
113 | - } | |
114 | - ); | |
115 | - } | |
116 | - }; | |
117 | - /** | |
118 | - * Called by fullCalendar when item has started to be dragged. | |
119 | - */ | |
120 | - var itemDragStart = function(item, event, ui, view) { | |
121 | - if (options.onItemDragStart != null) { | |
122 | - RichFaces.Schedule.eval("(function(){" + options.onItemDragStart + "})()", { | |
123 | - 'item':item, | |
124 | - 'event':event, | |
125 | - 'ui':ui, | |
126 | - 'view':view | |
127 | - }); | |
128 | - } | |
129 | - }; | |
130 | - /** | |
131 | - * Called by fullCalendar when item has stopped to be dragged. | |
132 | - * This is invoked between itemDragStart and itemDrop. | |
133 | - */ | |
134 | - var itemDragStop = function(item, event, ui, view) { | |
135 | - if (options.onItemDragStop != null) { | |
136 | - RichFaces.Schedule.eval("(function(){" + options.onItemDragStop + "})()", { | |
137 | - 'item':item, | |
138 | - 'event':event, | |
139 | - 'ui':ui, | |
140 | - 'view':view | |
141 | - }); | |
142 | - } | |
143 | - }; | |
144 | - /** | |
145 | - * Called by fullCalendar when item was dropped (dragging finished). | |
146 | - * This is invoked after itemDragStop. | |
147 | - * Custom users code may raise veto by returning "false". In such case | |
148 | - * changes will be reverted and no event will be sent to server. | |
149 | - */ | |
150 | - var itemDrop = function(item, dayDelta, minuteDelta, allDay, revertFunc, event, ui, view) { | |
151 | - var result; | |
152 | - if (options.onItemDrop != null) { | |
153 | - result = RichFaces.Schedule.eval("(function(){" + options.onItemDrop + "})()", { | |
154 | - 'item':item, | |
155 | - 'dayDelta':dayDelta, | |
156 | - 'minuteDelta':minuteDelta, | |
157 | - 'allDay':allDay, | |
158 | - 'event':event, | |
159 | - 'ui':ui, | |
160 | - 'view':view | |
161 | - }); | |
162 | - if (result === false) { | |
163 | - revertFunc(); | |
164 | - return; | |
165 | - } | |
166 | - } | |
167 | - if (submitEventFunction != null) { | |
168 | - submitEventFunction(event, | |
169 | - null, | |
170 | - itemMovedEventName, | |
171 | - item.id, | |
172 | - null, | |
173 | - null, | |
174 | - dayDelta, minuteDelta, allDay, | |
175 | - function(request, event, data) { | |
176 | - var decision = request.getJSON('_ajax:scheduleData'); | |
177 | - var vetoed = false; | |
178 | - if (decision != undefined && decision !== true) { | |
179 | - revertFunc(); | |
180 | - vetoed = true; | |
181 | - } | |
182 | - if (options.onItemDropComplete != null) { | |
183 | - RichFaces.Schedule.eval("(function(){" + options.onItemDropComplete + "})()", { | |
184 | - 'item':item, | |
185 | - 'dayDelta':dayDelta, | |
186 | - 'minuteDelta':minuteDelta, | |
187 | - 'allDay':allDay, | |
188 | - 'event':event, | |
189 | - 'ui':ui, | |
190 | - 'view':view, | |
191 | - 'request':request, | |
192 | - 'data':data, | |
193 | - 'vetoed':vetoed | |
194 | - }); | |
195 | - } | |
196 | - } | |
197 | - ); | |
198 | - } | |
199 | - return; | |
200 | - }; | |
201 | - /** | |
202 | - * Called by fullCalendar when item has started to be resized. | |
203 | - */ | |
204 | - var itemResizeStart = function(item, event, ui, view) { | |
205 | - if (options.onItemResizeStart != null) { | |
206 | - RichFaces.Schedule.eval("(function(){" + options.onItemResizeStart + "})()", { | |
207 | - 'item':item, | |
208 | - 'event':event, | |
209 | - 'ui':ui, | |
210 | - 'view':view | |
211 | - }); | |
212 | - } | |
213 | - }; | |
214 | - /** | |
215 | - * Called by fullCalendar when item has stopped to be resized. | |
216 | - * This is invoked between itemResizeStart and itemResized. | |
217 | - */ | |
218 | - var itemResizeStop = function(item, event, ui, view) { | |
219 | - if (options.onItemResizeStop != null) { | |
220 | - RichFaces.Schedule.eval("(function(){" + options.onItemResizeStop + "})()", { | |
221 | - 'item':item, | |
222 | - 'event':event, | |
223 | - 'ui':ui, | |
224 | - 'view':view | |
225 | - }); | |
226 | - } | |
227 | - }; | |
228 | - /** | |
229 | - * Called by fullCalendar when item was resized. | |
230 | - * This is invoked after itemResizeStop. | |
231 | - * Custom users code may raise veto by returning "false". In such case | |
232 | - * changes will be reverted and no event will be sent to server. | |
233 | - */ | |
234 | - var itemResized = function(item, dayDelta, minuteDelta, revertFunc, event, ui, view) { | |
235 | - var result; | |
236 | - if (options.onItemResized != null) { | |
237 | - result = RichFaces.Schedule.eval("(function(){" + options.onItemResized + "})()", { | |
238 | - 'item':item, | |
239 | - 'dayDelta':dayDelta, | |
240 | - 'minuteDelta':minuteDelta, | |
241 | - 'event':event, | |
242 | - 'ui':ui, | |
243 | - 'view':view | |
244 | - }); | |
245 | - if (result === false) { | |
246 | - revertFunc(); | |
247 | - return; | |
248 | - } | |
249 | - } | |
250 | - if (submitEventFunction != null) { | |
251 | - submitEventFunction(event, | |
252 | - null, | |
253 | - itemResizedEventName, | |
254 | - item.id, | |
255 | - null, | |
256 | - null, | |
257 | - dayDelta, minuteDelta, null, | |
258 | - function(request, event, data) { | |
259 | - var decision = request.getJSON('_ajax:scheduleData'); | |
260 | - var vetoed = false; | |
261 | - if (decision != undefined && decision !== true) { | |
262 | - revertFunc(); | |
263 | - vetoed = true; | |
264 | - } | |
265 | - if (options.onItemResizedComplete != null) { | |
266 | - RichFaces.Schedule.eval("(function(){" + options.onItemResizedComplete + "})()", { | |
267 | - 'item':item, | |
268 | - 'dayDelta':dayDelta, | |
269 | - 'minuteDelta':minuteDelta, | |
270 | - 'event':event, | |
271 | - 'ui':ui, | |
272 | - 'view':view, | |
273 | - 'request':request, | |
274 | - 'data':data, | |
275 | - 'vetoed':vetoed | |
276 | - }); | |
277 | - } | |
278 | - } | |
279 | - ); | |
280 | - } | |
281 | - }; | |
282 | - /** | |
283 | - * Called by fullCalendar when mouse moves over item. | |
284 | - */ | |
285 | - var itemMouseover = function(item, event, view) { | |
286 | - if (options.onItemMouseover != null) { | |
287 | - RichFaces.Schedule.eval("(function(){" + options.onItemMouseover + "})()", { | |
288 | - 'item':item, | |
289 | - 'event':event, | |
290 | - 'view':view | |
291 | - }); | |
292 | - } | |
293 | - }; | |
294 | - /** | |
295 | - * Called by fullCalendar when mouse leaves item. | |
296 | - */ | |
297 | - var itemMouseout = function(item, event, view) { | |
298 | - if (options.onItemMouseout != null) { | |
299 | - RichFaces.Schedule.eval("(function(){" + options.onItemMouseout + "})()", { | |
300 | - 'item':item, | |
301 | - 'event':event, | |
302 | - 'view':view | |
303 | - }); | |
304 | - } | |
305 | - }; | |
306 | - /** | |
307 | - * Called by fullCalendar when item is clicked. | |
308 | - * Custom users code may return "false". In such case | |
309 | - * changes no event will be sent to server and false will be returned | |
310 | - * to fullCalendar, which will prevent redirecting to URL associated | |
311 | - * with item (if such url was defined for the item). | |
312 | - */ | |
313 | - var itemClick = function(item, event, view) { | |
314 | - var result; | |
315 | - if (options.onItemSelected != null) { | |
316 | - result = RichFaces.Schedule.eval("(function(){" + options.onItemSelected + "})()", { | |
317 | - 'item':item, | |
318 | - 'event':event, | |
319 | - 'view':view | |
320 | - }); | |
321 | - } | |
322 | - if (result === false) { | |
323 | - return false; | |
324 | - } | |
325 | - if (submitEventFunction != null) { | |
326 | - submitEventFunction(event, | |
327 | - null, | |
328 | - itemSelectedEventName, | |
329 | - item.id, | |
330 | - null, null, null, null, null, function(request, event, data) { | |
331 | - if (options.onItemSelectedComplete != null) { | |
332 | - RichFaces.Schedule.eval("(function(){" + options.onItemSelectedComplete + "})()", { | |
333 | - 'item':item, | |
334 | - 'event':event, | |
335 | - 'view':view, | |
336 | - 'request':request, | |
337 | - 'data':data | |
338 | - }); | |
339 | - } | |
340 | - } | |
341 | - ); | |
342 | - } | |
343 | - return result; | |
344 | - }; | |
345 | - /** | |
346 | - * Called by fullCalendar when day is clicked. | |
347 | - * Custom users code may raise veto by returning "false". In such case | |
348 | - * changes will be reverted and no event will be sent to server. | |
349 | - */ | |
350 | - var dayClick = function(date, allDay, event, view) { | |
351 | - if (options.onDateSelected != null) { | |
352 | - var result = RichFaces.Schedule.eval("(function(){" + options.onDateSelected + "})()", { | |
353 | - 'date':date, | |
354 | - 'allDay':allDay, | |
355 | - 'event':event, | |
356 | - 'view':view | |
357 | - }); | |
358 | - if (result === false) { | |
359 | - return; | |
360 | - } | |
361 | - } | |
362 | - if (submitEventFunction != null) { | |
363 | - submitEventFunction(event, | |
364 | - null, | |
365 | - daySelectedEventName, | |
366 | - null, formatDateParam(date), null, null, null, allDay, function(request, event, data) { | |
367 | - if (options.onDateSelectedComplete != null) { | |
368 | - RichFaces.Schedule.eval("(function(){" + options.onDateSelectedComplete + "})()", { | |
369 | - 'date':date, | |
370 | - 'allDay':allDay, | |
371 | - 'request':request, | |
372 | - 'event':event, | |
373 | - 'view':view, | |
374 | - 'data':data | |
375 | - }); | |
376 | - } | |
377 | - } | |
378 | - ); | |
379 | - } | |
380 | - }; | |
381 | - var selectedView; | |
382 | - /** | |
383 | - * Called by fullCalendar when view or dates change. | |
384 | - * We want to notify user only about view change, so we cache current view | |
385 | - * on private variable "selectedView" and compare it with value passed | |
386 | - * in parameter. | |
387 | - * Custom users code may not raise veto so any "return" statements are | |
388 | - * ignored. | |
389 | - */ | |
390 | - var viewChanged = function(view) { | |
391 | - if (selectedView != view && selectedView != undefined) { | |
392 | - if (options.onViewChanged != null) { | |
393 | - RichFaces.Schedule.eval("(function(){" + options.onViewChanged + "})()", { | |
394 | - 'view':view | |
395 | - }); | |
396 | - } | |
397 | - if (submitEventFunction != null) { | |
398 | - submitEventFunction({}, | |
399 | - view.name, | |
400 | - viewChangedEventName, | |
401 | - null, null, null, null, null, null, function(request, event, data) { | |
402 | - if (options.onViewChangedComplete != null) { | |
403 | - RichFaces.Schedule.eval("(function(){" + options.onViewChangedComplete + "})()", { | |
404 | - 'view':view, | |
405 | - 'request':request, | |
406 | - 'data':data | |
407 | - }); | |
408 | - } | |
409 | - } | |
410 | - ); | |
411 | - } | |
412 | - } | |
413 | - selectedView = view; | |
414 | - }; | |
415 | - /** | |
416 | - * Called by fullCalendar when some date range is selected (user clicks | |
417 | - * and drags over empty time cells). | |
418 | - * Custom users code may raise veto by returning "false". In such case | |
419 | - * changes will be reverted and no event will be sent to server. | |
420 | - * What is more, selection will be cleared at the end of this function. | |
421 | - * (This is bad, i guess, but for now i don't see other way to | |
422 | - * hide selection marker after selection was made, event sent to server, | |
423 | - * and server side listeners have created new event for that selection. | |
424 | - * If no unselect would happen then we selection helper would still be there | |
425 | - * and mess the looks) | |
426 | - */ | |
427 | - var dateRangeSelected = function(startDate, endDate, allDay, view) { | |
428 | - if (!_this.delegate.fullCalendar('option', 'selectable')) { | |
429 | - return; | |
430 | - } | |
431 | - var result; | |
432 | - if (options.onDateRangeSelected != null) { | |
433 | - result = RichFaces.Schedule.eval("(function(){" + options.onDateRangeSelected + "})()", { | |
434 | - 'startDate':startDate, | |
435 | - 'endDate':endDate, | |
436 | - 'allDay':allDay, | |
437 | - 'view':view | |
438 | - }); | |
439 | - } | |
440 | - if (result === false) { | |
441 | - return; | |
442 | - } | |
443 | - if (submitEventFunction != null) { | |
444 | - submitEventFunction({}, | |
445 | - null, | |
446 | - dateRangeSelectedEventName, | |
447 | - null, formatDateParam(startDate), formatDateParam(endDate), null, null, allDay, | |
448 | - function(request, event, data) { | |
449 | - _this.refetchItems(); | |
450 | - if (options.onDateRangeSelectedComplete != null) { | |
451 | - RichFaces.Schedule.eval("(function(){" + options.onDateRangeSelectedComplete + "})()", { | |
452 | - 'startDate':startDate, | |
453 | - 'endDate':endDate, | |
454 | - 'allDay':allDay, | |
455 | - 'view':view, | |
456 | - 'request':request, | |
457 | - 'data':data | |
458 | - }); | |
459 | - } | |
460 | - } | |
461 | - ); | |
462 | - } | |
463 | - }; | |
464 | - options = jQuery.extend({ | |
465 | - events: dateRangeChange, | |
466 | - eventDragStart: itemDragStart, | |
467 | - eventDragStop: itemDragStop, | |
468 | - eventDrop: itemDrop, | |
469 | - eventResizeStart: itemResizeStart, | |
470 | - eventResizeStop: itemResizeStop, | |
471 | - eventResize: itemResized, | |
472 | - eventClick: itemClick, | |
473 | - eventMouseover: itemMouseover, | |
474 | - eventMouseout: itemMouseout, | |
475 | - viewDisplay: viewChanged, | |
476 | - dayClick: dayClick, | |
477 | - select: dateRangeSelected | |
478 | - }, options); | |
479 | - | |
480 | -}; | |
481 | -RichFaces.Schedule.prototype.messages = {}; | |
482 | -/** | |
483 | - * This function evaluates code in template with object in ScopeChain. | |
484 | - * This is usefull if you need to evaluate code that uses member names | |
485 | - * that colide with external names that the code refers to. | |
486 | - * There is almost exact method in utils.js called Richfaces.eval, | |
487 | - * but it swallows exception thrown during evaluation, which makes debugging | |
488 | - * hard. | |
489 | - */ | |
490 | -RichFaces.Schedule.eval = function(template, object) { | |
491 | - var value = ''; | |
492 | - with (object) { | |
493 | - value = eval(template); | |
494 | - } | |
495 | - return value; | |
496 | -} | |
497 | -RichFaces.Schedule.prototype.select = function(startDate, endDate, allDay) { | |
498 | - this.delegate.fullCalendar('select', startDate, endDate, allDay); | |
499 | -} | |
500 | -RichFaces.Schedule.prototype.unselect = function() { | |
501 | - this.delegate.fullCalendar('unselect'); | |
502 | -} | |
503 | -RichFaces.Schedule.prototype.render = function() { | |
504 | - this.delegate.fullCalendar('render'); | |
505 | -} | |
506 | -RichFaces.Schedule.prototype.destroy = function() { | |
507 | - this.delegate.fullCalendar('destroy'); | |
508 | -} | |
509 | -RichFaces.Schedule.prototype.getView = function() { | |
510 | - return this.delegate.fullCalendar('getView'); | |
511 | -} | |
512 | -RichFaces.Schedule.prototype.changeView = function(viewName) { | |
513 | - this.delegate.fullCalendar('changeView', viewName); | |
514 | -} | |
515 | -RichFaces.Schedule.prototype.prev = function() { | |
516 | - this.delegate.fullCalendar('prev'); | |
517 | -} | |
518 | -RichFaces.Schedule.prototype.next = function() { | |
519 | - this.delegate.fullCalendar('next'); | |
520 | -} | |
521 | -RichFaces.Schedule.prototype.prevYear = function() { | |
522 | - this.delegate.fullCalendar('prevYear'); | |
523 | -} | |
524 | -RichFaces.Schedule.prototype.nextYear = function() { | |
525 | - this.delegate.fullCalendar('nextYear'); | |
526 | -} | |
527 | -RichFaces.Schedule.prototype.today = function() { | |
528 | - this.delegate.fullCalendar('today'); | |
529 | -} | |
530 | -RichFaces.Schedule.prototype.gotoDate = function(year, month, date) { | |
531 | - this.delegate.fullCalendar('gotoDate', year, month, date); | |
532 | -} | |
533 | -RichFaces.Schedule.prototype.incrementDate = function(years, months, days) { | |
534 | - this.delegate.fullCalendar('incrementDate', years, months, days); | |
535 | -} | |
536 | -RichFaces.Schedule.prototype.updateItem = function(item) { | |
537 | - this.delegate.fullCalendar('updateItem', item); | |
538 | -} | |
539 | -RichFaces.Schedule.prototype.getItems = function(idOrFilter) { | |
540 | - return this.delegate.fullCalendar('clientEvents', idOrFilter); | |
541 | -} | |
542 | -RichFaces.Schedule.prototype.removeItems = function(idOrFilter) { | |
543 | - this.delegate.fullCalendar('removeEvents', idOrFilter); | |
544 | -} | |
545 | -RichFaces.Schedule.prototype.refetchItems = function() { | |
546 | - this.delegate.fullCalendar('refetchEvents'); | |
547 | -} | |
548 | -RichFaces.Schedule.prototype.addItemsSource = function(source) { | |
549 | - this.delegate.fullCalendar('addEventSource', source); | |
550 | -} | |
551 | -RichFaces.Schedule.prototype.removeItemsSource = function(source) { | |
552 | - this.delegate.fullCalendar('removeEventSource', source); | |
553 | -} | |
554 | -RichFaces.Schedule.prototype.addItem = function(event, stick) { | |
555 | - this.delegate.fullCalendar('renderEvent', event, stick); | |
556 | -} | |
557 | -RichFaces.Schedule.prototype.reRender = function() { | |
558 | - this.delegate.fullCalendar('rerenderEvents'); | |
559 | -} | |
\ No newline at end of file |
... | ... | @@ -16,7 +16,7 @@ |
16 | 16 | <h:scripts>org.ajax4jsf.javascript.AjaxScript, |
17 | 17 | /org/ajax4jsf/javascript/scripts/form.js, |
18 | 18 | /org/richfaces/renderkit/html/scripts/form.js, |
19 | - /org/richfaces/renderkit/html/scripts/jquery/jquery.js, | |
19 | + /org/richfaces/renderkit/html/scripts/jquery-1.4.2.js, | |
20 | 20 | /org/richfaces/renderkit/html/scripts/ui.core.js, |
21 | 21 | /org/richfaces/renderkit/html/scripts/ui.draggable.js, |
22 | 22 | /org/richfaces/renderkit/html/scripts/ui.resizable.js, |
... | ... | @@ -27,10 +27,8 @@ |
27 | 27 | <jsp:scriptlet> |
28 | 28 | <![CDATA[org.richfaces.component.util.FormUtil.throwEnclFormReqExceptionIfNeed(context, component);]]> |
29 | 29 | </jsp:scriptlet> |
30 | - <div id="#{clientId}" class="rich-schedule #{component.attributes['styleClass']}" | |
31 | - x:passThruWithExclusions="value,name,type,id"></div> | |
32 | - <input type="hidden" name="#{clientId}" id="#{clientId}"/> | |
30 | + <div id="#{clientId}" class="rich-schedule #{component.attributes['styleClass']}"/> | |
33 | 31 | <script type="text/javascript"> |
34 | - <f:call name = "writeInitFunction"/> | |
32 | + <f:call name="writeInitFunction"/> | |
35 | 33 | </script> |
36 | 34 | </f:root> |
\ No newline at end of file | ... | ... |
... | ... | @@ -18,7 +18,6 @@ |
18 | 18 | * License along with this library; if not, write to the Free Software |
19 | 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 | 20 | */ |
21 | - | |
22 | 21 | package org.richfaces.component; |
23 | 22 | |
24 | 23 | import org.ajax4jsf.tests.AbstractAjax4JsfTestCase; |
... | ... | @@ -33,32 +32,55 @@ import java.util.StringTokenizer; |
33 | 32 | /** |
34 | 33 | * Unit test for simple Component. |
35 | 34 | */ |
36 | -public class JSFComponentTest | |
37 | - extends AbstractAjax4JsfTestCase { | |
38 | - /** | |
39 | - * Create the test case | |
40 | - * | |
41 | - * @param testName name of the test case | |
42 | - */ | |
35 | +public class JSFComponentTest extends AbstractAjax4JsfTestCase { | |
36 | + | |
43 | 37 | public JSFComponentTest(String testName) { |
44 | 38 | super(testName); |
45 | 39 | } |
46 | -//TODO add test data for week and day | |
47 | 40 | |
41 | + /** | |
42 | + * Checks if component properly calculates date ranges of displayed days | |
43 | + * in order to provide initial events. | |
44 | + * | |
45 | + * @throws IOException if file with test data cannot be read | |
46 | + * @see JSFComponentTest#doTestDisplayedDays(java.lang.String, java.lang.String) | |
47 | + */ | |
48 | 48 | public void testDisplayedDaysForMonthViewCalculation() throws IOException { |
49 | 49 | doTestDisplayedDays("displayedDaysForMonthViewCalculationTestData", UISchedule.VIEW_MONTH); |
50 | 50 | } |
51 | 51 | |
52 | + /** | |
53 | + * Checks if component properly calculates date ranges of displayed days | |
54 | + * in order to provide initial events. | |
55 | + * | |
56 | + * @throws IOException if file with test data cannot be read | |
57 | + * @see JSFComponentTest#doTestDisplayedDays(java.lang.String, java.lang.String) | |
58 | + */ | |
52 | 59 | public void testDisplayedDaysForWeekViewCalculation() throws IOException { |
53 | 60 | doTestDisplayedDays("displayedDaysForWeekViewCalculationTestData", UISchedule.VIEW_AGENDA_WEEK); |
54 | 61 | doTestDisplayedDays("displayedDaysForWeekViewCalculationTestData", UISchedule.VIEW_BASIC_WEEK); |
55 | 62 | } |
56 | 63 | |
64 | + /** | |
65 | + * Checks if component properly calculates date ranges of displayed days | |
66 | + * in order to provide initial events. | |
67 | + * | |
68 | + * @throws IOException if file with test data cannot be read | |
69 | + * @see JSFComponentTest#doTestDisplayedDays(java.lang.String, java.lang.String) | |
70 | + */ | |
57 | 71 | public void testDisplayedDaysForDayViewCalculation() throws IOException { |
58 | 72 | doTestDisplayedDays("displayedDaysForDayViewCalculationTestData", UISchedule.VIEW_AGENDA_DAY); |
59 | 73 | doTestDisplayedDays("displayedDaysForDayViewCalculationTestData", UISchedule.VIEW_BASIC_DAY); |
60 | 74 | } |
61 | 75 | |
76 | + /** | |
77 | + * Checks if component properly calculates date ranges of displayed days | |
78 | + * in order to provide initial events. | |
79 | + * | |
80 | + * @param fileNameProperty name of file with test data | |
81 | + * @param view view name for which calculation should be tested | |
82 | + * @throws IOException if file with test data cannot be read | |
83 | + */ | |
62 | 84 | private void doTestDisplayedDays(String fileNameProperty, String view) throws IOException { |
63 | 85 | Calendar calendar = Calendar.getInstance(); |
64 | 86 | UISchedule schedule = (UISchedule) application.createComponent(UISchedule.COMPONENT_TYPE); | ... | ... |
... | ... | @@ -15,11 +15,8 @@ i - expected end year |
15 | 15 | j - expected end month |
16 | 16 | k - expected end day |
17 | 17 | |
18 | -displayedDaysForDayViewCalculationTestData is not fully ready yet | |
19 | -displayedDaysForMonthViewCalculationTestData lacks expected end date !!! | |
20 | - | |
21 | 18 | If anything in algorithm changes and test data will become invalid, they can be easily recreated by putting following |
22 | -code into UISchedule.getCalendarData method | |
19 | +code into UISchedule.getScheduleData method | |
23 | 20 | |
24 | 21 | Calendar calendar = Calendar.getInstance(); |
25 | 22 | calendar.setTime(startDate); |
... | ... | @@ -44,4 +41,18 @@ code into UISchedule.getCalendarData method |
44 | 41 | // + "," + lastDayCalendar.get(Calendar.YEAR) + "," + lastDayCalendar.get(Calendar.MONTH) + "," + lastDayCalendar.get(Calendar.DATE) |
45 | 42 | ); |
46 | 43 | |
44 | +If you do not want to click several thousand times to navigate through dates in schedule widget just add this to your page (index.xhtml in demo fits great): | |
45 | + <input type="button" value="Lunch auto navigation" onclick="lunchAutoNavigation()"/> | |
46 | + <script> | |
47 | + function lunchAutoNavigation() { | |
48 | + var fc = jQuery('#sf\\:schedule:first'); | |
49 | + fc.fullCalendar('next'); | |
50 | + if(fc.fullCalendar('getDate').getFullYear() < 2020) | |
51 | + setTimeout("lunchAutoNavigation()",250); | |
52 | + } | |
53 | + </script> | |
54 | +Test data should cover combinations of firstDay (1-7), showWeekends(true/false) and : | |
55 | + - 20 years for month view | |
56 | + - 5 years for week view | |
57 | +For day view it is unnecesary to include combinations of firstDay, and date range should cover 2 years only. | |
47 | 58 | Just remember to avoid blank lines, especially at the end of file. |
\ No newline at end of file | ... | ... |
1 | -1,0,2010,0,1,2010,0,1,2010,0,2 | |
2 | 1 | 1,0,2010,0,4,2010,0,4,2010,0,5 |
3 | 2 | 1,0,2010,0,5,2010,0,5,2010,0,6 |
4 | 3 | 1,0,2010,0,6,2010,0,6,2010,0,7 |
... | ... | @@ -60,4 +59,1164 @@ |
60 | 59 | 1,0,2010,2,25,2010,2,25,2010,2,26 |
61 | 60 | 1,0,2010,2,26,2010,2,26,2010,2,27 |
62 | 61 | 1,0,2010,2,29,2010,2,29,2010,2,30 |
63 | -1,0,2010,2,30,2010,2,30,2010,2,31 | |
\ No newline at end of file | ||
62 | +1,0,2010,2,30,2010,2,30,2010,2,31 | |
63 | +1,0,2010,2,31,2010,2,31,2010,3,1 | |
64 | +1,0,2010,3,1,2010,3,1,2010,3,2 | |
65 | +1,0,2010,3,2,2010,3,2,2010,3,3 | |
66 | +1,0,2010,3,5,2010,3,5,2010,3,6 | |
67 | +1,0,2010,3,6,2010,3,6,2010,3,7 | |
68 | +1,0,2010,3,7,2010,3,7,2010,3,8 | |
69 | +1,0,2010,3,8,2010,3,8,2010,3,9 | |
70 | +1,0,2010,3,9,2010,3,9,2010,3,10 | |
71 | +1,0,2010,3,12,2010,3,12,2010,3,13 | |
72 | +1,0,2010,3,13,2010,3,13,2010,3,14 | |
73 | +1,0,2010,3,14,2010,3,14,2010,3,15 | |
74 | +1,0,2010,3,15,2010,3,15,2010,3,16 | |
75 | +1,0,2010,3,16,2010,3,16,2010,3,17 | |
76 | +1,0,2010,3,19,2010,3,19,2010,3,20 | |
77 | +1,0,2010,3,20,2010,3,20,2010,3,21 | |
78 | +1,0,2010,3,21,2010,3,21,2010,3,22 | |
79 | +1,0,2010,3,22,2010,3,22,2010,3,23 | |
80 | +1,0,2010,3,23,2010,3,23,2010,3,24 | |
81 | +1,0,2010,3,26,2010,3,26,2010,3,27 | |
82 | +1,0,2010,3,27,2010,3,27,2010,3,28 | |
83 | +1,0,2010,3,28,2010,3,28,2010,3,29 | |
84 | +1,0,2010,3,29,2010,3,29,2010,3,30 | |
85 | +1,0,2010,3,30,2010,3,30,2010,4,1 | |
86 | +1,0,2010,4,3,2010,4,3,2010,4,4 | |
87 | +1,0,2010,4,4,2010,4,4,2010,4,5 | |
88 | +1,0,2010,4,5,2010,4,5,2010,4,6 | |
89 | +1,0,2010,4,6,2010,4,6,2010,4,7 | |
90 | +1,0,2010,4,7,2010,4,7,2010,4,8 | |
91 | +1,0,2010,4,10,2010,4,10,2010,4,11 | |
92 | +1,0,2010,4,11,2010,4,11,2010,4,12 | |
93 | +1,0,2010,4,12,2010,4,12,2010,4,13 | |
94 | +1,0,2010,4,13,2010,4,13,2010,4,14 | |
95 | +1,0,2010,4,14,2010,4,14,2010,4,15 | |
96 | +1,0,2010,4,17,2010,4,17,2010,4,18 | |
97 | +1,0,2010,4,18,2010,4,18,2010,4,19 | |
98 | +1,0,2010,4,19,2010,4,19,2010,4,20 | |
99 | +1,0,2010,4,20,2010,4,20,2010,4,21 | |
100 | +1,0,2010,4,21,2010,4,21,2010,4,22 | |
101 | +1,0,2010,4,24,2010,4,24,2010,4,25 | |
102 | +1,0,2010,4,25,2010,4,25,2010,4,26 | |
103 | +1,0,2010,4,26,2010,4,26,2010,4,27 | |
104 | +1,0,2010,4,27,2010,4,27,2010,4,28 | |
105 | +1,0,2010,4,28,2010,4,28,2010,4,29 | |
106 | +1,0,2010,4,31,2010,4,31,2010,5,1 | |
107 | +1,0,2010,5,1,2010,5,1,2010,5,2 | |
108 | +1,0,2010,5,2,2010,5,2,2010,5,3 | |
109 | +1,0,2010,5,3,2010,5,3,2010,5,4 | |
110 | +1,0,2010,5,4,2010,5,4,2010,5,5 | |
111 | +1,0,2010,5,7,2010,5,7,2010,5,8 | |
112 | +1,0,2010,5,8,2010,5,8,2010,5,9 | |
113 | +1,0,2010,5,9,2010,5,9,2010,5,10 | |
114 | +1,0,2010,5,10,2010,5,10,2010,5,11 | |
115 | +1,0,2010,5,11,2010,5,11,2010,5,12 | |
116 | +1,0,2010,5,14,2010,5,14,2010,5,15 | |
117 | +1,0,2010,5,15,2010,5,15,2010,5,16 | |
118 | +1,0,2010,5,16,2010,5,16,2010,5,17 | |
119 | +1,0,2010,5,17,2010,5,17,2010,5,18 | |
120 | +1,0,2010,5,18,2010,5,18,2010,5,19 | |
121 | +1,0,2010,5,21,2010,5,21,2010,5,22 | |
122 | +1,0,2010,5,22,2010,5,22,2010,5,23 | |
123 | +1,0,2010,5,23,2010,5,23,2010,5,24 | |
124 | +1,0,2010,5,24,2010,5,24,2010,5,25 | |
125 | +1,0,2010,5,25,2010,5,25,2010,5,26 | |
126 | +1,0,2010,5,28,2010,5,28,2010,5,29 | |
127 | +1,0,2010,5,29,2010,5,29,2010,5,30 | |
128 | +1,0,2010,5,30,2010,5,30,2010,6,1 | |
129 | +1,0,2010,6,1,2010,6,1,2010,6,2 | |
130 | +1,0,2010,6,2,2010,6,2,2010,6,3 | |
131 | +1,0,2010,6,5,2010,6,5,2010,6,6 | |
132 | +1,0,2010,6,6,2010,6,6,2010,6,7 | |
133 | +1,0,2010,6,7,2010,6,7,2010,6,8 | |
134 | +1,0,2010,6,8,2010,6,8,2010,6,9 | |
135 | +1,0,2010,6,9,2010,6,9,2010,6,10 | |
136 | +1,0,2010,6,12,2010,6,12,2010,6,13 | |
137 | +1,0,2010,6,13,2010,6,13,2010,6,14 | |
138 | +1,0,2010,6,14,2010,6,14,2010,6,15 | |
139 | +1,0,2010,6,15,2010,6,15,2010,6,16 | |
140 | +1,0,2010,6,16,2010,6,16,2010,6,17 | |
141 | +1,0,2010,6,19,2010,6,19,2010,6,20 | |
142 | +1,0,2010,6,20,2010,6,20,2010,6,21 | |
143 | +1,0,2010,6,21,2010,6,21,2010,6,22 | |
144 | +1,0,2010,6,22,2010,6,22,2010,6,23 | |
145 | +1,0,2010,6,23,2010,6,23,2010,6,24 | |
146 | +1,0,2010,6,26,2010,6,26,2010,6,27 | |
147 | +1,0,2010,6,27,2010,6,27,2010,6,28 | |
148 | +1,0,2010,6,28,2010,6,28,2010,6,29 | |
149 | +1,0,2010,6,29,2010,6,29,2010,6,30 | |
150 | +1,0,2010,6,30,2010,6,30,2010,6,31 | |
151 | +1,0,2010,7,2,2010,7,2,2010,7,3 | |
152 | +1,0,2010,7,3,2010,7,3,2010,7,4 | |
153 | +1,0,2010,7,4,2010,7,4,2010,7,5 | |
154 | +1,0,2010,7,5,2010,7,5,2010,7,6 | |
155 | +1,0,2010,7,6,2010,7,6,2010,7,7 | |
156 | +1,0,2010,7,9,2010,7,9,2010,7,10 | |
157 | +1,0,2010,7,10,2010,7,10,2010,7,11 | |
158 | +1,0,2010,7,11,2010,7,11,2010,7,12 | |
159 | +1,0,2010,7,12,2010,7,12,2010,7,13 | |
160 | +1,0,2010,7,13,2010,7,13,2010,7,14 | |
161 | +1,0,2010,7,16,2010,7,16,2010,7,17 | |
162 | +1,0,2010,7,17,2010,7,17,2010,7,18 | |
163 | +1,0,2010,7,18,2010,7,18,2010,7,19 | |
164 | +1,0,2010,7,19,2010,7,19,2010,7,20 | |
165 | +1,0,2010,7,20,2010,7,20,2010,7,21 | |
166 | +1,0,2010,7,23,2010,7,23,2010,7,24 | |
167 | +1,0,2010,7,24,2010,7,24,2010,7,25 | |
168 | +1,0,2010,7,25,2010,7,25,2010,7,26 | |
169 | +1,0,2010,7,26,2010,7,26,2010,7,27 | |
170 | +1,0,2010,7,27,2010,7,27,2010,7,28 | |
171 | +1,0,2010,7,30,2010,7,30,2010,7,31 | |
172 | +1,0,2010,7,31,2010,7,31,2010,8,1 | |
173 | +1,0,2010,8,1,2010,8,1,2010,8,2 | |
174 | +1,0,2010,8,2,2010,8,2,2010,8,3 | |
175 | +1,0,2010,8,3,2010,8,3,2010,8,4 | |
176 | +1,0,2010,8,6,2010,8,6,2010,8,7 | |
177 | +1,0,2010,8,7,2010,8,7,2010,8,8 | |
178 | +1,0,2010,8,8,2010,8,8,2010,8,9 | |
179 | +1,0,2010,8,9,2010,8,9,2010,8,10 | |
180 | +1,0,2010,8,10,2010,8,10,2010,8,11 | |
181 | +1,0,2010,8,13,2010,8,13,2010,8,14 | |
182 | +1,0,2010,8,14,2010,8,14,2010,8,15 | |
183 | +1,0,2010,8,15,2010,8,15,2010,8,16 | |
184 | +1,0,2010,8,16,2010,8,16,2010,8,17 | |
185 | +1,0,2010,8,17,2010,8,17,2010,8,18 | |
186 | +1,0,2010,8,20,2010,8,20,2010,8,21 | |
187 | +1,0,2010,8,21,2010,8,21,2010,8,22 | |
188 | +1,0,2010,8,22,2010,8,22,2010,8,23 | |
189 | +1,0,2010,8,23,2010,8,23,2010,8,24 | |
190 | +1,0,2010,8,24,2010,8,24,2010,8,25 | |
191 | +1,0,2010,8,27,2010,8,27,2010,8,28 | |
192 | +1,0,2010,8,28,2010,8,28,2010,8,29 | |
193 | +1,0,2010,8,29,2010,8,29,2010,8,30 | |
194 | +1,0,2010,8,30,2010,8,30,2010,9,1 | |
195 | +1,0,2010,9,1,2010,9,1,2010,9,2 | |
196 | +1,0,2010,9,4,2010,9,4,2010,9,5 | |
197 | +1,0,2010,9,5,2010,9,5,2010,9,6 | |
198 | +1,0,2010,9,6,2010,9,6,2010,9,7 | |
199 | +1,0,2010,9,7,2010,9,7,2010,9,8 | |
200 | +1,0,2010,9,8,2010,9,8,2010,9,9 | |
201 | +1,0,2010,9,11,2010,9,11,2010,9,12 | |
202 | +1,0,2010,9,12,2010,9,12,2010,9,13 | |
203 | +1,0,2010,9,13,2010,9,13,2010,9,14 | |
204 | +1,0,2010,9,14,2010,9,14,2010,9,15 | |
205 | +1,0,2010,9,15,2010,9,15,2010,9,16 | |
206 | +1,0,2010,9,18,2010,9,18,2010,9,19 | |
207 | +1,0,2010,9,19,2010,9,19,2010,9,20 | |
208 | +1,0,2010,9,20,2010,9,20,2010,9,21 | |
209 | +1,0,2010,9,21,2010,9,21,2010,9,22 | |
210 | +1,0,2010,9,22,2010,9,22,2010,9,23 | |
211 | +1,0,2010,9,25,2010,9,25,2010,9,26 | |
212 | +1,0,2010,9,26,2010,9,26,2010,9,27 | |
213 | +1,0,2010,9,27,2010,9,27,2010,9,28 | |
214 | +1,0,2010,9,28,2010,9,28,2010,9,29 | |
215 | +1,0,2010,9,29,2010,9,29,2010,9,30 | |
216 | +1,0,2010,10,1,2010,10,1,2010,10,2 | |
217 | +1,0,2010,10,2,2010,10,2,2010,10,3 | |
218 | +1,0,2010,10,3,2010,10,3,2010,10,4 | |
219 | +1,0,2010,10,4,2010,10,4,2010,10,5 | |
220 | +1,0,2010,10,5,2010,10,5,2010,10,6 | |
221 | +1,0,2010,10,8,2010,10,8,2010,10,9 | |
222 | +1,0,2010,10,9,2010,10,9,2010,10,10 | |
223 | +1,0,2010,10,10,2010,10,10,2010,10,11 | |
224 | +1,0,2010,10,11,2010,10,11,2010,10,12 | |
225 | +1,0,2010,10,12,2010,10,12,2010,10,13 | |
226 | +1,0,2010,10,15,2010,10,15,2010,10,16 | |
227 | +1,0,2010,10,16,2010,10,16,2010,10,17 | |
228 | +1,0,2010,10,17,2010,10,17,2010,10,18 | |
229 | +1,0,2010,10,18,2010,10,18,2010,10,19 | |
230 | +1,0,2010,10,19,2010,10,19,2010,10,20 | |
231 | +1,0,2010,10,22,2010,10,22,2010,10,23 | |
232 | +1,0,2010,10,23,2010,10,23,2010,10,24 | |
233 | +1,0,2010,10,24,2010,10,24,2010,10,25 | |
234 | +1,0,2010,10,25,2010,10,25,2010,10,26 | |
235 | +1,0,2010,10,26,2010,10,26,2010,10,27 | |
236 | +1,0,2010,10,29,2010,10,29,2010,10,30 | |
237 | +1,0,2010,10,30,2010,10,30,2010,11,1 | |
238 | +1,0,2010,11,1,2010,11,1,2010,11,2 | |
239 | +1,0,2010,11,2,2010,11,2,2010,11,3 | |
240 | +1,0,2010,11,3,2010,11,3,2010,11,4 | |
241 | +1,0,2010,11,6,2010,11,6,2010,11,7 | |
242 | +1,0,2010,11,7,2010,11,7,2010,11,8 | |
243 | +1,0,2010,11,8,2010,11,8,2010,11,9 | |
244 | +1,0,2010,11,9,2010,11,9,2010,11,10 | |
245 | +1,0,2010,11,10,2010,11,10,2010,11,11 | |
246 | +1,0,2010,11,13,2010,11,13,2010,11,14 | |
247 | +1,0,2010,11,14,2010,11,14,2010,11,15 | |
248 | +1,0,2010,11,15,2010,11,15,2010,11,16 | |
249 | +1,0,2010,11,16,2010,11,16,2010,11,17 | |
250 | +1,0,2010,11,17,2010,11,17,2010,11,18 | |
251 | +1,0,2010,11,20,2010,11,20,2010,11,21 | |
252 | +1,0,2010,11,21,2010,11,21,2010,11,22 | |
253 | +1,0,2010,11,22,2010,11,22,2010,11,23 | |
254 | +1,0,2010,11,23,2010,11,23,2010,11,24 | |
255 | +1,0,2010,11,24,2010,11,24,2010,11,25 | |
256 | +1,0,2010,11,27,2010,11,27,2010,11,28 | |
257 | +1,0,2010,11,28,2010,11,28,2010,11,29 | |
258 | +1,0,2010,11,29,2010,11,29,2010,11,30 | |
259 | +1,0,2010,11,30,2010,11,30,2010,11,31 | |
260 | +1,0,2010,11,31,2010,11,31,2011,0,1 | |
261 | +1,0,2011,0,3,2011,0,3,2011,0,4 | |
262 | +1,0,2011,0,4,2011,0,4,2011,0,5 | |
263 | +1,0,2011,0,5,2011,0,5,2011,0,6 | |
264 | +1,0,2011,0,6,2011,0,6,2011,0,7 | |
265 | +1,0,2011,0,7,2011,0,7,2011,0,8 | |
266 | +1,0,2011,0,10,2011,0,10,2011,0,11 | |
267 | +1,0,2011,0,11,2011,0,11,2011,0,12 | |
268 | +1,0,2011,0,12,2011,0,12,2011,0,13 | |
269 | +1,0,2011,0,13,2011,0,13,2011,0,14 | |
270 | +1,0,2011,0,14,2011,0,14,2011,0,15 | |
271 | +1,0,2011,0,17,2011,0,17,2011,0,18 | |
272 | +1,0,2011,0,18,2011,0,18,2011,0,19 | |
273 | +1,0,2011,0,19,2011,0,19,2011,0,20 | |
274 | +1,0,2011,0,20,2011,0,20,2011,0,21 | |
275 | +1,0,2011,0,21,2011,0,21,2011,0,22 | |
276 | +1,0,2011,0,24,2011,0,24,2011,0,25 | |
277 | +1,0,2011,0,25,2011,0,25,2011,0,26 | |
278 | +1,0,2011,0,26,2011,0,26,2011,0,27 | |
279 | +1,0,2011,0,27,2011,0,27,2011,0,28 | |
280 | +1,0,2011,0,28,2011,0,28,2011,0,29 | |
281 | +1,0,2011,0,31,2011,0,31,2011,1,1 | |
282 | +1,0,2011,1,1,2011,1,1,2011,1,2 | |
283 | +1,0,2011,1,2,2011,1,2,2011,1,3 | |
284 | +1,0,2011,1,3,2011,1,3,2011,1,4 | |
285 | +1,0,2011,1,4,2011,1,4,2011,1,5 | |
286 | +1,0,2011,1,7,2011,1,7,2011,1,8 | |
287 | +1,0,2011,1,8,2011,1,8,2011,1,9 | |
288 | +1,0,2011,1,9,2011,1,9,2011,1,10 | |
289 | +1,0,2011,1,10,2011,1,10,2011,1,11 | |
290 | +1,0,2011,1,11,2011,1,11,2011,1,12 | |
291 | +1,0,2011,1,14,2011,1,14,2011,1,15 | |
292 | +1,0,2011,1,15,2011,1,15,2011,1,16 | |
293 | +1,0,2011,1,16,2011,1,16,2011,1,17 | |
294 | +1,0,2011,1,17,2011,1,17,2011,1,18 | |
295 | +1,0,2011,1,18,2011,1,18,2011,1,19 | |
296 | +1,0,2011,1,21,2011,1,21,2011,1,22 | |
297 | +1,0,2011,1,22,2011,1,22,2011,1,23 | |
298 | +1,0,2011,1,23,2011,1,23,2011,1,24 | |
299 | +1,0,2011,1,24,2011,1,24,2011,1,25 | |
300 | +1,0,2011,1,25,2011,1,25,2011,1,26 | |
301 | +1,0,2011,1,28,2011,1,28,2011,2,1 | |
302 | +1,0,2011,2,1,2011,2,1,2011,2,2 | |
303 | +1,0,2011,2,2,2011,2,2,2011,2,3 | |
304 | +1,0,2011,2,3,2011,2,3,2011,2,4 | |
305 | +1,0,2011,2,4,2011,2,4,2011,2,5 | |
306 | +1,0,2011,2,7,2011,2,7,2011,2,8 | |
307 | +1,0,2011,2,8,2011,2,8,2011,2,9 | |
308 | +1,0,2011,2,9,2011,2,9,2011,2,10 | |
309 | +1,0,2011,2,10,2011,2,10,2011,2,11 | |
310 | +1,0,2011,2,11,2011,2,11,2011,2,12 | |
311 | +1,0,2011,2,14,2011,2,14,2011,2,15 | |
312 | +1,0,2011,2,15,2011,2,15,2011,2,16 | |
313 | +1,0,2011,2,16,2011,2,16,2011,2,17 | |
314 | +1,0,2011,2,17,2011,2,17,2011,2,18 | |
315 | +1,0,2011,2,18,2011,2,18,2011,2,19 | |
316 | +1,0,2011,2,21,2011,2,21,2011,2,22 | |
317 | +1,0,2011,2,22,2011,2,22,2011,2,23 | |
318 | +1,0,2011,2,23,2011,2,23,2011,2,24 | |
319 | +1,0,2011,2,24,2011,2,24,2011,2,25 | |
320 | +1,0,2011,2,25,2011,2,25,2011,2,26 | |
321 | +1,0,2011,2,28,2011,2,28,2011,2,29 | |
322 | +1,0,2011,2,29,2011,2,29,2011,2,30 | |
323 | +1,0,2011,2,30,2011,2,30,2011,2,31 | |
324 | +1,0,2011,2,31,2011,2,31,2011,3,1 | |
325 | +1,0,2011,3,1,2011,3,1,2011,3,2 | |
326 | +1,0,2011,3,4,2011,3,4,2011,3,5 | |
327 | +1,0,2011,3,5,2011,3,5,2011,3,6 | |
328 | +1,0,2011,3,6,2011,3,6,2011,3,7 | |
329 | +1,0,2011,3,7,2011,3,7,2011,3,8 | |
330 | +1,0,2011,3,8,2011,3,8,2011,3,9 | |
331 | +1,0,2011,3,11,2011,3,11,2011,3,12 | |
332 | +1,0,2011,3,12,2011,3,12,2011,3,13 | |
333 | +1,0,2011,3,13,2011,3,13,2011,3,14 | |
334 | +1,0,2011,3,14,2011,3,14,2011,3,15 | |
335 | +1,0,2011,3,15,2011,3,15,2011,3,16 | |
336 | +1,0,2011,3,18,2011,3,18,2011,3,19 | |
337 | +1,0,2011,3,19,2011,3,19,2011,3,20 | |
338 | +1,0,2011,3,20,2011,3,20,2011,3,21 | |
339 | +1,0,2011,3,21,2011,3,21,2011,3,22 | |
340 | +1,0,2011,3,22,2011,3,22,2011,3,23 | |
341 | +1,0,2011,3,25,2011,3,25,2011,3,26 | |
342 | +1,0,2011,3,26,2011,3,26,2011,3,27 | |
343 | +1,0,2011,3,27,2011,3,27,2011,3,28 | |
344 | +1,0,2011,3,28,2011,3,28,2011,3,29 | |
345 | +1,0,2011,3,29,2011,3,29,2011,3,30 | |
346 | +1,0,2011,4,2,2011,4,2,2011,4,3 | |
347 | +1,0,2011,4,3,2011,4,3,2011,4,4 | |
348 | +1,0,2011,4,4,2011,4,4,2011,4,5 | |
349 | +1,0,2011,4,5,2011,4,5,2011,4,6 | |
350 | +1,0,2011,4,6,2011,4,6,2011,4,7 | |
351 | +1,0,2011,4,9,2011,4,9,2011,4,10 | |
352 | +1,0,2011,4,10,2011,4,10,2011,4,11 | |
353 | +1,0,2011,4,11,2011,4,11,2011,4,12 | |
354 | +1,0,2011,4,12,2011,4,12,2011,4,13 | |
355 | +1,0,2011,4,13,2011,4,13,2011,4,14 | |
356 | +1,0,2011,4,16,2011,4,16,2011,4,17 | |
357 | +1,0,2011,4,17,2011,4,17,2011,4,18 | |
358 | +1,0,2011,4,18,2011,4,18,2011,4,19 | |
359 | +1,0,2011,4,19,2011,4,19,2011,4,20 | |
360 | +1,0,2011,4,20,2011,4,20,2011,4,21 | |
361 | +1,0,2011,4,23,2011,4,23,2011,4,24 | |
362 | +1,0,2011,4,24,2011,4,24,2011,4,25 | |
363 | +1,0,2011,4,25,2011,4,25,2011,4,26 | |
364 | +1,0,2011,4,26,2011,4,26,2011,4,27 | |
365 | +1,0,2011,4,27,2011,4,27,2011,4,28 | |
366 | +1,0,2011,4,30,2011,4,30,2011,4,31 | |
367 | +1,0,2011,4,31,2011,4,31,2011,5,1 | |
368 | +1,0,2011,5,1,2011,5,1,2011,5,2 | |
369 | +1,0,2011,5,2,2011,5,2,2011,5,3 | |
370 | +1,0,2011,5,3,2011,5,3,2011,5,4 | |
371 | +1,0,2011,5,6,2011,5,6,2011,5,7 | |
372 | +1,0,2011,5,7,2011,5,7,2011,5,8 | |
373 | +1,0,2011,5,8,2011,5,8,2011,5,9 | |
374 | +1,0,2011,5,9,2011,5,9,2011,5,10 | |
375 | +1,0,2011,5,10,2011,5,10,2011,5,11 | |
376 | +1,0,2011,5,13,2011,5,13,2011,5,14 | |
377 | +1,0,2011,5,14,2011,5,14,2011,5,15 | |
378 | +1,0,2011,5,15,2011,5,15,2011,5,16 | |
379 | +1,0,2011,5,16,2011,5,16,2011,5,17 | |
380 | +1,0,2011,5,17,2011,5,17,2011,5,18 | |
381 | +1,0,2011,5,20,2011,5,20,2011,5,21 | |
382 | +1,0,2011,5,21,2011,5,21,2011,5,22 | |
383 | +1,0,2011,5,22,2011,5,22,2011,5,23 | |
384 | +1,0,2011,5,23,2011,5,23,2011,5,24 | |
385 | +1,0,2011,5,24,2011,5,24,2011,5,25 | |
386 | +1,0,2011,5,27,2011,5,27,2011,5,28 | |
387 | +1,0,2011,5,28,2011,5,28,2011,5,29 | |
388 | +1,0,2011,5,29,2011,5,29,2011,5,30 | |
389 | +1,0,2011,5,30,2011,5,30,2011,6,1 | |
390 | +1,0,2011,6,1,2011,6,1,2011,6,2 | |
391 | +1,0,2011,6,4,2011,6,4,2011,6,5 | |
392 | +1,0,2011,6,5,2011,6,5,2011,6,6 | |
393 | +1,0,2011,6,6,2011,6,6,2011,6,7 | |
394 | +1,0,2011,6,7,2011,6,7,2011,6,8 | |
395 | +1,0,2011,6,8,2011,6,8,2011,6,9 | |
396 | +1,0,2011,6,11,2011,6,11,2011,6,12 | |
397 | +1,0,2011,6,12,2011,6,12,2011,6,13 | |
398 | +1,0,2011,6,13,2011,6,13,2011,6,14 | |
399 | +1,0,2011,6,14,2011,6,14,2011,6,15 | |
400 | +1,0,2011,6,15,2011,6,15,2011,6,16 | |
401 | +1,0,2011,6,18,2011,6,18,2011,6,19 | |
402 | +1,0,2011,6,19,2011,6,19,2011,6,20 | |
403 | +1,0,2011,6,20,2011,6,20,2011,6,21 | |
404 | +1,0,2011,6,21,2011,6,21,2011,6,22 | |
405 | +1,0,2011,6,22,2011,6,22,2011,6,23 | |
406 | +1,0,2011,6,25,2011,6,25,2011,6,26 | |
407 | +1,0,2011,6,26,2011,6,26,2011,6,27 | |
408 | +1,0,2011,6,27,2011,6,27,2011,6,28 | |
409 | +1,0,2011,6,28,2011,6,28,2011,6,29 | |
410 | +1,0,2011,6,29,2011,6,29,2011,6,30 | |
411 | +1,0,2011,7,1,2011,7,1,2011,7,2 | |
412 | +1,0,2011,7,2,2011,7,2,2011,7,3 | |
413 | +1,0,2011,7,3,2011,7,3,2011,7,4 | |
414 | +1,0,2011,7,4,2011,7,4,2011,7,5 | |
415 | +1,0,2011,7,5,2011,7,5,2011,7,6 | |
416 | +1,0,2011,7,8,2011,7,8,2011,7,9 | |
417 | +1,0,2011,7,9,2011,7,9,2011,7,10 | |
418 | +1,0,2011,7,10,2011,7,10,2011,7,11 | |
419 | +1,0,2011,7,11,2011,7,11,2011,7,12 | |
420 | +1,0,2011,7,12,2011,7,12,2011,7,13 | |
421 | +1,0,2011,7,15,2011,7,15,2011,7,16 | |
422 | +1,0,2011,7,16,2011,7,16,2011,7,17 | |
423 | +1,0,2011,7,17,2011,7,17,2011,7,18 | |
424 | +1,0,2011,7,18,2011,7,18,2011,7,19 | |
425 | +1,0,2011,7,19,2011,7,19,2011,7,20 | |
426 | +1,0,2011,7,22,2011,7,22,2011,7,23 | |
427 | +1,0,2011,7,23,2011,7,23,2011,7,24 | |
428 | +1,0,2011,7,24,2011,7,24,2011,7,25 | |
429 | +1,0,2011,7,25,2011,7,25,2011,7,26 | |
430 | +1,0,2011,7,26,2011,7,26,2011,7,27 | |
431 | +1,0,2011,7,29,2011,7,29,2011,7,30 | |
432 | +1,0,2011,7,30,2011,7,30,2011,7,31 | |
433 | +1,0,2011,7,31,2011,7,31,2011,8,1 | |
434 | +1,0,2011,8,1,2011,8,1,2011,8,2 | |
435 | +1,0,2011,8,2,2011,8,2,2011,8,3 | |
436 | +1,0,2011,8,5,2011,8,5,2011,8,6 | |
437 | +1,0,2011,8,6,2011,8,6,2011,8,7 | |
438 | +1,0,2011,8,7,2011,8,7,2011,8,8 | |
439 | +1,0,2011,8,8,2011,8,8,2011,8,9 | |
440 | +1,0,2011,8,9,2011,8,9,2011,8,10 | |
441 | +1,0,2011,8,12,2011,8,12,2011,8,13 | |
442 | +1,0,2011,8,13,2011,8,13,2011,8,14 | |
443 | +1,0,2011,8,14,2011,8,14,2011,8,15 | |
444 | +1,0,2011,8,15,2011,8,15,2011,8,16 | |
445 | +1,0,2011,8,16,2011,8,16,2011,8,17 | |
446 | +1,0,2011,8,19,2011,8,19,2011,8,20 | |
447 | +1,0,2011,8,20,2011,8,20,2011,8,21 | |
448 | +1,0,2011,8,21,2011,8,21,2011,8,22 | |
449 | +1,0,2011,8,22,2011,8,22,2011,8,23 | |
450 | +1,0,2011,8,23,2011,8,23,2011,8,24 | |
451 | +1,0,2011,8,26,2011,8,26,2011,8,27 | |
452 | +1,0,2011,8,27,2011,8,27,2011,8,28 | |
453 | +1,0,2011,8,28,2011,8,28,2011,8,29 | |
454 | +1,0,2011,8,29,2011,8,29,2011,8,30 | |
455 | +1,0,2011,8,30,2011,8,30,2011,9,1 | |
456 | +1,0,2011,9,3,2011,9,3,2011,9,4 | |
457 | +1,0,2011,9,4,2011,9,4,2011,9,5 | |
458 | +1,0,2011,9,5,2011,9,5,2011,9,6 | |
459 | +1,0,2011,9,6,2011,9,6,2011,9,7 | |
460 | +1,0,2011,9,7,2011,9,7,2011,9,8 | |
461 | +1,0,2011,9,10,2011,9,10,2011,9,11 | |
462 | +1,0,2011,9,11,2011,9,11,2011,9,12 | |
463 | +1,0,2011,9,12,2011,9,12,2011,9,13 | |
464 | +1,0,2011,9,13,2011,9,13,2011,9,14 | |
465 | +1,0,2011,9,14,2011,9,14,2011,9,15 | |
466 | +1,0,2011,9,17,2011,9,17,2011,9,18 | |
467 | +1,0,2011,9,18,2011,9,18,2011,9,19 | |
468 | +1,0,2011,9,19,2011,9,19,2011,9,20 | |
469 | +1,0,2011,9,20,2011,9,20,2011,9,21 | |
470 | +1,0,2011,9,21,2011,9,21,2011,9,22 | |
471 | +1,0,2011,9,24,2011,9,24,2011,9,25 | |
472 | +1,0,2011,9,25,2011,9,25,2011,9,26 | |
473 | +1,0,2011,9,26,2011,9,26,2011,9,27 | |
474 | +1,0,2011,9,27,2011,9,27,2011,9,28 | |
475 | +1,0,2011,9,28,2011,9,28,2011,9,29 | |
476 | +1,0,2011,9,31,2011,9,31,2011,10,1 | |
477 | +1,0,2011,10,1,2011,10,1,2011,10,2 | |
478 | +1,0,2011,10,2,2011,10,2,2011,10,3 | |
479 | +1,0,2011,10,3,2011,10,3,2011,10,4 | |
480 | +1,0,2011,10,4,2011,10,4,2011,10,5 | |
481 | +1,0,2011,10,7,2011,10,7,2011,10,8 | |
482 | +1,0,2011,10,8,2011,10,8,2011,10,9 | |
483 | +1,0,2011,10,9,2011,10,9,2011,10,10 | |
484 | +1,0,2011,10,10,2011,10,10,2011,10,11 | |
485 | +1,0,2011,10,11,2011,10,11,2011,10,12 | |
486 | +1,0,2011,10,14,2011,10,14,2011,10,15 | |
487 | +1,0,2011,10,15,2011,10,15,2011,10,16 | |
488 | +1,0,2011,10,16,2011,10,16,2011,10,17 | |
489 | +1,0,2011,10,17,2011,10,17,2011,10,18 | |
490 | +1,0,2011,10,18,2011,10,18,2011,10,19 | |
491 | +1,0,2011,10,21,2011,10,21,2011,10,22 | |
492 | +1,0,2011,10,22,2011,10,22,2011,10,23 | |
493 | +1,0,2011,10,23,2011,10,23,2011,10,24 | |
494 | +1,0,2011,10,24,2011,10,24,2011,10,25 | |
495 | +1,0,2011,10,25,2011,10,25,2011,10,26 | |
496 | +1,0,2011,10,28,2011,10,28,2011,10,29 | |
497 | +1,0,2011,10,29,2011,10,29,2011,10,30 | |
498 | +1,0,2011,10,30,2011,10,30,2011,11,1 | |
499 | +1,0,2011,11,1,2011,11,1,2011,11,2 | |
500 | +1,0,2011,11,2,2011,11,2,2011,11,3 | |
501 | +1,0,2011,11,5,2011,11,5,2011,11,6 | |
502 | +1,0,2011,11,6,2011,11,6,2011,11,7 | |
503 | +1,0,2011,11,7,2011,11,7,2011,11,8 | |
504 | +1,0,2011,11,8,2011,11,8,2011,11,9 | |
505 | +1,0,2011,11,9,2011,11,9,2011,11,10 | |
506 | +1,0,2011,11,12,2011,11,12,2011,11,13 | |
507 | +1,0,2011,11,13,2011,11,13,2011,11,14 | |
508 | +1,0,2011,11,14,2011,11,14,2011,11,15 | |
509 | +1,0,2011,11,15,2011,11,15,2011,11,16 | |
510 | +1,0,2011,11,16,2011,11,16,2011,11,17 | |
511 | +1,0,2011,11,19,2011,11,19,2011,11,20 | |
512 | +1,0,2011,11,20,2011,11,20,2011,11,21 | |
513 | +1,0,2011,11,21,2011,11,21,2011,11,22 | |
514 | +1,0,2011,11,22,2011,11,22,2011,11,23 | |
515 | +1,0,2011,11,23,2011,11,23,2011,11,24 | |
516 | +1,0,2011,11,26,2011,11,26,2011,11,27 | |
517 | +1,0,2011,11,27,2011,11,27,2011,11,28 | |
518 | +1,0,2011,11,28,2011,11,28,2011,11,29 | |
519 | +1,0,2011,11,29,2011,11,29,2011,11,30 | |
520 | +1,0,2011,11,30,2011,11,30,2011,11,31 | |
521 | +1,0,2012,0,2,2012,0,2,2012,0,3 | |
522 | +1,0,2012,0,3,2012,0,3,2012,0,4 | |
523 | +1,0,2012,0,4,2012,0,4,2012,0,5 | |
524 | +1,0,2012,0,5,2012,0,5,2012,0,6 | |
525 | +1,0,2012,0,6,2012,0,6,2012,0,7 | |
526 | +1,0,2012,0,9,2012,0,9,2012,0,10 | |
527 | +1,0,2012,0,10,2012,0,10,2012,0,11 | |
528 | +1,0,2012,0,11,2012,0,11,2012,0,12 | |
529 | +1,0,2012,0,12,2012,0,12,2012,0,13 | |
530 | +1,0,2012,0,13,2012,0,13,2012,0,14 | |
531 | +1,0,2012,0,16,2012,0,16,2012,0,17 | |
532 | +1,0,2012,0,17,2012,0,17,2012,0,18 | |
533 | +1,0,2012,0,18,2012,0,18,2012,0,19 | |
534 | +1,0,2012,0,19,2012,0,19,2012,0,20 | |
535 | +1,0,2012,0,20,2012,0,20,2012,0,21 | |
536 | +1,0,2012,0,23,2012,0,23,2012,0,24 | |
537 | +1,0,2012,0,24,2012,0,24,2012,0,25 | |
538 | +1,0,2012,0,25,2012,0,25,2012,0,26 | |
539 | +1,0,2012,0,26,2012,0,26,2012,0,27 | |
540 | +1,0,2012,0,27,2012,0,27,2012,0,28 | |
541 | +1,0,2012,0,30,2012,0,30,2012,0,31 | |
542 | +1,0,2012,0,31,2012,0,31,2012,1,1 | |
543 | +1,0,2012,1,1,2012,1,1,2012,1,2 | |
544 | +1,0,2012,1,2,2012,1,2,2012,1,3 | |
545 | +1,0,2012,1,3,2012,1,3,2012,1,4 | |
546 | +1,0,2012,1,6,2012,1,6,2012,1,7 | |
547 | +1,0,2012,1,7,2012,1,7,2012,1,8 | |
548 | +1,0,2012,1,8,2012,1,8,2012,1,9 | |
549 | +1,0,2012,1,9,2012,1,9,2012,1,10 | |
550 | +1,0,2012,1,10,2012,1,10,2012,1,11 | |
551 | +1,0,2012,1,13,2012,1,13,2012,1,14 | |
552 | +1,0,2012,1,14,2012,1,14,2012,1,15 | |
553 | +1,0,2012,1,15,2012,1,15,2012,1,16 | |
554 | +1,0,2012,1,16,2012,1,16,2012,1,17 | |
555 | +1,0,2012,1,17,2012,1,17,2012,1,18 | |
556 | +1,0,2012,1,20,2012,1,20,2012,1,21 | |
557 | +1,0,2012,1,21,2012,1,21,2012,1,22 | |
558 | +1,0,2012,1,22,2012,1,22,2012,1,23 | |
559 | +1,0,2012,1,23,2012,1,23,2012,1,24 | |
560 | +1,0,2012,1,24,2012,1,24,2012,1,25 | |
561 | +1,0,2012,1,27,2012,1,27,2012,1,28 | |
562 | +1,0,2012,1,28,2012,1,28,2012,1,29 | |
563 | +1,0,2012,1,29,2012,1,29,2012,2,1 | |
564 | +1,0,2012,2,1,2012,2,1,2012,2,2 | |
565 | +1,0,2012,2,2,2012,2,2,2012,2,3 | |
566 | +1,0,2012,2,5,2012,2,5,2012,2,6 | |
567 | +1,0,2012,2,6,2012,2,6,2012,2,7 | |
568 | +1,0,2012,2,7,2012,2,7,2012,2,8 | |
569 | +1,0,2012,2,8,2012,2,8,2012,2,9 | |
570 | +1,0,2012,2,9,2012,2,9,2012,2,10 | |
571 | +1,0,2012,2,12,2012,2,12,2012,2,13 | |
572 | +1,0,2012,2,13,2012,2,13,2012,2,14 | |
573 | +1,0,2012,2,14,2012,2,14,2012,2,15 | |
574 | +1,0,2012,2,15,2012,2,15,2012,2,16 | |
575 | +1,0,2012,2,16,2012,2,16,2012,2,17 | |
576 | +1,0,2012,2,19,2012,2,19,2012,2,20 | |
577 | +1,0,2012,2,20,2012,2,20,2012,2,21 | |
578 | +1,0,2012,2,21,2012,2,21,2012,2,22 | |
579 | +1,0,2012,2,22,2012,2,22,2012,2,23 | |
580 | +1,0,2012,2,23,2012,2,23,2012,2,24 | |
581 | +1,0,2012,2,26,2012,2,26,2012,2,27 | |
582 | +1,0,2012,2,27,2012,2,27,2012,2,28 | |
583 | +1,0,2012,2,28,2012,2,28,2012,2,29 | |
584 | +1,0,2012,2,29,2012,2,29,2012,2,30 | |
585 | +1,0,2012,2,30,2012,2,30,2012,2,31 | |
586 | +1,0,2012,3,2,2012,3,2,2012,3,3 | |
587 | +1,0,2012,3,3,2012,3,3,2012,3,4 | |
588 | +1,0,2012,3,4,2012,3,4,2012,3,5 | |
589 | +1,0,2012,3,5,2012,3,5,2012,3,6 | |
590 | +1,0,2012,3,6,2012,3,6,2012,3,7 | |
591 | +1,0,2012,3,9,2012,3,9,2012,3,10 | |
592 | +1,0,2012,3,10,2012,3,10,2012,3,11 | |
593 | +1,0,2012,3,11,2012,3,11,2012,3,12 | |
594 | +1,0,2012,3,12,2012,3,12,2012,3,13 | |
595 | +1,0,2012,3,13,2012,3,13,2012,3,14 | |
596 | +1,0,2012,3,16,2012,3,16,2012,3,17 | |
597 | +1,0,2012,3,17,2012,3,17,2012,3,18 | |
598 | +1,0,2012,3,18,2012,3,18,2012,3,19 | |
599 | +1,0,2012,3,19,2012,3,19,2012,3,20 | |
600 | +1,0,2012,3,20,2012,3,20,2012,3,21 | |
601 | +1,0,2012,3,23,2012,3,23,2012,3,24 | |
602 | +1,0,2012,3,24,2012,3,24,2012,3,25 | |
603 | +1,0,2012,3,25,2012,3,25,2012,3,26 | |
604 | +1,0,2012,3,26,2012,3,26,2012,3,27 | |
605 | +1,0,2012,3,27,2012,3,27,2012,3,28 | |
606 | +1,0,2012,3,30,2012,3,30,2012,4,1 | |
607 | +1,0,2012,4,1,2012,4,1,2012,4,2 | |
608 | +1,0,2012,4,2,2012,4,2,2012,4,3 | |
609 | +1,0,2012,4,3,2012,4,3,2012,4,4 | |
610 | +1,0,2012,4,4,2012,4,4,2012,4,5 | |
611 | +1,0,2012,4,7,2012,4,7,2012,4,8 | |
612 | +1,0,2012,4,8,2012,4,8,2012,4,9 | |
613 | +1,0,2012,4,9,2012,4,9,2012,4,10 | |
614 | +1,0,2012,4,10,2012,4,10,2012,4,11 | |
615 | +1,0,2012,4,11,2012,4,11,2012,4,12 | |
616 | +1,0,2012,4,14,2012,4,14,2012,4,15 | |
617 | +1,0,2012,4,15,2012,4,15,2012,4,16 | |
618 | +1,0,2012,4,16,2012,4,16,2012,4,17 | |
619 | +1,0,2012,4,17,2012,4,17,2012,4,18 | |
620 | +1,0,2012,4,18,2012,4,18,2012,4,19 | |
621 | +1,0,2012,4,21,2012,4,21,2012,4,22 | |
622 | +1,0,2012,4,22,2012,4,22,2012,4,23 | |
623 | +1,0,2012,4,23,2012,4,23,2012,4,24 | |
624 | +1,0,2012,4,24,2012,4,24,2012,4,25 | |
625 | +1,0,2012,4,25,2012,4,25,2012,4,26 | |
626 | +1,0,2012,4,28,2012,4,28,2012,4,29 | |
627 | +1,0,2012,4,29,2012,4,29,2012,4,30 | |
628 | +1,0,2012,4,30,2012,4,30,2012,4,31 | |
629 | +1,0,2012,4,31,2012,4,31,2012,5,1 | |
630 | +1,0,2012,5,1,2012,5,1,2012,5,2 | |
631 | +1,0,2012,5,4,2012,5,4,2012,5,5 | |
632 | +1,0,2012,5,5,2012,5,5,2012,5,6 | |
633 | +1,0,2012,5,6,2012,5,6,2012,5,7 | |
634 | +1,0,2012,5,7,2012,5,7,2012,5,8 | |
635 | +1,0,2012,5,8,2012,5,8,2012,5,9 | |
636 | +1,0,2012,5,11,2012,5,11,2012,5,12 | |
637 | +1,0,2012,5,12,2012,5,12,2012,5,13 | |
638 | +1,0,2012,5,13,2012,5,13,2012,5,14 | |
639 | +1,0,2012,5,14,2012,5,14,2012,5,15 | |
640 | +1,0,2012,5,15,2012,5,15,2012,5,16 | |
641 | +1,0,2012,5,18,2012,5,18,2012,5,19 | |
642 | +1,0,2012,5,19,2012,5,19,2012,5,20 | |
643 | +1,0,2012,5,20,2012,5,20,2012,5,21 | |
644 | +1,0,2012,5,21,2012,5,21,2012,5,22 | |
645 | +1,0,2012,5,22,2012,5,22,2012,5,23 | |
646 | +1,0,2012,5,25,2012,5,25,2012,5,26 | |
647 | +1,0,2012,5,26,2012,5,26,2012,5,27 | |
648 | +1,0,2012,5,27,2012,5,27,2012,5,28 | |
649 | +1,0,2012,5,28,2012,5,28,2012,5,29 | |
650 | +1,0,2012,5,29,2012,5,29,2012,5,30 | |
651 | +1,0,2012,6,2,2012,6,2,2012,6,3 | |
652 | +1,0,2012,6,3,2012,6,3,2012,6,4 | |
653 | +1,0,2012,6,4,2012,6,4,2012,6,5 | |
654 | +1,0,2012,6,5,2012,6,5,2012,6,6 | |
655 | +1,0,2012,6,6,2012,6,6,2012,6,7 | |
656 | +1,0,2012,6,9,2012,6,9,2012,6,10 | |
657 | +1,0,2012,6,10,2012,6,10,2012,6,11 | |
658 | +1,0,2012,6,11,2012,6,11,2012,6,12 | |
659 | +1,0,2012,6,12,2012,6,12,2012,6,13 | |
660 | +1,0,2012,6,13,2012,6,13,2012,6,14 | |
661 | +1,0,2012,6,16,2012,6,16,2012,6,17 | |
662 | +1,0,2012,6,17,2012,6,17,2012,6,18 | |
663 | +1,0,2012,6,18,2012,6,18,2012,6,19 | |
664 | +1,0,2012,6,19,2012,6,19,2012,6,20 | |
665 | +1,0,2012,6,20,2012,6,20,2012,6,21 | |
666 | +1,0,2012,6,23,2012,6,23,2012,6,24 | |
667 | +1,0,2012,6,24,2012,6,24,2012,6,25 | |
668 | +1,0,2012,6,25,2012,6,25,2012,6,26 | |
669 | +1,0,2012,6,26,2012,6,26,2012,6,27 | |
670 | +1,0,2012,6,27,2012,6,27,2012,6,28 | |
671 | +1,0,2012,6,30,2012,6,30,2012,6,31 | |
672 | +1,0,2012,6,31,2012,6,31,2012,7,1 | |
673 | +1,0,2012,7,1,2012,7,1,2012,7,2 | |
674 | +1,0,2012,7,2,2012,7,2,2012,7,3 | |
675 | +1,0,2012,7,3,2012,7,3,2012,7,4 | |
676 | +1,0,2012,7,6,2012,7,6,2012,7,7 | |
677 | +1,0,2012,7,7,2012,7,7,2012,7,8 | |
678 | +1,0,2012,7,8,2012,7,8,2012,7,9 | |
679 | +1,0,2012,7,9,2012,7,9,2012,7,10 | |
680 | +1,0,2012,7,10,2012,7,10,2012,7,11 | |
681 | +1,0,2012,7,13,2012,7,13,2012,7,14 | |
682 | +1,0,2012,7,14,2012,7,14,2012,7,15 | |
683 | +1,0,2012,7,15,2012,7,15,2012,7,16 | |
684 | +1,0,2012,7,16,2012,7,16,2012,7,17 | |
685 | +1,0,2012,7,17,2012,7,17,2012,7,18 | |
686 | +1,0,2012,7,20,2012,7,20,2012,7,21 | |
687 | +1,0,2012,7,21,2012,7,21,2012,7,22 | |
688 | +1,0,2012,7,22,2012,7,22,2012,7,23 | |
689 | +1,0,2012,7,23,2012,7,23,2012,7,24 | |
690 | +1,0,2012,7,24,2012,7,24,2012,7,25 | |
691 | +1,0,2012,7,27,2012,7,27,2012,7,28 | |
692 | +1,0,2012,7,28,2012,7,28,2012,7,29 | |
693 | +1,0,2012,7,29,2012,7,29,2012,7,30 | |
694 | +1,0,2012,7,30,2012,7,30,2012,7,31 | |
695 | +1,0,2012,7,31,2012,7,31,2012,8,1 | |
696 | +1,0,2012,8,3,2012,8,3,2012,8,4 | |
697 | +1,0,2012,8,4,2012,8,4,2012,8,5 | |
698 | +1,0,2012,8,5,2012,8,5,2012,8,6 | |
699 | +1,0,2012,8,6,2012,8,6,2012,8,7 | |
700 | +1,0,2012,8,7,2012,8,7,2012,8,8 | |
701 | +1,0,2012,8,10,2012,8,10,2012,8,11 | |
702 | +1,0,2012,8,11,2012,8,11,2012,8,12 | |
703 | +1,0,2012,8,12,2012,8,12,2012,8,13 | |
704 | +1,0,2012,8,13,2012,8,13,2012,8,14 | |
705 | +1,0,2012,8,14,2012,8,14,2012,8,15 | |
706 | +1,0,2012,8,17,2012,8,17,2012,8,18 | |
707 | +1,0,2012,8,18,2012,8,18,2012,8,19 | |
708 | +1,0,2012,8,19,2012,8,19,2012,8,20 | |
709 | +1,0,2012,8,20,2012,8,20,2012,8,21 | |
710 | +1,0,2012,8,21,2012,8,21,2012,8,22 | |
711 | +1,0,2012,8,24,2012,8,24,2012,8,25 | |
712 | +1,0,2012,8,25,2012,8,25,2012,8,26 | |
713 | +1,0,2012,8,26,2012,8,26,2012,8,27 | |
714 | +1,0,2012,8,27,2012,8,27,2012,8,28 | |
715 | +1,0,2012,8,28,2012,8,28,2012,8,29 | |
716 | +1,0,2012,9,1,2012,9,1,2012,9,2 | |
717 | +1,0,2012,9,2,2012,9,2,2012,9,3 | |
718 | +1,0,2012,9,3,2012,9,3,2012,9,4 | |
719 | +1,0,2012,9,4,2012,9,4,2012,9,5 | |
720 | +1,0,2012,9,5,2012,9,5,2012,9,6 | |
721 | +1,0,2012,9,8,2012,9,8,2012,9,9 | |
722 | +1,0,2012,9,9,2012,9,9,2012,9,10 | |
723 | +1,0,2012,9,10,2012,9,10,2012,9,11 | |
724 | +1,0,2012,9,11,2012,9,11,2012,9,12 | |
725 | +1,0,2012,9,12,2012,9,12,2012,9,13 | |
726 | +1,0,2012,9,15,2012,9,15,2012,9,16 | |
727 | +1,0,2012,9,16,2012,9,16,2012,9,17 | |
728 | +1,0,2012,9,17,2012,9,17,2012,9,18 | |
729 | +1,0,2012,9,18,2012,9,18,2012,9,19 | |
730 | +1,0,2012,9,19,2012,9,19,2012,9,20 | |
731 | +1,0,2012,9,22,2012,9,22,2012,9,23 | |
732 | +1,0,2012,9,23,2012,9,23,2012,9,24 | |
733 | +1,0,2012,9,24,2012,9,24,2012,9,25 | |
734 | +1,0,2012,9,25,2012,9,25,2012,9,26 | |
735 | +1,0,2012,9,26,2012,9,26,2012,9,27 | |
736 | +1,0,2012,9,29,2012,9,29,2012,9,30 | |
737 | +1,0,2012,9,30,2012,9,30,2012,9,31 | |
738 | +1,0,2012,9,31,2012,9,31,2012,10,1 | |
739 | +1,0,2012,10,1,2012,10,1,2012,10,2 | |
740 | +1,0,2012,10,2,2012,10,2,2012,10,3 | |
741 | +1,0,2012,10,5,2012,10,5,2012,10,6 | |
742 | +1,0,2012,10,6,2012,10,6,2012,10,7 | |
743 | +1,0,2012,10,7,2012,10,7,2012,10,8 | |
744 | +1,0,2012,10,8,2012,10,8,2012,10,9 | |
745 | +1,0,2012,10,9,2012,10,9,2012,10,10 | |
746 | +1,0,2012,10,12,2012,10,12,2012,10,13 | |
747 | +1,0,2012,10,13,2012,10,13,2012,10,14 | |
748 | +1,0,2012,10,14,2012,10,14,2012,10,15 | |
749 | +1,0,2012,10,15,2012,10,15,2012,10,16 | |
750 | +1,0,2012,10,16,2012,10,16,2012,10,17 | |
751 | +1,0,2012,10,19,2012,10,19,2012,10,20 | |
752 | +1,0,2012,10,20,2012,10,20,2012,10,21 | |
753 | +1,0,2012,10,21,2012,10,21,2012,10,22 | |
754 | +1,0,2012,10,22,2012,10,22,2012,10,23 | |
755 | +1,0,2012,10,23,2012,10,23,2012,10,24 | |
756 | +1,0,2012,10,26,2012,10,26,2012,10,27 | |
757 | +1,0,2012,10,27,2012,10,27,2012,10,28 | |
758 | +1,0,2012,10,28,2012,10,28,2012,10,29 | |
759 | +1,0,2012,10,29,2012,10,29,2012,10,30 | |
760 | +1,0,2012,10,30,2012,10,30,2012,11,1 | |
761 | +1,0,2012,11,3,2012,11,3,2012,11,4 | |
762 | +1,0,2012,11,4,2012,11,4,2012,11,5 | |
763 | +1,0,2012,11,5,2012,11,5,2012,11,6 | |
764 | +1,0,2012,11,6,2012,11,6,2012,11,7 | |
765 | +1,0,2012,11,7,2012,11,7,2012,11,8 | |
766 | +1,0,2012,11,10,2012,11,10,2012,11,11 | |
767 | +1,0,2012,11,11,2012,11,11,2012,11,12 | |
768 | +1,0,2012,11,12,2012,11,12,2012,11,13 | |
769 | +1,0,2012,11,13,2012,11,13,2012,11,14 | |
770 | +1,0,2012,11,14,2012,11,14,2012,11,15 | |
771 | +1,0,2012,11,17,2012,11,17,2012,11,18 | |
772 | +1,0,2012,11,18,2012,11,18,2012,11,19 | |
773 | +1,0,2012,11,19,2012,11,19,2012,11,20 | |
774 | +1,0,2012,11,20,2012,11,20,2012,11,21 | |
775 | +1,0,2012,11,21,2012,11,21,2012,11,22 | |
776 | +1,0,2012,11,24,2012,11,24,2012,11,25 | |
777 | +1,0,2012,11,25,2012,11,25,2012,11,26 | |
778 | +1,0,2012,11,26,2012,11,26,2012,11,27 | |
779 | +1,0,2012,11,27,2012,11,27,2012,11,28 | |
780 | +1,0,2012,11,28,2012,11,28,2012,11,29 | |
781 | +1,0,2012,11,31,2012,11,31,2013,0,1 | |
782 | +1,0,2013,0,1,2013,0,1,2013,0,2 | |
783 | +1,0,2013,0,2,2013,0,2,2013,0,3 | |
784 | +1,0,2013,0,3,2013,0,3,2013,0,4 | |
785 | +1,0,2013,0,4,2013,0,4,2013,0,5 | |
786 | +1,0,2013,0,7,2013,0,7,2013,0,8 | |
787 | +1,0,2013,0,8,2013,0,8,2013,0,9 | |
788 | +1,0,2013,0,9,2013,0,9,2013,0,10 | |
789 | +1,0,2013,0,10,2013,0,10,2013,0,11 | |
790 | +1,0,2013,0,11,2013,0,11,2013,0,12 | |
791 | +1,0,2013,0,14,2013,0,14,2013,0,15 | |
792 | +1,0,2013,0,15,2013,0,15,2013,0,16 | |
793 | +1,0,2013,0,16,2013,0,16,2013,0,17 | |
794 | +1,0,2013,0,17,2013,0,17,2013,0,18 | |
795 | +1,0,2013,0,18,2013,0,18,2013,0,19 | |
796 | +1,0,2013,0,21,2013,0,21,2013,0,22 | |
797 | +1,0,2013,0,22,2013,0,22,2013,0,23 | |
798 | +1,0,2013,0,23,2013,0,23,2013,0,24 | |
799 | +1,0,2013,0,24,2013,0,24,2013,0,25 | |
800 | +1,0,2013,0,25,2013,0,25,2013,0,26 | |
801 | +1,0,2013,0,28,2013,0,28,2013,0,29 | |
802 | +1,0,2013,0,29,2013,0,29,2013,0,30 | |
803 | +1,0,2013,0,30,2013,0,30,2013,0,31 | |
804 | +1,0,2013,0,31,2013,0,31,2013,1,1 | |
805 | +1,0,2013,1,1,2013,1,1,2013,1,2 | |
806 | +1,0,2013,1,4,2013,1,4,2013,1,5 | |
807 | +1,0,2013,1,5,2013,1,5,2013,1,6 | |
808 | +1,0,2013,1,6,2013,1,6,2013,1,7 | |
809 | +1,0,2013,1,7,2013,1,7,2013,1,8 | |
810 | +1,0,2013,1,8,2013,1,8,2013,1,9 | |
811 | +1,0,2013,1,11,2013,1,11,2013,1,12 | |
812 | +1,0,2013,1,12,2013,1,12,2013,1,13 | |
813 | +1,0,2013,1,13,2013,1,13,2013,1,14 | |
814 | +1,0,2013,1,14,2013,1,14,2013,1,15 | |
815 | +1,0,2013,1,15,2013,1,15,2013,1,16 | |
816 | +1,0,2013,1,18,2013,1,18,2013,1,19 | |
817 | +1,0,2013,1,19,2013,1,19,2013,1,20 | |
818 | +1,0,2013,1,20,2013,1,20,2013,1,21 | |
819 | +1,0,2013,1,21,2013,1,21,2013,1,22 | |
820 | +1,0,2013,1,22,2013,1,22,2013,1,23 | |
821 | +1,0,2013,1,25,2013,1,25,2013,1,26 | |
822 | +1,0,2013,1,26,2013,1,26,2013,1,27 | |
823 | +1,0,2013,1,27,2013,1,27,2013,1,28 | |
824 | +1,0,2013,1,28,2013,1,28,2013,2,1 | |
825 | +1,0,2013,2,1,2013,2,1,2013,2,2 | |
826 | +1,0,2013,2,4,2013,2,4,2013,2,5 | |
827 | +1,0,2013,2,5,2013,2,5,2013,2,6 | |
828 | +1,0,2013,2,6,2013,2,6,2013,2,7 | |
829 | +1,0,2013,2,7,2013,2,7,2013,2,8 | |
830 | +1,0,2013,2,8,2013,2,8,2013,2,9 | |
831 | +1,0,2013,2,11,2013,2,11,2013,2,12 | |
832 | +1,0,2013,2,12,2013,2,12,2013,2,13 | |
833 | +1,0,2013,2,13,2013,2,13,2013,2,14 | |
834 | +1,0,2013,2,14,2013,2,14,2013,2,15 | |
835 | +1,0,2013,2,15,2013,2,15,2013,2,16 | |
836 | +1,0,2013,2,18,2013,2,18,2013,2,19 | |
837 | +1,0,2013,2,19,2013,2,19,2013,2,20 | |
838 | +1,0,2013,2,20,2013,2,20,2013,2,21 | |
839 | +1,0,2013,2,21,2013,2,21,2013,2,22 | |
840 | +1,0,2013,2,22,2013,2,22,2013,2,23 | |
841 | +1,0,2013,2,25,2013,2,25,2013,2,26 | |
842 | +1,0,2013,2,26,2013,2,26,2013,2,27 | |
843 | +1,0,2013,2,27,2013,2,27,2013,2,28 | |
844 | +1,0,2013,2,28,2013,2,28,2013,2,29 | |
845 | +1,0,2013,2,29,2013,2,29,2013,2,30 | |
846 | +1,0,2013,3,1,2013,3,1,2013,3,2 | |
847 | +1,0,2013,3,2,2013,3,2,2013,3,3 | |
848 | +1,0,2013,3,3,2013,3,3,2013,3,4 | |
849 | +1,0,2013,3,4,2013,3,4,2013,3,5 | |
850 | +1,0,2013,3,5,2013,3,5,2013,3,6 | |
851 | +1,0,2013,3,8,2013,3,8,2013,3,9 | |
852 | +1,0,2013,3,9,2013,3,9,2013,3,10 | |
853 | +1,0,2013,3,10,2013,3,10,2013,3,11 | |
854 | +1,0,2013,3,11,2013,3,11,2013,3,12 | |
855 | +1,0,2013,3,12,2013,3,12,2013,3,13 | |
856 | +1,0,2013,3,15,2013,3,15,2013,3,16 | |
857 | +1,0,2013,3,16,2013,3,16,2013,3,17 | |
858 | +1,0,2013,3,17,2013,3,17,2013,3,18 | |
859 | +1,0,2013,3,18,2013,3,18,2013,3,19 | |
860 | +1,0,2013,3,19,2013,3,19,2013,3,20 | |
861 | +1,0,2013,3,22,2013,3,22,2013,3,23 | |
862 | +1,0,2013,3,23,2013,3,23,2013,3,24 | |
863 | +1,0,2013,3,24,2013,3,24,2013,3,25 | |
864 | +1,0,2013,3,25,2013,3,25,2013,3,26 | |
865 | +1,0,2013,3,26,2013,3,26,2013,3,27 | |
866 | +1,0,2013,3,29,2013,3,29,2013,3,30 | |
867 | +1,0,2013,3,30,2013,3,30,2013,4,1 | |
868 | +1,0,2013,4,1,2013,4,1,2013,4,2 | |
869 | +1,0,2013,4,2,2013,4,2,2013,4,3 | |
870 | +1,0,2013,4,3,2013,4,3,2013,4,4 | |
871 | +1,0,2013,4,6,2013,4,6,2013,4,7 | |
872 | +1,0,2013,4,7,2013,4,7,2013,4,8 | |
873 | +1,0,2013,4,8,2013,4,8,2013,4,9 | |
874 | +1,0,2013,4,9,2013,4,9,2013,4,10 | |
875 | +1,0,2013,4,10,2013,4,10,2013,4,11 | |
876 | +1,0,2013,4,13,2013,4,13,2013,4,14 | |
877 | +1,0,2013,4,14,2013,4,14,2013,4,15 | |
878 | +1,0,2013,4,15,2013,4,15,2013,4,16 | |
879 | +1,0,2013,4,16,2013,4,16,2013,4,17 | |
880 | +1,0,2013,4,17,2013,4,17,2013,4,18 | |
881 | +1,0,2013,4,20,2013,4,20,2013,4,21 | |
882 | +1,0,2013,4,21,2013,4,21,2013,4,22 | |
883 | +1,0,2013,4,22,2013,4,22,2013,4,23 | |
884 | +1,0,2013,4,23,2013,4,23,2013,4,24 | |
885 | +1,0,2013,4,24,2013,4,24,2013,4,25 | |
886 | +1,0,2013,4,27,2013,4,27,2013,4,28 | |
887 | +1,0,2013,4,28,2013,4,28,2013,4,29 | |
888 | +1,0,2013,4,29,2013,4,29,2013,4,30 | |
889 | +1,0,2013,4,30,2013,4,30,2013,4,31 | |
890 | +1,0,2013,4,31,2013,4,31,2013,5,1 | |
891 | +1,0,2013,5,3,2013,5,3,2013,5,4 | |
892 | +1,0,2013,5,4,2013,5,4,2013,5,5 | |
893 | +1,0,2013,5,5,2013,5,5,2013,5,6 | |
894 | +1,0,2013,5,6,2013,5,6,2013,5,7 | |
895 | +1,0,2013,5,7,2013,5,7,2013,5,8 | |
896 | +1,0,2013,5,10,2013,5,10,2013,5,11 | |
897 | +1,0,2013,5,11,2013,5,11,2013,5,12 | |
898 | +1,0,2013,5,12,2013,5,12,2013,5,13 | |
899 | +1,0,2013,5,13,2013,5,13,2013,5,14 | |
900 | +1,0,2013,5,14,2013,5,14,2013,5,15 | |
901 | +1,0,2013,5,17,2013,5,17,2013,5,18 | |
902 | +1,0,2013,5,18,2013,5,18,2013,5,19 | |
903 | +1,0,2013,5,19,2013,5,19,2013,5,20 | |
904 | +1,0,2013,5,20,2013,5,20,2013,5,21 | |
905 | +1,0,2013,5,21,2013,5,21,2013,5,22 | |
906 | +1,0,2013,5,24,2013,5,24,2013,5,25 | |
907 | +1,0,2013,5,25,2013,5,25,2013,5,26 | |
908 | +1,0,2013,5,26,2013,5,26,2013,5,27 | |
909 | +1,0,2013,5,27,2013,5,27,2013,5,28 | |
910 | +1,0,2013,5,28,2013,5,28,2013,5,29 | |
911 | +1,0,2013,6,1,2013,6,1,2013,6,2 | |
912 | +1,0,2013,6,2,2013,6,2,2013,6,3 | |
913 | +1,0,2013,6,3,2013,6,3,2013,6,4 | |
914 | +1,0,2013,6,4,2013,6,4,2013,6,5 | |
915 | +1,0,2013,6,5,2013,6,5,2013,6,6 | |
916 | +1,0,2013,6,8,2013,6,8,2013,6,9 | |
917 | +1,0,2013,6,9,2013,6,9,2013,6,10 | |
918 | +1,0,2013,6,10,2013,6,10,2013,6,11 | |
919 | +1,0,2013,6,11,2013,6,11,2013,6,12 | |
920 | +1,0,2013,6,12,2013,6,12,2013,6,13 | |
921 | +1,0,2013,6,15,2013,6,15,2013,6,16 | |
922 | +1,0,2013,6,16,2013,6,16,2013,6,17 | |
923 | +1,0,2013,6,17,2013,6,17,2013,6,18 | |
924 | +1,0,2013,6,18,2013,6,18,2013,6,19 | |
925 | +1,0,2013,6,19,2013,6,19,2013,6,20 | |
926 | +1,0,2013,6,22,2013,6,22,2013,6,23 | |
927 | +1,0,2013,6,23,2013,6,23,2013,6,24 | |
928 | +1,0,2013,6,24,2013,6,24,2013,6,25 | |
929 | +1,0,2013,6,25,2013,6,25,2013,6,26 | |
930 | +1,0,2013,6,26,2013,6,26,2013,6,27 | |
931 | +1,0,2013,6,29,2013,6,29,2013,6,30 | |
932 | +1,0,2013,6,30,2013,6,30,2013,6,31 | |
933 | +1,0,2013,6,31,2013,6,31,2013,7,1 | |
934 | +1,0,2013,7,1,2013,7,1,2013,7,2 | |
935 | +1,0,2013,7,2,2013,7,2,2013,7,3 | |
936 | +1,0,2013,7,5,2013,7,5,2013,7,6 | |
937 | +1,0,2013,7,6,2013,7,6,2013,7,7 | |
938 | +1,0,2013,7,7,2013,7,7,2013,7,8 | |
939 | +1,0,2013,7,8,2013,7,8,2013,7,9 | |
940 | +1,0,2013,7,9,2013,7,9,2013,7,10 | |
941 | +1,0,2013,7,12,2013,7,12,2013,7,13 | |
942 | +1,0,2013,7,13,2013,7,13,2013,7,14 | |
943 | +1,0,2013,7,14,2013,7,14,2013,7,15 | |
944 | +1,0,2013,7,15,2013,7,15,2013,7,16 | |
945 | +1,0,2013,7,16,2013,7,16,2013,7,17 | |
946 | +1,0,2013,7,19,2013,7,19,2013,7,20 | |
947 | +1,0,2013,7,20,2013,7,20,2013,7,21 | |
948 | +1,0,2013,7,21,2013,7,21,2013,7,22 | |
949 | +1,0,2013,7,22,2013,7,22,2013,7,23 | |
950 | +1,0,2013,7,23,2013,7,23,2013,7,24 | |
951 | +1,0,2013,7,26,2013,7,26,2013,7,27 | |
952 | +1,0,2013,7,27,2013,7,27,2013,7,28 | |
953 | +1,0,2013,7,28,2013,7,28,2013,7,29 | |
954 | +1,0,2013,7,29,2013,7,29,2013,7,30 | |
955 | +1,0,2013,7,30,2013,7,30,2013,7,31 | |
956 | +1,0,2013,8,2,2013,8,2,2013,8,3 | |
957 | +1,0,2013,8,3,2013,8,3,2013,8,4 | |
958 | +1,0,2013,8,4,2013,8,4,2013,8,5 | |
959 | +1,0,2013,8,5,2013,8,5,2013,8,6 | |
960 | +1,0,2013,8,6,2013,8,6,2013,8,7 | |
961 | +1,0,2013,8,9,2013,8,9,2013,8,10 | |
962 | +1,0,2013,8,10,2013,8,10,2013,8,11 | |
963 | +1,0,2013,8,11,2013,8,11,2013,8,12 | |
964 | +1,0,2013,8,12,2013,8,12,2013,8,13 | |
965 | +1,0,2013,8,13,2013,8,13,2013,8,14 | |
966 | +1,0,2013,8,16,2013,8,16,2013,8,17 | |
967 | +1,0,2013,8,17,2013,8,17,2013,8,18 | |
968 | +1,0,2013,8,18,2013,8,18,2013,8,19 | |
969 | +1,0,2013,8,19,2013,8,19,2013,8,20 | |
970 | +1,0,2013,8,20,2013,8,20,2013,8,21 | |
971 | +1,0,2013,8,23,2013,8,23,2013,8,24 | |
972 | +1,0,2013,8,24,2013,8,24,2013,8,25 | |
973 | +1,0,2013,8,25,2013,8,25,2013,8,26 | |
974 | +1,0,2013,8,26,2013,8,26,2013,8,27 | |
975 | +1,0,2013,8,27,2013,8,27,2013,8,28 | |
976 | +1,0,2013,8,30,2013,8,30,2013,9,1 | |
977 | +1,0,2013,9,1,2013,9,1,2013,9,2 | |
978 | +1,0,2013,9,2,2013,9,2,2013,9,3 | |
979 | +1,0,2013,9,3,2013,9,3,2013,9,4 | |
980 | +1,0,2013,9,4,2013,9,4,2013,9,5 | |
981 | +1,0,2013,9,7,2013,9,7,2013,9,8 | |
982 | +1,0,2013,9,8,2013,9,8,2013,9,9 | |
983 | +1,0,2013,9,9,2013,9,9,2013,9,10 | |
984 | +1,0,2013,9,10,2013,9,10,2013,9,11 | |
985 | +1,0,2013,9,11,2013,9,11,2013,9,12 | |
986 | +1,0,2013,9,14,2013,9,14,2013,9,15 | |
987 | +1,0,2013,9,15,2013,9,15,2013,9,16 | |
988 | +1,0,2013,9,16,2013,9,16,2013,9,17 | |
989 | +1,0,2013,9,17,2013,9,17,2013,9,18 | |
990 | +1,0,2013,9,18,2013,9,18,2013,9,19 | |
991 | +1,0,2013,9,21,2013,9,21,2013,9,22 | |
992 | +1,0,2013,9,22,2013,9,22,2013,9,23 | |
993 | +1,0,2013,9,23,2013,9,23,2013,9,24 | |
994 | +1,0,2013,9,24,2013,9,24,2013,9,25 | |
995 | +1,0,2013,9,25,2013,9,25,2013,9,26 | |
996 | +1,0,2013,9,28,2013,9,28,2013,9,29 | |
997 | +1,0,2013,9,29,2013,9,29,2013,9,30 | |
998 | +1,0,2013,9,30,2013,9,30,2013,9,31 | |
999 | +1,0,2013,9,31,2013,9,31,2013,10,1 | |
1000 | +1,0,2013,10,1,2013,10,1,2013,10,2 | |
1001 | +1,0,2013,10,4,2013,10,4,2013,10,5 | |
1002 | +1,0,2013,10,5,2013,10,5,2013,10,6 | |
1003 | +1,0,2013,10,6,2013,10,6,2013,10,7 | |
1004 | +1,0,2013,10,7,2013,10,7,2013,10,8 | |
1005 | +1,0,2013,10,8,2013,10,8,2013,10,9 | |
1006 | +1,0,2013,10,11,2013,10,11,2013,10,12 | |
1007 | +1,0,2013,10,12,2013,10,12,2013,10,13 | |
1008 | +1,0,2013,10,13,2013,10,13,2013,10,14 | |
1009 | +1,0,2013,10,14,2013,10,14,2013,10,15 | |
1010 | +1,0,2013,10,15,2013,10,15,2013,10,16 | |
1011 | +1,0,2013,10,18,2013,10,18,2013,10,19 | |
1012 | +1,0,2013,10,19,2013,10,19,2013,10,20 | |
1013 | +1,0,2013,10,20,2013,10,20,2013,10,21 | |
1014 | +1,0,2013,10,21,2013,10,21,2013,10,22 | |
1015 | +1,0,2013,10,22,2013,10,22,2013,10,23 | |
1016 | +1,0,2013,10,25,2013,10,25,2013,10,26 | |
1017 | +1,0,2013,10,26,2013,10,26,2013,10,27 | |
1018 | +1,0,2013,10,27,2013,10,27,2013,10,28 | |
1019 | +1,0,2013,10,28,2013,10,28,2013,10,29 | |
1020 | +1,0,2013,10,29,2013,10,29,2013,10,30 | |
1021 | +1,0,2013,11,2,2013,11,2,2013,11,3 | |
1022 | +1,0,2013,11,3,2013,11,3,2013,11,4 | |
1023 | +1,0,2013,11,4,2013,11,4,2013,11,5 | |
1024 | +1,0,2013,11,5,2013,11,5,2013,11,6 | |
1025 | +1,0,2013,11,6,2013,11,6,2013,11,7 | |
1026 | +1,0,2013,11,9,2013,11,9,2013,11,10 | |
1027 | +1,0,2013,11,10,2013,11,10,2013,11,11 | |
1028 | +1,0,2013,11,11,2013,11,11,2013,11,12 | |
1029 | +1,0,2013,11,12,2013,11,12,2013,11,13 | |
1030 | +1,0,2013,11,13,2013,11,13,2013,11,14 | |
1031 | +1,0,2013,11,16,2013,11,16,2013,11,17 | |
1032 | +1,0,2013,11,17,2013,11,17,2013,11,18 | |
1033 | +1,0,2013,11,18,2013,11,18,2013,11,19 | |
1034 | +1,0,2013,11,19,2013,11,19,2013,11,20 | |
1035 | +1,0,2013,11,20,2013,11,20,2013,11,21 | |
1036 | +1,0,2013,11,23,2013,11,23,2013,11,24 | |
1037 | +1,0,2013,11,24,2013,11,24,2013,11,25 | |
1038 | +1,0,2013,11,25,2013,11,25,2013,11,26 | |
1039 | +1,0,2013,11,26,2013,11,26,2013,11,27 | |
1040 | +1,0,2013,11,27,2013,11,27,2013,11,28 | |
1041 | +1,0,2013,11,30,2013,11,30,2013,11,31 | |
1042 | +1,0,2013,11,31,2013,11,31,2014,0,1 | |
1043 | +1,0,2014,0,1,2014,0,1,2014,0,2 | |
1044 | +1,0,2014,0,2,2014,0,2,2014,0,3 | |
1045 | +1,0,2014,0,3,2014,0,3,2014,0,4 | |
1046 | +1,0,2014,0,6,2014,0,6,2014,0,7 | |
1047 | +1,0,2014,0,7,2014,0,7,2014,0,8 | |
1048 | +1,0,2014,0,8,2014,0,8,2014,0,9 | |
1049 | +1,0,2014,0,9,2014,0,9,2014,0,10 | |
1050 | +1,0,2014,0,10,2014,0,10,2014,0,11 | |
1051 | +1,0,2014,0,13,2014,0,13,2014,0,14 | |
1052 | +1,0,2014,0,14,2014,0,14,2014,0,15 | |
1053 | +1,0,2014,0,15,2014,0,15,2014,0,16 | |
1054 | +1,0,2014,0,16,2014,0,16,2014,0,17 | |
1055 | +1,0,2014,0,17,2014,0,17,2014,0,18 | |
1056 | +1,0,2014,0,20,2014,0,20,2014,0,21 | |
1057 | +1,0,2014,0,21,2014,0,21,2014,0,22 | |
1058 | +1,0,2014,0,22,2014,0,22,2014,0,23 | |
1059 | +1,0,2014,0,23,2014,0,23,2014,0,24 | |
1060 | +1,0,2014,0,24,2014,0,24,2014,0,25 | |
1061 | +1,0,2014,0,27,2014,0,27,2014,0,28 | |
1062 | +1,0,2014,0,28,2014,0,28,2014,0,29 | |
1063 | +1,0,2014,0,29,2014,0,29,2014,0,30 | |
1064 | +1,0,2014,0,30,2014,0,30,2014,0,31 | |
1065 | +1,0,2014,0,31,2014,0,31,2014,1,1 | |
1066 | +1,0,2014,1,3,2014,1,3,2014,1,4 | |
1067 | +1,0,2014,1,4,2014,1,4,2014,1,5 | |
1068 | +1,0,2014,1,5,2014,1,5,2014,1,6 | |
1069 | +1,0,2014,1,6,2014,1,6,2014,1,7 | |
1070 | +1,0,2014,1,7,2014,1,7,2014,1,8 | |
1071 | +1,0,2014,1,10,2014,1,10,2014,1,11 | |
1072 | +1,0,2014,1,11,2014,1,11,2014,1,12 | |
1073 | +1,0,2014,1,12,2014,1,12,2014,1,13 | |
1074 | +1,0,2014,1,13,2014,1,13,2014,1,14 | |
1075 | +1,0,2014,1,14,2014,1,14,2014,1,15 | |
1076 | +1,0,2014,1,17,2014,1,17,2014,1,18 | |
1077 | +1,0,2014,1,18,2014,1,18,2014,1,19 | |
1078 | +1,0,2014,1,19,2014,1,19,2014,1,20 | |
1079 | +1,0,2014,1,20,2014,1,20,2014,1,21 | |
1080 | +1,0,2014,1,21,2014,1,21,2014,1,22 | |
1081 | +1,0,2014,1,24,2014,1,24,2014,1,25 | |
1082 | +1,0,2014,1,25,2014,1,25,2014,1,26 | |
1083 | +1,0,2014,1,26,2014,1,26,2014,1,27 | |
1084 | +1,0,2014,1,27,2014,1,27,2014,1,28 | |
1085 | +1,0,2014,1,28,2014,1,28,2014,2,1 | |
1086 | +1,0,2014,2,3,2014,2,3,2014,2,4 | |
1087 | +1,0,2014,2,4,2014,2,4,2014,2,5 | |
1088 | +1,0,2014,2,5,2014,2,5,2014,2,6 | |
1089 | +1,0,2014,2,6,2014,2,6,2014,2,7 | |
1090 | +1,0,2014,2,7,2014,2,7,2014,2,8 | |
1091 | +1,0,2014,2,10,2014,2,10,2014,2,11 | |
1092 | +1,0,2014,2,11,2014,2,11,2014,2,12 | |
1093 | +1,0,2014,2,12,2014,2,12,2014,2,13 | |
1094 | +1,0,2014,2,13,2014,2,13,2014,2,14 | |
1095 | +1,0,2014,2,14,2014,2,14,2014,2,15 | |
1096 | +1,0,2014,2,17,2014,2,17,2014,2,18 | |
1097 | +1,0,2014,2,18,2014,2,18,2014,2,19 | |
1098 | +1,0,2014,2,19,2014,2,19,2014,2,20 | |
1099 | +1,0,2014,2,20,2014,2,20,2014,2,21 | |
1100 | +1,0,2014,2,21,2014,2,21,2014,2,22 | |
1101 | +1,0,2014,2,24,2014,2,24,2014,2,25 | |
1102 | +1,0,2014,2,25,2014,2,25,2014,2,26 | |
1103 | +1,0,2014,2,26,2014,2,26,2014,2,27 | |
1104 | +1,0,2014,2,27,2014,2,27,2014,2,28 | |
1105 | +1,0,2014,2,28,2014,2,28,2014,2,29 | |
1106 | +1,0,2014,2,31,2014,2,31,2014,3,1 | |
1107 | +1,0,2014,3,1,2014,3,1,2014,3,2 | |
1108 | +1,0,2014,3,2,2014,3,2,2014,3,3 | |
1109 | +1,0,2014,3,3,2014,3,3,2014,3,4 | |
1110 | +1,0,2014,3,4,2014,3,4,2014,3,5 | |
1111 | +1,0,2014,3,7,2014,3,7,2014,3,8 | |
1112 | +1,0,2014,3,8,2014,3,8,2014,3,9 | |
1113 | +1,0,2014,3,9,2014,3,9,2014,3,10 | |
1114 | +1,0,2014,3,10,2014,3,10,2014,3,11 | |
1115 | +1,0,2014,3,11,2014,3,11,2014,3,12 | |
1116 | +1,0,2014,3,14,2014,3,14,2014,3,15 | |
1117 | +1,0,2014,3,15,2014,3,15,2014,3,16 | |
1118 | +1,0,2014,3,16,2014,3,16,2014,3,17 | |
1119 | +1,0,2014,3,17,2014,3,17,2014,3,18 | |
1120 | +1,0,2014,3,18,2014,3,18,2014,3,19 | |
1121 | +1,0,2014,3,21,2014,3,21,2014,3,22 | |
1122 | +1,0,2014,3,22,2014,3,22,2014,3,23 | |
1123 | +1,0,2014,3,23,2014,3,23,2014,3,24 | |
1124 | +1,0,2014,3,24,2014,3,24,2014,3,25 | |
1125 | +1,0,2014,3,25,2014,3,25,2014,3,26 | |
1126 | +1,0,2014,3,28,2014,3,28,2014,3,29 | |
1127 | +1,0,2014,3,29,2014,3,29,2014,3,30 | |
1128 | +1,0,2014,3,30,2014,3,30,2014,4,1 | |
1129 | +1,0,2014,4,1,2014,4,1,2014,4,2 | |
1130 | +1,0,2014,4,2,2014,4,2,2014,4,3 | |
1131 | +1,0,2014,4,5,2014,4,5,2014,4,6 | |
1132 | +1,0,2014,4,6,2014,4,6,2014,4,7 | |
1133 | +1,0,2014,4,7,2014,4,7,2014,4,8 | |
1134 | +1,0,2014,4,8,2014,4,8,2014,4,9 | |
1135 | +1,0,2014,4,9,2014,4,9,2014,4,10 | |
1136 | +1,0,2014,4,12,2014,4,12,2014,4,13 | |
1137 | +1,0,2014,4,13,2014,4,13,2014,4,14 | |
1138 | +1,0,2014,4,14,2014,4,14,2014,4,15 | |
1139 | +1,0,2014,4,15,2014,4,15,2014,4,16 | |
1140 | +1,0,2014,4,16,2014,4,16,2014,4,17 | |
1141 | +1,0,2014,4,19,2014,4,19,2014,4,20 | |
1142 | +1,0,2014,4,20,2014,4,20,2014,4,21 | |
1143 | +1,0,2014,4,21,2014,4,21,2014,4,22 | |
1144 | +1,0,2014,4,22,2014,4,22,2014,4,23 | |
1145 | +1,0,2014,4,23,2014,4,23,2014,4,24 | |
1146 | +1,0,2014,4,26,2014,4,26,2014,4,27 | |
1147 | +1,0,2014,4,27,2014,4,27,2014,4,28 | |
1148 | +1,0,2014,4,28,2014,4,28,2014,4,29 | |
1149 | +1,0,2014,4,29,2014,4,29,2014,4,30 | |
1150 | +1,0,2014,4,30,2014,4,30,2014,4,31 | |
1151 | +1,0,2014,5,2,2014,5,2,2014,5,3 | |
1152 | +1,0,2014,5,3,2014,5,3,2014,5,4 | |
1153 | +1,0,2014,5,4,2014,5,4,2014,5,5 | |
1154 | +1,0,2014,5,5,2014,5,5,2014,5,6 | |
1155 | +1,0,2014,5,6,2014,5,6,2014,5,7 | |
1156 | +1,0,2014,5,9,2014,5,9,2014,5,10 | |
1157 | +1,0,2014,5,10,2014,5,10,2014,5,11 | |
1158 | +1,0,2014,5,11,2014,5,11,2014,5,12 | |
1159 | +1,0,2014,5,12,2014,5,12,2014,5,13 | |
1160 | +1,0,2014,5,13,2014,5,13,2014,5,14 | |
1161 | +1,0,2014,5,16,2014,5,16,2014,5,17 | |
1162 | +1,0,2014,5,17,2014,5,17,2014,5,18 | |
1163 | +1,0,2014,5,18,2014,5,18,2014,5,19 | |
1164 | +1,0,2014,5,19,2014,5,19,2014,5,20 | |
1165 | +1,0,2014,5,20,2014,5,20,2014,5,21 | |
1166 | +1,0,2014,5,23,2014,5,23,2014,5,24 | |
1167 | +1,0,2014,5,24,2014,5,24,2014,5,25 | |
1168 | +1,0,2014,5,25,2014,5,25,2014,5,26 | |
1169 | +1,0,2014,5,26,2014,5,26,2014,5,27 | |
1170 | +1,0,2014,5,27,2014,5,27,2014,5,28 | |
1171 | +1,0,2014,5,30,2014,5,30,2014,6,1 | |
1172 | +1,0,2014,6,1,2014,6,1,2014,6,2 | |
1173 | +1,0,2014,6,2,2014,6,2,2014,6,3 | |
1174 | +1,0,2014,6,3,2014,6,3,2014,6,4 | |
1175 | +1,0,2014,6,4,2014,6,4,2014,6,5 | |
1176 | +1,0,2014,6,7,2014,6,7,2014,6,8 | |
1177 | +1,0,2014,6,8,2014,6,8,2014,6,9 | |
1178 | +1,0,2014,6,9,2014,6,9,2014,6,10 | |
1179 | +1,0,2014,6,10,2014,6,10,2014,6,11 | |
1180 | +1,0,2014,6,11,2014,6,11,2014,6,12 | |
1181 | +1,0,2014,6,14,2014,6,14,2014,6,15 | |
1182 | +1,0,2014,6,15,2014,6,15,2014,6,16 | |
1183 | +1,0,2014,6,16,2014,6,16,2014,6,17 | |
1184 | +1,0,2014,6,17,2014,6,17,2014,6,18 | |
1185 | +1,0,2014,6,18,2014,6,18,2014,6,19 | |
1186 | +1,0,2014,6,21,2014,6,21,2014,6,22 | |
1187 | +1,0,2014,6,22,2014,6,22,2014,6,23 | |
1188 | +1,0,2014,6,23,2014,6,23,2014,6,24 | |
1189 | +1,0,2014,6,24,2014,6,24,2014,6,25 | |
1190 | +1,0,2014,6,25,2014,6,25,2014,6,26 | |
1191 | +1,0,2014,6,28,2014,6,28,2014,6,29 | |
1192 | +1,0,2014,6,29,2014,6,29,2014,6,30 | |
1193 | +1,0,2014,6,30,2014,6,30,2014,6,31 | |
1194 | +1,0,2014,6,31,2014,6,31,2014,7,1 | |
1195 | +1,0,2014,7,1,2014,7,1,2014,7,2 | |
1196 | +1,0,2014,7,4,2014,7,4,2014,7,5 | |
1197 | +1,0,2014,7,5,2014,7,5,2014,7,6 | |
1198 | +1,0,2014,7,6,2014,7,6,2014,7,7 | |
1199 | +1,0,2014,7,7,2014,7,7,2014,7,8 | |
1200 | +1,0,2014,7,8,2014,7,8,2014,7,9 | |
1201 | +1,0,2014,7,11,2014,7,11,2014,7,12 | |
1202 | +1,0,2014,7,12,2014,7,12,2014,7,13 | |
1203 | +1,0,2014,7,13,2014,7,13,2014,7,14 | |
1204 | +1,0,2014,7,14,2014,7,14,2014,7,15 | |
1205 | +1,0,2014,7,15,2014,7,15,2014,7,16 | |
1206 | +1,0,2014,7,18,2014,7,18,2014,7,19 | |
1207 | +1,0,2014,7,19,2014,7,19,2014,7,20 | |
1208 | +1,0,2014,7,20,2014,7,20,2014,7,21 | |
1209 | +1,0,2014,7,21,2014,7,21,2014,7,22 | |
1210 | +1,0,2014,7,22,2014,7,22,2014,7,23 | |
1211 | +1,0,2014,7,25,2014,7,25,2014,7,26 | |
1212 | +1,0,2014,7,26,2014,7,26,2014,7,27 | |
1213 | +1,0,2014,7,27,2014,7,27,2014,7,28 | |
1214 | +1,0,2014,7,28,2014,7,28,2014,7,29 | |
1215 | +1,0,2014,7,29,2014,7,29,2014,7,30 | |
1216 | +1,0,2014,8,1,2014,8,1,2014,8,2 | |
1217 | +1,0,2014,8,2,2014,8,2,2014,8,3 | |
1218 | +1,0,2014,8,3,2014,8,3,2014,8,4 | |
1219 | +1,0,2014,8,4,2014,8,4,2014,8,5 | |
1220 | +1,0,2014,8,5,2014,8,5,2014,8,6 | |
1221 | +1,0,2014,8,8,2014,8,8,2014,8,9 | |
1222 | +1,0,2014,8,8,2014,8,8,2014,8,9 | |
\ No newline at end of file | ... | ... |
This diff could not be displayed because it is too large.
Please
register
or
login
to post a comment