diff --git a/src/main/config/component/schedule.xml b/src/main/config/component/schedule.xml
index 8bda3db..c643db3 100644
--- a/src/main/config/component/schedule.xml
+++ b/src/main/config/component/schedule.xml
@@ -1,10 +1,6 @@
-
-
-
- ]
+ []
>
@@ -13,8 +9,7 @@
org.richfaces.component.html.HtmlSchedule
org.richfaces.component.UISchedule
-
+
org.richfaces.renderkit.ScheduleRenderer
@@ -33,10 +28,7 @@
org.richfaces.taglib.ScheduleTagHandlerBase
- &ui_component_attributes;
- &commonViewAttributes;
- &ajax_component_attributes;
+ --> &ui_component_attributes; &commonViewAttributes; &ajax_component_attributes;
switchType
java.lang.String
@@ -54,8 +46,7 @@
widgetVar
java.lang.String
- Variable name of JavaScript component.
- default: null
+ Variable name of JavaScript component. default: null
null
@@ -63,9 +54,7 @@
view
java.lang.String
- Schedule has a number of different "views",
- or ways of displaying days and events.
- The following 5 views are all built in to schedule:
+ Schedule has a number of different "views", or ways of displaying days and events. The following 5 views are all built in to schedule:
- month
- basicWeek
@@ -81,10 +70,8 @@
headerLeft
java.lang.String
- Defines the buttons and title at the top of the calendar.
- Values separated by a comma will be displayed adjacently.
- Values separated by a space will be displayed with a small gap in between.
- Strings can contain any of the following values:
+ Defines the buttons and title at the top of the calendar. Values separated by a comma will be displayed adjacently. Values separated by a space
+ will be displayed with a small gap in between. Strings can contain any of the following values:
-
title
@@ -123,10 +110,8 @@
headerCenter
java.lang.String
- Defines the buttons and title at the top of the calendar.
- Values separated by a comma will be displayed adjacently.
- Values separated by a space will be displayed with a small gap in between.
- Strings can contain any of the following values:
+ Defines the buttons and title at the top of the calendar. Values separated by a comma will be displayed adjacently. Values separated by a space
+ will be displayed with a small gap in between. Strings can contain any of the following values:
-
title
@@ -165,10 +150,8 @@
headerRight
java.lang.String
- Defines the buttons and title at the top of the calendar.
- Values separated by a comma will be displayed adjacently.
- Values separated by a space will be displayed with a small gap in between.
- Strings can contain any of the following values:
+ Defines the buttons and title at the top of the calendar. Values separated by a comma will be displayed adjacently. Values separated by a space
+ will be displayed with a small gap in between. Strings can contain any of the following values:
-
title
@@ -207,9 +190,8 @@
allDaySlot
java.lang.Boolean
- Determines if the "all-day" slot is displayed at the top of the calendar.
- When hidden with false, all-day events will not be displayed in agenda views.
- default: true
+ Determines if the "all-day" slot is displayed at the top of the calendar. When hidden with false, all-day events will not be displayed in agenda
+ views. default: true
null
@@ -217,8 +199,7 @@
allDayText
java.lang.String
- The text titling the "all-day" slot at the top of the calendar.
- default: 'all-day'
+ The text titling the "all-day" slot at the top of the calendar. default: 'all-day'
null
@@ -226,9 +207,8 @@
axisFormat
java.lang.String
- Determines the time-text that will be displayed on the vertical axis of the agenda views.
- The default value will produce times that look like "5pm" and "5:30pm".
- default: 'h(:mm)tt'
+ Determines the time-text that will be displayed on the vertical axis of the agenda views. The default value will produce times that look like
+ "5pm" and "5:30pm". default: 'h(:mm)tt'
null
@@ -236,9 +216,7 @@
slotMinutes
java.lang.Integer
- The frequency for displaying time slots, in minutes.
- The default will make a slot every half hour.
- default: 30
+ The frequency for displaying time slots, in minutes. The default will make a slot every half hour. default: 30
null
@@ -246,10 +224,8 @@
defaultEventMinutes
java.lang.Integer
- Determines the length (in minutes) an event appears to be when it has an unspecified end date.
- By default, if an Event Object has no end, it will appear to be 2 hours.
- This option only affects events that appear in the agenda slots, meaning they have allDay set to true.
- default: 120
+ Determines the length (in minutes) an event appears to be when it has an unspecified end date. By default, if an Event Object has no end, it
+ will appear to be 2 hours. This option only affects events that appear in the agenda slots, meaning they have allDay set to true. default: 120
null
@@ -257,11 +233,8 @@
firstHour
java.lang.Integer
- Determines the first hour that will be visible in the scroll pane.
- Values must be from 0-23, where 0=midnight, 1=1am, etc.
- The user will be able to scroll upwards to see events before this time.
- If you want to prevent users from doing this, use the minTime option instead.
- default: 6
+ Determines the first hour that will be visible in the scroll pane. Values must be from 0-23, where 0=midnight, 1=1am, etc. The user will be able
+ to scroll upwards to see events before this time. If you want to prevent users from doing this, use the minTime option instead. default: 6
null
@@ -269,11 +242,8 @@
minTime
java.lang.String
- Determines the first hour/time that will be displayed, even when the scrollbars have been scrolled all
- the way up.
- This can be a number like 5 (which means 5am), a string like '5:30' (which means 5:30am) or a string
- like '5:30am'.
- default: 0
+ Determines the first hour/time that will be displayed, even when the scrollbars have been scrolled all the way up. This can be a number like 5
+ (which means 5am), a string like '5:30' (which means 5:30am) or a string like '5:30am'. default: 0
null
@@ -281,11 +251,8 @@
maxTime
java.lang.String
- Determines the last hour/time (exclusively) that will be displayed, even when the scrollbars have been
- scrolled all the way down.
- This can be a number like 22 (which means 10pm), a string like '22:30' (which means 10:30pm) or a string
- like '10:30pm'.
- default: 24
+ Determines the last hour/time (exclusively) that will be displayed, even when the scrollbars have been scrolled all the way down. This can be a
+ number like 22 (which means 10pm), a string like '22:30' (which means 10:30pm) or a string like '10:30pm'. default: 24
null
@@ -293,10 +260,7 @@
firstDay
java.lang.Integer
- The day that each week begins.
- The value must be a number that represents the day of the week.
- Sunday=0, Monday=1, Tuesday=2, etc.
- default: 0
+ The day that each week begins. The value must be a number that represents the day of the week. Sunday=0, Monday=1, Tuesday=2, etc. default: 0
null
@@ -304,8 +268,7 @@
isRTL
java.lang.Boolean
- Displays the calendar in right-to-left mode.
- default: false
+ Displays the calendar in right-to-left mode. default: false
null
@@ -313,8 +276,7 @@
showWeekends
java.lang.Boolean
- Whether to include Saturday/Sunday columns in any of the calendar views.
- default: true
+ Whether to include Saturday/Sunday columns in any of the calendar views. default: true
null
@@ -322,8 +284,8 @@
height
java.lang.Integer
- Will make the entire calendar (including header) a pixel height.
- By default, this option is unset and the calendar's height is calculated by aspectRatio.
+ Will make the entire calendar (including header) a pixel height. By default, this option is unset and the calendar's height is calculated by
+ aspectRatio.
null
@@ -331,8 +293,7 @@
contentHeight
java.lang.Integer
- Will make the calendar's content area a pixel height.
- By default, this option is unset and the calendar's height is calculated by aspectRatio.
+ Will make the calendar's content area a pixel height. By default, this option is unset and the calendar's height is calculated by aspectRatio.
null
@@ -340,10 +301,8 @@
aspectRatio
java.lang.Double
- Determines the width-to-height aspect ratio of the calendar.
- A calendar is a block-level element that fills its entire avaiable width. The calendar’s height,
- however, is determined by this ratio of width-to-height. (Hint: larger numbers make smaller heights).
- default: 1.35
+ Determines the width-to-height aspect ratio of the calendar. A calendar is a block-level element that fills its entire avaiable width. The
+ calendar’s height, however, is determined by this ratio of width-to-height. (Hint: larger numbers make smaller heights). default: 1.35
null
@@ -351,8 +310,7 @@
allDayByDefault
java.lang.Boolean
- Determines the default value for each Event Object's allDay property, when it is unspecified.
- default: true
+ Determines the default value for each Event Object's allDay property, when it is unspecified. default: true
null
@@ -361,12 +319,9 @@
editable
java.lang.Boolean
- Determines whether the events on the calendar can be modified.
- This determines if the events can be dragged and resized.
- Enables/disables both at the same time.
- If you don't want both, use editable in conjunction with disableDragging and disableResizing.
- This option can be overridden on a per-event basis with the Event Object editable property.
- default: false
+ Determines whether the events on the calendar can be modified. This determines if the events can be dragged and resized. Enables/disables both
+ at the same time. If you don't want both, use editable in conjunction with disableDragging and disableResizing. This option can be overridden on
+ a per-event basis with the Event Object editable property. default: false
null
@@ -374,9 +329,8 @@
selectable
java.lang.Boolean
- Allows a user to highlight multiple days or timeslots by clicking and dragging.
- To let the user make selections by clicking and dragging, this option must be set to true.
- default: false
+ Allows a user to highlight multiple days or timeslots by clicking and dragging. To let the user make selections by clicking and dragging, this
+ option must be set to true. default: false
null
@@ -384,12 +338,9 @@
selectHelper
java.lang.Boolean
- Whether to draw a "placeholder" event while the user is dragging.
- A value of true will draw a "placeholder" event while the user
- is dragging (similar to what Google Calendar does for its week
- and day views). A value of false (the default) will draw
- the standard highlighting over each cell.
- default: false
+ Whether to draw a "placeholder" event while the user is dragging. A value of true will draw a "placeholder" event while the user is dragging
+ (similar to what Google Calendar does for its week and day views). A value of false (the default) will draw the standard highlighting over each
+ cell. default: false
null
@@ -397,10 +348,8 @@
unselectAuto
java.lang.Boolean
- Whether clicking elsewhere on the page will cause the current
- selection to be cleared.
- This option can only take effect when selectable is set to true.
- default: true
+ Whether clicking elsewhere on the page will cause the current selection to be cleared. This option can only take effect when selectable is set
+ to true. default: true
null
@@ -408,15 +357,10 @@
unselectCancel
java.lang.String
- A way to specify elements that will ignore the unselectAuto option.
- Clicking on elements that match this jQuery selector will prevent
- the current selection from being cleared (due to the unselectAuto option).
- This option is useful if you have a "Create an event" form that
- shows up in response to the user making a selection. When the user
- clicks on this form, you probably don't want to the current selection
- to go away. Thus, you should add a class to your form such as "my-form",
- and set the unselectAuto option to ".my-form".
- default: ''
+ A way to specify elements that will ignore the unselectAuto option. Clicking on elements that match this jQuery selector will prevent the
+ current selection from being cleared (due to the unselectAuto option). This option is useful if you have a "Create an event" form that shows up
+ in response to the user making a selection. When the user clicks on this form, you probably don't want to the current selection to go away.
+ Thus, you should add a class to your form such as "my-form", and set the unselectAuto option to ".my-form". default: ''
null
@@ -424,8 +368,7 @@
disableDragging
java.lang.Boolean
- Disables all event dragging, even when events are editable.
- default: false
+ Disables all event dragging, even when events are editable. default: false
null
@@ -433,8 +376,7 @@
disableResizing
java.lang.Boolean
- Disables all event resizing, even when events are editable.
- default: false
+ Disables all event resizing, even when events are editable. default: false
null
@@ -442,8 +384,7 @@
dragRevertDuration
java.lang.Integer
- Time in millisecond it takes for an event to revert to its original position after an unsuccessful drag.
- default: 500
+ Time in millisecond it takes for an event to revert to its original position after an unsuccessful drag. default: 500
null
@@ -452,8 +393,7 @@
date
java.util.Date
- The initial date when schedule loads.
- default:
+ The initial date when schedule loads. default:
current date
null
@@ -463,8 +403,7 @@
onbeforeitemselect
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- event - javascript event
@@ -477,9 +416,7 @@
onitemselect
java.lang.String
- JavaScript code called when ajax request triggered when item
- is selected has finished.
- Following data will be available in context:
+ JavaScript code called when ajax request triggered when item is selected has finished. Following data will be available in context:
- item - selected item
- event - javascript event
@@ -494,8 +431,7 @@
onitemdragstart
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- event - javascript event
@@ -509,8 +445,7 @@
onitemdragstop
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- event - javascript event
@@ -524,8 +459,7 @@
onitemresizestart
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- event - javascript event
@@ -539,8 +473,7 @@
onitemresizestop
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- event - javascript event
@@ -554,19 +487,16 @@
onbeforeitemdrop
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- - dayDelta - holds the number of days the event was moved forward (a positive number) or backwards
- (a negative number)
+
- dayDelta - holds the number of days the event was moved forward (a positive number) or backwards (a negative number)
- - minuteDelta - holds the number of minutes the event was moved forward (a positive number) or
- backwards (a negative number). Only useful for the agenda views. In other views, 0 is passed in.
+
- minuteDelta - holds the number of minutes the event was moved forward (a positive number) or backwards (a negative number). Only useful
+ for the agenda views. In other views, 0 is passed in.
- - allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in
- the agenda views. It will be false if dropped on a slot in the agenda views (meaning it has been
- assigned a time).
+
- allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in the agenda views. It will be false if
+ dropped on a slot in the agenda views (meaning it has been assigned a time).
- event - javascript event
- ui - jQuery UI object
@@ -579,20 +509,16 @@
onitemdrop
java.lang.String
- JavaScript code called when ajax request triggered when item
- is dropped has finished.
- Following data will be available in context:
+ JavaScript code called when ajax request triggered when item is dropped has finished. Following data will be available in context:
- item - selected item
- - dayDelta - holds the number of days the event was moved forward (a positive number) or backwards
- (a negative number)
+
- dayDelta - holds the number of days the event was moved forward (a positive number) or backwards (a negative number)
- - minuteDelta - holds the number of minutes the event was moved forward (a positive number) or
- backwards (a negative number). Only useful for the agenda views. In other views, 0 is passed in.
+
- minuteDelta - holds the number of minutes the event was moved forward (a positive number) or backwards (a negative number). Only useful
+ for the agenda views. In other views, 0 is passed in.
- - allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in
- the agenda views. It will be false if dropped on a slot in the agenda views (meaning it has been
- assigned a time).
+
- allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in the agenda views. It will be false if
+ dropped on a slot in the agenda views (meaning it has been assigned a time).
- vetoed - is true if server side listener has raised veto and modification has been reverted
- event - javascript event
@@ -608,17 +534,15 @@
onbeforeitemresize
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- - dayDelta - holds the number of days the event was moved forward (a positive number) or backwards
- (a negative number)holds the number of minutes the event was moved forward (a positive number)
- or backwards (a negative number). Only useful for the agenda views. In other views, 0 is passed
- in.
+
- dayDelta - holds the number of days the event was moved forward (a positive number) or backwards (a negative number)holds the number of
+ minutes the event was moved forward (a positive number) or backwards (a negative number). Only useful for the agenda views. In other
+ views, 0 is passed in.
- - minuteDelta - holds the number of minutes the event was moved forward (a positive number) or
- backwards (a negative number). Only useful for the agenda views. In other views, 0 is passed in.
+
- minuteDelta - holds the number of minutes the event was moved forward (a positive number) or backwards (a negative number). Only useful
+ for the agenda views. In other views, 0 is passed in.
- event - javascript event
- ui - jQuery UI object
@@ -631,16 +555,13 @@
onitemresize
java.lang.String
- JavaScript code called when ajax request triggered when item
- is resized has finished.
- Following data will be available in context:
+ JavaScript code called when ajax request triggered when item is resized has finished. Following data will be available in context:
- item - selected item
- - dayDelta - holds the number of days the event was moved forward (a positive number) or backwards
- (a negative number)
+
- dayDelta - holds the number of days the event was moved forward (a positive number) or backwards (a negative number)
- - minuteDelta - holds the number of minutes the event was moved forward (a positive number) or
- backwards (a negative number). Only useful for the agenda views. In other views, 0 is passed in.
+
- minuteDelta - holds the number of minutes the event was moved forward (a positive number) or backwards (a negative number). Only useful
+ for the agenda views. In other views, 0 is passed in.
- vetoed - is true if server side listener has raised veto and modification has been reverted
- event - javascript event
@@ -656,8 +577,7 @@
onitemmouseover
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- event - javascript event
@@ -670,8 +590,7 @@
onitemmouseout
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- item - selected item
- event - javascript event
@@ -686,8 +605,7 @@
JavaScript code for handling event.
Any return instruction will be ignored
- so this code cannot block anything.
- Following data will be available in context:
+ so this code cannot block anything. Following data will be available in context:
- view - object representing current view
@@ -698,9 +616,7 @@
onviewchange
java.lang.String
- JavaScript code called when ajax request triggered when view
- changes has finished.
- Following data will be available in context:
+ JavaScript code called when ajax request triggered when view changes has finished. Following data will be available in context:
- view - object representing current view
- request - ajax request
@@ -713,12 +629,10 @@
onbeforedateselect
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- date - selected date
- - allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in
- the agenda views.
+
- allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in the agenda views.
- event - javascript event
- view - object representing current view
@@ -730,13 +644,10 @@
ondateselect
java.lang.String
- JavaScript code called when ajax request triggered when date
- is selected has finished.
- Following data will be available in context:
+ JavaScript code called when ajax request triggered when date is selected has finished. Following data will be available in context:
- date - selected date
- - allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in
- the agenda views.
+
- allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in the agenda views.
- event - javascript event
- view - object representing current view
@@ -750,13 +661,11 @@
onbeforedaterangeselect
java.lang.String
- JavaScript code for handling event.
- Following data will be available in context:
+ JavaScript code for handling event. Following data will be available in context:
- startDate - selection start date
- endDate - selection end date
- - allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in
- the agenda views.
+
- allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in the agenda views.
- view - object representing current view
@@ -767,14 +676,11 @@
ondaterangeselect
java.lang.String
- JavaScript code called when ajax request triggered when date
- range is selected has finished.
- Following data will be available in context:
+ JavaScript code called when ajax request triggered when date range is selected has finished. Following data will be available in context:
- startDate - selection start date
- endDate - selection end date
- - allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in
- the agenda views.
+
- allDay - is true if the event has been dropped on a day in month view, or the "all-day" slot in the agenda views.
- view - object representing current view
- request - ajax request
@@ -790,8 +696,7 @@
JavaScript code for handling event.
Any return instruction will be ignored
- so this code cannot block anything.
- Following data will be available in context:
+ so this code cannot block anything. Following data will be available in context:
- startDate - start date
- endDate - end date
@@ -803,9 +708,8 @@
ondaterangechange
java.lang.String
- JavaScript code called when ajax request triggered when displayed
- date range is changed has finished.
- Following data will be available in context:
+ JavaScript code called when ajax request triggered when displayed date range is changed has finished. Following data will be available in
+ context:
- startDate - selection start date
- endDate - selection end date
@@ -816,12 +720,22 @@
null
- styleClass
+ onviewdisplay
java.lang.String
+ JavaScript code called when the schedule loads and every time a different date-range is displayed. Following data will be available in context:
+
+ - view - object representing current view
+
null
+
+ styleClass
+ java.lang.String
+
+ null
+
itemMoveListener
@@ -860,6 +774,5 @@
-
- &listeners;
+ &listeners;
diff --git a/src/main/java/org/richfaces/component/UISchedule.java b/src/main/java/org/richfaces/component/UISchedule.java
index 3eed911..7b62b61 100644
--- a/src/main/java/org/richfaces/component/UISchedule.java
+++ b/src/main/java/org/richfaces/component/UISchedule.java
@@ -41,51 +41,88 @@ import java.util.Map;
public abstract class UISchedule extends UIComponentBase implements ScheduleCommonViewAttributes, ScheduleListenerEventsProducer, AjaxComponent {
public static final String COMPONENT_TYPE = "org.richfaces.Schedule";
+
public static final String COMPONENT_FAMILY = "org.richfaces.Schedule";
+
/**
* Values of view attribute.
*/
public static final String VIEW_MONTH = "month";
+
public static final String VIEW_BASIC_WEEK = "basicWeek";
+
public static final String VIEW_AGENDA_WEEK = "agendaWeek";
+
public static final String VIEW_BASIC_DAY = "basicDay";
+
public static final String VIEW_AGENDA_DAY = "agendaDay";
+
public static final String DEFAULT_VIEW = VIEW_MONTH;
+
/**
* Values of switchType attribute
*/
public static final String SWITCH_TYPE_AJAX = "ajax";
+
public static final String SWITCH_TYPE_SERVER = "server";
+
public static final String SWITCH_TYPE_CLIENT = "client";
+
public static final String DEFAULT_SWITCH_TYPE = SWITCH_TYPE_AJAX;
+
/**
* Values of weekMode attribute.
*/
public static final String WEEK_MODE_FIXED = "fixed";
+
public static final String WEEK_MODE_LIQUID = "liquid";
+
public static final String WEEK_MODE_VARIABLE = "variable";
+
public static final String DEFAULT_WEEK_MODE = WEEK_MODE_FIXED;
+
public static final boolean DEFAULT_SHOW_WEEKENDS = true;
+
public static final boolean DEFAULT_RTL = false;
+
public static final int DEFAULT_FIRST_DAY = Calendar.SUNDAY;
+
public static final double DEFAULT_ASPECT_RATIO = 1.35;
+
public static final boolean DEFAULT_ALL_DAY_SLOT = true;
+
public static final String DEFAULT_AXIS_FORMAT = "h(:mm)tt";
+
public static final int DEFAULT_SLOT_MINUTES = 30;
+
public static final int DEFAULT_EVENT_MINUTES = 120;
+
public static final int DEFAULT_FIRST_HOUR = 6;
+
public static final String DEFAULT_MIN_TIME = "0";
+
public static final String DEFAULT_MAX_TIME = "24";
+
public static final boolean DEFAULT_EDITABLE = false;
+
public static final boolean DEFAULT_SELECTABLE = false;
+
public static final boolean DEFAULT_SELECT_HELPER = false;
+
public static final boolean DEFAULT_UNSELECT_AUTO = true;
+
public static final String DEFAULT_UNSELECT_CANCEL = "";
+
public static final boolean DEFAULT_DISABLE_DRAGGING = false;
+
public static final boolean DEFAULT_DISABLE_RESIZING = false;
+
public static final int DEFAULT_DRAG_REVERT_DURATION = 500;
+
public static final double DEFAULT_DRAG_OPACITY = .3;
+
public static final boolean DEFAULT_ALL_DAY_DEFAULT = true;
+
private DataModel model;
public abstract Object getValue();
@@ -292,6 +329,10 @@ public abstract class UISchedule extends UIComponentBase implements ScheduleComm
public abstract void setOndaterangechange(String ondaterangechange);
+ public abstract String getOnviewdisplay();
+
+ public abstract void setOnviewdisplay(String onviewdisplay);
+
public abstract MethodBinding getItemMoveListener();
public abstract void setItemMoveListener(MethodBinding listener);
diff --git a/src/main/java/org/richfaces/renderkit/ScheduleRendererBase.java b/src/main/java/org/richfaces/renderkit/ScheduleRendererBase.java
index cedecef..2306338 100644
--- a/src/main/java/org/richfaces/renderkit/ScheduleRendererBase.java
+++ b/src/main/java/org/richfaces/renderkit/ScheduleRendererBase.java
@@ -37,21 +37,37 @@ import java.util.Map;
public abstract class ScheduleRendererBase extends AjaxComponentRendererBase {
public static final String ITEM_MOVE_EVENT = "itemMove";
+
public static final String ITEM_RESIZE_EVENT = "itemResize";
+
public static final String ITEM_SELECT_EVENT = "itemSelect";
+
public static final String DATE_RANGE_CHANGE_EVENT = "dateRangeChange";
+
public static final String VIEW_CHANGE_EVENT = "viewChange";
+
public static final String DATE_SELECT_EVENT = "dateSelect";
+
public static final String DATE_RANGE_SELECT_EVENT = "dateRangeSelect";
+
private static final String CALLBACK = "callback";
+
private static final String END_DATE_PARAM = "endDate";
+
private static final String START_DATE_PARAM = "startDate";
+
private static final String ITEM_ID_PARAM = "itemId";
+
private static final String DAY_DELTA_PARAM = "dayDelta";
+
private static final String MINUTE_DELTA_PARAM = "minuteDelta";
+
private static final String ALL_DAY_PARAM = "allDay";
+
private static final String EVENT_TYPE_PARAM = "eventType";
+
private static final String VIEW_PARAM = "view";
+
private static final Map DEFAULTS;
/**
@@ -306,6 +322,7 @@ public abstract class ScheduleRendererBase extends AjaxComponentRendererBase {
addOptionIfSetAndNotDefault("onbeforedaterangeselect", schedule.getOnbeforedaterangeselect(), options);
addOptionIfSetAndNotDefault("ondaterangeselect", schedule.getOndaterangeselect(), options);
addOptionIfSetAndNotDefault("ondaterangechange", schedule.getOndaterangechange(), options);
+ addOptionIfSetAndNotDefault("onviewdisplay", schedule.getOnviewdisplay(), options);
if (schedule.getDate() != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(schedule.getDate());
diff --git a/src/main/resources/org/richfaces/renderkit/html/scripts/richfaces.schedule.js b/src/main/resources/org/richfaces/renderkit/html/scripts/richfaces.schedule.js
index 68d61bc..bbfd4cb 100644
--- a/src/main/resources/org/richfaces/renderkit/html/scripts/richfaces.schedule.js
+++ b/src/main/resources/org/richfaces/renderkit/html/scripts/richfaces.schedule.js
@@ -374,6 +374,11 @@ RichFaces.Schedule = function(id, locale, options, dateRangeChangeEventName, ite
* ignored.
*/
var viewChanged = function(view) {
+ if (options.onviewdisplay != null) {
+ RichFaces.Schedule.eval("(function(){" + options.onviewdisplay + "})()", {
+ 'view':view
+ });
+ }
if (selectedView != view && selectedView != undefined) {
if (submitEventFunction != null) {
submitEventFunction({},