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,7 +48,8 @@ | ||
| 48 | <systemProperties> | 48 | <systemProperties> | 
| 49 | <property> | 49 | <property> | 
| 50 | <name>displayedDaysForMonthViewCalculationTestData</name> | 50 | <name>displayedDaysForMonthViewCalculationTestData</name> | 
| 51 | - <value>${basedir}/src/test/resources/displayedDaysForMonthViewCalculationTestData.txt</value> | 51 | + <value>${basedir}/src/test/resources/displayedDaysForMonthViewCalculationTestData.txt | 
| 52 | + </value> | ||
| 52 | </property> | 53 | </property> | 
| 53 | <property> | 54 | <property> | 
| 54 | <name>displayedDaysForWeekViewCalculationTestData</name> | 55 | <name>displayedDaysForWeekViewCalculationTestData</name> | 
| 1 | <listener> | 1 | <listener> | 
| 2 | - <name>itemSelectedListener</name> | 2 | + <name>itemSelectListener</name> | 
| 3 | <property existintag="true" exist="true" el="true" elonly="true"> | 3 | <property existintag="true" exist="true" el="true" elonly="true"> | 
| 4 | <name>binding</name> | 4 | <name>binding</name> | 
| 5 | - <classname>org.richfaces.scheduleItemSelectedListener</classname> | 5 | + <classname>org.richfaces.scheduleItemSelectListener</classname> | 
| 6 | <description>The attribute takes a value-binding expression for a component property of | 6 | <description>The attribute takes a value-binding expression for a component property of | 
| 7 | a backing bean | 7 | a backing bean | 
| 8 | </description> | 8 | </description> | 
| 9 | </property> | 9 | </property> | 
| 10 | <listenerclass> | 10 | <listenerclass> | 
| 11 | - org.richfaces.component.event.ScheduleItemSelectedListener | 11 | + org.richfaces.component.event.ScheduleItemSelectListener | 
| 12 | </listenerclass> | 12 | </listenerclass> | 
| 13 | <componentclass> | 13 | <componentclass> | 
| 14 | org.richfaces.component.event.ScheduleListenerEventsProducer | 14 | org.richfaces.component.event.ScheduleListenerEventsProducer | 
| 15 | </componentclass> | 15 | </componentclass> | 
| 16 | <eventclass> | 16 | <eventclass> | 
| 17 | - org.richfaces.component.event.ScheduleItemSelectedEvent | 17 | + org.richfaces.component.event.ScheduleItemSelectEvent | 
| 18 | </eventclass> | 18 | </eventclass> | 
| 19 | <taghandler generate="true"> | 19 | <taghandler generate="true"> | 
| 20 | <classname> | 20 | <classname> | 
| 21 | - org.richfaces.taglib.ScheduleItemSelectedListenerTagHandler | 21 | + org.richfaces.taglib.ScheduleItemSelectListenerTagHandler | 
| 22 | </classname> | 22 | </classname> | 
| 23 | </taghandler> | 23 | </taghandler> | 
| 24 | <tag generate="true"> | 24 | <tag generate="true"> | 
| 25 | <classname> | 25 | <classname> | 
| 26 | - org.richfaces.taglib.ItemSelectedListenerTag | 26 | + org.richfaces.taglib.ItemSelectListenerTag | 
| 27 | </classname> | 27 | </classname> | 
| 28 | </tag> | 28 | </tag> | 
| 29 | 29 | ||
| @@ -107,31 +107,31 @@ | @@ -107,31 +107,31 @@ | ||
| 107 | </listener> | 107 | </listener> | 
| 108 | 108 | ||
| 109 | <listener> | 109 | <listener> | 
| 110 | - <name>viewChangedListener</name> | 110 | + <name>viewChangeListener</name> | 
| 111 | <property existintag="true" exist="true" el="true" elonly="true"> | 111 | <property existintag="true" exist="true" el="true" elonly="true"> | 
| 112 | <name>binding</name> | 112 | <name>binding</name> | 
| 113 | - <classname>org.richfaces.scheduleViewChangedListener</classname> | 113 | + <classname>org.richfaces.scheduleViewChangeListener</classname> | 
| 114 | <description>The attribute takes a value-binding expression for a component property of | 114 | <description>The attribute takes a value-binding expression for a component property of | 
| 115 | a backing bean | 115 | a backing bean | 
| 116 | </description> | 116 | </description> | 
| 117 | </property> | 117 | </property> | 
| 118 | <listenerclass> | 118 | <listenerclass> | 
| 119 | - org.richfaces.component.event.ScheduleViewChangedListener | 119 | + org.richfaces.component.event.ScheduleViewChangeListener | 
| 120 | </listenerclass> | 120 | </listenerclass> | 
| 121 | <componentclass> | 121 | <componentclass> | 
| 122 | org.richfaces.component.event.ScheduleListenerEventsProducer | 122 | org.richfaces.component.event.ScheduleListenerEventsProducer | 
| 123 | </componentclass> | 123 | </componentclass> | 
| 124 | <eventclass> | 124 | <eventclass> | 
| 125 | - org.richfaces.component.event.ScheduleViewChangedEvent | 125 | + org.richfaces.component.event.ScheduleViewChangeEvent | 
| 126 | </eventclass> | 126 | </eventclass> | 
| 127 | <taghandler generate="true"> | 127 | <taghandler generate="true"> | 
| 128 | <classname> | 128 | <classname> | 
| 129 | - org.richfaces.taglib.ScheduleViewChangedListenerTagHandler | 129 | + org.richfaces.taglib.ScheduleViewChangeListenerTagHandler | 
| 130 | </classname> | 130 | </classname> | 
| 131 | </taghandler> | 131 | </taghandler> | 
| 132 | <tag generate="true"> | 132 | <tag generate="true"> | 
| 133 | <classname> | 133 | <classname> | 
| 134 | - org.richfaces.taglib.ViewChangedListenerTag | 134 | + org.richfaces.taglib.ViewChangeListenerTag | 
| 135 | </classname> | 135 | </classname> | 
| 136 | </tag> | 136 | </tag> | 
| 137 | 137 | ||
| @@ -143,31 +143,31 @@ | @@ -143,31 +143,31 @@ | ||
| 143 | </listener> | 143 | </listener> | 
| 144 | 144 | ||
| 145 | <listener> | 145 | <listener> | 
| 146 | - <name>dateRangeChangedListener</name> | 146 | + <name>dateRangeChangeListener</name> | 
| 147 | <property existintag="true" exist="true" el="true" elonly="true"> | 147 | <property existintag="true" exist="true" el="true" elonly="true"> | 
| 148 | <name>binding</name> | 148 | <name>binding</name> | 
| 149 | - <classname>org.richfaces.scheduleDateRangeChangedListener</classname> | 149 | + <classname>org.richfaces.scheduleDateRangeChangeListener</classname> | 
| 150 | <description>The attribute takes a value-binding expression for a component property of | 150 | <description>The attribute takes a value-binding expression for a component property of | 
| 151 | a backing bean | 151 | a backing bean | 
| 152 | </description> | 152 | </description> | 
| 153 | </property> | 153 | </property> | 
| 154 | <listenerclass> | 154 | <listenerclass> | 
| 155 | - org.richfaces.component.event.ScheduleDateRangeChangedListener | 155 | + org.richfaces.component.event.ScheduleDateRangeChangeListener | 
| 156 | </listenerclass> | 156 | </listenerclass> | 
| 157 | <componentclass> | 157 | <componentclass> | 
| 158 | org.richfaces.component.event.ScheduleListenerEventsProducer | 158 | org.richfaces.component.event.ScheduleListenerEventsProducer | 
| 159 | </componentclass> | 159 | </componentclass> | 
| 160 | <eventclass> | 160 | <eventclass> | 
| 161 | - org.richfaces.component.event.ScheduleDateRangeChangedEvent | 161 | + org.richfaces.component.event.ScheduleDateRangeChangeEvent | 
| 162 | </eventclass> | 162 | </eventclass> | 
| 163 | <taghandler generate="true"> | 163 | <taghandler generate="true"> | 
| 164 | <classname> | 164 | <classname> | 
| 165 | - org.richfaces.taglib.ScheduleDateRangeChangedListenerTagHandler | 165 | + org.richfaces.taglib.ScheduleDateRangeChangeListenerTagHandler | 
| 166 | </classname> | 166 | </classname> | 
| 167 | </taghandler> | 167 | </taghandler> | 
| 168 | <tag generate="true"> | 168 | <tag generate="true"> | 
| 169 | <classname> | 169 | <classname> | 
| 170 | - org.richfaces.taglib.DateRangeChangedListenerTag | 170 | + org.richfaces.taglib.DateRangeChangeListenerTag | 
| 171 | </classname> | 171 | </classname> | 
| 172 | </tag> | 172 | </tag> | 
| 173 | 173 | ||
| @@ -178,31 +178,31 @@ | @@ -178,31 +178,31 @@ | ||
| 178 | </property> | 178 | </property> | 
| 179 | </listener> | 179 | </listener> | 
| 180 | <listener> | 180 | <listener> | 
| 181 | - <name>dateRangeSelectedListener</name> | 181 | + <name>dateRangeSelectListener</name> | 
| 182 | <property existintag="true" exist="true" el="true" elonly="true"> | 182 | <property existintag="true" exist="true" el="true" elonly="true"> | 
| 183 | <name>binding</name> | 183 | <name>binding</name> | 
| 184 | - <classname>org.richfaces.scheduleDateRangeChangedListener</classname> | 184 | + <classname>org.richfaces.scheduleDateRangeSelectdListener</classname> | 
| 185 | <description>The attribute takes a value-binding expression for a component property of | 185 | <description>The attribute takes a value-binding expression for a component property of | 
| 186 | a backing bean | 186 | a backing bean | 
| 187 | </description> | 187 | </description> | 
| 188 | </property> | 188 | </property> | 
| 189 | <listenerclass> | 189 | <listenerclass> | 
| 190 | - org.richfaces.component.event.ScheduleDateRangeSelectedListener | 190 | + org.richfaces.component.event.ScheduleDateRangeSelectListener | 
| 191 | </listenerclass> | 191 | </listenerclass> | 
| 192 | <componentclass> | 192 | <componentclass> | 
| 193 | org.richfaces.component.event.ScheduleListenerEventsProducer | 193 | org.richfaces.component.event.ScheduleListenerEventsProducer | 
| 194 | </componentclass> | 194 | </componentclass> | 
| 195 | <eventclass> | 195 | <eventclass> | 
| 196 | - org.richfaces.component.event.ScheduleDateRangeSelectedEvent | 196 | + org.richfaces.component.event.ScheduleDateRangeSelectEvent | 
| 197 | </eventclass> | 197 | </eventclass> | 
| 198 | <taghandler generate="true"> | 198 | <taghandler generate="true"> | 
| 199 | <classname> | 199 | <classname> | 
| 200 | - org.richfaces.taglib.ScheduleDateRangeSelectedListenerTagHandler | 200 | + org.richfaces.taglib.ScheduleDateRangeSelectListenerTagHandler | 
| 201 | </classname> | 201 | </classname> | 
| 202 | </taghandler> | 202 | </taghandler> | 
| 203 | <tag generate="true"> | 203 | <tag generate="true"> | 
| 204 | <classname> | 204 | <classname> | 
| 205 | - org.richfaces.taglib.DateRangeSelectedListenerTag | 205 | + org.richfaces.taglib.DateRangeSelectListenerTag | 
| 206 | </classname> | 206 | </classname> | 
| 207 | </tag> | 207 | </tag> | 
| 208 | 208 | ||
| @@ -214,31 +214,31 @@ | @@ -214,31 +214,31 @@ | ||
| 214 | </listener> | 214 | </listener> | 
| 215 | 215 | ||
| 216 | <listener> | 216 | <listener> | 
| 217 | - <name>dateSelectedListener</name> | 217 | + <name>dateSelectListener</name> | 
| 218 | <property existintag="true" exist="true" el="true" elonly="true"> | 218 | <property existintag="true" exist="true" el="true" elonly="true"> | 
| 219 | <name>binding</name> | 219 | <name>binding</name> | 
| 220 | - <classname>org.richfaces.scheduleDateSelectedListener</classname> | 220 | + <classname>org.richfaces.scheduleDateSelectListener</classname> | 
| 221 | <description>The attribute takes a value-binding expression for a component property of | 221 | <description>The attribute takes a value-binding expression for a component property of | 
| 222 | a backing bean | 222 | a backing bean | 
| 223 | </description> | 223 | </description> | 
| 224 | </property> | 224 | </property> | 
| 225 | <listenerclass> | 225 | <listenerclass> | 
| 226 | - org.richfaces.component.event.ScheduleDateSelectedListener | 226 | + org.richfaces.component.event.ScheduleDateSelectListener | 
| 227 | </listenerclass> | 227 | </listenerclass> | 
| 228 | <componentclass> | 228 | <componentclass> | 
| 229 | org.richfaces.component.event.ScheduleListenerEventsProducer | 229 | org.richfaces.component.event.ScheduleListenerEventsProducer | 
| 230 | </componentclass> | 230 | </componentclass> | 
| 231 | <eventclass> | 231 | <eventclass> | 
| 232 | - org.richfaces.component.event.ScheduleDateSelectedEvent | 232 | + org.richfaces.component.event.ScheduleDateSelectEvent | 
| 233 | </eventclass> | 233 | </eventclass> | 
| 234 | <taghandler generate="true"> | 234 | <taghandler generate="true"> | 
| 235 | <classname> | 235 | <classname> | 
| 236 | - org.richfaces.taglib.ScheduleDateSelectedListenerTagHandler | 236 | + org.richfaces.taglib.ScheduleDateSelectListenerTagHandler | 
| 237 | </classname> | 237 | </classname> | 
| 238 | </taghandler> | 238 | </taghandler> | 
| 239 | <tag generate="true"> | 239 | <tag generate="true"> | 
| 240 | <classname> | 240 | <classname> | 
| 241 | - org.richfaces.taglib.DateSelectedListenerTag | 241 | + org.richfaces.taglib.DateSelectListenerTag | 
| 242 | </classname> | 242 | </classname> | 
| 243 | </tag> | 243 | </tag> | 
| 244 | 244 | 
| @@ -37,8 +37,6 @@ | @@ -37,8 +37,6 @@ | ||
| 37 | &ui_component_attributes; | 37 | &ui_component_attributes; | 
| 38 | &commonViewAttributes; | 38 | &commonViewAttributes; | 
| 39 | &ajax_component_attributes; | 39 | &ajax_component_attributes; | 
| 40 | - <!--TODO how about reRender ajaxSingle and others?--> | ||
| 41 | - <!--TODO add style attribute--> | ||
| 42 | <property> | 40 | <property> | 
| 43 | <name>switchType</name> | 41 | <name>switchType</name> | 
| 44 | <classname>java.lang.String</classname> | 42 | <classname>java.lang.String</classname> | 
| @@ -462,7 +460,7 @@ | @@ -462,7 +460,7 @@ | ||
| 462 | </property> | 460 | </property> | 
| 463 | 461 | ||
| 464 | <property> | 462 | <property> | 
| 465 | - <name>onItemSelected</name> | 463 | + <name>onbeforeitemselect</name> | 
| 466 | <classname>java.lang.String</classname> | 464 | <classname>java.lang.String</classname> | 
| 467 | <description> | 465 | <description> | 
| 468 | JavaScript code for handling event. | 466 | JavaScript code for handling event. | 
| @@ -476,7 +474,7 @@ | @@ -476,7 +474,7 @@ | ||
| 476 | <defaultvalue>null</defaultvalue> | 474 | <defaultvalue>null</defaultvalue> | 
| 477 | </property> | 475 | </property> | 
| 478 | <property> | 476 | <property> | 
| 479 | - <name>onItemSelectedComplete</name> | 477 | + <name>onitemselect</name> | 
| 480 | <classname>java.lang.String</classname> | 478 | <classname>java.lang.String</classname> | 
| 481 | <description> | 479 | <description> | 
| 482 | JavaScript code called when ajax request triggered when item | 480 | JavaScript code called when ajax request triggered when item | 
| @@ -493,7 +491,7 @@ | @@ -493,7 +491,7 @@ | ||
| 493 | <defaultvalue>null</defaultvalue> | 491 | <defaultvalue>null</defaultvalue> | 
| 494 | </property> | 492 | </property> | 
| 495 | <property> | 493 | <property> | 
| 496 | - <name>onItemDragStart</name> | 494 | + <name>onitemdragstart</name> | 
| 497 | <classname>java.lang.String</classname> | 495 | <classname>java.lang.String</classname> | 
| 498 | <description> | 496 | <description> | 
| 499 | JavaScript code for handling event. | 497 | JavaScript code for handling event. | 
| @@ -508,7 +506,7 @@ | @@ -508,7 +506,7 @@ | ||
| 508 | <defaultvalue>null</defaultvalue> | 506 | <defaultvalue>null</defaultvalue> | 
| 509 | </property> | 507 | </property> | 
| 510 | <property> | 508 | <property> | 
| 511 | - <name>onItemDragStop</name> | 509 | + <name>onitemdragstop</name> | 
| 512 | <classname>java.lang.String</classname> | 510 | <classname>java.lang.String</classname> | 
| 513 | <description> | 511 | <description> | 
| 514 | JavaScript code for handling event. | 512 | JavaScript code for handling event. | 
| @@ -523,7 +521,7 @@ | @@ -523,7 +521,7 @@ | ||
| 523 | <defaultvalue>null</defaultvalue> | 521 | <defaultvalue>null</defaultvalue> | 
| 524 | </property> | 522 | </property> | 
| 525 | <property> | 523 | <property> | 
| 526 | - <name>onItemResizeStart</name> | 524 | + <name>onitemresizestart</name> | 
| 527 | <classname>java.lang.String</classname> | 525 | <classname>java.lang.String</classname> | 
| 528 | <description> | 526 | <description> | 
| 529 | JavaScript code for handling event. | 527 | JavaScript code for handling event. | 
| @@ -538,7 +536,7 @@ | @@ -538,7 +536,7 @@ | ||
| 538 | <defaultvalue>null</defaultvalue> | 536 | <defaultvalue>null</defaultvalue> | 
| 539 | </property> | 537 | </property> | 
| 540 | <property> | 538 | <property> | 
| 541 | - <name>onItemResizeStop</name> | 539 | + <name>onitemresizestop</name> | 
| 542 | <classname>java.lang.String</classname> | 540 | <classname>java.lang.String</classname> | 
| 543 | <description> | 541 | <description> | 
| 544 | JavaScript code for handling event. | 542 | JavaScript code for handling event. | 
| @@ -553,7 +551,7 @@ | @@ -553,7 +551,7 @@ | ||
| 553 | <defaultvalue>null</defaultvalue> | 551 | <defaultvalue>null</defaultvalue> | 
| 554 | </property> | 552 | </property> | 
| 555 | <property> | 553 | <property> | 
| 556 | - <name>onItemDrop</name> | 554 | + <name>onbeforeitemdrop</name> | 
| 557 | <classname>java.lang.String</classname> | 555 | <classname>java.lang.String</classname> | 
| 558 | <description> | 556 | <description> | 
| 559 | JavaScript code for handling event. | 557 | JavaScript code for handling event. | 
| @@ -578,7 +576,7 @@ | @@ -578,7 +576,7 @@ | ||
| 578 | <defaultvalue>null</defaultvalue> | 576 | <defaultvalue>null</defaultvalue> | 
| 579 | </property> | 577 | </property> | 
| 580 | <property> | 578 | <property> | 
| 581 | - <name>onItemDropComplete</name> | 579 | + <name>onitemdrop</name> | 
| 582 | <classname>java.lang.String</classname> | 580 | <classname>java.lang.String</classname> | 
| 583 | <description> | 581 | <description> | 
| 584 | JavaScript code called when ajax request triggered when item | 582 | JavaScript code called when ajax request triggered when item | 
| @@ -607,7 +605,7 @@ | @@ -607,7 +605,7 @@ | ||
| 607 | <defaultvalue>null</defaultvalue> | 605 | <defaultvalue>null</defaultvalue> | 
| 608 | </property> | 606 | </property> | 
| 609 | <property> | 607 | <property> | 
| 610 | - <name>onItemResized</name> | 608 | + <name>onbeforeitemresize</name> | 
| 611 | <classname>java.lang.String</classname> | 609 | <classname>java.lang.String</classname> | 
| 612 | <description> | 610 | <description> | 
| 613 | JavaScript code for handling event. | 611 | JavaScript code for handling event. | 
| @@ -630,7 +628,7 @@ | @@ -630,7 +628,7 @@ | ||
| 630 | <defaultvalue>null</defaultvalue> | 628 | <defaultvalue>null</defaultvalue> | 
| 631 | </property> | 629 | </property> | 
| 632 | <property> | 630 | <property> | 
| 633 | - <name>onItemResizedComplete</name> | 631 | + <name>onitemresize</name> | 
| 634 | <classname>java.lang.String</classname> | 632 | <classname>java.lang.String</classname> | 
| 635 | <description> | 633 | <description> | 
| 636 | JavaScript code called when ajax request triggered when item | 634 | JavaScript code called when ajax request triggered when item | 
| @@ -655,7 +653,7 @@ | @@ -655,7 +653,7 @@ | ||
| 655 | <defaultvalue>null</defaultvalue> | 653 | <defaultvalue>null</defaultvalue> | 
| 656 | </property> | 654 | </property> | 
| 657 | <property> | 655 | <property> | 
| 658 | - <name>onItemMouseover</name> | 656 | + <name>onitemmouseover</name> | 
| 659 | <classname>java.lang.String</classname> | 657 | <classname>java.lang.String</classname> | 
| 660 | <description> | 658 | <description> | 
| 661 | JavaScript code for handling event. | 659 | JavaScript code for handling event. | 
| @@ -669,7 +667,7 @@ | @@ -669,7 +667,7 @@ | ||
| 669 | <defaultvalue>null</defaultvalue> | 667 | <defaultvalue>null</defaultvalue> | 
| 670 | </property> | 668 | </property> | 
| 671 | <property> | 669 | <property> | 
| 672 | - <name>onItemMouseout</name> | 670 | + <name>onitemmouseout</name> | 
| 673 | <classname>java.lang.String</classname> | 671 | <classname>java.lang.String</classname> | 
| 674 | <description> | 672 | <description> | 
| 675 | JavaScript code for handling event. | 673 | JavaScript code for handling event. | 
| @@ -683,7 +681,7 @@ | @@ -683,7 +681,7 @@ | ||
| 683 | <defaultvalue>null</defaultvalue> | 681 | <defaultvalue>null</defaultvalue> | 
| 684 | </property> | 682 | </property> | 
| 685 | <property> | 683 | <property> | 
| 686 | - <name>onViewChanged</name> | 684 | + <name>onbeforeviewchange</name> | 
| 687 | <classname>java.lang.String</classname> | 685 | <classname>java.lang.String</classname> | 
| 688 | <description> | 686 | <description> | 
| 689 | JavaScript code for handling event. | 687 | JavaScript code for handling event. | 
| @@ -697,7 +695,7 @@ | @@ -697,7 +695,7 @@ | ||
| 697 | <defaultvalue>null</defaultvalue> | 695 | <defaultvalue>null</defaultvalue> | 
| 698 | </property> | 696 | </property> | 
| 699 | <property> | 697 | <property> | 
| 700 | - <name>onViewChangedComplete</name> | 698 | + <name>onviewchange</name> | 
| 701 | <classname>java.lang.String</classname> | 699 | <classname>java.lang.String</classname> | 
| 702 | <description> | 700 | <description> | 
| 703 | JavaScript code called when ajax request triggered when view | 701 | JavaScript code called when ajax request triggered when view | 
| @@ -712,7 +710,7 @@ | @@ -712,7 +710,7 @@ | ||
| 712 | <defaultvalue>null</defaultvalue> | 710 | <defaultvalue>null</defaultvalue> | 
| 713 | </property> | 711 | </property> | 
| 714 | <property> | 712 | <property> | 
| 715 | - <name>onDateSelected</name> | 713 | + <name>onbeforedateselect</name> | 
| 716 | <classname>java.lang.String</classname> | 714 | <classname>java.lang.String</classname> | 
| 717 | <description> | 715 | <description> | 
| 718 | JavaScript code for handling event. | 716 | JavaScript code for handling event. | 
| @@ -729,7 +727,7 @@ | @@ -729,7 +727,7 @@ | ||
| 729 | <defaultvalue>null</defaultvalue> | 727 | <defaultvalue>null</defaultvalue> | 
| 730 | </property> | 728 | </property> | 
| 731 | <property> | 729 | <property> | 
| 732 | - <name>onDateSelectedComplete</name> | 730 | + <name>ondateselect</name> | 
| 733 | <classname>java.lang.String</classname> | 731 | <classname>java.lang.String</classname> | 
| 734 | <description> | 732 | <description> | 
| 735 | JavaScript code called when ajax request triggered when date | 733 | JavaScript code called when ajax request triggered when date | 
| @@ -749,7 +747,7 @@ | @@ -749,7 +747,7 @@ | ||
| 749 | <defaultvalue>null</defaultvalue> | 747 | <defaultvalue>null</defaultvalue> | 
| 750 | </property> | 748 | </property> | 
| 751 | <property> | 749 | <property> | 
| 752 | - <name>onDateRangeSelected</name> | 750 | + <name>onbeforedaterangeselect</name> | 
| 753 | <classname>java.lang.String</classname> | 751 | <classname>java.lang.String</classname> | 
| 754 | <description> | 752 | <description> | 
| 755 | JavaScript code for handling event. | 753 | JavaScript code for handling event. | 
| @@ -766,7 +764,7 @@ | @@ -766,7 +764,7 @@ | ||
| 766 | <defaultvalue>null</defaultvalue> | 764 | <defaultvalue>null</defaultvalue> | 
| 767 | </property> | 765 | </property> | 
| 768 | <property> | 766 | <property> | 
| 769 | - <name>onDateRangeSelectedComplete</name> | 767 | + <name>ondaterangeselect</name> | 
| 770 | <classname>java.lang.String</classname> | 768 | <classname>java.lang.String</classname> | 
| 771 | <description> | 769 | <description> | 
| 772 | JavaScript code called when ajax request triggered when date | 770 | JavaScript code called when ajax request triggered when date | 
| @@ -785,8 +783,9 @@ | @@ -785,8 +783,9 @@ | ||
| 785 | </description> | 783 | </description> | 
| 786 | <defaultvalue>null</defaultvalue> | 784 | <defaultvalue>null</defaultvalue> | 
| 787 | </property> | 785 | </property> | 
| 786 | + <!--TODO change javadoc of event attributes--> | ||
| 788 | <property> | 787 | <property> | 
| 789 | - <name>onDateRangeChanged</name> | 788 | + <name>onbeforedaterangechange</name> | 
| 790 | <classname>java.lang.String</classname> | 789 | <classname>java.lang.String</classname> | 
| 791 | <description> | 790 | <description> | 
| 792 | JavaScript code for handling event. | 791 | JavaScript code for handling event. | 
| @@ -801,7 +800,7 @@ | @@ -801,7 +800,7 @@ | ||
| 801 | <defaultvalue>null</defaultvalue> | 800 | <defaultvalue>null</defaultvalue> | 
| 802 | </property> | 801 | </property> | 
| 803 | <property> | 802 | <property> | 
| 804 | - <name>onDateRangeChangedComplete</name> | 803 | + <name>ondaterangechange</name> | 
| 805 | <classname>java.lang.String</classname> | 804 | <classname>java.lang.String</classname> | 
| 806 | <description> | 805 | <description> | 
| 807 | JavaScript code called when ajax request triggered when displayed | 806 | JavaScript code called when ajax request triggered when displayed | 
| @@ -827,7 +826,6 @@ | @@ -827,7 +826,6 @@ | ||
| 827 | <property elonly="true" attachedstate="true"> | 826 | <property elonly="true" attachedstate="true"> | 
| 828 | <name>itemMoveListener</name> | 827 | <name>itemMoveListener</name> | 
| 829 | <classname>javax.faces.el.MethodBinding</classname> | 828 | <classname>javax.faces.el.MethodBinding</classname> | 
| 830 | - <!--<methodargs>org.richfaces.component.event.ScheduleItemMoveEvent</methodargs>--> | ||
| 831 | <returntype>boolean</returntype> | 829 | <returntype>boolean</returntype> | 
| 832 | </property> | 830 | </property> | 
| 833 | 831 | ||
| @@ -837,27 +835,27 @@ | @@ -837,27 +835,27 @@ | ||
| 837 | </property> | 835 | </property> | 
| 838 | 836 | ||
| 839 | <property elonly="true" attachedstate="true"> | 837 | <property elonly="true" attachedstate="true"> | 
| 840 | - <name>itemSelectedListener</name> | 838 | + <name>itemSelectListener</name> | 
| 841 | <classname>javax.faces.el.MethodBinding</classname> | 839 | <classname>javax.faces.el.MethodBinding</classname> | 
| 842 | </property> | 840 | </property> | 
| 843 | 841 | ||
| 844 | <property elonly="true" attachedstate="true"> | 842 | <property elonly="true" attachedstate="true"> | 
| 845 | - <name>viewChangedListener</name> | 843 | + <name>viewChangeListener</name> | 
| 846 | <classname>javax.faces.el.MethodBinding</classname> | 844 | <classname>javax.faces.el.MethodBinding</classname> | 
| 847 | </property> | 845 | </property> | 
| 848 | 846 | ||
| 849 | <property elonly="true" attachedstate="true"> | 847 | <property elonly="true" attachedstate="true"> | 
| 850 | - <name>dateRangeChangedListener</name> | 848 | + <name>dateRangeChangeListener</name> | 
| 851 | <classname>javax.faces.el.MethodBinding</classname> | 849 | <classname>javax.faces.el.MethodBinding</classname> | 
| 852 | </property> | 850 | </property> | 
| 853 | 851 | ||
| 854 | <property elonly="true" attachedstate="true"> | 852 | <property elonly="true" attachedstate="true"> | 
| 855 | - <name>dateRangeSelectedListener</name> | 853 | + <name>dateRangeSelectListener</name> | 
| 856 | <classname>javax.faces.el.MethodBinding</classname> | 854 | <classname>javax.faces.el.MethodBinding</classname> | 
| 857 | </property> | 855 | </property> | 
| 858 | 856 | ||
| 859 | <property elonly="true" attachedstate="true"> | 857 | <property elonly="true" attachedstate="true"> | 
| 860 | - <name>dateSelectedListener</name> | 858 | + <name>dateSelectListener</name> | 
| 861 | <classname>javax.faces.el.MethodBinding</classname> | 859 | <classname>javax.faces.el.MethodBinding</classname> | 
| 862 | </property> | 860 | </property> | 
| 863 | 861 | 
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 
| 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" | 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 | <components> | 8 | <components> | 
| 9 | <component> | 9 | <component> | 
| 10 | <name>org.richfaces.ScheduleAgendaDayView</name> | 10 | <name>org.richfaces.ScheduleAgendaDayView</name> | 
| @@ -22,11 +22,6 @@ | @@ -22,11 +22,6 @@ | ||
| 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 
| 23 | </superclass> | 23 | </superclass> | 
| 24 | </tag> | 24 | </tag> | 
| 25 | - <!-- | ||
| 26 | - <taghandler> | ||
| 27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | ||
| 28 | - </taghandler> | ||
| 29 | - --> | ||
| 30 | &ui_component_attributes; | 25 | &ui_component_attributes; | 
| 31 | &commonViewAttributes; | 26 | &commonViewAttributes; | 
| 32 | </component> | 27 | </component> | 
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 
| 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" | 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 | <components> | 8 | <components> | 
| 9 | <component> | 9 | <component> | 
| 10 | <name>org.richfaces.ScheduleAgendaWeekView</name> | 10 | <name>org.richfaces.ScheduleAgendaWeekView</name> | 
| @@ -22,11 +22,6 @@ | @@ -22,11 +22,6 @@ | ||
| 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 
| 23 | </superclass> | 23 | </superclass> | 
| 24 | </tag> | 24 | </tag> | 
| 25 | - <!-- | ||
| 26 | - <taghandler> | ||
| 27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | ||
| 28 | - </taghandler> | ||
| 29 | - --> | ||
| 30 | &ui_component_attributes; | 25 | &ui_component_attributes; | 
| 31 | &commonViewAttributes; | 26 | &commonViewAttributes; | 
| 32 | </component> | 27 | </component> | 
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 
| 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" | 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 | <components> | 8 | <components> | 
| 9 | <component> | 9 | <component> | 
| 10 | <name>org.richfaces.ScheduleBasicDayView</name> | 10 | <name>org.richfaces.ScheduleBasicDayView</name> | 
| @@ -22,11 +22,6 @@ | @@ -22,11 +22,6 @@ | ||
| 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 
| 23 | </superclass> | 23 | </superclass> | 
| 24 | </tag> | 24 | </tag> | 
| 25 | - <!-- | ||
| 26 | - <taghandler> | ||
| 27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | ||
| 28 | - </taghandler> | ||
| 29 | - --> | ||
| 30 | &ui_component_attributes; | 25 | &ui_component_attributes; | 
| 31 | &commonViewAttributes; | 26 | &commonViewAttributes; | 
| 32 | </component> | 27 | </component> | 
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 
| 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" | 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 | <components> | 8 | <components> | 
| 9 | <component> | 9 | <component> | 
| 10 | <name>org.richfaces.ScheduleBasicWeekView</name> | 10 | <name>org.richfaces.ScheduleBasicWeekView</name> | 
| @@ -22,11 +22,6 @@ | @@ -22,11 +22,6 @@ | ||
| 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 
| 23 | </superclass> | 23 | </superclass> | 
| 24 | </tag> | 24 | </tag> | 
| 25 | - <!-- | ||
| 26 | - <taghandler> | ||
| 27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | ||
| 28 | - </taghandler> | ||
| 29 | - --> | ||
| 30 | &ui_component_attributes; | 25 | &ui_component_attributes; | 
| 31 | &commonViewAttributes; | 26 | &commonViewAttributes; | 
| 32 | </component> | 27 | </component> | 
| @@ -19,14 +19,7 @@ | @@ -19,14 +19,7 @@ | ||
| 19 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 19 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 
| 20 | </superclass> | 20 | </superclass> | 
| 21 | </tag> | 21 | </tag> | 
| 22 | - <!-- | ||
| 23 | - <taghandler> | ||
| 24 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | ||
| 25 | - </taghandler> | ||
| 26 | - --> | ||
| 27 | &ui_component_attributes; | 22 | &ui_component_attributes; | 
| 28 | - <!-- | ||
| 29 | - --> | ||
| 30 | <property> | 23 | <property> | 
| 31 | <name>styleClass</name> | 24 | <name>styleClass</name> | 
| 32 | <classname>java.lang.String</classname> | 25 | <classname>java.lang.String</classname> | 
| 1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> | 
| 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 2 | <!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN" | 
| 3 | "http://labs.jboss.com/jbossrichfaces/component-config.dtd" | 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 | <components> | 8 | <components> | 
| 9 | <component> | 9 | <component> | 
| 10 | <name>org.richfaces.ScheduleMonthView</name> | 10 | <name>org.richfaces.ScheduleMonthView</name> | 
| @@ -22,15 +22,8 @@ | @@ -22,15 +22,8 @@ | ||
| 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 22 | org.ajax4jsf.webapp.taglib.HtmlComponentTagBase | 
| 23 | </superclass> | 23 | </superclass> | 
| 24 | </tag> | 24 | </tag> | 
| 25 | - <!-- | ||
| 26 | - <taghandler> | ||
| 27 | - <classname>org.ajax4jsf.tag.TestHandler</classname> | ||
| 28 | - </taghandler> | ||
| 29 | - --> | ||
| 30 | &ui_component_attributes; | 25 | &ui_component_attributes; | 
| 31 | &commonViewAttributes; | 26 | &commonViewAttributes; | 
| 32 | - <!-- | ||
| 33 | - --> | ||
| 34 | <property> | 27 | <property> | 
| 35 | <name>weekMode</name> | 28 | <name>weekMode</name> | 
| 36 | <classname>java.lang.String</classname> | 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 | package org.richfaces.component; | 22 | package org.richfaces.component; | 
| 2 | 23 | ||
| 3 | /** | 24 | /** | 
| @@ -18,13 +18,25 @@ import javax.faces.context.FacesContext; | @@ -18,13 +18,25 @@ import javax.faces.context.FacesContext; | ||
| 18 | import javax.faces.el.MethodBinding; | 18 | import javax.faces.el.MethodBinding; | 
| 19 | import javax.faces.event.AbortProcessingException; | 19 | import javax.faces.event.AbortProcessingException; | 
| 20 | import javax.faces.event.FacesEvent; | 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 | import javax.servlet.jsp.jstl.sql.Result; | 27 | import javax.servlet.jsp.jstl.sql.Result; | 
| 23 | import java.io.IOException; | 28 | import java.io.IOException; | 
| 24 | import java.sql.ResultSet; | 29 | import java.sql.ResultSet; | 
| 25 | import java.text.DateFormat; | 30 | import java.text.DateFormat; | 
| 26 | import java.text.SimpleDateFormat; | 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 | public abstract class UISchedule extends UIComponentBase implements ScheduleCommonViewAttributes, ScheduleListenerEventsProducer, AjaxComponent { | 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,12 +50,42 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 38 | public static final String VIEW_AGENDA_WEEK = "agendaWeek"; | 50 | public static final String VIEW_AGENDA_WEEK = "agendaWeek"; | 
| 39 | public static final String VIEW_BASIC_DAY = "basicDay"; | 51 | public static final String VIEW_BASIC_DAY = "basicDay"; | 
| 40 | public static final String VIEW_AGENDA_DAY = "agendaDay"; | 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 | * Values of weekMode attribute. | 62 | * Values of weekMode attribute. | 
| 43 | */ | 63 | */ | 
| 44 | public static final String WEEK_MODE_FIXED = "fixed"; | 64 | public static final String WEEK_MODE_FIXED = "fixed"; | 
| 45 | public static final String WEEK_MODE_LIQUID = "liquid"; | 65 | public static final String WEEK_MODE_LIQUID = "liquid"; | 
| 46 | public static final String WEEK_MODE_VARIABLE = "variable"; | 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 | private DataModel model; | 89 | private DataModel model; | 
| 48 | 90 | ||
| 49 | public abstract Object getValue(); | 91 | public abstract Object getValue(); | 
| @@ -174,123 +216,109 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | @@ -174,123 +216,109 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 174 | 216 | ||
| 175 | public abstract void setDragRevertDuration(Integer dragRevertDuration); | 217 | public abstract void setDragRevertDuration(Integer dragRevertDuration); | 
| 176 | 218 | ||
| 177 | - public abstract Double getDragOpacity(); | ||
| 178 | - | ||
| 179 | - public abstract void setDragOpacity(Double dragOpacity); | ||
| 180 | - | ||
| 181 | public abstract String getStyleClass(); | 219 | public abstract String getStyleClass(); | 
| 182 | 220 | ||
| 183 | public abstract void setStyleClass(String styleClass); | 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 | public abstract MethodBinding getItemMoveListener(); | 295 | public abstract MethodBinding getItemMoveListener(); | 
| 268 | 296 | ||
| 269 | public abstract void setItemMoveListener(MethodBinding listener); | 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 | public abstract MethodBinding getItemResizeListener(); | 303 | public abstract MethodBinding getItemResizeListener(); | 
| 276 | 304 | ||
| 277 | public abstract void setItemResizeListener(MethodBinding listener); | 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 | public abstract String getWidgetVar(); | 323 | public abstract String getWidgetVar(); | 
| 296 | 324 | ||
| @@ -303,10 +331,10 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | @@ -303,10 +331,10 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 303 | * listeners. | 331 | * listeners. | 
| 304 | * In case of non vetoable events the order of broadcast is reverse. | 332 | * In case of non vetoable events the order of broadcast is reverse. | 
| 305 | * Vetoable events are: ScheduleItemMoveEvent, ScheduleItemResizeEvent | 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 | * via response data map of ajaxContext. | 338 | * via response data map of ajaxContext. | 
| 311 | * In case of ScheduleItemMoveEvent and ScheduleItemResizeEvent, the | 339 | * In case of ScheduleItemMoveEvent and ScheduleItemResizeEvent, the | 
| 312 | * decision if veto was raised is sent back to client via response data map | 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,13 +346,13 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 318 | */ | 346 | */ | 
| 319 | @Override | 347 | @Override | 
| 320 | public void broadcast(FacesEvent event) throws AbortProcessingException { | 348 | public void broadcast(FacesEvent event) throws AbortProcessingException { | 
| 321 | - if (event instanceof ScheduleDateRangeChangedEvent) { | 349 | + if (event instanceof ScheduleDateRangeChangeEvent) { | 
| 322 | super.broadcast(event); | 350 | super.broadcast(event); | 
| 323 | new AjaxEvent(this).queue(); | 351 | new AjaxEvent(this).queue(); | 
| 324 | - ScheduleDateRangeChangedEvent calendarAjaxEvent = (ScheduleDateRangeChangedEvent) event; | 352 | + ScheduleDateRangeChangeEvent calendarAjaxEvent = (ScheduleDateRangeChangeEvent) event; | 
| 325 | FacesContext facesContext = getFacesContext(); | 353 | FacesContext facesContext = getFacesContext(); | 
| 326 | AjaxContext ajaxContext = AjaxContext.getCurrentInstance(facesContext); | 354 | AjaxContext ajaxContext = AjaxContext.getCurrentInstance(facesContext); | 
| 327 | - MethodBinding expression = getDateRangeChangedListener(); | 355 | + MethodBinding expression = getDateRangeChangeListener(); | 
| 328 | if (expression != null) { | 356 | if (expression != null) { | 
| 329 | expression.invoke(facesContext, new Object[]{event}); | 357 | expression.invoke(facesContext, new Object[]{event}); | 
| 330 | } | 358 | } | 
| @@ -357,35 +385,35 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | @@ -357,35 +385,35 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 357 | ajaxContext.getResponseDataMap().put("_ajax:scheduleData", allow); | 385 | ajaxContext.getResponseDataMap().put("_ajax:scheduleData", allow); | 
| 358 | super.broadcast(event); | 386 | super.broadcast(event); | 
| 359 | new AjaxEvent(this).queue(); | 387 | new AjaxEvent(this).queue(); | 
| 360 | - } else if (event instanceof ScheduleItemSelectedEvent) { | 388 | + } else if (event instanceof ScheduleItemSelectEvent) { | 
| 361 | super.broadcast(event); | 389 | super.broadcast(event); | 
| 362 | new AjaxEvent(this).queue(); | 390 | new AjaxEvent(this).queue(); | 
| 363 | FacesContext facesContext = getFacesContext(); | 391 | FacesContext facesContext = getFacesContext(); | 
| 364 | - MethodBinding expression = getItemSelectedListener(); | 392 | + MethodBinding expression = getItemSelectListener(); | 
| 365 | if (expression != null) { | 393 | if (expression != null) { | 
| 366 | expression.invoke(facesContext, new Object[]{event}); | 394 | expression.invoke(facesContext, new Object[]{event}); | 
| 367 | } | 395 | } | 
| 368 | - } else if (event instanceof ScheduleViewChangedEvent) { | 396 | + } else if (event instanceof ScheduleViewChangeEvent) { | 
| 369 | super.broadcast(event); | 397 | super.broadcast(event); | 
| 370 | new AjaxEvent(this).queue(); | 398 | new AjaxEvent(this).queue(); | 
| 371 | FacesContext facesContext = getFacesContext(); | 399 | FacesContext facesContext = getFacesContext(); | 
| 372 | - MethodBinding expression = getViewChangedListener(); | 400 | + MethodBinding expression = getViewChangeListener(); | 
| 373 | if (expression != null) { | 401 | if (expression != null) { | 
| 374 | expression.invoke(facesContext, new Object[]{event}); | 402 | expression.invoke(facesContext, new Object[]{event}); | 
| 375 | } | 403 | } | 
| 376 | - } else if (event instanceof ScheduleDateSelectedEvent) { | 404 | + } else if (event instanceof ScheduleDateSelectEvent) { | 
| 377 | super.broadcast(event); | 405 | super.broadcast(event); | 
| 378 | new AjaxEvent(this).queue(); | 406 | new AjaxEvent(this).queue(); | 
| 379 | FacesContext facesContext = getFacesContext(); | 407 | FacesContext facesContext = getFacesContext(); | 
| 380 | - MethodBinding expression = getDateSelectedListener(); | 408 | + MethodBinding expression = getDateSelectListener(); | 
| 381 | if (expression != null) { | 409 | if (expression != null) { | 
| 382 | expression.invoke(facesContext, new Object[]{event}); | 410 | expression.invoke(facesContext, new Object[]{event}); | 
| 383 | } | 411 | } | 
| 384 | - } else if (event instanceof ScheduleDateRangeSelectedEvent) { | 412 | + } else if (event instanceof ScheduleDateRangeSelectEvent) { | 
| 385 | super.broadcast(event); | 413 | super.broadcast(event); | 
| 386 | new AjaxEvent(this).queue(); | 414 | new AjaxEvent(this).queue(); | 
| 387 | FacesContext facesContext = getFacesContext(); | 415 | FacesContext facesContext = getFacesContext(); | 
| 388 | - MethodBinding expression = getDateRangeSelectedListener(); | 416 | + MethodBinding expression = getDateRangeSelectListener(); | 
| 389 | if (expression != null) { | 417 | if (expression != null) { | 
| 390 | expression.invoke(facesContext, new Object[]{event}); | 418 | expression.invoke(facesContext, new Object[]{event}); | 
| 391 | } | 419 | } | 
| @@ -406,7 +434,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | @@ -406,7 +434,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 406 | // XXX - use more pourful search, as in h:outputLabel | 434 | // XXX - use more pourful search, as in h:outputLabel | 
| 407 | // component. | 435 | // component. | 
| 408 | UIComponent focusComponent = RendererUtils.getInstance(). | 436 | UIComponent focusComponent = RendererUtils.getInstance(). | 
| 409 | - findComponentFor(this, focus); | 437 | + findComponentFor(this, focus); | 
| 410 | if (null != focusComponent) { | 438 | if (null != focusComponent) { | 
| 411 | focus = focusComponent.getClientId(context); | 439 | focus = focusComponent.getClientId(context); | 
| 412 | } | 440 | } | 
| @@ -541,7 +569,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | @@ -541,7 +569,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 541 | if (VIEW_MONTH.equals(view)) { | 569 | if (VIEW_MONTH.equals(view)) { | 
| 542 | if (WEEK_MODE_FIXED.equals(getWeekMode(schedule))) { | 570 | if (WEEK_MODE_FIXED.equals(getWeekMode(schedule))) { | 
| 543 | calendar.setTime(getFirstDisplayedDay(schedule)); | 571 | calendar.setTime(getFirstDisplayedDay(schedule)); | 
| 544 | - calendar.add(Calendar.DAY_OF_YEAR, 7 * 6); | 572 | + calendar.add(Calendar.DAY_OF_YEAR, 42); | 
| 545 | } else { | 573 | } else { | 
| 546 | Date date = schedule.getDate(); | 574 | Date date = schedule.getDate(); | 
| 547 | if (date != null) { | 575 | if (date != null) { | 
| @@ -597,37 +625,28 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | @@ -597,37 +625,28 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 597 | */ | 625 | */ | 
| 598 | public static boolean isShowWeekends(UISchedule schedule) { | 626 | public static boolean isShowWeekends(UISchedule schedule) { | 
| 599 | Boolean showWeekends = schedule.getShowWeekends(); | 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 | public static int getFirstDay(UISchedule schedule) { | 631 | public static int getFirstDay(UISchedule schedule) { | 
| 604 | Integer firstDay = schedule.getFirstDay(); | 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 | public static String getWeekMode(UISchedule schedule) { | 636 | public static String getWeekMode(UISchedule schedule) { | 
| 612 | String weekMode = schedule.getWeekMode(); | 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 | public static String getView(UISchedule schedule) { | 641 | public static String getView(UISchedule schedule) { | 
| 620 | String view = schedule.getView(); | 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 | protected DataModel getDataModel() { | 646 | protected DataModel getDataModel() { | 
| 628 | // Return any previously cached DataModel instance | 647 | // Return any previously cached DataModel instance | 
| 629 | if (this.model != null) { | 648 | if (this.model != null) { | 
| 630 | - return (model); | 649 | + return model; | 
| 631 | } | 650 | } | 
| 632 | 651 | ||
| 633 | // Synthesize a DataModel around our current value if possible | 652 | // Synthesize a DataModel around our current value if possible | 
| @@ -647,7 +666,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | @@ -647,7 +666,7 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 647 | } else { | 666 | } else { | 
| 648 | setDataModel(new ScalarDataModel(current)); | 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,16 +674,16 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 655 | this.model = model; | 674 | this.model = model; | 
| 656 | } | 675 | } | 
| 657 | 676 | ||
| 658 | - public void addItemSelectedListener(ScheduleItemSelectedListener listener) { | 677 | + public void addItemSelectListener(ScheduleItemSelectListener listener) { | 
| 659 | addFacesListener(listener); | 678 | addFacesListener(listener); | 
| 660 | } | 679 | } | 
| 661 | 680 | ||
| 662 | - public void removeItemSelectedListener(ScheduleItemSelectedListener listener) { | 681 | + public void removeItemSelectListener(ScheduleItemSelectListener listener) { | 
| 663 | removeFacesListener(listener); | 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 | public void addItemMoveListener(ScheduleItemMoveListener listener) { | 689 | public void addItemMoveListener(ScheduleItemMoveListener listener) { | 
| @@ -691,51 +710,51 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | @@ -691,51 +710,51 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm | ||
| 691 | return (ScheduleItemResizeListener[]) getFacesListeners(ScheduleItemResizeListener.class); | 710 | return (ScheduleItemResizeListener[]) getFacesListeners(ScheduleItemResizeListener.class); | 
| 692 | } | 711 | } | 
| 693 | 712 | ||
| 694 | - public void addViewChangedListener(ScheduleViewChangedListener listener) { | 713 | + public void addViewChangeListener(ScheduleViewChangeListener listener) { | 
| 695 | addFacesListener(listener); | 714 | addFacesListener(listener); | 
| 696 | } | 715 | } | 
| 697 | 716 | ||
| 698 | - public void removeViewChangedListener(ScheduleViewChangedListener listener) { | 717 | + public void removeViewChangeListener(ScheduleViewChangeListener listener) { | 
| 699 | removeFacesListener(listener); | 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 | addFacesListener(listener); | 726 | addFacesListener(listener); | 
| 708 | } | 727 | } | 
| 709 | 728 | ||
| 710 | - public void removeDateRangeChangedListener(ScheduleDateRangeChangedListener listener) { | 729 | + public void removeDateRangeChangeListener(ScheduleDateRangeChangeListener listener) { | 
| 711 | removeFacesListener(listener); | 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 | addFacesListener(listener); | 738 | addFacesListener(listener); | 
| 720 | } | 739 | } | 
| 721 | 740 | ||
| 722 | - public void removeDateRangeSelectedListener(ScheduleDateRangeSelectedListener listener) { | 741 | + public void removeDateRangeSelectListener(ScheduleDateRangeSelectListener listener) { | 
| 723 | removeFacesListener(listener); | 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 | addFacesListener(listener); | 750 | addFacesListener(listener); | 
| 732 | } | 751 | } | 
| 733 | 752 | ||
| 734 | - public void removeDateSelectedListener(ScheduleDateSelectedListener listener) { | 753 | + public void removeDateSelectListener(ScheduleDateSelectListener listener) { | 
| 735 | removeFacesListener(listener); | 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,6 +10,8 @@ public abstract class UIScheduleItem extends UIComponentBase { | ||
| 10 | 10 | ||
| 11 | public static final String COMPONENT_TYPE = "org.richfaces.ScheduleItem"; | 11 | public static final String COMPONENT_TYPE = "org.richfaces.ScheduleItem"; | 
| 12 | public static final String COMPONENT_FAMILY = "org.richfaces.Schedule"; | 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 | public abstract String getStyleClass(); | 16 | public abstract String getStyleClass(); | 
| 15 | 17 | 
| @@ -5,12 +5,12 @@ import javax.faces.event.FacesEvent; | @@ -5,12 +5,12 @@ import javax.faces.event.FacesEvent; | ||
| 5 | import javax.faces.event.FacesListener; | 5 | import javax.faces.event.FacesListener; | 
| 6 | import java.util.Date; | 6 | import java.util.Date; | 
| 7 | 7 | ||
| 8 | -public class ScheduleDateRangeChangedEvent extends FacesEvent { | 8 | +public class ScheduleDateRangeChangeEvent extends FacesEvent { | 
| 9 | 9 | ||
| 10 | private Date startDate; | 10 | private Date startDate; | 
| 11 | private Date endDate; | 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 | super(component); | 14 | super(component); | 
| 15 | this.startDate = startDate; | 15 | this.startDate = startDate; | 
| 16 | this.endDate = endDate; | 16 | this.endDate = endDate; | 
| @@ -31,11 +31,11 @@ public class ScheduleDateRangeChangedEvent extends FacesEvent { | @@ -31,11 +31,11 @@ public class ScheduleDateRangeChangedEvent extends FacesEvent { | ||
| 31 | 31 | ||
| 32 | @Override | 32 | @Override | 
| 33 | public boolean isAppropriateListener(FacesListener listener) { | 33 | public boolean isAppropriateListener(FacesListener listener) { | 
| 34 | - return listener instanceof ScheduleDateRangeChangedListener; | 34 | + return listener instanceof ScheduleDateRangeChangeListener; | 
| 35 | } | 35 | } | 
| 36 | 36 | ||
| 37 | @Override | 37 | @Override | 
| 38 | public void processListener(FacesListener listener) { | 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,7 +2,7 @@ package org.richfaces.component.event; | ||
| 2 | 2 | ||
| 3 | import javax.faces.event.FacesListener; | 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,13 +5,13 @@ import javax.faces.event.FacesEvent; | ||
| 5 | import javax.faces.event.FacesListener; | 5 | import javax.faces.event.FacesListener; | 
| 6 | import java.util.Date; | 6 | import java.util.Date; | 
| 7 | 7 | ||
| 8 | -public class ScheduleDateRangeSelectedEvent extends FacesEvent { | 8 | +public class ScheduleDateRangeSelectEvent extends FacesEvent { | 
| 9 | 9 | ||
| 10 | private Date startDate; | 10 | private Date startDate; | 
| 11 | private Date endDate; | 11 | private Date endDate; | 
| 12 | private boolean allDay; | 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 | super(component); | 15 | super(component); | 
| 16 | this.startDate = startDate; | 16 | this.startDate = startDate; | 
| 17 | this.endDate = endDate; | 17 | this.endDate = endDate; | 
| @@ -19,11 +19,11 @@ public class ScheduleDateRangeSelectedEvent extends FacesEvent { | @@ -19,11 +19,11 @@ public class ScheduleDateRangeSelectedEvent extends FacesEvent { | ||
| 19 | } | 19 | } | 
| 20 | 20 | ||
| 21 | public boolean isAppropriateListener(FacesListener facesListener) { | 21 | public boolean isAppropriateListener(FacesListener facesListener) { | 
| 22 | - return facesListener instanceof ScheduleDateSelectedListener; | 22 | + return facesListener instanceof ScheduleDateSelectListener; | 
| 23 | } | 23 | } | 
| 24 | 24 | ||
| 25 | public void processListener(FacesListener facesListener) { | 25 | public void processListener(FacesListener facesListener) { | 
| 26 | - ((ScheduleDateRangeSelectedListener) facesListener).dateRangeSelected(this); | 26 | + ((ScheduleDateRangeSelectListener) facesListener).dateRangeSelected(this); | 
| 27 | } | 27 | } | 
| 28 | 28 | ||
| 29 | public Date getStartDate() { | 29 | public Date getStartDate() { | 
| @@ -2,7 +2,7 @@ package org.richfaces.component.event; | @@ -2,7 +2,7 @@ package org.richfaces.component.event; | ||
| 2 | 2 | ||
| 3 | import javax.faces.event.FacesListener; | 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,23 +5,23 @@ import javax.faces.event.FacesEvent; | ||
| 5 | import javax.faces.event.FacesListener; | 5 | import javax.faces.event.FacesListener; | 
| 6 | import java.util.Date; | 6 | import java.util.Date; | 
| 7 | 7 | ||
| 8 | -public class ScheduleDateSelectedEvent extends FacesEvent { | 8 | +public class ScheduleDateSelectEvent extends FacesEvent { | 
| 9 | 9 | ||
| 10 | private Date date; | 10 | private Date date; | 
| 11 | private boolean allDay; | 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 | super(component); | 14 | super(component); | 
| 15 | this.date = date; | 15 | this.date = date; | 
| 16 | this.allDay = allDay; | 16 | this.allDay = allDay; | 
| 17 | } | 17 | } | 
| 18 | 18 | ||
| 19 | public boolean isAppropriateListener(FacesListener facesListener) { | 19 | public boolean isAppropriateListener(FacesListener facesListener) { | 
| 20 | - return facesListener instanceof ScheduleDateSelectedListener; | 20 | + return facesListener instanceof ScheduleDateSelectListener; | 
| 21 | } | 21 | } | 
| 22 | 22 | ||
| 23 | public void processListener(FacesListener facesListener) { | 23 | public void processListener(FacesListener facesListener) { | 
| 24 | - ((ScheduleDateSelectedListener) facesListener).dateSelected(this); | 24 | + ((ScheduleDateSelectListener) facesListener).dateSelected(this); | 
| 25 | } | 25 | } | 
| 26 | 26 | ||
| 27 | public Date getDate() { | 27 | public Date getDate() { | 
| @@ -2,7 +2,7 @@ package org.richfaces.component.event; | @@ -2,7 +2,7 @@ package org.richfaces.component.event; | ||
| 2 | 2 | ||
| 3 | import javax.faces.event.FacesListener; | 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,6 +45,7 @@ public class ScheduleItemMoveEvent extends FacesEvent { | ||
| 45 | 45 | ||
| 46 | @Override | 46 | @Override | 
| 47 | public String toString() { | 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,6 +39,7 @@ public class ScheduleItemResizeEvent extends FacesEvent { | ||
| 39 | 39 | ||
| 40 | @Override | 40 | @Override | 
| 41 | public String toString() { | 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,21 +4,21 @@ import javax.faces.component.UIComponent; | ||
| 4 | import javax.faces.event.FacesEvent; | 4 | import javax.faces.event.FacesEvent; | 
| 5 | import javax.faces.event.FacesListener; | 5 | import javax.faces.event.FacesListener; | 
| 6 | 6 | ||
| 7 | -public class ScheduleItemSelectedEvent extends FacesEvent { | 7 | +public class ScheduleItemSelectEvent extends FacesEvent { | 
| 8 | 8 | ||
| 9 | private String eventId; | 9 | private String eventId; | 
| 10 | 10 | ||
| 11 | - public ScheduleItemSelectedEvent(UIComponent component, String eventId) { | 11 | + public ScheduleItemSelectEvent(UIComponent component, String eventId) { | 
| 12 | super(component); | 12 | super(component); | 
| 13 | this.eventId = eventId; | 13 | this.eventId = eventId; | 
| 14 | } | 14 | } | 
| 15 | 15 | ||
| 16 | public boolean isAppropriateListener(FacesListener facesListener) { | 16 | public boolean isAppropriateListener(FacesListener facesListener) { | 
| 17 | - return facesListener instanceof ScheduleItemSelectedListener; | 17 | + return facesListener instanceof ScheduleItemSelectListener; | 
| 18 | } | 18 | } | 
| 19 | 19 | ||
| 20 | public void processListener(FacesListener facesListener) { | 20 | public void processListener(FacesListener facesListener) { | 
| 21 | - ((ScheduleItemSelectedListener) facesListener).itemSelected(this); | 21 | + ((ScheduleItemSelectListener) facesListener).itemSelected(this); | 
| 22 | } | 22 | } | 
| 23 | 23 | ||
| 24 | public String getEventId() { | 24 | public String getEventId() { | 
| @@ -2,7 +2,7 @@ package org.richfaces.component.event; | @@ -2,7 +2,7 @@ package org.richfaces.component.event; | ||
| 2 | 2 | ||
| 3 | import javax.faces.event.FacesListener; | 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,11 +2,11 @@ package org.richfaces.component.event; | ||
| 2 | 2 | ||
| 3 | public interface ScheduleListenerEventsProducer { | 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 | void addItemMoveListener(ScheduleItemMoveListener listener); | 11 | void addItemMoveListener(ScheduleItemMoveListener listener); | 
| 12 | 12 | ||
| @@ -20,27 +20,27 @@ public interface ScheduleListenerEventsProducer { | @@ -20,27 +20,27 @@ public interface ScheduleListenerEventsProducer { | ||
| 20 | 20 | ||
| 21 | ScheduleItemResizeListener[] getItemResizeListeners(); | 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,21 +4,21 @@ import javax.faces.component.UIComponent; | ||
| 4 | import javax.faces.event.FacesEvent; | 4 | import javax.faces.event.FacesEvent; | 
| 5 | import javax.faces.event.FacesListener; | 5 | import javax.faces.event.FacesListener; | 
| 6 | 6 | ||
| 7 | -public class ScheduleViewChangedEvent extends FacesEvent { | 7 | +public class ScheduleViewChangeEvent extends FacesEvent { | 
| 8 | 8 | ||
| 9 | private String view; | 9 | private String view; | 
| 10 | 10 | ||
| 11 | - public ScheduleViewChangedEvent(UIComponent component, String view) { | 11 | + public ScheduleViewChangeEvent(UIComponent component, String view) { | 
| 12 | super(component); | 12 | super(component); | 
| 13 | this.view = view; | 13 | this.view = view; | 
| 14 | } | 14 | } | 
| 15 | 15 | ||
| 16 | public boolean isAppropriateListener(FacesListener facesListener) { | 16 | public boolean isAppropriateListener(FacesListener facesListener) { | 
| 17 | - return facesListener instanceof ScheduleViewChangedListener; | 17 | + return facesListener instanceof ScheduleViewChangeListener; | 
| 18 | } | 18 | } | 
| 19 | 19 | ||
| 20 | public void processListener(FacesListener facesListener) { | 20 | public void processListener(FacesListener facesListener) { | 
| 21 | - ((ScheduleViewChangedListener) facesListener).viewChanged(this); | 21 | + ((ScheduleViewChangeListener) facesListener).viewChanged(this); | 
| 22 | } | 22 | } | 
| 23 | 23 | ||
| 24 | public String getView() { | 24 | public String getView() { | 
| @@ -2,7 +2,7 @@ package org.richfaces.component.event; | @@ -2,7 +2,7 @@ package org.richfaces.component.event; | ||
| 2 | 2 | ||
| 3 | import javax.faces.event.FacesListener; | 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,8 +6,20 @@ import org.ajax4jsf.javascript.JSObject; | ||
| 6 | import org.ajax4jsf.javascript.JSReference; | 6 | import org.ajax4jsf.javascript.JSReference; | 
| 7 | import org.ajax4jsf.renderkit.AjaxComponentRendererBase; | 7 | import org.ajax4jsf.renderkit.AjaxComponentRendererBase; | 
| 8 | import org.ajax4jsf.renderkit.AjaxRendererUtils; | 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 | import javax.faces.FacesException; | 24 | import javax.faces.FacesException; | 
| 13 | import javax.faces.component.NamingContainer; | 25 | import javax.faces.component.NamingContainer; | 
| @@ -15,20 +27,22 @@ import javax.faces.component.UIComponent; | @@ -15,20 +27,22 @@ import javax.faces.component.UIComponent; | ||
| 15 | import javax.faces.context.FacesContext; | 27 | import javax.faces.context.FacesContext; | 
| 16 | import javax.faces.context.ResponseWriter; | 28 | import javax.faces.context.ResponseWriter; | 
| 17 | import java.io.IOException; | 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 | public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | 37 | public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | 
| 21 | 38 | ||
| 22 | public static final String ITEM_MOVE_EVENT = "itemMove"; | 39 | public static final String ITEM_MOVE_EVENT = "itemMove"; | 
| 23 | public static final String ITEM_RESIZE_EVENT = "itemResize"; | 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 | private static final String CALLBACK = "callback"; | 46 | private static final String CALLBACK = "callback"; | 
| 33 | private static final String END_DATE_PARAM = "endDate"; | 47 | private static final String END_DATE_PARAM = "endDate"; | 
| 34 | private static final String START_DATE_PARAM = "startDate"; | 48 | private static final String START_DATE_PARAM = "startDate"; | 
| @@ -38,33 +52,55 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | @@ -38,33 +52,55 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | ||
| 38 | private static final String ALL_DAY_PARAM = "allDay"; | 52 | private static final String ALL_DAY_PARAM = "allDay"; | 
| 39 | private static final String EVENT_TYPE_PARAM = "eventType"; | 53 | private static final String EVENT_TYPE_PARAM = "eventType"; | 
| 40 | private static final String VIEW_PARAM = "view"; | 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 | @Override | 106 | @Override | 
| @@ -74,20 +110,28 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | @@ -74,20 +110,28 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | ||
| 74 | } | 110 | } | 
| 75 | Map<String, String> requestParameterMap = context.getExternalContext().getRequestParameterMap(); | 111 | Map<String, String> requestParameterMap = context.getExternalContext().getRequestParameterMap(); | 
| 76 | if (requestParameterMap.get(component.getClientId(context)) != null) { | 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 | try { | 130 | try { | 
| 87 | - if (DATE_RANGE_CHANGED_EVENT.equals(eventTypeParam)) { | 131 | + if (DATE_RANGE_CHANGE_EVENT.equals(eventTypeParam)) { | 
| 88 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); | 132 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); | 
| 89 | Date endDate = new Date(Long.parseLong(endDateParam) * 1000); | 133 | Date endDate = new Date(Long.parseLong(endDateParam) * 1000); | 
| 90 | - new ScheduleDateRangeChangedEvent(component, startDate, endDate).queue(); | 134 | + new ScheduleDateRangeChangeEvent(component, startDate, endDate).queue(); | 
| 91 | } else if (ITEM_MOVE_EVENT.equals(eventTypeParam)) { | 135 | } else if (ITEM_MOVE_EVENT.equals(eventTypeParam)) { | 
| 92 | int dayDelta = Integer.parseInt(dayDeltaParam); | 136 | int dayDelta = Integer.parseInt(dayDeltaParam); | 
| 93 | int minuteDelta = Integer.parseInt(minuteDeltaParam); | 137 | int minuteDelta = Integer.parseInt(minuteDeltaParam); | 
| @@ -97,19 +141,19 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | @@ -97,19 +141,19 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | ||
| 97 | int dayDelta = Integer.parseInt(dayDeltaParam); | 141 | int dayDelta = Integer.parseInt(dayDeltaParam); | 
| 98 | int minuteDelta = Integer.parseInt(minuteDeltaParam); | 142 | int minuteDelta = Integer.parseInt(minuteDeltaParam); | 
| 99 | new ScheduleItemResizeEvent(component, itemIdParam, dayDelta, minuteDelta).queue(); | 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 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); | 149 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); | 
| 106 | boolean allDay = Boolean.parseBoolean(allDayParam); | 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 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); | 153 | Date startDate = new Date(Long.parseLong(startDateParam) * 1000); | 
| 110 | Date endDate = new Date(Long.parseLong(endDateParam) * 1000); | 154 | Date endDate = new Date(Long.parseLong(endDateParam) * 1000); | 
| 111 | boolean allDay = Boolean.parseBoolean(allDayParam); | 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 | } catch (NumberFormatException ex) { | 158 | } catch (NumberFormatException ex) { | 
| 115 | throw new FacesException("Cannot convert request parmeters", ex); | 159 | throw new FacesException("Cannot convert request parmeters", ex); | 
| @@ -126,19 +170,50 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | @@ -126,19 +170,50 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | ||
| 126 | writer.writeText("var " + widgetVar + " = ", null); | 170 | writer.writeText("var " + widgetVar + " = ", null); | 
| 127 | } | 171 | } | 
| 128 | writer.writeText(new JSObject("RichFaces.Schedule", clientId, locale.toString(), | 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 | * Copy attributes from child view components | 218 | * Copy attributes from child view components | 
| 144 | */ | 219 | */ | 
| @@ -170,66 +245,67 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | @@ -170,66 +245,67 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | ||
| 170 | * Include only attributes that are actually set. | 245 | * Include only attributes that are actually set. | 
| 171 | */ | 246 | */ | 
| 172 | Map<String, Object> options = new HashMap<String, Object>(); | 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 | addOptionHash("dragOpacity", schedule, options); | 278 | addOptionHash("dragOpacity", schedule, options); | 
| 201 | addOptionHash("titleFormat", schedule, options); | 279 | addOptionHash("titleFormat", schedule, options); | 
| 202 | addOptionHash("timeFormat", schedule, options); | 280 | addOptionHash("timeFormat", schedule, options); | 
| 203 | addOptionHash("columnFormat", schedule, options); | 281 | addOptionHash("columnFormat", schedule, options); | 
| 204 | Map<String, Object> headerOptions = new HashMap<String, Object>(3); | 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 | if (headerOptions.size() > 0) { | 286 | if (headerOptions.size() > 0) { | 
| 209 | options.put("header", headerOptions); | 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 | if (schedule.getDate() != null) { | 309 | if (schedule.getDate() != null) { | 
| 234 | Calendar calendar = Calendar.getInstance(); | 310 | Calendar calendar = Calendar.getInstance(); | 
| 235 | calendar.setTime(schedule.getDate()); | 311 | calendar.setTime(schedule.getDate()); | 
| @@ -262,40 +338,40 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | @@ -262,40 +338,40 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase { | ||
| 262 | return options; | 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 | options.put(optionName, value); | 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 | return getUtils().clientId(context, component) + NamingContainer.SEPARATOR_CHAR + attribute; | 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 | private void addOptionHash(String attribute, UIComponent source, Map<String, Object> options) { | 361 | private void addOptionHash(String attribute, UIComponent source, Map<String, Object> options) { | 
| 276 | Map<String, Object> hash = new HashMap<String, Object>(3); | 362 | Map<String, Object> hash = new HashMap<String, Object>(3); | 
| 277 | Map<String, Object> attributes = source.getAttributes(); | 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 | if (hash.size() > 0) { | 370 | if (hash.size() > 0) { | 
| 285 | options.put(attribute, hash); | 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 | private static void copyAttribute(String attribute, String suffix, UIComponent source, UIComponent target) { | 375 | private static void copyAttribute(String attribute, String suffix, UIComponent source, UIComponent target) { | 
| 300 | Object value = source.getAttributes().get(attribute); | 376 | Object value = source.getAttributes().get(attribute); | 
| 301 | if (value != null) { | 377 | if (value != null) { | 
| @@ -19,7 +19,7 @@ public class ScheduleMessages extends ClientScript { | @@ -19,7 +19,7 @@ public class ScheduleMessages extends ClientScript { | ||
| 19 | 19 | ||
| 20 | public static final String BUNDLE_NAME = "org.richfaces.component.UIScheduleMessages"; | 20 | public static final String BUNDLE_NAME = "org.richfaces.component.UIScheduleMessages"; | 
| 21 | private static final String MESSAGE_KEY_BASE = "org.richfaces.component.UISchedule."; | 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 | @Override | 24 | @Override | 
| 25 | public InputStream getResourceAsStream(ResourceContext context) { | 25 | public InputStream getResourceAsStream(ResourceContext context) { | 
| @@ -34,10 +34,12 @@ public class ScheduleMessages extends ClientScript { | @@ -34,10 +34,12 @@ public class ScheduleMessages extends ClientScript { | ||
| 34 | Locale locale = supportedLocales.next(); | 34 | Locale locale = supportedLocales.next(); | 
| 35 | ResourceBundle applicationBundle = ResourceBundle.getBundle(application.getMessageBundle(), locale, loader); | 35 | ResourceBundle applicationBundle = ResourceBundle.getBundle(application.getMessageBundle(), locale, loader); | 
| 36 | ResourceBundle stockBundle = ResourceBundle.getBundle(BUNDLE_NAME, locale, loader); | 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 | String[] days = new String[]{"SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"}; | 39 | String[] days = new String[]{"SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"}; | 
| 39 | out.append("'").append(locale.toString()).append("':{"); | 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 | appendArray(out, applicationBundle, stockBundle, "monthNames", "monthNames", months); | 43 | appendArray(out, applicationBundle, stockBundle, "monthNames", "monthNames", months); | 
| 42 | out.append(","); | 44 | out.append(","); | 
| 43 | appendArray(out, applicationBundle, stockBundle, "monthNamesShort", "monthNamesShort", months); | 45 | appendArray(out, applicationBundle, stockBundle, "monthNamesShort", "monthNamesShort", months); | 
| @@ -46,20 +48,23 @@ public class ScheduleMessages extends ClientScript { | @@ -46,20 +48,23 @@ public class ScheduleMessages extends ClientScript { | ||
| 46 | out.append(","); | 48 | out.append(","); | 
| 47 | appendArray(out, applicationBundle, stockBundle, "dayNamesShort", "dayNamesShort", days); | 49 | appendArray(out, applicationBundle, stockBundle, "dayNamesShort", "dayNamesShort", days); | 
| 48 | out.append(","); | 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 | out.append("},"); | 53 | out.append("},"); | 
| 51 | } | 54 | } | 
| 52 | out.delete(out.length() - 1, out.length()); | 55 | out.delete(out.length() - 1, out.length()); | 
| 53 | out.append("})"); | 56 | out.append("})"); | 
| 54 | try { | 57 | try { | 
| 55 | // TODO where to get encoding from? It should match properties file's encoding, but probably be converted to response encoding | 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 | } catch (UnsupportedEncodingException e) { | 61 | } catch (UnsupportedEncodingException e) { | 
| 58 | throw new RuntimeException(e); | 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 | String key; | 68 | String key; | 
| 64 | out.append(jsPropertyName).append(":["); | 69 | out.append(jsPropertyName).append(":["); | 
| 65 | for (int i = 0; i < keys.length; i++) { | 70 | for (int i = 0; i < keys.length; i++) { | 
| @@ -72,12 +77,15 @@ public class ScheduleMessages extends ClientScript { | @@ -72,12 +77,15 @@ public class ScheduleMessages extends ClientScript { | ||
| 72 | out.append("]"); | 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 | String key; | 82 | String key; | 
| 77 | out.append(jsPropertyName).append(":{"); | 83 | out.append(jsPropertyName).append(":{"); | 
| 78 | for (int i = 0; i < keys.length; i++) { | 84 | for (int i = 0; i < keys.length; i++) { | 
| 79 | key = MESSAGE_KEY_BASE + prefix + "." + keys[i]; | 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 | if (i + 1 < keys.length) { | 89 | if (i + 1 < keys.length) { | 
| 82 | out.append(","); | 90 | out.append(","); | 
| 83 | } | 91 | } | 
| @@ -92,8 +100,8 @@ public class ScheduleMessages extends ClientScript { | @@ -92,8 +100,8 @@ public class ScheduleMessages extends ClientScript { | ||
| 92 | try { | 100 | try { | 
| 93 | return stockBundle.getString(key); | 101 | return stockBundle.getString(key); | 
| 94 | } catch (MissingResourceException e1) { | 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 | return ""; | 106 | return ""; | 
| 99 | } | 107 | } | 
| 1 | package org.richfaces.taglib; | 1 | package org.richfaces.taglib; | 
| 2 | 2 | ||
| 3 | import com.sun.facelets.FaceletContext; | 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 | import com.sun.facelets.tag.jsf.ComponentConfig; | 9 | import com.sun.facelets.tag.jsf.ComponentConfig; | 
| 6 | import com.sun.facelets.tag.jsf.ComponentHandler; | 10 | import com.sun.facelets.tag.jsf.ComponentHandler; | 
| 7 | import org.richfaces.event.NodeExpandedEvent; | 11 | import org.richfaces.event.NodeExpandedEvent; | 
| @@ -12,12 +16,12 @@ import javax.faces.el.MethodBinding; | @@ -12,12 +16,12 @@ import javax.faces.el.MethodBinding; | ||
| 12 | 16 | ||
| 13 | public class ScheduleTagHandlerBase extends ComponentHandler { | 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 | private final static String ITEM_RESIZE_LISTENER = "itemResizeListener"; | 21 | private final static String ITEM_RESIZE_LISTENER = "itemResizeListener"; | 
| 18 | private final static String ITEM_MOVE_LISTENER = "itemMoveListener"; | 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 | public ScheduleTagHandlerBase(ComponentConfig config) { | 26 | public ScheduleTagHandlerBase(ComponentConfig config) { | 
| 23 | super(config); | 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 | -} | 
| @@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
| 16 | <h:scripts>org.ajax4jsf.javascript.AjaxScript, | 16 | <h:scripts>org.ajax4jsf.javascript.AjaxScript, | 
| 17 | /org/ajax4jsf/javascript/scripts/form.js, | 17 | /org/ajax4jsf/javascript/scripts/form.js, | 
| 18 | /org/richfaces/renderkit/html/scripts/form.js, | 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 | /org/richfaces/renderkit/html/scripts/ui.core.js, | 20 | /org/richfaces/renderkit/html/scripts/ui.core.js, | 
| 21 | /org/richfaces/renderkit/html/scripts/ui.draggable.js, | 21 | /org/richfaces/renderkit/html/scripts/ui.draggable.js, | 
| 22 | /org/richfaces/renderkit/html/scripts/ui.resizable.js, | 22 | /org/richfaces/renderkit/html/scripts/ui.resizable.js, | 
| @@ -27,10 +27,8 @@ | @@ -27,10 +27,8 @@ | ||
| 27 | <jsp:scriptlet> | 27 | <jsp:scriptlet> | 
| 28 | <![CDATA[org.richfaces.component.util.FormUtil.throwEnclFormReqExceptionIfNeed(context, component);]]> | 28 | <![CDATA[org.richfaces.component.util.FormUtil.throwEnclFormReqExceptionIfNeed(context, component);]]> | 
| 29 | </jsp:scriptlet> | 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 | <script type="text/javascript"> | 31 | <script type="text/javascript"> | 
| 34 | - <f:call name = "writeInitFunction"/> | 32 | + <f:call name="writeInitFunction"/> | 
| 35 | </script> | 33 | </script> | 
| 36 | </f:root> | 34 | </f:root> | 
| @@ -18,7 +18,6 @@ | @@ -18,7 +18,6 @@ | ||
| 18 | * License along with this library; if not, write to the Free Software | 18 | * License along with this library; if not, write to the Free Software | 
| 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 
| 20 | */ | 20 | */ | 
| 21 | - | ||
| 22 | package org.richfaces.component; | 21 | package org.richfaces.component; | 
| 23 | 22 | ||
| 24 | import org.ajax4jsf.tests.AbstractAjax4JsfTestCase; | 23 | import org.ajax4jsf.tests.AbstractAjax4JsfTestCase; | 
| @@ -33,32 +32,55 @@ import java.util.StringTokenizer; | @@ -33,32 +32,55 @@ import java.util.StringTokenizer; | ||
| 33 | /** | 32 | /** | 
| 34 | * Unit test for simple Component. | 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 | public JSFComponentTest(String testName) { | 37 | public JSFComponentTest(String testName) { | 
| 44 | super(testName); | 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 | public void testDisplayedDaysForMonthViewCalculation() throws IOException { | 48 | public void testDisplayedDaysForMonthViewCalculation() throws IOException { | 
| 49 | doTestDisplayedDays("displayedDaysForMonthViewCalculationTestData", UISchedule.VIEW_MONTH); | 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 | public void testDisplayedDaysForWeekViewCalculation() throws IOException { | 59 | public void testDisplayedDaysForWeekViewCalculation() throws IOException { | 
| 53 | doTestDisplayedDays("displayedDaysForWeekViewCalculationTestData", UISchedule.VIEW_AGENDA_WEEK); | 60 | doTestDisplayedDays("displayedDaysForWeekViewCalculationTestData", UISchedule.VIEW_AGENDA_WEEK); | 
| 54 | doTestDisplayedDays("displayedDaysForWeekViewCalculationTestData", UISchedule.VIEW_BASIC_WEEK); | 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 | public void testDisplayedDaysForDayViewCalculation() throws IOException { | 71 | public void testDisplayedDaysForDayViewCalculation() throws IOException { | 
| 58 | doTestDisplayedDays("displayedDaysForDayViewCalculationTestData", UISchedule.VIEW_AGENDA_DAY); | 72 | doTestDisplayedDays("displayedDaysForDayViewCalculationTestData", UISchedule.VIEW_AGENDA_DAY); | 
| 59 | doTestDisplayedDays("displayedDaysForDayViewCalculationTestData", UISchedule.VIEW_BASIC_DAY); | 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 | private void doTestDisplayedDays(String fileNameProperty, String view) throws IOException { | 84 | private void doTestDisplayedDays(String fileNameProperty, String view) throws IOException { | 
| 63 | Calendar calendar = Calendar.getInstance(); | 85 | Calendar calendar = Calendar.getInstance(); | 
| 64 | UISchedule schedule = (UISchedule) application.createComponent(UISchedule.COMPONENT_TYPE); | 86 | UISchedule schedule = (UISchedule) application.createComponent(UISchedule.COMPONENT_TYPE); | 
| @@ -15,11 +15,8 @@ i - expected end year | @@ -15,11 +15,8 @@ i - expected end year | ||
| 15 | j - expected end month | 15 | j - expected end month | 
| 16 | k - expected end day | 16 | k - expected end day | 
| 17 | 17 | ||
| 18 | -displayedDaysForDayViewCalculationTestData is not fully ready yet | ||
| 19 | -displayedDaysForMonthViewCalculationTestData lacks expected end date !!! | ||
| 20 | - | ||
| 21 | If anything in algorithm changes and test data will become invalid, they can be easily recreated by putting following | 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 | Calendar calendar = Calendar.getInstance(); | 21 | Calendar calendar = Calendar.getInstance(); | 
| 25 | calendar.setTime(startDate); | 22 | calendar.setTime(startDate); | 
| @@ -44,4 +41,18 @@ code into UISchedule.getCalendarData method | @@ -44,4 +41,18 @@ code into UISchedule.getCalendarData method | ||
| 44 | // + "," + lastDayCalendar.get(Calendar.YEAR) + "," + lastDayCalendar.get(Calendar.MONTH) + "," + lastDayCalendar.get(Calendar.DATE) | 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 | Just remember to avoid blank lines, especially at the end of file. | 58 | Just remember to avoid blank lines, especially at the end of file. | 
| 1 | -1,0,2010,0,1,2010,0,1,2010,0,2 | ||
| 2 | 1,0,2010,0,4,2010,0,4,2010,0,5 | 1 | 1,0,2010,0,4,2010,0,4,2010,0,5 | 
| 3 | 1,0,2010,0,5,2010,0,5,2010,0,6 | 2 | 1,0,2010,0,5,2010,0,5,2010,0,6 | 
| 4 | 1,0,2010,0,6,2010,0,6,2010,0,7 | 3 | 1,0,2010,0,6,2010,0,6,2010,0,7 | 
| @@ -60,4 +59,1164 @@ | @@ -60,4 +59,1164 @@ | ||
| 60 | 1,0,2010,2,25,2010,2,25,2010,2,26 | 59 | 1,0,2010,2,25,2010,2,25,2010,2,26 | 
| 61 | 1,0,2010,2,26,2010,2,26,2010,2,27 | 60 | 1,0,2010,2,26,2010,2,26,2010,2,27 | 
| 62 | 1,0,2010,2,29,2010,2,29,2010,2,30 | 61 | 1,0,2010,2,29,2010,2,29,2010,2,30 | 
| 63 | -1,0,2010,2,30,2010,2,30,2010,2,31 | ||
| 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 | 
This diff could not be displayed because it is too large.
Please
register
or
login
to post a comment