new Schedule(client, oOptionsopt)
Features include:
- Groups support (group or filter the events)
- Repetitive events support
- All-day events support
- Events that span on multiple days support
- Built-in calendar to select the dates to display within the schedule panel
- Customizable layout of the schedule panel (time-scale, day headers, grouping headers, all-day header, ...)
- Customizable visual appearance of the control (shapes, colors, fonts, ...)
- Customizable user interactions (actions, shortcuts, ...)
- and much more
Every option of the Schedule.Options type has associated a property of the control. For instance, the option:
allowActions {string}, customizes the actions the user can perform once the user clicks or touches the controlis associated with the property:
AllowActions {string}, customizes the actions the user can perform once the user clicks or touches the controlwhich means that the following statements are equivalent:
oSchedule.Options = {allowActions: "scroll"}where oSchedule is an object of Schedule type
oSchedule.SetOptions({allowActions: "scroll"})
oSchedule.AllowActions = "scroll"
oSchedule.SetAllowActions("scroll")
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
client |
any | The client parameter indicates the control's client area as:
|
|
oOptions |
object |
<optional> |
An object of Schedule.Options type that defines different options to display the control. |
Requires:
- module:exontrol.commmon.min.js
- module:exontrol.calendar.min.js
- module:exontrol.menu.min.js
- module:exontrol.icalendar.min.js
Requires
- module:exontrol.commmon.min.js
- module:exontrol.calendar.min.js
- module:exontrol.menu.min.js
- module:exontrol.icalendar.min.js
Classes
Members
(static, readonly) EventResizableEnum :number
Each EventResizableEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing a name that matches the enumeration constants.
For instance, the string "both" is equivalent to the numeric value 3, or to the enumeration constant exResizableBoth.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exNoResizable |
0 |
number | The exNoResizable field indicates that the event can not be resized. |
exResizableStart |
1 |
number | The exResizableStart field indicates that only the starting point of the event can be resized. |
exResizableEnd |
2 |
number | The exResizableEnd field indicates that only the ending point of the event can be resized. |
exResizableBoth |
3 |
number | The exResizableBoth field indicates a sizeable event, so the user can resize at runtime the start or end point of the event. |
(static, readonly) OnResizeControlEnum :number
Each OnResizeControlEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A combination of one or more compatible enumeration constants, separated by the | operator.
- A case-insensitive partial string containing one or more comma-separated names that match the enumeration constants.
For instance, the string "right,hide,change" is equivalent to the numeric value 769, or to the combination of enumeration constants exResizePanelRight | exHideSplitter | exChangePanels.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exResizePanelLeft |
0 |
number | The exResizePanelLeft value specifies that the left panel of the control is resized, once the entire-control gets resized. If this flag is set the calendar view is resized once the control is resized, unless the exChangePanels flag is set, as the schedule will be resized. |
exResizePanelRight |
1 |
number | The exResizePanelRight value specifies that the right panel of the control is resized, once the entire-control gets resized. If this flag is set the schedule view is resized once the control is resized, unless the exChangePanels flag is set, as the calendar will be resized. |
exDisableSplitter |
128 |
number | The exDisableSplitter flag disables the splitter, so the user can not resize the panels using the control's vertical split bar. |
exHideSplitter |
256 |
number | The exHideSplitter flag hides the splitter. This flag allows you to display a single panel, the calendar or the schedule view at once. If the exHideSplitter is used in combination with the exChangePanels, the schedule view is shown only, else the calendar panel is displayed only |
exChangePanels |
512 |
number | The exChangePanels flag exchanges the content of the panels. If this flag is present, the schedule view is displayed on the left, while the calendar panel is shown on the right side of the component. |
exCalendarFit |
1024 |
number | The exCalendarFit flag ensures that the calendar fits to the panel that hosts it. If this flag is present, the Calendar panel can not show its content partially. |
exCalendarAutoHide |
2048 |
number | The exCalendarAutoHide flag turns on or off the calendar panel when the cursor leaves the panels. The auto hide feature allows you to hide the calendar panel, while the cursor is not in it, so the schedule view gains the entire client area. |
(static, readonly) OnSelectDateEnum :number
Each OnSelectDateEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing a name that matches the enumeration constants.
For instance, the string "ensure" is equivalent to the numeric value 1, or to the enumeration constant exEnsureVisibleDate.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exFitSelToView |
-1 |
number | The exFitSelToView value specifies that once the selection is changed within the calendar panel, the day's size is updated and the view is scrolled to fit the calendar's selection (default). The control adjusts the dayViewWidth and dayViewHeight fields to fit the calendar's selection within the schedule view, and scrolls the view to ensure that the calendar's selected date is visible within the schedule view. |
exNoViewChange |
0 |
number | The exNoViewChange value indicates that no change occurs once the user changes the selection within the calendar panel. |
exEnsureVisibleDate |
1 |
number | The exEnsureVisibleDate value specifies that once the selection is changed within the calendar panel, the view is scrolled to ensure that the calendar's selected date fits the schedule view |
(static, readonly) SelectEventStyleEnum :number
Each SelectEventStyleEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing a name that matches the enumeration constants.
For instance, the string "combined" is equivalent to the numeric value 0, or to the enumeration constant exSelectCombined.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exSelectCombined |
0 |
number | The "select" shape is combined with the event's shape. |
exSelectBack |
1 |
number | The "select" shape is displayed on the event's background. The padSelectEvent field specifies the space between the event's content and its selection border. |
exSelectPrimitive |
2 |
number | The "select" shape is displayed on the event's background, but it uses the event's primitive (rectangle, round, oval, ...). The padSelectEvent field specifies the space between the event's content and its selection border. |
- Since:
- 5.4
(static, readonly) ShowEventsEnum :number
Each ShowEventsEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing a name that matches the enumeration constants.
For instance, the string "regular" is equivalent to the numeric value 1, or to the enumeration constant exShowRegularEvents.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exShowAllEvents |
-1 |
number | Shows all events (default). This option includes regular and repetitive events. |
exHideEvents |
0 |
number | The control displays no events. This option hides all events, including regular and repetitive events. |
exShowRegularEvents |
1 |
number | The control displays regular events. This option includes events that occur on specific dates and times, without any repetition pattern. Regular events are defined by their start and end date/time, and they do not have a repetitive expression. |
exShowRepetitiveEvents |
2 |
number | The control displays repetitive events. The Event.Repetitive property specifies the expression that defines the dates where the event occurs. |
- Since:
- 5.4
(static, readonly) ShowMarkZoneEnum :number
Each ShowMarkZoneEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing a name that matches the enumeration constants.
For instance, the string "back" is equivalent to the numeric value 1, or to the enumeration constant exShowMarkZonesBack.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exHideMarkZones |
0 |
number | No mark-zone is displayed. |
exShowMarkZonesBack |
1 |
number | The mark-zone(s) are displayed on the background (behind events). |
exShowMarkZonesFront |
2 |
number | The mark-zone(s) are displayed on the foreground. |
- Since:
- 5.4
(static, readonly) ShowViewCompactEnum :number
Each ShowViewCompactEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A case-insensitive partial string containing a name that matches the enumeration constants.
For instance, the string "row" is equivalent to the numeric value 1, or to the enumeration constant exViewSingleRow.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exViewCalendar |
0 |
number | The exViewCalendar value indicates that the schedule view arranges the days as they are shown in the calendar panel. The dayViewWidth field specifies the width of the day in the schedule panel. The dayViewHeight field specifies the height of the day in the schedule panel. |
exViewCalendarCompact |
-1 |
number | The exViewCalendarCompact value indicates that the schedule view arranges the days as they are shown in the calendar panel, excepts that the first day of the month starts right after the last day of the previously month, or start to a new row (default). The dayViewWidth field specifies the width of the day in the schedule panel. The dayViewHeight field specifies the height of the day in the schedule panel. |
exViewSingleRow |
1 |
number | The exViewSingleRow value indicates that the schedule view arranges all days to a single row (horizontally). The dayViewWidth field specifies the width of the day in the schedule panel. The dayViewHeight field is ignored in this mode, as the schedule view automatically fits to the control's height. |
exViewSingleColumn |
2 |
number | The exViewSingleColumn value indicates that the schedule view arranges all days to a single column (vertically).The dayViewHeight field specifies the height of the day in the schedule panel. The dayViewWidth field is ignored in this mode, as the schedule view automatically fits to the control's width. |
exViewSingleRowLockHeader |
3 |
number | The exViewSingleRowLockHeader value indicates that schedule view arranges all days to a single row (horizontally), while the date header is shown/locked on the top while the chart is vertically scrolled. The dayViewWidth field specifies the width of the day in the schedule panel. The dayViewHeight field is ignored in this mode, as the schedule view automatically fits to the control's height. |
exViewSingleWeek |
4 |
number | The exViewSingleWeek value enables the schedule view to display weekdays vertically across 7 rows, with one row for each weekday. The dayViewWidth field specifies the width of the day in the schedule panel. The dayViewHeight field specifies the height of the day in the schedule panel. |
(static, readonly) SingleSelEnum :number
Each SingleSelEnum property can be specified in one of the following ways:
- A numeric value.
- A single enumeration constant.
- A combination of one or more compatible enumeration constants, separated by the | operator.
- A case-insensitive partial string containing one or more comma-separated names that match the enumeration constants.
For instance, the string "enable,ctrl" is equivalent to the numeric value 9, or to the combination of enumeration constants exEnableSel | exDisableCtrlSel.
Type:
- number
Properties:
| Name | value | Type | Description |
|---|---|---|---|
exDisableSel |
0 |
number | The exDisableSel value specifies that the control's selection is disabled. |
exEnableSel |
1 |
number | The exEnableSel flag specifies that the control's selection is enabled (multiple-selection, unless the exSingleSel is set ). |
exSingleSel |
2 |
number | The exSingleSel flag specifies that the user can select a event only. |
exToggleSel |
4 |
number | The exToggleSel flag specifies that the event's selection state is toggled once the user clicks a event. |
exDisableCtrlSel |
8 |
number | The exDisableCtrlSel flag disables toggling the event's selection state when user clicks a event, while CTRL modifier key is pressed. |
exDisableShiftSel |
16 |
number | The exDisableShiftSel flag disables selecting events using the SHIFT key. |
exDisableDrag |
32 |
number | The exDisableDrag flag disables selecting events by drag. |
(static, readonly) type :string
Type:
- string
- Since:
- 1.8
Example
console.log(exontrol.Schedule.type); // logs "Schedule"
(static, readonly) version :string
Type:
- string
Example
console.log(exontrol.Schedule.version); // displays the version of the control, for instance "5.2"
AllowActions :string
The format of the property is:
"action(shortcut,shortcut,...),action(shortcut,shortcut,...)..."where
- "action", defines the action to perform (as defined below)
Action Description Flags "create" Creates an event by drag (not available if the control is read-only) "day-resize" Resizes the day by drag and drop (not available if the control is read-only) "drag-drop" Performs drag and drop of the ui-event (the ui-event can be dropped inside or outside of the control). The ExDrop(event, data) method of the target HTML element is invoked once the user drops the ui-event. The event parameter contains information about the mouse/touch event. The data parameter contains information about the source-object that initiated the drag/drop operation as {object, source, client, shape} "fit" Fits the drag-area into the control's client area "group-drag" Changes the group's position by drag and drop (not available if the control is read-only). The Group.Position property specifies the position of the group. "group-resize" Resizes the group by drag and drop (not available if the control is read-only). The Group.Width property defines the width of the group. "move" Moves or resizes events by drag (not available if the control is read-only) "scroll" Scrolls the control's content by drag - [view], specifies that the "scroll" is possible once the user clicks the view
- [timeScale], specifies that the "scroll" is possible once the user clicks the time-scale
"select" Selects events by drag "zoom" Zooms the control's content at dragging-point - "shortcut", defines the event's button or/and the modifier-keys that are required to perform the action. The "shortcut" is a combination of none, one or more of the following values:
- "Shift", indicates that the SHIFT key is pressed
- "Ctrl" or "Control", indicates that the CTRL key is pressed
- "Alt" or "Menu", indicates that the ALT key is pressed
- "Meta" , indicates that the META key is pressed
- "LButton", specifies that the mouse's left-button is pressed
- "RButton", specifies that the mouse's right-button is pressed
- "MButton", specifies that the mouse's middle/wheel-button is pressed
- "Long", specifies that the action requires a "long" click or touch before it begins
- "Double", specifies that the action requires a "double" click before it begins (this flag is available for non-dragable actions only such as "edit")
- "+", indicates AND between values
Type:
- string
Example
null {null}, indicates the control's default allowActions value
"" {string}, specifies that no operation is allowed once the user clicks or touches the control
"scroll" {string}, specifies that only "scroll" operation is allowed, no matter of the event's button or modifier-keys is pressed.
AllowActions
AllowAllDayEventScroll :null|number|Array.<number>
The AllowAllDayEventScroll property accepts the following types of values:
- null {null}, the all-day header displays events as many as it fits
- positive-number {number}, the all-day header always displays an exact number of levels
- negative-number {number}, the all-day header displays up to specified number of levels
- [min,max] {array}, indicates a two-elements array of [min,max] type that defines the minimum and maximum number of levels, where min must be zero or any positive number, while max can be null, negative (up to) or positive number(fixed)
Type:
- null | number | Array.<number>
Example
null {null}, the all-day header displays events as many as it fits
3 {number}, indicates that the all-day header always displays 3 levels
-3 {number}, indicates that the all-day header can display up to 3 levels
[1] {array}, indicates 1 to unlimited levels
[1,4] {array}, always displays 4 levels
[1,-4] {array}, displays from 1 to 4 levels
AllowAllDayEventScroll
AllowMoveEventToOtherGroup :boolean
Type:
- boolean
Example
false {boolean}, the user cannot move an event from one group to another using drag and drop
true {boolean}, the user can move an event from one group to another using drag and drop (default)
AllowMoveEventToOtherGroup
AllowMultiDaysEvent :boolean
Type:
- boolean
Example
false {boolean}, the user can create or resize just single-date events only
true {boolean}, the user can create multi-dates events by drag and drop (create or resize)
AllowMultiDaysEvent
AllowUndoRedo :boolean
Type:
- boolean
- Since:
- 2.0
Example
false {boolean}, the Undo/Redo feature is disabled (by default)
true {boolean}, enables the Undo/Redo feature.
AllowUndoRedo
ApplyGroupingColors :boolean
Type:
- boolean
Example
false {boolean}, the schedule view does not show the events using the colors of owner groups
true {boolean}, the schedule view shows the events using the colors of owner groups (default)
ApplyGroupingColors
Background :BackgroundOptions
It is important to note that changing a field of the BackgroundOptions object does not automatically update the control. For example, oSchedule.Background.majorTimeRulerColor = "black" does not apply the change. Instead, you must assign the Background property again, such as oSchedule.Background = {majorTimeRulerColor: "black"}, so the control updates and applies the new value.
Type:
Example
{majorTimeRulerColor: "black"} {object}, sets the color of the major time ruler to black
{minorTimeRulerColor: "gray"} {object}, sets the color of the minor time ruler to gray
{majorTimeRulerColor: "black", minorTimeRulerColor: "gray"} {object}, sets the color of the major time ruler to black and the minor time ruler to gray
Background
Calendar :exontrol.Calendar
Type:
- exontrol.Calendar
Example
The followng statements are equivalents:
oSchedule.Calendar.Options =
{
date: new Date(2024, 0, 1),
locale: "de-DE"
}
or
oSchedule.SetCalendar(
{
date: new Date(2024, 0, 1),
locale: "de-DE"
})
or
oSchedule.Calendar.Date = new Date(2024, 0, 1), sets the calendar's date to January 1, 2024
oSchedule.Calendar.Locale = "de-DE", sets the calendar's locale to German (Germany)
where oSchedule is an object of Schedule type
Calendar
CreateEventLabel :string
<%=((1:=int(0:= %7)) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>", which displays the event's short margins on the first line and its duration (in days, hours, and minutes) on the second line while creating events.
The known placeholders that can be used in the formula are:
- %1 (exEventStartDateTime) {Date}, indicates the starting date/time of the event. This property gets the Start property of the event. The Start property defines the lower margin of the event, and it includes the date and the time values. The exEventStartDate specifies the DATE value only, while the exEventStartTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%1)%>" displays the day of the week where the event starts
- %2 (exEventEndDateTime) {Date}, indicates the ending date/time of the event. This property gets or sets the End property of the event. The End property defines the upper margin of the event, and it includes the date and the time values. The exEventEndDate specifies the DATE value only, while the exEventEndTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%2)%>" gets the day of the week where the event ends.
- %3 (exEventAllDay) {boolean}, indicates if the current event is an all day event. This property is equivalent with the event's AllDay property which indicates if the current event is an all-day event. For instance, the LabelProperty = "<%=%3 ? `All-Day-Event: `: ``%><%=%256%>", displays automatically an "All-Day-Event: " prefix for all-day events. If the event is not an all-day event, the <%=%256%>, or exEventDisplayShortMargins, short margins of the events are displayed.
- %4 (exEventGroupID) {any}, specifies the identifier/index of the event's group. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupLabel property indicates the Caption property of the Group's event. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%4%>
<%=%256%>" displays on the first line, the group's identifier, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %5 (exEventCaption) {string}, indicates the caption of the event. The Caption property of the event specifies the custom caption that can be displayed on the label, without having to change the event's label. For instance, the LabelProperty = "<%=%256%>
<%=%5%>" displays on the first line, the event's short margins, while on the second line displays the event's caption. Once you update or edit the event's Caption, the event's body automatically shows the new caption. - %6 (exEventUserData) {any}, indicates the extra data associated with the event. The UserData property of the event indicates an extra data associated with the event. For instance, the LabelProperty = "<%=%256%>
<%=%6%>" displays on the first line, the event's short margins, while on the second line displays the event's user data. Once you update or edit the event's UserData, the event's body automatically shows the new label. - %7 (exEventDuration) {number}, specifies the duration of the event. The returned values is of float type, and it indicates the duration of the event in days. For instance, the 1.5 indicates, 1 day and 12 hours. For instance, the LabelProperty = "<%=%256%>
<%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>" displays on the first line, the event's short margins, while on the second line displays the event's durations in days, hours and minutes. Once you update or edit the event's margins, the event's body automatically shows the new length. You can use the MoveBy method to delay the current event with a specified value time. You can use the SetKnownProperty(exEventDuration) to change the event's duration. - %8 (exEventRepetitiveExpression) {string}, specifies the repetitive expression of the event. The Event.Repetitive property indicates the expression that determines whether the event is repetitive. For instance, the LabelProperty = "<%=%256%>
<%=len(%8)? `repetitive event`:``%>" displays repetitive event for repetitive events. - %12 (exEventID) {string}, specifies the event's unique key/identifier/index.
- %256 (exEventDisplayShortMargins) {string}, displays the margins of the event in a short format (read-only). The ShortDateFormat property defines the short date format. The ShortTimeFormat property defines the short time format.
- %257 (exEventDisplayLongMargins) {string}, displays the margins of the event in a long format (read-only). The LongDateFormat property defines the long date format. The LongTimeFormat property defines the long time format.
- %258 (exEventStartDate) {Date}, gets the starting date ( not including the time ) of the event (read-only). You can use this property to get the starting date of the event.
- %259 (exEventStartTime) {number}, gets the starting time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the starting time of the event.
- %260 (exEventEndDate) {Date}, gets the ending date ( not including the time ) of the event (read-only). You can use this property to get the ending date of the event.
- %261 (exEventEndTime) {number}, gets the ending time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the ending time of the event.
- %262 (exEventGroupLabel) {string}, gets the label of the owner group (read-only). The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%262%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %263 (exEventGroupTitle) {string}, gets the title of the owner group (read-only). The exEventGroupTitle property indicates the Title property of the Group's event. The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. For instance, the LabelProperty = "<%=%263%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %264 (exEventRepetitive) {boolean}, Indicates if the current event is a repetitive event. (read-only). You can use this flag to specify whether Repetitive property of the Event object is not empty, and valid.
Type:
- string
Example
null {null}, the control's default label is shown while creating events ("<%=%256%><br><%=((1:=int(0:= %7)) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>")
"" {string}, no label is shown for event to create
"Start: <%=%1%><br>End: <%=%2%>" {string}, displays the starting margin of the even on the first line, while on the second line it displays the ending point of the event
"Duration: <%=((1:=int(0:= %7)) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>" {string}, displays the duration of the event in days, hours and minutes
CreateEventLabel
Cursors :string
The format of the property is:
"cursor(part),cursor(part),..."where:
- "cursor", defines the CSS mouse cursor to display while cursor hovers the part
- "part", defines the name of the part the cursor is applied on (as defined below)
The "part" can be any of the following:
Cursor Description "alias" indicates a shortcut or alias will be created "all-scroll" indicates scrolling in any direction "auto" lets the browser decide the cursor based on context "cell" indicates a table cell "col-resize" indicates a column can be resized horizontally "context-menu" indicates a context menu is available "copy" indicates something will be copied "crosshair" a precise crosshair cursor "default" the default arrow cursor "e-resize" resize east (right edge) "ew-resize" resize horizontally "grab" indicates an item can be grabbed "grabbing" indicates an item is being grabbed "help" indicates help information is available "move" indicates something can be moved "n-resize" resize north (top edge) "ne-resize" resize northeast (top-right corner) "nesw-resize" resize along the northeast-southwest axis "no-drop" indicates dropping is not permitted "not-allowed" indicates the action is not allowed "ns-resize" resize vertically "nw-resize" resize northwest (top-left corner) "nwse-resize" resize along the northwest-southeast axis "pointer" the pointer cursor (a hand with a pointing finger) "progress" indicates background processing "row-resize" indicates a row can be resized vertically "s-resize" resize south (bottom edge) "se-resize" resize southeast (bottom-right corner) "sw-resize" resize southwest (bottom-left corner) "text" the text selection cursor (I-beam) "url(...)" uses a custom cursor image (with optional fallback) "vertical-text" the vertical text selection cursor "w-resize" resize west (left edge) "wait" indicates the program is busy "zoom-in" indicates zooming in "zoom-out" indicates zooming out
Part Description "anchor" (hyperlink) defines the mouse-cursor when the mouse pointer hovers the anchor (the <a> ex-HTML part marks an anchor or hyperlink element) (@since 2.2) "create" defines the mouse-cursor to create new events by drag and drop "date" defines the mouse-cursor when the mouse pointer hovers the date (any part) "date-all-day-header" defines the mouse-cursor when the mouse pointer hovers the date's all-day header "date-all-day-scroll-button" defines the mouse-cursor when the mouse pointer hovers the date's scroll-button of the all-day header "date-all-day-scroll-wheel" defines the mouse-cursor when the mouse pointer hovers the date's scroll-wheel of the all-day header (the scroll-wheel zone is the portion of the all-day header where user can scroll the events using the mouse wheel) "date-grouping-header" defines the mouse-cursor when the mouse pointer hovers the date's grouping-header part "date-header" defines the mouse-cursor when the mouse pointer hovers the header's date "date-timeScale" defines the mouse-cursor when the mouse pointer hovers the date's time-scale part "drag-drop" defines the cursor while the event is being dragged using the "drag-drop" action "event" defines the mouse-cursor when the mouse pointer hovers any movable event. The Event.Cursor property specifies the cursor to be used for a specific event. "grouping-button" defines the mouse-cursor when the mouse pointer hovers the header's grouping-button "long" specifies the mouse-cursor to be shown as soon as a "long" click or touch action begins (see allowActions field) "resize-group" defines the mouse-cursor when the mouse pointer hovers the group's resize margin "resize-h" (resize-event-horizontal) defines the mouse-cursor when the mouse pointer hovers the all-day event's start and end margins "resize-v" (resize-event-vertical) defines the mouse-cursor when the mouse pointer hovers the event's start and end margins "timeScale" defines the mouse-cursor when the mouse pointer hovers the control's time-scale header
Type:
- string
Example
"pointer(event)" {string}, sets the cursor to a pointer (hand) when hovering over events (indicating that they are clickable or draggable)
"not-allowed(date)" {string}, sets the cursor to "not-allowed" when hovering over dates (indicating that they are not interactive)
Cursors
DayEndTime :string
Type:
- string
Example
null {null}, every day ends at 4:00 PM
"17:00" {string}, the day ends at 05:00 PM
"24:00" {string}, the day ends at 12:00 AM
DayEndTime
DayStartTime :string
Type:
- string
Example
null {null}, every day starts at 8:00 AM
"00:00" {string}, the day starts at 12:00 AM
"07:00" {string}, the day starts at 07:00 AM
DayStartTime
DayViewHeight :number
Type:
- number
Example
null {null} or -1 {number}, the day fits vertically the schedule view
128 {number}, the day within the schedule panel has a fixed height
DayViewHeight
DayViewWidth :number
Type:
- number
Example
null {null} or -1 {number}, the day fits horizontally the schedule view
128 {number}, the day within the schedule panel has a fixed width
DayViewWidth
DefaultEventExtraLabel :string
The known identifiers within the <%=formula%> tag are:
- %1 (exEventStartDateTime) {Date}, indicates the starting date/time of the event. This property gets the Start property of the event. The Start property defines the lower margin of the event, and it includes the date and the time values. The exEventStartDate specifies the DATE value only, while the exEventStartTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%1)%>" displays the day of the week where the event starts
- %2 (exEventEndDateTime) {Date}, indicates the ending date/time of the event. This property gets or sets the End property of the event. The End property defines the upper margin of the event, and it includes the date and the time values. The exEventEndDate specifies the DATE value only, while the exEventEndTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%2)%>" gets the day of the week where the event ends.
- %3 (exEventAllDay) {boolean}, indicates if the current event is an all day event. This property is equivalent with the event's AllDay property which indicates if the current event is an all-day event. For instance, the LabelProperty = "<%=%3 ? `All-Day-Event: `: ``%><%=%256%>", displays automatically an "All-Day-Event: " prefix for all-day events. If the event is not an all-day event, the <%=%256%>, or exEventDisplayShortMargins, short margins of the events are displayed.
- %4 (exEventGroupID) {any}, specifies the identifier/index of the event's group. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupLabel property indicates the Caption property of the Group's event. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%4%>
<%=%256%>" displays on the first line, the group's identifier, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %5 (exEventCaption) {string}, indicates the caption of the event. The Caption property of the event specifies the custom caption that can be displayed on the label, without having to change the event's label. For instance, the LabelProperty = "<%=%256%>
<%=%5%>" displays on the first line, the event's short margins, while on the second line displays the event's caption. Once you update or edit the event's Caption, the event's body automatically shows the new caption. - %6 (exEventUserData) {any}, indicates the extra data associated with the event. The UserData property of the event indicates an extra data associated with the event. For instance, the LabelProperty = "<%=%256%>
<%=%6%>" displays on the first line, the event's short margins, while on the second line displays the event's user data. Once you update or edit the event's UserData, the event's body automatically shows the new label. - %7 (exEventDuration) {number}, specifies the duration of the event. The returned values is of float type, and it indicates the duration of the event in days. For instance, the 1.5 indicates, 1 day and 12 hours. For instance, the LabelProperty = "<%=%256%>
<%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>" displays on the first line, the event's short margins, while on the second line displays the event's durations in days, hours and minutes. Once you update or edit the event's margins, the event's body automatically shows the new length. You can use the MoveBy method to delay the current event with a specified value time. You can use the SetKnownProperty(exEventDuration) to change the event's duration. - %8 (exEventRepetitiveExpression) {string}, specifies the repetitive expression of the event. The Event.Repetitive property indicates the expression that determines whether the event is repetitive. For instance, the LabelProperty = "<%=%256%>
<%=len(%8)? `repetitive event`:``%>" displays repetitive event for repetitive events. - %12 (exEventID) {string}, specifies the event's unique key/identifier/index.
- %256 (exEventDisplayShortMargins) {string}, displays the margins of the event in a short format (read-only). The ShortDateFormat property defines the short date format. The ShortTimeFormat property defines the short time format.
- %257 (exEventDisplayLongMargins) {string}, displays the margins of the event in a long format (read-only). The LongDateFormat property defines the long date format. The LongTimeFormat property defines the long time format.
- %258 (exEventStartDate) {Date}, gets the starting date ( not including the time ) of the event (read-only). You can use this property to get the starting date of the event.
- %259 (exEventStartTime) {number}, gets the starting time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the starting time of the event.
- %260 (exEventEndDate) {Date}, gets the ending date ( not including the time ) of the event (read-only). You can use this property to get the ending date of the event.
- %261 (exEventEndTime) {number}, gets the ending time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the ending time of the event.
- %262 (exEventGroupLabel) {string}, gets the label of the owner group (read-only). The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%262%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %263 (exEventGroupTitle) {string}, gets the title of the owner group (read-only). The exEventGroupTitle property indicates the Title property of the Group's event. The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. For instance, the LabelProperty = "<%=%263%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %264 (exEventRepetitive) {boolean}, Indicates if the current event is a repetitive event. (read-only). You can use this flag to specify whether Repetitive property of the Event object is not empty, and valid.
Type:
- string
Example
"" {string}, no extra label is shown
"<img>image</img> and text" {string}, the event displays the image and text. The image can be added using the exontrol.HTMLPicture.Add method
"<%=%256%>", displays the event's start and end margins in a short format
DefaultEventExtraLabel
DefaultEventLongLabel :string
The known identifiers within the <%=formula%> tag are:
- %1 (exEventStartDateTime) {Date}, indicates the starting date/time of the event. This property gets the Start property of the event. The Start property defines the lower margin of the event, and it includes the date and the time values. The exEventStartDate specifies the DATE value only, while the exEventStartTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%1)%>" displays the day of the week where the event starts
- %2 (exEventEndDateTime) {Date}, indicates the ending date/time of the event. This property gets or sets the End property of the event. The End property defines the upper margin of the event, and it includes the date and the time values. The exEventEndDate specifies the DATE value only, while the exEventEndTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%2)%>" gets the day of the week where the event ends.
- %3 (exEventAllDay) {boolean}, indicates if the current event is an all day event. This property is equivalent with the event's AllDay property which indicates if the current event is an all-day event. For instance, the LabelProperty = "<%=%3 ? `All-Day-Event: `: ``%><%=%256%>", displays automatically an "All-Day-Event: " prefix for all-day events. If the event is not an all-day event, the <%=%256%>, or exEventDisplayShortMargins, short margins of the events are displayed.
- %4 (exEventGroupID) {any}, specifies the identifier/index of the event's group. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupLabel property indicates the Caption property of the Group's event. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%4%>
<%=%256%>" displays on the first line, the group's identifier, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %5 (exEventCaption) {string}, indicates the caption of the event. The Caption property of the event specifies the custom caption that can be displayed on the label, without having to change the event's label. For instance, the LabelProperty = "<%=%256%>
<%=%5%>" displays on the first line, the event's short margins, while on the second line displays the event's caption. Once you update or edit the event's Caption, the event's body automatically shows the new caption. - %6 (exEventUserData) {any}, indicates the extra data associated with the event. The UserData property of the event indicates an extra data associated with the event. For instance, the LabelProperty = "<%=%256%>
<%=%6%>" displays on the first line, the event's short margins, while on the second line displays the event's user data. Once you update or edit the event's UserData, the event's body automatically shows the new label. - %7 (exEventDuration) {number}, specifies the duration of the event. The returned values is of float type, and it indicates the duration of the event in days. For instance, the 1.5 indicates, 1 day and 12 hours. For instance, the LabelProperty = "<%=%256%>
<%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>" displays on the first line, the event's short margins, while on the second line displays the event's durations in days, hours and minutes. Once you update or edit the event's margins, the event's body automatically shows the new length. You can use the MoveBy method to delay the current event with a specified value time. You can use the SetKnownProperty(exEventDuration) to change the event's duration. - %8 (exEventRepetitiveExpression) {string}, specifies the repetitive expression of the event. The Event.Repetitive property indicates the expression that determines whether the event is repetitive. For instance, the LabelProperty = "<%=%256%>
<%=len(%8)? `repetitive event`:``%>" displays repetitive event for repetitive events. - %12 (exEventID) {string}, specifies the event's unique key/identifier/index.
- %256 (exEventDisplayShortMargins) {string}, displays the margins of the event in a short format (read-only). The ShortDateFormat property defines the short date format. The ShortTimeFormat property defines the short time format.
- %257 (exEventDisplayLongMargins) {string}, displays the margins of the event in a long format (read-only). The LongDateFormat property defines the long date format. The LongTimeFormat property defines the long time format.
- %258 (exEventStartDate) {Date}, gets the starting date ( not including the time ) of the event (read-only). You can use this property to get the starting date of the event.
- %259 (exEventStartTime) {number}, gets the starting time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the starting time of the event.
- %260 (exEventEndDate) {Date}, gets the ending date ( not including the time ) of the event (read-only). You can use this property to get the ending date of the event.
- %261 (exEventEndTime) {number}, gets the ending time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the ending time of the event.
- %262 (exEventGroupLabel) {string}, gets the label of the owner group (read-only). The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%262%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %263 (exEventGroupTitle) {string}, gets the title of the owner group (read-only). The exEventGroupTitle property indicates the Title property of the Group's event. The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. For instance, the LabelProperty = "<%=%263%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %264 (exEventRepetitive) {boolean}, Indicates if the current event is a repetitive event. (read-only). You can use this flag to specify whether Repetitive property of the Event object is not empty, and valid.
Type:
- string
Example
null {null} or undefined {undefined}, the default short-label is used ("<%=%256%>")
"" {string}, the short-label is hidden
"<img>image</img> and text" {string}, the event displays the image and text. The image can be added using the exontrol.HTMLPicture.Add method
"<%=%256%>", displays the event's start and end margins in a short format
DefaultEventLongLabel
DefaultEventShortLabel :string
The known identifiers within the <%=formula%> tag are:
- %1 (exEventStartDateTime) {Date}, indicates the starting date/time of the event. This property gets the Start property of the event. The Start property defines the lower margin of the event, and it includes the date and the time values. The exEventStartDate specifies the DATE value only, while the exEventStartTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%1)%>" displays the day of the week where the event starts
- %2 (exEventEndDatef {Date}, indicates the ending date/time of the event. This property gets or sets the End property of the event. The End property defines the upper margin of the event, and it includes the date and the time values. The exEventEndDate specifies the DATE value only, while the exEventEndTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%2)%>" gets the day of the week where the event ends.
- %3 (exEventAllDay) {boolean}, indicates if the current event is an all day event. This property is equivalent with the event's AllDay property which indicates if the current event is an all-day event. For instance, the LabelProperty = "<%=%3 ? `All-Day-Event: `: ``%><%=%256%>", displays automatically an "All-Day-Event: " prefix for all-day events. If the event is not an all-day event, the <%=%256%>, or exEventDisplayShortMargins, short margins of the events are displayed.
- %4 (exEventGroupID) {any}, specifies the identifier/index of the event's group. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupLabel property indicates the Caption property of the Group's event. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%4%>
<%=%256%>" displays on the first line, the group's identifier, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %5 (exEventCaption) {string}, indicates the caption of the event. The Caption property of the event specifies the custom caption that can be displayed on the label, without having to change the event's label. For instance, the LabelProperty = "<%=%256%>
<%=%5%>" displays on the first line, the event's short margins, while on the second line displays the event's caption. Once you update or edit the event's Caption, the event's body automatically shows the new caption. - %6 (exEventUserData) {any}, indicates the extra data associated with the event. The UserData property of the event indicates an extra data associated with the event. For instance, the LabelProperty = "<%=%256%>
<%=%6%>" displays on the first line, the event's short margins, while on the second line displays the event's user data. Once you update or edit the event's UserData, the event's body automatically shows the new label. - %7 (exEventDuration) {number}, specifies the duration of the event. The returned values is of float type, and it indicates the duration of the event in days. For instance, the 1.5 indicates, 1 day and 12 hours. For instance, the LabelProperty = "<%=%256%>
<%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>" displays on the first line, the event's short margins, while on the second line displays the event's durations in days, hours and minutes. Once you update or edit the event's margins, the event's body automatically shows the new length. You can use the MoveBy method to delay the current event with a specified value time. You can use the SetKnownProperty(exEventDuration) to change the event's duration. - %8 (exEventRepetitiveExpression) {string}, specifies the repetitive expression of the event. The Event.Repetitive property indicates the expression that determines whether the event is repetitive. For instance, the LabelProperty = "<%=%256%>
<%=len(%8)? `repetitive event`:``%>" displays repetitive event for repetitive events. - %12 (exEventID) {string}, specifies the event's unique key/identifier/index.
- %256 (exEventDisplayShortMargins) {string}, displays the margins of the event in a short format (read-only). The ShortDateFormat property defines the short date format. The ShortTimeFormat property defines the short time format.
- %257 (exEventDisplayLongMargins) {string}, displays the margins of the event in a long format (read-only). The LongDateFormat property defines the long date format. The LongTimeFormat property defines the long time format.
- %258 (exEventStartDate) {Date}, gets the starting date ( not including the time ) of the event (read-only). You can use this property to get the starting date of the event.
- %259 (exEventStartTime) {number}, gets the starting time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the starting time of the event.
- %260 (exEventEndDate) {Date}, gets the ending date ( not including the time ) of the event (read-only). You can use this property to get the ending date of the event.
- %261 (exEventEndTime) {number}, gets the ending time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the ending time of the event.
- %262 (exEventGroupLabel) {string}, gets the label of the owner group (read-only). The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%262%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %263 (exEventGroupTitle) {string}, gets the title of the owner group (read-only). The exEventGroupTitle property indicates the Title property of the Group's event. The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. For instance, the LabelProperty = "<%=%263%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %264 (exEventRepetitive) {boolean}, Indicates if the current event is a repetitive event. (read-only). You can use this flag to specify whether Repetitive property of the Event object is not empty, and valid.
Type:
- string
Example
null {null} or undefined {undefined}, the default short-label is used ("<%=%256%>")
"" {string}, the short-label is hidden
"<img>image</img> and text" {string}, the event displays the image and text. The image can be added using the exontrol.HTMLPicture.Add method
"<%=%256%>", displays the event's start and end margins in a short format
DefaultEventShortLabel
DefaultEventToolTip :string
End: <%=%2%>
Duration: <%=((1:=int(0:= %7)) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>". This default setting ensures that each event's tooltip displays its start and end date/time, as well as its duration in days, hours, and minutes.
The following properties are supported in the DefaultEventToolTip property:
- %1 (exEventStartDateTime) {Date}, indicates the starting date/time of the event. This property gets the Start property of the event. The Start property defines the lower margin of the event, and it includes the date and the time values. The exEventStartDate specifies the DATE value only, while the exEventStartTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%1)%>" displays the day of the week where the event starts
- %2 (exEventEndDateTime) {Date}, indicates the ending date/time of the event. This property gets or sets the End property of the event. The End property defines the upper margin of the event, and it includes the date and the time values. The exEventEndDate specifies the DATE value only, while the exEventEndTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%2)%>" gets the day of the week where the event ends.
- %3 (exEventAllDay) {boolean}, indicates if the current event is an all day event. This property is equivalent with the event's AllDay property which indicates if the current event is an all-day event. For instance, the LabelProperty = "<%=%3 ? `All-Day-Event: `: ``%><%=%256%>", displays automatically an "All-Day-Event: " prefix for all-day events. If the event is not an all-day event, the <%=%256%>, or exEventDisplayShortMargins, short margins of the events are displayed.
- %4 (exEventGroupID) {any}, specifies the identifier/index of the event's group. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupLabel property indicates the Caption property of the Group's event. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%4%>
<%=%256%>" displays on the first line, the group's identifier, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %5 (exEventCaption) {string}, indicates the caption of the event. The Caption property of the event specifies the custom caption that can be displayed on the label, without having to change the event's label. For instance, the LabelProperty = "<%=%256%>
<%=%5%>" displays on the first line, the event's short margins, while on the second line displays the event's caption. Once you update or edit the event's Caption, the event's body automatically shows the new caption. - %6 (exEventUserData) {any}, indicates the extra data associated with the event. The UserData property of the event indicates an extra data associated with the event. For instance, the LabelProperty = "<%=%256%>
<%=%6%>" displays on the first line, the event's short margins, while on the second line displays the event's user data. Once you update or edit the event's UserData, the event's body automatically shows the new label. - %7 (exEventDuration) {number}, specifies the duration of the event. The returned values is of float type, and it indicates the duration of the event in days. For instance, the 1.5 indicates, 1 day and 12 hours. For instance, the LabelProperty = "<%=%256%>
<%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>" displays on the first line, the event's short margins, while on the second line displays the event's durations in days, hours and minutes. Once you update or edit the event's margins, the event's body automatically shows the new length. You can use the MoveBy method to delay the current event with a specified value time. You can use the SetKnownProperty(exEventDuration) to change the event's duration. - %8 (exEventRepetitiveExpression) {string}, specifies the repetitive expression of the event. The Event.Repetitive property indicates the expression that determines whether the event is repetitive. For instance, the LabelProperty = "<%=%256%>
<%=len(%8)? `repetitive event`:``%>" displays repetitive event for repetitive events. - %12 (exEventID) {string}, specifies the event's unique key/identifier/index.
- %256 (exEventDisplayShortMargins) {string}, displays the margins of the event in a short format (read-only). The ShortDateFormat property defines the short date format. The ShortTimeFormat property defines the short time format.
- %257 (exEventDisplayLongMargins) {string}, displays the margins of the event in a long format (read-only). The LongDateFormat property defines the long date format. The LongTimeFormat property defines the long time format.
- %258 (exEventStartDate) {Date}, gets the starting date ( not including the time ) of the event (read-only). You can use this property to get the starting date of the event.
- %259 (exEventStartTime) {number}, gets the starting time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the starting time of the event.
- %260 (exEventEndDate) {Date}, gets the ending date ( not including the time ) of the event (read-only). You can use this property to get the ending date of the event.
- %261 (exEventEndTime) {number}, gets the ending time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the ending time of the event.
- %262 (exEventGroupLabel) {string}, gets the label of the owner group (read-only). The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%262%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %263 (exEventGroupTitle) {string}, gets the title of the owner group (read-only). The exEventGroupTitle property indicates the Title property of the Group's event. The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. For instance, the LabelProperty = "<%=%263%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %264 (exEventRepetitive) {boolean}, Indicates if the current event is a repetitive event. (read-only). You can use this flag to specify whether Repetitive property of the Event object is not empty, and valid.
Type:
- string
Example
null {null} or undefined {undefined}, the default-tooltip is used ("Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=((1:=int(0:= %7)) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>")
"" {string}, no tooltip
"<img>image</img> and text" {string}, the image and text is being shown once the mouse pointer hovers the event. The image can be added using the exontrol.HTMLPicture.Add method
"<%=%256%>", displays the event's start and end margins in a short format
DefaultEventToolTip
DisplayGroupingButton :boolean
The grouping button is displayed if:
- DisplayGroupingButton property is true
- ShowGroupingEvents property is true
The control displays groups if:
- ShowGroupingEvents property is true
- The Groups collection has visible elements. By default, the Groups collection contains no Group objects
Type:
- boolean
Example
false {boolean}, the grouping button is not displayed in the date header (default)
true {boolean}, the grouping button is displayed in the date header
DisplayGroupingButton
Events :Events
The getter property of Events returns the control's events, as an object of Events type, while the setter property of Events supports assigning the events to the control using any of the following formats:
- {array(any)}, defines multiple events, with specified options, as an array of [{EventOptions}] type
- {object}, defines multiple events, where each property(key) of the object defines the event with its options, of EventOptions type
Type:
Example
The following sample defines three events within the control, as object:
{
"A":
{
groupID: "G1",
start: "#1/1/2022 10:00#",
end: "#1/1/2022 12:00#",
caption: "!Important"
},
"B":
{
groupID: "G1",
start: "#1/1/2022 11:00#",
end: "#1/1/2022 13:00#"
},
"C":
{
groupID: "G2",
start: "#1/1/2022 12:00#",
end: "#1/1/2022 14:00#"
},
}
The following sample defines three events within the control, as array:
[
{
key: "A",
groupID: "G1",
start: "#1/1/2022 10:00#",
end: "#1/1/2022 12:00#",
caption: "!Important"
},
{
key: "B",
groupID: "G1",
start: "#1/1/2022 11:00#",
end: "#1/1/2022 13:00#"
},
{
key: "C",
groupID: "G2",
start: "#1/1/2022 12:00#",
end: "#1/1/2022 14:00#"
},
]
Events
FormatText :exontrol.DrawTextFormatEnum
The following properties and fields can be used to specify the format for different captions and labels within the control:
-
Event captions and labels
- The FormatText property specifies the format used to display event (appointment) captions.
- The formatEventShortLabel, formatEventLongLabel, and formatEventExtraLabel fields specify the format and alignment for the event's short, long, and extra labels.
-
Event interaction (drag & drop)
- The formatCreateEventLabel field specifies the format and alignment of the event's label while the user creates it by drag and drop.
- The formatUpdateEventLabel field specifies the format and alignment of the event's label while the user moves or resizes it by drag and drop.
-
Other captions
- The formatMarkZoneCaption field specifies the format and alignment of the mark-zone's caption.
- The formatGroupCaption field specifies the format and alignment of the group's caption.
The exontrol.DrawTextFormatEnum type supports the following flags:
- exTextAlignTop (0x00), justifies the text to the top of the rectangle
- exTextAlignLeft (0x00), aligns text to the left
- exTextAlignCenter (0x01), centers text horizontally in the rectangle
- exTextAlignRight (0x02), aligns text to the right
- exTextAlignVCenter (0x04), centers text vertically
- exTextAlignBottom (0x08), justifies the text to the bottom of the rectangle.
- exTextAlignMask (0x0F), specifies the mask for text's alignment.
- exTextWordBreak (0x10), breaks words. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lpRect parameter. A carriage return-line feed sequence also breaks the line. If this is not specified, output is on one line.
- exTextSingleLine (0x20), displays text on a single line only. Carriage returns and line feeds do not break the line.
- exTextExpandTabs (0x40), expands tab characters. The default number of characters per tab is eight.
- exPlainText (0x80), treats the text as plain text.
- exTextNoClip (0x0100), draws without clipping.
- exHTMLTextNoColors (0x0200), ignores the
and tags. - exTextCalcRect (0x0400), determines the width and height of the text.
- exHTMLTextNoTags (0x0800), ignores all HTML tags.
- exTextPathEllipsis (0x4000), for displayed text, replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, exTextPathEllipsis preserves as much as possible of the text after the last backslash.
- exTextEndEllipsis (0x8000), for displayed text, if the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses.
- exTextWordEllipsis (0x040000), truncates any word that does not fit in the rectangle and adds ellipses.
Type:
- exontrol.DrawTextFormatEnum
Example
null {null}, centers the caption
32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line caption
0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line caption right/bottom-aligned
FormatText
Groups :Groups
The getter of the Groups property returns an object of Groups type, while the setter of the Groups property accepts any of the following:
- {string}, defines a single group with specified caption/identifier
- {array(any)}, defines multiple groups, with specified caption/identifier/options, as an array of [caption] or [{GroupOptions}] type
- {object}, defines multiple groups, where each property of the object defines a group with its options, of GroupOptions type
Type:
Example
The following sample defines two groups within the control, as object:
{
"G1":
{
eventShape: "red",
headerShape: "red"
},
"G2":
{
eventShape: "lime",
headerShape: "lime"
}
}
The following sample defines two groups within the control, as array:
[
{
caption: "G1",
eventShape: "red",
headerShape: "red",
},
{
caption: "G2",
eventShape: "lime",
headerShape: "lime",
}
]
Groups
HeaderAllDayEventHeight :number
Type:
- number
Example
null {null}, the height of the events to display within the all-day header is the same as the size of the control's font (100%)
0 {number}, hides the all-day header
2 {number}, the height of the events to display within the all-day header is 2 times the size of the control's font
HeaderAllDayEventHeight
HeaderDayHeight :number
Type:
- number
Example
0 {number}, hides the day's header
2 {number}, the day's header height is twice the font size of the control
HeaderDayHeight
HeaderDayLongLabel :string
The ALT part of the label supports ex-HTLM tags (such as <b>, <i>, <fgcolor>, ...) and <%DATE%> tags as follows:
| Name | Description | Sample |
|---|---|---|
| (day-patterns) | ||
| <%d%> | Day of the month using one or two numeric digits, depending on the value | 1 - 31 |
| <%dd%> | Day of the month using exactly two numeric digits | 01 - 31 |
| <%d1%> | Weekday using its first letter | S - S |
| <%loc_d1%> | Weekday as a single-letter abbreviation based on the current user settings | S - S |
| <%d2%> | Weekday using its first two letters | Su - Sa |
| <%loc_d2%> | Weekday as a two-letter abbreviation based on the current user settings | Su - Sa |
| <%d3%> | Weekday using its first three letters | Sun - Sat |
| <%ddd%> | Weekday using its first three letters | Sun - Sat |
| <%loc_d3%> | Weekday as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_ddd%> | Sun - Sat |
| <%loc_ddd%> | Weekday as a three-letter abbreviation based on the current user regional and language settings | Sun - Sat |
| <%dddd%> | Full name of the weekday | Sunday - Saturday |
| <%loc_dddd%> | Full weekday name based on the current user regional and language settings | Sunday - Saturday |
| <%w%> | Numeric day of the week | 1 - 7 |
| <%y%> | Numeric day of the year | 1 - 366 |
| (week-patterns) | ||
| <%ww%> | Week of the year | 1 - 53 |
| (month-patterns) | ||
| <%m%> | Month of the year using one or two numeric digits, as needed | 1 - 12 |
| <%mm%> | Month of the year using exactly two numeric digits | 01 - 12 |
| <%mr%> | Month of the year using Roman numerals, as needed | I - XII |
| <%m1%> | Month using its first letter | J - D |
| <%loc_m1%> | Month as a single-letter abbreviation based on the current user settings | J - D |
| <%m2%> | Month using its first two letters | Ja - De |
| <%loc_m2%> | Month as a two-letter abbreviation based on the current user settings | Ja - De |
| <%m3%> | Month using its first three letters | Jan - Dec |
| <%mmm%> | Month using its first three letters | Jan - Dec |
| <%loc_m3%> | Month as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_mmm%> | Jan - Dec |
| <%loc_mmm%> | Month as a three-letter abbreviation based on the current user regional and language settings | Jan - Dec |
| <%mmmm%> | Full name of the month | January - December |
| <%loc_mmmm%> | Full month name based on the current user regional and language settings | January - December |
| (year-patterns) | ||
| <%q%> | Date shown as the quarter of the year | 1 - 4 |
| <%hy%> | Date shown as the half of the year | 1 - 2 |
| <%loc_y%> | Year represented by the last digit only, based on the current regional settings | 0 - 9 |
| <%yy%> | Last two digits of the year | 01 - 99 |
| <%loc_yy%> | Year represented by the last two digits only, based on the current regional settings; a leading zero is added for single-digit years | 01 - 99 |
| <%yyyy%> | Full year using four digits | 0100 - 9999 |
| <%loc_yyyy%> | Year represented using four or five digits, depending on the calendar in use. Thai Buddhist and Korean calendars use five-digit years; the "yyyy" pattern displays five digits for these calendars and four digits for all other supported calendars. Calendars with single-digit or two-digit years, such as the Japanese Emperor era, are formatted differently: single-digit years include a leading zero (for example, "03"), two-digit years use two digits (for example, "13"), and no additional leading zeros are applied | 0100 - 9999 |
| <%i%> | Numeric value displayed instead of a date, representing the number of milliseconds elapsed since the Unix Epoch, January 1, 1970, 00:00:00 UTC | 1767085565940 |
| (localized era-patterns) | ||
| <%loc_g%> | Period/era based on the current user regional and language settings | A,B |
| <%loc_gg%> | Period/era based on the current user regional and language settings | AD,BC |
| (localized date-patterns) | ||
| <%loc_sdate%> | Date in short format based on the current user regional and language settings | 12/31/2000 |
| <%loc_ldate%> | Date in long format based on the current user regional and language settings | December 31, 2000 |
| <%loc_dsep%> | Date separator based on the current user regional and language settings | / |
| (time-patterns) | ||
| <%h%> | Hour in one or two digits, as needed | 0 - 23 |
| <%hh%> | Hour in two digits | 00 - 23 |
| <%h12%> | Hour in 12-hour format, in one or two digits | 0/12 - 11 |
| <%hh12%> | Hour in 12-hour format, in two digits | 00/12 - 11 |
| <%n%> | Minute in one or two digits, as needed | 0 - 59 |
| <%nn%> | Minute in two digits | 00 - 59 |
| <%s%> | Second in one or two digits, as needed | 0 - 59 |
| <%ss%> | Second in two digits | 00 - 59 |
| <%AM/PM%> | 12-hour clock with uppercase "AM" or "PM" as appropriate | AM, PM |
| (localized time-patterns) | ||
| <%loc_AM/PM%> | Time marker such as AM or PM based on the current user regional and language settings | AM, PM |
| <%loc_A/P%> | Single-character time marker such as A or P based on the current user regional and language settings | A, P |
| <%loc_time%> | Time based on the current user regional and language settings | 1:30:15 PM |
| <%loc_time24%> | Time in 24-hour format without a time marker based on the current user regional and language settings | 13:30:15 |
| <%loc_tsep%> | Time separator based on the current user regional and language settings | : |
Type:
- string
Example
null {null}, the date's header displays the label using default alternate-labels (and expression)
"" {string}, the date's header displays no date
"<%loc_ldate%>" {string}, displays the date in the long format using the current user regional and language settings
"<%d3%>, <%d%><|><%d2%>, <%d%><|><%d1%>, <%d%><|><%d%>" {string}, the date's header displays one, two or three letters for the week day based on the best fit
"<fgcolor red><%d3%>, <%d%><|><%d3%>, <%d%><=>month(value) = 1 ? 0 : 1" {string}, displays the date's header in red for January, and in black for the rest
HeaderDayLongLabel
HeaderDayShortLabel :string
The ALT part of the label supports ex-HTLM tags (such as <b>, <i>, <fgcolor>, ...) and <%DATE%> tags as follows:
| Name | Description | Sample |
|---|---|---|
| (day-patterns) | ||
| <%d%> | Day of the month using one or two numeric digits, depending on the value | 1 - 31 |
| <%dd%> | Day of the month using exactly two numeric digits | 01 - 31 |
| <%d1%> | Weekday using its first letter | S - S |
| <%loc_d1%> | Weekday as a single-letter abbreviation based on the current user settings | S - S |
| <%d2%> | Weekday using its first two letters | Su - Sa |
| <%loc_d2%> | Weekday as a two-letter abbreviation based on the current user settings | Su - Sa |
| <%d3%> | Weekday using its first three letters | Sun - Sat |
| <%ddd%> | Weekday using its first three letters | Sun - Sat |
| <%loc_d3%> | Weekday as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_ddd%> | Sun - Sat |
| <%loc_ddd%> | Weekday as a three-letter abbreviation based on the current user regional and language settings | Sun - Sat |
| <%dddd%> | Full name of the weekday | Sunday - Saturday |
| <%loc_dddd%> | Full weekday name based on the current user regional and language settings | Sunday - Saturday |
| <%w%> | Numeric day of the week | 1 - 7 |
| <%y%> | Numeric day of the year | 1 - 366 |
| (week-patterns) | ||
| <%ww%> | Week of the year | 1 - 53 |
| (month-patterns) | ||
| <%m%> | Month of the year using one or two numeric digits, as needed | 1 - 12 |
| <%mm%> | Month of the year using exactly two numeric digits | 01 - 12 |
| <%mr%> | Month of the year using Roman numerals, as needed | I - XII |
| <%m1%> | Month using its first letter | J - D |
| <%loc_m1%> | Month as a single-letter abbreviation based on the current user settings | J - D |
| <%m2%> | Month using its first two letters | Ja - De |
| <%loc_m2%> | Month as a two-letter abbreviation based on the current user settings | Ja - De |
| <%m3%> | Month using its first three letters | Jan - Dec |
| <%mmm%> | Month using its first three letters | Jan - Dec |
| <%loc_m3%> | Month as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_mmm%> | Jan - Dec |
| <%loc_mmm%> | Month as a three-letter abbreviation based on the current user regional and language settings | Jan - Dec |
| <%mmmm%> | Full name of the month | January - December |
| <%loc_mmmm%> | Full month name based on the current user regional and language settings | January - December |
| (year-patterns) | ||
| <%q%> | Date shown as the quarter of the year | 1 - 4 |
| <%hy%> | Date shown as the half of the year | 1 - 2 |
| <%loc_y%> | Year represented by the last digit only, based on the current regional settings | 0 - 9 |
| <%yy%> | Last two digits of the year | 01 - 99 |
| <%loc_yy%> | Year represented by the last two digits only, based on the current regional settings; a leading zero is added for single-digit years | 01 - 99 |
| <%yyyy%> | Full year using four digits | 0100 - 9999 |
| <%loc_yyyy%> | Year represented using four or five digits, depending on the calendar in use. Thai Buddhist and Korean calendars use five-digit years; the "yyyy" pattern displays five digits for these calendars and four digits for all other supported calendars. Calendars with single-digit or two-digit years, such as the Japanese Emperor era, are formatted differently: single-digit years include a leading zero (for example, "03"), two-digit years use two digits (for example, "13"), and no additional leading zeros are applied | 0100 - 9999 |
| <%i%> | Numeric value displayed instead of a date, representing the number of milliseconds elapsed since the Unix Epoch, January 1, 1970, 00:00:00 UTC | 1767085565940 |
| (localized era-patterns) | ||
| <%loc_g%> | Period/era based on the current user regional and language settings | A,B |
| <%loc_gg%> | Period/era based on the current user regional and language settings | AD,BC |
| (localized date-patterns) | ||
| <%loc_sdate%> | Date in short format based on the current user regional and language settings | 12/31/2000 |
| <%loc_ldate%> | Date in long format based on the current user regional and language settings | December 31, 2000 |
| <%loc_dsep%> | Date separator based on the current user regional and language settings | / |
| (time-patterns) | ||
| <%h%> | Hour in one or two digits, as needed | 0 - 23 |
| <%hh%> | Hour in two digits | 00 - 23 |
| <%h12%> | Hour in 12-hour format, in one or two digits | 0/12 - 11 |
| <%hh12%> | Hour in 12-hour format, in two digits | 00/12 - 11 |
| <%n%> | Minute in one or two digits, as needed | 0 - 59 |
| <%nn%> | Minute in two digits | 00 - 59 |
| <%s%> | Second in one or two digits, as needed | 0 - 59 |
| <%ss%> | Second in two digits | 00 - 59 |
| <%AM/PM%> | 12-hour clock with uppercase "AM" or "PM" as appropriate | AM, PM |
| (localized time-patterns) | ||
| <%loc_AM/PM%> | Time marker such as AM or PM based on the current user regional and language settings | AM, PM |
| <%loc_A/P%> | Single-character time marker such as A or P based on the current user regional and language settings | A, P |
| <%loc_time%> | Time based on the current user regional and language settings | 1:30:15 PM |
| <%loc_time24%> | Time in 24-hour format without a time marker based on the current user regional and language settings | 13:30:15 |
| <%loc_tsep%> | Time separator based on the current user regional and language settings | : |
Type:
- string
Example
null {null}, the date's header displays the label using default alternate-labels (and expression)
"" {string}, the date's header displays no date
"<%loc_sdate%>" {string}, displays the date in the short format using the current user regional and language settings
"<%d3%>, <%d%><|><%d2%>, <%d%><|><%d1%>, <%d%><|><%d%>" {string}, the date's header displays one, two or three letters for the week day based on the best fit
"<fgcolor red><%d3%>, <%d%><|><%d3%>, <%d%><=>month(value) = 1 ? 0 : 1" {string}, displays the date's header in red for January, and in black for the rest
HeaderDayShortLabel
HeaderGroupHeight :number
The control displays groups if:
- ShowGroupingEvents property is true
- The Groups collection has visible elements. By default, the Groups collection contains no Group objects
Type:
- number
Example
0 {number}, hides the group's header
2 {number}, the height of the group's header is 2 times the size of the control's font
HeaderGroupHeight
ImageAlign :number
The value of ImageAlign can be:
- 0, the image is on the left of the event's caption
- 1, the image is on the right of the event's caption
- 2, the image is on the top of the event's caption
- 3, the image is on the bottom of the event's caption
Type:
- number
Example
null {null}, the image is aligned left to the caption (default)
1 {number}, the image is displayed to the right of the event's caption
ImageAlign
ImageSize :any
The value of ImageSize can be:
- {null}, Indicates that the event's image is displayed as it is (full-sized).
- {number}, Specifies that the event's image is displayed into a square of giving size (same width and height). If 0 the event displays no image, if negative the event's image is stretched to giving square, else the event's picture is scaled to fit the giving rectangle.
- {number[]}, Specifies an array of [aspect-width,aspect-height] type that defines the limits for width or/and height. The aspect-width and aspect-height define the width/height of the event's picture to scale or stretch to.
Type:
- any
Example
null {null}, Indicates that the event's image is displayed as it is (full-sized).
0 {number}, no image is displayed
64 {number}, the image is scaled to fit a 64 x 64 rectangle
-64 {number}, the image is strected to a 64 x 64 rectangle
[32,64] {array}, scales the image to the largest ratio-rectangle (32 x 64) that fits the client
[-32,-64] {array}, stretches the image to a 32 x 64 rectangle
ImageSize
Layout :string
Currently, the control's Layout property serializes the following:
- layout of windows (size, dock, parent)
- calendar's selected date(s)
- selected events
- control's zoom
- size of the day
- UI layout of the groups (position, size)
Type:
- string
Example
The following statements are equivalents:
oSchedule.SetLayout(layout), restores the control's layout from the giving layout string
oSchedule.Layout = layout, restores the control's layout from the giving layout string
where oSchedule is an object of Schedule type and layout is a string expression that defines the UI layout to apply
Layout
Listeners :exontrol.Lts
Type:
- exontrol.Lts
Example
The following sample shows how you can get all events the component currently supports:
oSchedule.Listeners.forEach(function(name)
{
console.log(name);
});
The following sample displays information about the event being clicked:
oSchedule.Listeners.Add("onclick", function (oEvent)
{
console.log(oEvent);
});
or
oSchedule.on("click", function (oEvent)
{
console.log(oEvent);
});
where oSchedule is an object of Schedule type
Listeners
Locked :boolean
- When Locked is set to True, the control is fully locked, and users cannot scroll, select, or interact with any events within it.
- When Locked is set to False, the control behaves normally, allowing users to scroll, select, and interact with events.
In contrast, when the control is in read-only mode, users cannot create, resize, or move events, but they can still scroll, select, and interact with existing events. Therefore, the locked mode completely prevents user interaction with the control, while read-only mode only prevents modifications to events. The ReadOnly property makes the control read-only, while the Locked property makes the control locked (protected).
Type:
- boolean
Example
false {boolean}, unlocks the control (can select any event)
true {boolean}, locks the control (can't select any event)
Locked
LongDateFormat :string
The known identifiers within the <%DATE%> tag are:
| Name | Description | Sample |
|---|---|---|
| (day-patterns) | ||
| <%d%> | Day of the month using one or two numeric digits, depending on the value | 1 - 31 |
| <%dd%> | Day of the month using exactly two numeric digits | 01 - 31 |
| <%d1%> | Weekday using its first letter | S - S |
| <%loc_d1%> | Weekday as a single-letter abbreviation based on the current user settings | S - S |
| <%d2%> | Weekday using its first two letters | Su - Sa |
| <%loc_d2%> | Weekday as a two-letter abbreviation based on the current user settings | Su - Sa |
| <%d3%> | Weekday using its first three letters | Sun - Sat |
| <%ddd%> | Weekday using its first three letters | Sun - Sat |
| <%loc_d3%> | Weekday as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_ddd%> | Sun - Sat |
| <%loc_ddd%> | Weekday as a three-letter abbreviation based on the current user regional and language settings | Sun - Sat |
| <%dddd%> | Full name of the weekday | Sunday - Saturday |
| <%loc_dddd%> | Full weekday name based on the current user regional and language settings | Sunday - Saturday |
| <%w%> | Numeric day of the week | 1 - 7 |
| <%y%> | Numeric day of the year | 1 - 366 |
| (week-patterns) | ||
| <%ww%> | Week of the year | 1 - 53 |
| (month-patterns) | ||
| <%m%> | Month of the year using one or two numeric digits, as needed | 1 - 12 |
| <%mm%> | Month of the year using exactly two numeric digits | 01 - 12 |
| <%mr%> | Month of the year using Roman numerals, as needed | I - XII |
| <%m1%> | Month using its first letter | J - D |
| <%loc_m1%> | Month as a single-letter abbreviation based on the current user settings | J - D |
| <%m2%> | Month using its first two letters | Ja - De |
| <%loc_m2%> | Month as a two-letter abbreviation based on the current user settings | Ja - De |
| <%m3%> | Month using its first three letters | Jan - Dec |
| <%mmm%> | Month using its first three letters | Jan - Dec |
| <%loc_m3%> | Month as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_mmm%> | Jan - Dec |
| <%loc_mmm%> | Month as a three-letter abbreviation based on the current user regional and language settings | Jan - Dec |
| <%mmmm%> | Full name of the month | January - December |
| <%loc_mmmm%> | Full month name based on the current user regional and language settings | January - December |
| (year-patterns) | ||
| <%q%> | Date shown as the quarter of the year | 1 - 4 |
| <%hy%> | Date shown as the half of the year | 1 - 2 |
| <%loc_y%> | Year represented by the last digit only, based on the current regional settings | 0 - 9 |
| <%yy%> | Last two digits of the year | 01 - 99 |
| <%loc_yy%> | Year represented by the last two digits only, based on the current regional settings; a leading zero is added for single-digit years | 01 - 99 |
| <%yyyy%> | Full year using four digits | 0100 - 9999 |
| <%loc_yyyy%> | Year represented using four or five digits, depending on the calendar in use. Thai Buddhist and Korean calendars use five-digit years; the "yyyy" pattern displays five digits for these calendars and four digits for all other supported calendars. Calendars with single-digit or two-digit years, such as the Japanese Emperor era, are formatted differently: single-digit years include a leading zero (for example, "03"), two-digit years use two digits (for example, "13"), and no additional leading zeros are applied | 0100 - 9999 |
| <%i%> | Numeric value displayed instead of a date, representing the number of milliseconds elapsed since the Unix Epoch, January 1, 1970, 00:00:00 UTC | 1767085565940 |
| (localized era-patterns) | ||
| <%loc_g%> | Period/era based on the current user regional and language settings | A,B |
| <%loc_gg%> | Period/era based on the current user regional and language settings | AD,BC |
| (localized date-patterns) | ||
| <%loc_sdate%> | Date in short format based on the current user regional and language settings | 12/31/2000 |
| <%loc_ldate%> | Date in long format based on the current user regional and language settings | December 31, 2000 |
| <%loc_dsep%> | Date separator based on the current user regional and language settings | / |
| (time-patterns) | ||
| <%h%> | Hour in one or two digits, as needed | 0 - 23 |
| <%hh%> | Hour in two digits | 00 - 23 |
| <%h12%> | Hour in 12-hour format, in one or two digits | 0/12 - 11 |
| <%hh12%> | Hour in 12-hour format, in two digits | 00/12 - 11 |
| <%n%> | Minute in one or two digits, as needed | 0 - 59 |
| <%nn%> | Minute in two digits | 00 - 59 |
| <%s%> | Second in one or two digits, as needed | 0 - 59 |
| <%ss%> | Second in two digits | 00 - 59 |
| <%AM/PM%> | 12-hour clock with uppercase "AM" or "PM" as appropriate | AM, PM |
| (localized time-patterns) | ||
| <%loc_AM/PM%> | Time marker such as AM or PM based on the current user regional and language settings | AM, PM |
| <%loc_A/P%> | Single-character time marker such as A or P based on the current user regional and language settings | A, P |
| <%loc_time%> | Time based on the current user regional and language settings | 1:30:15 PM |
| <%loc_time24%> | Time in 24-hour format without a time marker based on the current user regional and language settings | 13:30:15 |
| <%loc_tsep%> | Time separator based on the current user regional and language settings | : |
Type:
- string
Example
null {null}, "<%loc_ldate%>"
"" {string}, nothing is displayed
"<%loc_ldate%>" {string}, displays the date in the long format using the current user regional and language settings
"<%mm%>/<%dd%>/<%yyyy%>" {string}, displays the date in mm/dd/yyyy format
LongDateFormat
LongTimeFormat :string
The known identifiers within the <%DATE%> tag are:
| Name | Description | Sample |
|---|---|---|
| (day-patterns) | ||
| <%d%> | Day of the month using one or two numeric digits, depending on the value | 1 - 31 |
| <%dd%> | Day of the month using exactly two numeric digits | 01 - 31 |
| <%d1%> | Weekday using its first letter | S - S |
| <%loc_d1%> | Weekday as a single-letter abbreviation based on the current user settings | S - S |
| <%d2%> | Weekday using its first two letters | Su - Sa |
| <%loc_d2%> | Weekday as a two-letter abbreviation based on the current user settings | Su - Sa |
| <%d3%> | Weekday using its first three letters | Sun - Sat |
| <%ddd%> | Weekday using its first three letters | Sun - Sat |
| <%loc_d3%> | Weekday as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_ddd%> | Sun - Sat |
| <%loc_ddd%> | Weekday as a three-letter abbreviation based on the current user regional and language settings | Sun - Sat |
| <%dddd%> | Full name of the weekday | Sunday - Saturday |
| <%loc_dddd%> | Full weekday name based on the current user regional and language settings | Sunday - Saturday |
| <%w%> | Numeric day of the week | 1 - 7 |
| <%y%> | Numeric day of the year | 1 - 366 |
| (week-patterns) | ||
| <%ww%> | Week of the year | 1 - 53 |
| (month-patterns) | ||
| <%m%> | Month of the year using one or two numeric digits, as needed | 1 - 12 |
| <%mm%> | Month of the year using exactly two numeric digits | 01 - 12 |
| <%mr%> | Month of the year using Roman numerals, as needed | I - XII |
| <%m1%> | Month using its first letter | J - D |
| <%loc_m1%> | Month as a single-letter abbreviation based on the current user settings | J - D |
| <%m2%> | Month using its first two letters | Ja - De |
| <%loc_m2%> | Month as a two-letter abbreviation based on the current user settings | Ja - De |
| <%m3%> | Month using its first three letters | Jan - Dec |
| <%mmm%> | Month using its first three letters | Jan - Dec |
| <%loc_m3%> | Month as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_mmm%> | Jan - Dec |
| <%loc_mmm%> | Month as a three-letter abbreviation based on the current user regional and language settings | Jan - Dec |
| <%mmmm%> | Full name of the month | January - December |
| <%loc_mmmm%> | Full month name based on the current user regional and language settings | January - December |
| (year-patterns) | ||
| <%q%> | Date shown as the quarter of the year | 1 - 4 |
| <%hy%> | Date shown as the half of the year | 1 - 2 |
| <%loc_y%> | Year represented by the last digit only, based on the current regional settings | 0 - 9 |
| <%yy%> | Last two digits of the year | 01 - 99 |
| <%loc_yy%> | Year represented by the last two digits only, based on the current regional settings; a leading zero is added for single-digit years | 01 - 99 |
| <%yyyy%> | Full year using four digits | 0100 - 9999 |
| <%loc_yyyy%> | Year represented using four or five digits, depending on the calendar in use. Thai Buddhist and Korean calendars use five-digit years; the "yyyy" pattern displays five digits for these calendars and four digits for all other supported calendars. Calendars with single-digit or two-digit years, such as the Japanese Emperor era, are formatted differently: single-digit years include a leading zero (for example, "03"), two-digit years use two digits (for example, "13"), and no additional leading zeros are applied | 0100 - 9999 |
| <%i%> | Numeric value displayed instead of a date, representing the number of milliseconds elapsed since the Unix Epoch, January 1, 1970, 00:00:00 UTC | 1767085565940 |
| (localized era-patterns) | ||
| <%loc_g%> | Period/era based on the current user regional and language settings | A,B |
| <%loc_gg%> | Period/era based on the current user regional and language settings | AD,BC |
| (localized date-patterns) | ||
| <%loc_sdate%> | Date in short format based on the current user regional and language settings | 12/31/2000 |
| <%loc_ldate%> | Date in long format based on the current user regional and language settings | December 31, 2000 |
| <%loc_dsep%> | Date separator based on the current user regional and language settings | / |
| (time-patterns) | ||
| <%h%> | Hour in one or two digits, as needed | 0 - 23 |
| <%hh%> | Hour in two digits | 00 - 23 |
| <%h12%> | Hour in 12-hour format, in one or two digits | 0/12 - 11 |
| <%hh12%> | Hour in 12-hour format, in two digits | 00/12 - 11 |
| <%n%> | Minute in one or two digits, as needed | 0 - 59 |
| <%nn%> | Minute in two digits | 00 - 59 |
| <%s%> | Second in one or two digits, as needed | 0 - 59 |
| <%ss%> | Second in two digits | 00 - 59 |
| <%AM/PM%> | 12-hour clock with uppercase "AM" or "PM" as appropriate | AM, PM |
| (localized time-patterns) | ||
| <%loc_AM/PM%> | Time marker such as AM or PM based on the current user regional and language settings | AM, PM |
| <%loc_A/P%> | Single-character time marker such as A or P based on the current user regional and language settings | A, P |
| <%loc_time%> | Time based on the current user regional and language settings | 1:30:15 PM |
| <%loc_time24%> | Time in 24-hour format without a time marker based on the current user regional and language settings | 13:30:15 |
| <%loc_tsep%> | Time separator based on the current user regional and language settings | : |
Type:
- string
Example
null {null}, "<%hh%>:<%nn%>:<%ss%> <%AM/PM%>"
"" {string}, nothing is displayed
"<%loc_time24%>" {string}, Indicates the time in 24 hours format without a time marker using the current user regional and language settings
"<%hh%>:<%nn%>:<%ss%>" {string}, displays the time in hh:nn:ss format (no time marker)
LongTimeFormat
MarkZones :MarkZones
The getter of the MarkZones property returns the control's mark-zones, as an object of MarkZones type, while the setter of the MarkZones property defines the mark-zones as any of the following:
- {array(any)}, defines multiple mark-zones, with specified caption/identifier/options, as an array of [caption] or [{MarkZoneOptions}] type
- {object}, defines multiple mark-zones, where each property of the object defines a mark-zone (where the property name indicates the caption of the mark-zone) with its options, of MarkZoneOptions type
Type:
Example
The following sample defines two mark-zones within the control, as object:
{
"inventory":
{
start: "#1/1/2022 08:00#",
end: "#1/1/2022 09:00#",
shape: "rgba(0,0,0,0.25)",
},
"break":
{
start: "#1/1/2022 12:15#",
end: "#1/1/2022 13:15#",
}
}
The following sample defines two mark-zones within the control, as array:
[
{
caption: "inventory",
start: "#1/1/2022 08:00#",
end: "#1/1/2022 09:00#",
shape: "rgba(0,0,0,0.25)",
},
{
caption: "break",
start: "#1/1/2022 12:15#",
end: "#1/1/2022 13:15#",
}
]
MarkZones
Misc :MiscellaneousOptions
It is important to note that changing a field of the MiscellaneousOptions object does not automatically update the control. For example, oSchedule.Misc.padSelectEvent = 6 does not apply the change. Instead, you must assign the Misc property again, such as oSchedule.Misc = {padSelectEvent: 6}, so the control updates and applies the new value.
Type:
Example
{padSelectEvent: 6} {object}, sets the padding between the event's border and its content to 6 pixels
{dragDummyAlpha: 0.5} {object}, specifies the transparency to display the dummy-event being dragged
{dragDummyAlpha: 0.25, padSelectEvent: 4} {object}, sets the opacity of the drag dummy to 25% and adds a padding of 4 pixels around the selected event
Misc
OnResizeControl :exontrol.Schedule.OnResizeControlEnum
Type:
- exontrol.Schedule.OnResizeControlEnum
Example
128 or exontrol.Schedule.OnResizeControlEnum.exDisableSplitter {number}, disables the splitter, so the user can not resize the panels using the control's vertical split bar
768 or exontrol.Schedule.OnResizeControlEnum.exChangePanels | exontrol.Schedule.OnResizeControlEnum.exHideSplitter {number}, shows the schedule view only (hides the calendar panel)
OnResizeControl
OnSelectDate :exontrol.Schedule.OnSelectDateEnum
Type:
- exontrol.Schedule.OnSelectDateEnum
Example
null {null}, equivalent of -1 or exontrol.Schedule.OnSelectDateEnum.exFitSelToView
0 or exontrol.Schedule.OnSelectDateEnum.exNoViewChange {number}, no scroll / change occurs whitin the schedule view once the calendar's selection is changed
OnSelectDate
Options :Schedule.Options
Every option of the Schedule.Options type has associated a property of the control. For instance, the option:
allowActions {string}, customizes the actions the user can perform once the user clicks or touches the controlis associated with the property:
AllowActions {string}, customizes the actions the user can perform once the user clicks or touches the controlwhich means that the following statements are equivalent:
oSchedule.Options = {allowActions: "scroll"}where oSchedule is an object of Schedule type
oSchedule.SetOptions({allowActions: "scroll"})
oSchedule.AllowActions = "scroll"
oSchedule.SetAllowActions("scroll")
It is important to note that changing a field of the Schedule.Options object does not automatically update the control. For example, oSchedule.Options.allowActions = "scroll" does not apply the change. Instead, you must assign the Options property again, such as oSchedule.Options = {allowActions: "scroll"}, so the control updates and applies the new value.
Type:
Example
The following statements are equivalents:
oSchedule.GetOptions(), returns the control's options
oSchedule.Options, returns the control's options
where oSchedule is an object of Schedule type
Options
Pad :number|Array.<number>|string
The value of the Pad property can be specified in different formats to provide flexibility in defining the padding:
- {number} a numeric value, to pad horizontal and vertical size with the same value
- {(string|number[])} a "x,y" or [x,y] type to specify the padding on horizontal and vertical side
Type:
- number | Array.<number> | string
Example
null {null}, indicates that the default padding value of [4,4] is applied
0 {number}, indicates no padding
"8,4" {string}, increases the event's width with 2 * 8-pixels and event's height with 2 * 4-pixels
[8,4] {array}, increases the event's width with 2 * 8-pixels and event's height with 2 * 4-pixels
Pad
PaneMinWidthLeft :number
Type:
- number
Example
196 {number}, the left panel has a minimum width of 196 pixels
PaneMinWidthLeft
PaneMinWidthRight :number
Type:
- number
Example
196 {number}, the right panel has a minimum width of 196 pixels
PaneMinWidthRight
PaneWidthLeft :number
Type:
- number
Example
0 {number}, hides the left-panel (has no effect if OnResizeControl property does not include exCalendarFit flag)
196 {number}, the left panel has a width of 196 pixels
PaneWidthLeft
PaneWidthRight :number
Type:
- number
Example
0 {number}, hides the right-panel
196 {number}, the right panel has a width of 196 pixels
PaneWidthRight
ReadOnly :boolean
Type:
- boolean
Example
false {boolean}, the user can edit or drag any event
true {boolean}, the user can not edit or drag the events
ReadOnly
ScrollBars :exontrol.ScrollBarsEnum
The ScrollBars property uses the exontrol.ScrollBarsEnum enumeration as explained:
- exNoScroll (0), specifies that no scroll bars are shown (scroll is not allowed)
- exHorizontal (1), specifies that only the horizontal scroll bar is shown
- exVertical (2), specifies that only the vertical scroll bar is shown
- exBoth (3), specifies that both horizontal and vertical scroll bars are shown if the content is larger than the control's client area
- exDisableNoHorizontal (5), specifies that the horizontal scroll bar is always shown; it is disabled if it is unnecessary
- exDisableNoVertical (10), specifies that the vertical scroll bar is always shown; it is disabled if it is unnecessary
- exDisableBoth (15), specifies that both horizontal and vertical scroll bars are always shown; they are disabled if they are unnecessary
- exHScrollOnThumbRelease (0x100), specifies that the control's content is horizontally scrolled as soon as the user releases the thumb of the horizontal scroll bar
- exVScrollOnThumbRelease (0x200), specifies that the control's content is vertically scrolled as soon as the user releases the thumb of the vertical scroll bar
- exScrollOnThumbRelease (0x300), specifies that the control's content is scrolled as soon as the user releases the thumb of the scroll bar
- exHScrollEmptySpace (0x400), allows empty space when the control's content is horizontally scrolled to the end
- exVScrollEmptySpace (0x800), allows empty space when the control's content is vertically scrolled to the end
- exScrollEmptySpace (0xC00), allows empty space when the control's content is scrolled to the end
- exExtendSBS (0x3000), specifies that the control's scroll bars are visible only when the cursor hovers the window; the control's client area is extended over the scroll bar portion
- exMinSBS (0xC000), specifies that the control's scroll bars are shown as minimized
- exHideSBS (0x10000), specifies that no scroll bars are shown (scroll is allowed)
Type:
- exontrol.ScrollBarsEnum
Example
exontrol.ScrollBarsEnum.exBoth or 3 {number}, specifies that both horizontal and vertical scroll bars are shown if the content is larger than the control's client area
exontrol.ScrollBarsEnum.exNoScroll or 0 {number}, specifies that no scroll bars are shown (scroll is not allowed)
ScrollBars
ScrollPos :object
Type:
- object
Example
{x: 100} {object}, scrolls the view horizontally to position 100
{x: 100, y: 50} {object}, scrolls horizontally to 100 and vertically to 50
ScrollPos
SelectEventStyle :Schedule.SelectEventStyleEnum
The SelectEventStyle property can be set to one of the following values:
- 0 {number}, the "select" shape is combined with the event's shape
- 1 {number}, the "select" shape is displayed on the event's background. The padSelectEvent field specifies the space between the event's content and its selection border.
- 2 {number}, the "select" shape is displayed on the event's background, but it is shown using the event's primitive (rectangle, round, oval...). The padSelectEvent field specifies the space between the event's content and its selection border.
Type:
Example
null {null} or 0 {number}, the "select" shape is combined with the event's shape
1 {number}, the "select" shape is displayed on the event's background
SelectEventStyle
Selection :any
The getter of the Selection property returns the control's selection, as one of the following:
- null, indicates that the control has no selected-events
- {Event}, indicates a single-selected event (while the control support single-selection only)
- {Event[]}, defines a collection of selected-events within the control
- {null}, clears the entire selection (unselect all)
- {number}, selects an event giving index within the events collection
- {string}, selects an event giving its identifier/key
- {Event}, selects an event giving its reference
- {Event}, selects all events within the control
- {array}, specifies an array of [type] type, where type could be any number, string or Event type.
Type:
- any
Example
null {null}, clears the entire selection (unselect all)
[0,"A"] {array}, selects the events with the index 0 and key 'A'
Selection
Shapes :string
The format of the property is:
"shape(part),shape(part),..."where:
- "shape", defines the shape to apply on the UI part as one of the following:
◦ any of 140 color names any browser supports (such as red, blue, green, ...)
◦ hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF (such as #0000ff which defines a blue background)
◦ hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF (such as #0000ff80 which defines a semi-transparent blue background)
◦ RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255( such as rgb(0,0,255) that defines a blue background)
◦ RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) ( such as rgba(0,0,255,0.5) which defines a semi-transparent blue background)
◦ HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors (such as hsl(240, 100%, 50%) that defines a blue background)
◦ HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque) (such as hsla(240, 100%, 50%,0.5) that defines a semi-transparent blue background)
◦ a JSON representation of the shape object to apply (while it starts with { character, such as '{"normal": {"primitive": "RoundRect","fillColor":"black","tfi": {"fgColor": "white"}}}')
◦ specifies the name of the field within the exontrol.Shapes.Schedule object (while it starts with a lowercase letter, such as shevent which refers to exontrol.Shapes.Schedule.shevent shape)
◦ specifies the name of the field within the exontrol.Shapes object (while it starts with an uppercase letter, such as Button which refers to exontrol.Shapes.Button shape)
- "part", defines the name of the part the shape is applied on (as defined below)
Part Description "calendar-uiHighlight" defines the visual-appearance to highlight the date that contains events (similar with uiHighlight but applied to calendar-panel only) (The showHighlightEvent option specifies whether the control highlights the dates that contain events) "date-all-day-header" defines the visual-appearance for the date's all-day-header (schedule view only) "date-all-day-scroll-button" defines the visual-appearance for scroll-butttons to display within the all-day header "date-frame" defines the visual-appearance for the frame around each date (schedule view only) "date-frame-select" defines the visual-appearance for the frame around each selected date (schedule view only) "date-grouping-header" defines the visual-appearance for the date's grouping-header (schedule view only) "date-header" defines the visual-appearance for the date's header (schedule view only) "dateAlt" defines the visual-appearance for alternate-date (schedule view only) "dateAlt-header" defines the visual-appearance for the alternate-date's header (schedule view only) "date-timeScale" defines the visual-appearance for the date's time-scale part (schedule view only) "event" defines the visual-appearance for all events within the control. The Event.Shape property specifies the individual shape of the event. "event-drag" defines additional visual-appearance to apply on the event being dragged "frameFit" defines the visual-appearance to display the frame while fitting objects into the control's client area by drag "frameSel" defines the visual appearance to display a frame while selecting objects by drag "grouping-button" defines the visual-appearance for the header's grouping-button (schedule view only) "mark-zone" defines the visual-appearance for all mark-zones within the control "select" defines the visual-appearance of selected-event (the SelectEventStyle property specifies how the selected-event gets displayed) "timeScale" defines the visual appearance for control's time-scale. The TimeScale.Shape property defines the custom shape for the time-scale header. "uiHighlight" defines the visual-appearance to highlight the date that contains events (The showHighlightEvent option specifies whether the control highlights the dates that contain events)
Type:
- string
Example
null {null}, specifies the default visual appearance
"" {string}, no shape (no visual appearance is applied to any part of the control)
"red(eventAlt)", "#FF0000(eventAlt)", "rgb(255,0,0)(eventAlt)", "rgba(255,0,0,1)(eventAlt)" {string}, shows alternate-events in red
'{"hover":{"fillColor":"black","tfi":{"fgColor":"white"}}}(event)' {string}, shows the event in white on a black-background, while the cursor hovers it
"xxx(d),yyy(d,m),zzz(y)" {string}, specifies that the exontrol.Shapes.Schedule.xxx combined with exontrol.Shapes.Schedule.yyy object defines the visual appearance of "d" part of the control, exontrol.Shapes.Schedule.yyy object defines the visual appearance of "m" part of the control and exontrol.Shapes.Schedule.zzz object defines the visual appearance of "y" part of the control
Shapes
ShortDateFormat :string
The known identifiers within the <%DATE%> tag are:
| Name | Description | Sample |
|---|---|---|
| (day-patterns) | ||
| <%d%> | Day of the month using one or two numeric digits, depending on the value | 1 - 31 |
| <%dd%> | Day of the month using exactly two numeric digits | 01 - 31 |
| <%d1%> | Weekday using its first letter | S - S |
| <%loc_d1%> | Weekday as a single-letter abbreviation based on the current user settings | S - S |
| <%d2%> | Weekday using its first two letters | Su - Sa |
| <%loc_d2%> | Weekday as a two-letter abbreviation based on the current user settings | Su - Sa |
| <%d3%> | Weekday using its first three letters | Sun - Sat |
| <%ddd%> | Weekday using its first three letters | Sun - Sat |
| <%loc_d3%> | Weekday as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_ddd%> | Sun - Sat |
| <%loc_ddd%> | Weekday as a three-letter abbreviation based on the current user regional and language settings | Sun - Sat |
| <%dddd%> | Full name of the weekday | Sunday - Saturday |
| <%loc_dddd%> | Full weekday name based on the current user regional and language settings | Sunday - Saturday |
| <%w%> | Numeric day of the week | 1 - 7 |
| <%y%> | Numeric day of the year | 1 - 366 |
| (week-patterns) | ||
| <%ww%> | Week of the year | 1 - 53 |
| (month-patterns) | ||
| <%m%> | Month of the year using one or two numeric digits, as needed | 1 - 12 |
| <%mm%> | Month of the year using exactly two numeric digits | 01 - 12 |
| <%mr%> | Month of the year using Roman numerals, as needed | I - XII |
| <%m1%> | Month using its first letter | J - D |
| <%loc_m1%> | Month as a single-letter abbreviation based on the current user settings | J - D |
| <%m2%> | Month using its first two letters | Ja - De |
| <%loc_m2%> | Month as a two-letter abbreviation based on the current user settings | Ja - De |
| <%m3%> | Month using its first three letters | Jan - Dec |
| <%mmm%> | Month using its first three letters | Jan - Dec |
| <%loc_m3%> | Month as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_mmm%> | Jan - Dec |
| <%loc_mmm%> | Month as a three-letter abbreviation based on the current user regional and language settings | Jan - Dec |
| <%mmmm%> | Full name of the month | January - December |
| <%loc_mmmm%> | Full month name based on the current user regional and language settings | January - December |
| (year-patterns) | ||
| <%q%> | Date shown as the quarter of the year | 1 - 4 |
| <%hy%> | Date shown as the half of the year | 1 - 2 |
| <%loc_y%> | Year represented by the last digit only, based on the current regional settings | 0 - 9 |
| <%yy%> | Last two digits of the year | 01 - 99 |
| <%loc_yy%> | Year represented by the last two digits only, based on the current regional settings; a leading zero is added for single-digit years | 01 - 99 |
| <%yyyy%> | Full year using four digits | 0100 - 9999 |
| <%loc_yyyy%> | Year represented using four or five digits, depending on the calendar in use. Thai Buddhist and Korean calendars use five-digit years; the "yyyy" pattern displays five digits for these calendars and four digits for all other supported calendars. Calendars with single-digit or two-digit years, such as the Japanese Emperor era, are formatted differently: single-digit years include a leading zero (for example, "03"), two-digit years use two digits (for example, "13"), and no additional leading zeros are applied | 0100 - 9999 |
| <%i%> | Numeric value displayed instead of a date, representing the number of milliseconds elapsed since the Unix Epoch, January 1, 1970, 00:00:00 UTC | 1767085565940 |
| (localized era-patterns) | ||
| <%loc_g%> | Period/era based on the current user regional and language settings | A,B |
| <%loc_gg%> | Period/era based on the current user regional and language settings | AD,BC |
| (localized date-patterns) | ||
| <%loc_sdate%> | Date in short format based on the current user regional and language settings | 12/31/2000 |
| <%loc_ldate%> | Date in long format based on the current user regional and language settings | December 31, 2000 |
| <%loc_dsep%> | Date separator based on the current user regional and language settings | / |
| (time-patterns) | ||
| <%h%> | Hour in one or two digits, as needed | 0 - 23 |
| <%hh%> | Hour in two digits | 00 - 23 |
| <%h12%> | Hour in 12-hour format, in one or two digits | 0/12 - 11 |
| <%hh12%> | Hour in 12-hour format, in two digits | 00/12 - 11 |
| <%n%> | Minute in one or two digits, as needed | 0 - 59 |
| <%nn%> | Minute in two digits | 00 - 59 |
| <%s%> | Second in one or two digits, as needed | 0 - 59 |
| <%ss%> | Second in two digits | 00 - 59 |
| <%AM/PM%> | 12-hour clock with uppercase "AM" or "PM" as appropriate | AM, PM |
| (localized time-patterns) | ||
| <%loc_AM/PM%> | Time marker such as AM or PM based on the current user regional and language settings | AM, PM |
| <%loc_A/P%> | Single-character time marker such as A or P based on the current user regional and language settings | A, P |
| <%loc_time%> | Time based on the current user regional and language settings | 1:30:15 PM |
| <%loc_time24%> | Time in 24-hour format without a time marker based on the current user regional and language settings | 13:30:15 |
| <%loc_tsep%> | Time separator based on the current user regional and language settings | : |
Type:
- string
Example
null {null}, "<%loc_sdate%>"
"" {string}, nothing is displayed
"<%loc_sdate%>" {string}, displays the date in the short format using the current user regional and language settings
"<%mm%>/<%dd%>/<%yyyy%>" {string}, displays the date in mm/dd/yyyy format
ShortDateFormat
ShortTimeFormat :string
The known identifiers within the <%DATE%> tag are:
| Name | Description | Sample |
|---|---|---|
| (day-patterns) | ||
| <%d%> | Day of the month using one or two numeric digits, depending on the value | 1 - 31 |
| <%dd%> | Day of the month using exactly two numeric digits | 01 - 31 |
| <%d1%> | Weekday using its first letter | S - S |
| <%loc_d1%> | Weekday as a single-letter abbreviation based on the current user settings | S - S |
| <%d2%> | Weekday using its first two letters | Su - Sa |
| <%loc_d2%> | Weekday as a two-letter abbreviation based on the current user settings | Su - Sa |
| <%d3%> | Weekday using its first three letters | Sun - Sat |
| <%ddd%> | Weekday using its first three letters | Sun - Sat |
| <%loc_d3%> | Weekday as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_ddd%> | Sun - Sat |
| <%loc_ddd%> | Weekday as a three-letter abbreviation based on the current user regional and language settings | Sun - Sat |
| <%dddd%> | Full name of the weekday | Sunday - Saturday |
| <%loc_dddd%> | Full weekday name based on the current user regional and language settings | Sunday - Saturday |
| <%w%> | Numeric day of the week | 1 - 7 |
| <%y%> | Numeric day of the year | 1 - 366 |
| (week-patterns) | ||
| <%ww%> | Week of the year | 1 - 53 |
| (month-patterns) | ||
| <%m%> | Month of the year using one or two numeric digits, as needed | 1 - 12 |
| <%mm%> | Month of the year using exactly two numeric digits | 01 - 12 |
| <%mr%> | Month of the year using Roman numerals, as needed | I - XII |
| <%m1%> | Month using its first letter | J - D |
| <%loc_m1%> | Month as a single-letter abbreviation based on the current user settings | J - D |
| <%m2%> | Month using its first two letters | Ja - De |
| <%loc_m2%> | Month as a two-letter abbreviation based on the current user settings | Ja - De |
| <%m3%> | Month using its first three letters | Jan - Dec |
| <%mmm%> | Month using its first three letters | Jan - Dec |
| <%loc_m3%> | Month as a three-letter abbreviation based on the current user regional and language settings; equivalent to <%loc_mmm%> | Jan - Dec |
| <%loc_mmm%> | Month as a three-letter abbreviation based on the current user regional and language settings | Jan - Dec |
| <%mmmm%> | Full name of the month | January - December |
| <%loc_mmmm%> | Full month name based on the current user regional and language settings | January - December |
| (year-patterns) | ||
| <%q%> | Date shown as the quarter of the year | 1 - 4 |
| <%hy%> | Date shown as the half of the year | 1 - 2 |
| <%loc_y%> | Year represented by the last digit only, based on the current regional settings | 0 - 9 |
| <%yy%> | Last two digits of the year | 01 - 99 |
| <%loc_yy%> | Year represented by the last two digits only, based on the current regional settings; a leading zero is added for single-digit years | 01 - 99 |
| <%yyyy%> | Full year using four digits | 0100 - 9999 |
| <%loc_yyyy%> | Year represented using four or five digits, depending on the calendar in use. Thai Buddhist and Korean calendars use five-digit years; the "yyyy" pattern displays five digits for these calendars and four digits for all other supported calendars. Calendars with single-digit or two-digit years, such as the Japanese Emperor era, are formatted differently: single-digit years include a leading zero (for example, "03"), two-digit years use two digits (for example, "13"), and no additional leading zeros are applied | 0100 - 9999 |
| <%i%> | Numeric value displayed instead of a date, representing the number of milliseconds elapsed since the Unix Epoch, January 1, 1970, 00:00:00 UTC | 1767085565940 |
| (localized era-patterns) | ||
| <%loc_g%> | Period/era based on the current user regional and language settings | A,B |
| <%loc_gg%> | Period/era based on the current user regional and language settings | AD,BC |
| (localized date-patterns) | ||
| <%loc_sdate%> | Date in short format based on the current user regional and language settings | 12/31/2000 |
| <%loc_ldate%> | Date in long format based on the current user regional and language settings | December 31, 2000 |
| <%loc_dsep%> | Date separator based on the current user regional and language settings | / |
| (time-patterns) | ||
| <%h%> | Hour in one or two digits, as needed | 0 - 23 |
| <%hh%> | Hour in two digits | 00 - 23 |
| <%h12%> | Hour in 12-hour format, in one or two digits | 0/12 - 11 |
| <%hh12%> | Hour in 12-hour format, in two digits | 00/12 - 11 |
| <%n%> | Minute in one or two digits, as needed | 0 - 59 |
| <%nn%> | Minute in two digits | 00 - 59 |
| <%s%> | Second in one or two digits, as needed | 0 - 59 |
| <%ss%> | Second in two digits | 00 - 59 |
| <%AM/PM%> | 12-hour clock with uppercase "AM" or "PM" as appropriate | AM, PM |
| (localized time-patterns) | ||
| <%loc_AM/PM%> | Time marker such as AM or PM based on the current user regional and language settings | AM, PM |
| <%loc_A/P%> | Single-character time marker such as A or P based on the current user regional and language settings | A, P |
| <%loc_time%> | Time based on the current user regional and language settings | 1:30:15 PM |
| <%loc_time24%> | Time in 24-hour format without a time marker based on the current user regional and language settings | 13:30:15 |
| <%loc_tsep%> | Time separator based on the current user regional and language settings | : |
Type:
- string
Example
null {null}, "<%h%>:<%nn%> <%AM/PM%>"
"" {string}, nothing is displayed
"<%loc_time%>" {string}, indicates the time using the current user regional and language settings
"<%hh%>:<%nn%>" {string}, displays the time in hh:nn format
ShortTimeFormat
Shortcuts :exontrol.Sts
Type:
- exontrol.Sts
Example
The following sample removes the selection (calls the RemoveSelection() method) once the user presses the Delete key:
oSchedule.Shortcuts.Add( "Delete", oSchedule.RemoveSelection, oSchedule );
where oSchedule is an object of Schedule type
Shortcuts
ShowAllDayHeader :boolean
Type:
- boolean
Example
false{boolean} or null {null}, hides the control's all-day header
true{boolean}, shows the control's all-day header
ShowAllDayHeader
ShowEventLabels :boolean
Type:
- boolean
Example
true {boolean}, the short, long and extra labels of the events are visible (default)
false {boolean}, the short, long and extra labels of the events are hidden
ShowEventLabels
ShowEvents :Schedule.ShowEventsEnum
Type:
Example
-1 {number} or null {null}, the control displays all events, equivalent to -1 (exShowAllEvents)
0 {number}, hides the events
1 {number}, shows only the regular events (non-repetitive events)
3 {number} or "reg,rep" {string}, shows regular and repetitive events, where 3 is 1 (exShowRegularEvents) | 2 (exShowRepetitiveEvents)
ShowEvents
ShowGroupingEvents :boolean
The control displays groups if:
- ShowGroupingEvents property is true
- The Groups collection has visible elements. By default, the Groups collection contains no Group objects
Type:
- boolean
Example
false {boolean}, the schedule view does not show grouped events (default)
true {boolean}, the schedule view shows grouped events
ShowGroupingEvents
ShowHighlightEvent :boolean
Type:
- boolean
Example
true {boolean}, the control highlights the dates that contain events
false {boolean}, the control does not highlight the dates that contain events
ShowHighlightEvent
ShowMarkZone :Schedule.ShowMarkZoneEnum
The property accepts the following values:
- 0 (exHideMarkZones) {number}, no mark-zone is displayed
- 1 (exShowMarkZonesBack) {number}, the mark-zone(s) are displayed on the background (behind events)
- 2 (exShowMarkZonesFront) {number}, the mark-zone(s) are displayed on the foreground
Type:
Example
null {null}, the mark-zones are displayed on front, equivalent to 2 (exShowMarkZonesFront)
0 {number}, hides the mark-zones
1 {number}, shows the mark-zones on the background (behind events)
ShowMarkZone
ShowViewCompact :exontrol.Schedule.ShowViewCompactEnum
Type:
- exontrol.Schedule.ShowViewCompactEnum
Example
-1 or exontrol.Schedule.ShowViewCompactEnum.exViewCalendarCompact {number}, the schedule view arranges the days as they are shown in the calendar panel, excepts that the first day of the month starts right after the last day of the previously month, or start to a new row.
3 or exontrol.Schedule.ShowViewCompactEnum.exViewSingleRowLockHeader {number}, the schedule view arranges all days to a single row (horizontally), while the date header is shown/locked on the top while the chart is vertically scrolled.
ShowViewCompact
SingleSel :Schedule.SingleSelEnum
Type:
Example
0 or exontrol.Schedule.SingleSelEnum.exDisableSel {number}, disables selecting any event
3 or exontrol.Schedule.SingleSelEnum.exSingleSel | exontrol.Schedule.SingleSelEnum.exEnableSel {number}, enables control's single selection, so only a single event can be selected
6 or exontrol.Schedule.SingleSelEnum.exToggleSel | exontrol.Schedule.SingleSelEnum.exSingleSel {number}, enables control's single and toggle selection, which means that once a event is selected it gets unselected once it is clicked, or reverse, and only a single-event can be selected at once.
SingleSel
Statistics :string
The getter of the Statistics property returns statistics data of objects being hold by the control such as:
Size: 1,536x754
Zoom: 100%
Event: 32/55
Sel: 1
Type:
- string
Example
The following statements are equivalents:
oSchedule.GetStatistics(), gives statistics data of objects being hold by the control
oSchedule.Statistics, gives statistics data of objects being hold by the control
where oSchedule is an object of Schedule type
Statistics
Tfi :string|object
The setter property of type {string} accepts any of the following keywords (each keyword can be specified using first letters only such as "b" for "bold) separated by space characters:
- bold, displays the text in bold (equivalent of <b> tag)
- italic, displays the text in italics (equivalent of <i> tag)
- underline, underlines the text (equivalent of <u> tag)
- strikeout, specifies whether the text is strike-through (equivalent of <s> tag)
- <fontName name>, specifies the font's family (equivalent of <font name> tag)
- <fontSize size>, specifies the size of the font (equivalent of <font ;size> tag)
- <fgColor CSSColor>, specifies the text's foreground color (equivalent of <fgcolor> tag)
- <bgColor CSSColor>, specifies the text's background color (equivalent of <bgcolor> tag)
- <shaColor CSSColor;width;offset>, defines the text's shadow (equivalent of <sha color;width;offset> tag)
- <outColor CSSColor>, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
- <graColor CSSColor;mode;blend>, defines a gradient text (equivalent of <gra color;mode;blend> tag)
Any other word within the string value that's not recognized as a keyword is interpreted as:
- name of the font (not a number), specifies the font's family (equivalent of <font name> tag)
- size of the font (number), specifies the size of the font (equivalent of <font ;size> tag)
The setter property of {object} type supports any of the following fields:
- bold {boolean}, displays the text in bold (equivalent of <b> tag)
- italic {boolean}, displays the text in italics (equivalent of <i> tag)
- underline {boolean}, underlines the text (equivalent of <u> tag)
- strikeout {boolean}, specifies whether the text is strike-through (equivalent of <s> tag)
- fontName {string}, specifies the font's family (equivalent of <font name> tag)
- fontSize {number}, specifies the size of the font (equivalent of <font ;size> tag)
- fgColor {string}, specifies the text's foreground color (CSScolor) (equivalent of <fgcolor> tag)
- bgColor {string}, specifies the text's background color (CSScolor) (equivalent of <bgcolor> tag)
- shaColor {object}, specifies an object of {color, width, offset} type that defines the text's shadow (equivalent of <sha color;width;offset> tag), where:
- color {string}, defines the color of the text's shadow (CSScolor)
- width {number}, defines the size of the text's shadow
- offset {number}, defines the offset to show the text's shadow relative to the text
- outColor {string}, shows the text with outlined characters (CSScolor) (equivalent of <out color> tag)
- graColor {object}, specifies an object of {color, mode, blend} type that defines a gradient text (equivalent of <gra color;mode;blend> tag), where:
- color {string}, defines the gradient-color (CSScolor)
- mode {number}, defines the gradient direction as 0 (left-right), 1 (default, top-bottom), 2 (left-center-right), and 3 (top-center-bottom)
- blend {number}, defines the gradient blend as a value between 0 and 1
CSSColor or CSS legal color values can be specified by the following methods:
- Hexadecimal colors, is specified with: #RRGGBB, where the RR (red), GG (green) and BB (blue) hexadecimal integers specify the components of the color. All values must be between 00 and FF. For example, #0000ff value is rendered as blue, because the blue component is set to its highest value (ff) and the others are set to 00.
- Hexadecimal colors with transparency, is specified with: #RRGGBBAA, where AA (alpha) value must be between 00 and FF. For example, #0000ff80 defines a semi-transparent blue.
- RGB colors, is specified with the RGB(red, green, blue) function. Each parameter (red, green, and blue) defines the intensity of the color and can be an integer between 0 and 255. For example, rgb(0,0,255) defines the blue color.
- RGBA colors, are an extension of RGB color values with an alpha channel as RGBA(red, green, blue, alpha) function, where the alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, rgba(0,0,255,0.5) defines a semi-transparent blue.
- HSL colors, is specified with the HSL(hue, saturation, lightness) function, where hue is a degree on the color wheel (from 0 to 360) - 0 (or 360) is red, 120 is green, 240 is blue. saturation is a percentage value; 0% means a shade of gray and 100% is the full color. lightness is also a percentage; 0% is black, 100% is white. HSL stands for hue, saturation, and lightness - and represents a cylindrical-coordinate representation of colors. For example, hsl(240, 100%, 50%) defines the blue color.
- HSLA colors, are an extension of HSL color values with an alpha channel - which specifies the opacity of the object as HSLA(hue, saturation, lightness, alpha) function, where alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque). For example, hsla(240, 100%, 50%,0.5) defines a semi-transparent blue.
- Predefined/Cross-browser color names, 140 color names are predefined in the HTML and CSS color specification. For example, blue defines the blue color.
Type:
- string | object
Example
null {null}, the tfi field is ignored
"bold monospace 16 <fg blue>" {string}, defines Monospace font of 16px height, bold and blue
{bold: true, fontName: "monospace", fontSize: 16, fgColor: "blue"} {object}, defines Monospace font of 16px height, bold and blue
Tfi
TimeScale :TimeScaleOptions
It is important to note that changing a field of the TimeScaleOptions object does not automatically update the control. For example, oSchedule.TimeScale.cursor = "pointer" does not apply the change. Instead, you must assign the TimeScale property again, such as oSchedule.TimeScale = {cursor: "pointer"}, so the control updates and applies the new value.
Type:
Example
The following sample defines the time-scale to show hours without AM/PM designations
{
width: 36,
allowResize: false,
majorTimeLabel: "<%hh%>:<%nn%> ",
minorTimeLabel: ":<%nn%> ",
shape: "rgba(0,0,0,0.10)"
}
TimeScale
ToolTipDelay :number
Type:
- number
Example
0 {number}, the tooltip is shown "immediately"
128 {number}, the tooltip is displayed in 128 ms.
ToolTipDelay
ToolTipPopDelay :number
Type:
- number
Example
0 {number}, no tooltip is shown for any object (disabled)
-1 {number}, the tooltip stays indefinitely (negative)
1000 {number}, the tooltip is visible for 1 second
ToolTipPopDelay
ToolTipWidth :number
Type:
- number
Example
0 {number}, no tooltip is shown for any object (disabled)
-1 {number}, the tooltip's content is displayed on a single line (without limit the width of it)
300 {number}, the tooltip's max-width is 300 pixels
ToolTipWidth
UndoRedoQueueLength :number
-
negative {number}, the control's Undo/Redo queue is limitless
0 {number}, the control's Undo/Redo feature is disabled
positive {number}, specifies the maximum number of Undo/Redo actions that may be stored to the control's Undo/Redo queue
Type:
- number
- Since:
- 2.0
Example
-1 {number}, the Undo/Redo queue is limitless
1 {number}, the Undo/Redo queue limits the number of actions to store to 1 (one action or one block of actions)
UndoRedoQueueLength
UpdateEventsLabel :string
<%=((1:=int(0:= %7))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>", which displays the event's short margins on the first line and its duration (in days, hours, and minutes) on the second line while moving or resizing events.
The known placeholders that can be used in the formula are:
- %1 (exEventStartDateTime) {Date}, indicates the starting date/time of the event. This property gets the Start property of the event. The Start property defines the lower margin of the event, and it includes the date and the time values. The exEventStartDate specifies the DATE value only, while the exEventStartTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%1)%>" displays the day of the week where the event starts
- %2 (exEventEndDateTime) {Date}, indicates the ending date/time of the event. This property gets or sets the End property of the event. The End property defines the upper margin of the event, and it includes the date and the time values. The exEventEndDate specifies the DATE value only, while the exEventEndTime includes the TIME value only. For instance, the LabelProperty = "<%=weekday(%2)%>" gets the day of the week where the event ends.
- %3 (exEventAllDay) {boolean}, indicates if the current event is an all day event. This property is equivalent with the event's AllDay property which indicates if the current event is an all-day event. For instance, the LabelProperty = "<%=%3 ? `All-Day-Event: `: ``%><%=%256%>", displays automatically an "All-Day-Event: " prefix for all-day events. If the event is not an all-day event, the <%=%256%>, or exEventDisplayShortMargins, short margins of the events are displayed.
- %4 (exEventGroupID) {any}, specifies the identifier/index of the event's group. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupLabel property indicates the Caption property of the Group's event. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%4%>
<%=%256%>" displays on the first line, the group's identifier, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %5 (exEventCaption) {string}, indicates the caption of the event. The Caption property of the event specifies the custom caption that can be displayed on the label, without having to change the event's label. For instance, the LabelProperty = "<%=%256%>
<%=%5%>" displays on the first line, the event's short margins, while on the second line displays the event's caption. Once you update or edit the event's Caption, the event's body automatically shows the new caption. - %6 (exEventUserData) {any}, indicates the extra data associated with the event. The UserData property of the event indicates an extra data associated with the event. For instance, the LabelProperty = "<%=%256%>
<%=%6%>" displays on the first line, the event's short margins, while on the second line displays the event's user data. Once you update or edit the event's UserData, the event's body automatically shows the new label. - %7 (exEventDuration) {number}, specifies the duration of the event. The returned values is of float type, and it indicates the duration of the event in days. For instance, the 1.5 indicates, 1 day and 12 hours. For instance, the LabelProperty = "<%=%256%>
<%=((1:=int(0:= (date(%2)-date(%1)))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>" displays on the first line, the event's short margins, while on the second line displays the event's durations in days, hours and minutes. Once you update or edit the event's margins, the event's body automatically shows the new length. You can use the MoveBy method to delay the current event with a specified value time. You can use the SetKnownProperty(exEventDuration) to change the event's duration. - %8 (exEventRepetitiveExpression) {string}, specifies the repetitive expression of the event. The Event.Repetitive property indicates the expression that determines whether the event is repetitive. For instance, the LabelProperty = "<%=%256%>
<%=len(%8)? `repetitive event`:``%>" displays repetitive event for repetitive events. - %12 (exEventID) {string}, specifies the event's unique key/identifier/index.
- %256 (exEventDisplayShortMargins) {string}, displays the margins of the event in a short format (read-only). The ShortDateFormat property defines the short date format. The ShortTimeFormat property defines the short time format.
- %257 (exEventDisplayLongMargins) {string}, displays the margins of the event in a long format (read-only). The LongDateFormat property defines the long date format. The LongTimeFormat property defines the long time format.
- %258 (exEventStartDate) {Date}, gets the starting date ( not including the time ) of the event (read-only). You can use this property to get the starting date of the event.
- %259 (exEventStartTime) {number}, gets the starting time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the starting time of the event.
- %260 (exEventEndDate) {Date}, gets the ending date ( not including the time ) of the event (read-only). You can use this property to get the ending date of the event.
- %261 (exEventEndTime) {number}, gets the ending time ( not including the date ) of the event, as a number between 0 and 1 (read-only). You can use this property to get the ending time of the event.
- %262 (exEventGroupLabel) {string}, gets the label of the owner group (read-only). The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. The exEventGroupTitle property indicates the Title property of the Group's event. For instance, the LabelProperty = "<%=%262%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %263 (exEventGroupTitle) {string}, gets the title of the owner group (read-only). The exEventGroupTitle property indicates the Title property of the Group's event. The exEventGroupLabel property indicates the Caption property of the Group's event. The GroupID property of the event indicates the identifier of the group that event belongs to. For instance, the LabelProperty = "<%=%263%>
<%=%256%>" displays on the first line, the group's caption, and the short margins of the event on the second line. The caption of the label is automatically updated once an event is moved from a group to another. - %264 (exEventRepetitive) {boolean}, Indicates if the current event is a repetitive event. (read-only). You can use this flag to specify whether Repetitive property of the Event object is not empty, and valid.
Type:
- string
Example
null {null}, the control's default label is shown while resizing or moving events ("<%=%256%><br><%=((1:=int(0:= %7)) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>")
"" {string}, no label is shown for the event to resize or move
"Start: <%=%1%><br>End: <%=%2%>" {string}, displays the starting margin of the even on the first line, while on the second line it displays the ending point of the event
"Duration: <%=((1:=int(0:= %7)) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')%>" {string}, displays the duration of the event in days, hours and minutes
UpdateEventsLabel
WheelChange :number
- Setting wheelChange to 0 disables mouse wheel actions, preventing the control from changing when the wheel is scrolled
- Setting wheelChange to a positive number, such as 5, increases the control's value by that amount each time the wheel is rotated, enabling faster adjustments
By modifying this value, you can fine-tune the control's responsiveness, making it easier for users to perform precise changes or larger adjustments as needed.
Type:
- number
Example
0 {number}, locks any action the mouse's wheel performs
18 {number}, scrolls the control by 18-pixels when mouse's wheel is rotated (CTRL + wheel scrolls horizontally)
WheelChange
Zoom :number
Type:
- number
Example
null {null}, Specifies normal-view (100%)
150 {number}, Indicates that the control's label is magnfied to 150%
Zoom
ZoomLevels :string
Type:
- string
Example
null {null}, Specifies that the control's zoom factor is always 100%
150 {number}, Specifies that the control's zoom factor is always 150%
"50,100,200,350" {string}, Indicates that the zoom-factor can be any of selected values, and the levels of zoom-factor is 50% to 350%
ZoomLevels
oSV :SV
Type:
Methods
Scroll(key)
Parameters:
| Name | Type | Description |
|---|---|---|
key |
string | Specifies a key to determines the direction to scroll the view as follows:
|
Example
The following sample code shows how to scroll the view by a page up or down using the Scroll() method:
oSchedule.on("{PageUp}", oSchedule.Scroll.bind(oSchedule, "PageUp"));
oSchedule.on("{PageDown}", oSchedule.Scroll.bind(oSchedule, "PageDown"));
where oSchedule is an object of Schedule type
Scroll
AddScheduleView(name, attributesopt) → {SV}
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name |
string | defines the name of the schedule-view to be created. It must be an unique name. The "schedule" defines the control's default-schedule view, and it is reserved. If missing, the "schedule.split" is used instead. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
attributes |
exontrol.W.Options |
<optional> |
A exontrol.W.Options that defines the attributes of the window.
Properties
|
Returns:
- Type
- SV
Example
oSchedule.AddScheduleView("2nd",{Background: "black", Foreground: "white", Dock: 3}), adds a new schedule-view panel, docked to the left-size, with a black-background and a white-foreground
AddScheduleView
BeginUpdate()
Example
oSchedule.BeginUpdate();
// performs multiple changes to the control
oSchedule.EndUpdate();
BeginUpdate
BlockUndoRedo(callback, thisArg)
Parameters:
| Name | Type | Description |
|---|---|---|
callback |
callback | Specifies a function of callback() type. |
thisArg |
any | Indicates the value of "this" keyword during the callback, or the control itself if missing. |
Example
The following statements are equivalents:
oSchedule.StartBlockUndoRedo();
// multiple Undo/Redo operations to be recorded as a block
oSchedule.EndBlockUndoRedo();
or
oSchedule.BlockUndoRedo(function()
{
// multiple Undo/Redo operations to be recorded as a block
});
BlockUndoRedo
CanRedo() → {boolean}
- Since:
- 2.0
Returns:
- Type
- boolean
Example
false {boolean}, no Redo operation is permitted
true {boolean}, a Redo operation is available
CanRedo
CanUndo() → {boolean}
- Since:
- 2.0
Returns:
- Type
- boolean
Example
false {boolean}, no Undo operation is permitted
true {boolean}, an Undo operation is available
CanUndo
Clear()
- Since:
- 2.1
Copy()
- Since:
- 2.1
Example
The following samples demonstrate how to implement the Copy, Cut, and Paste methods for the control using the Clipboard API when the user presses the CTRL + C, CTRL + X, CTRL + V (the "See text and images copied to the clipboard /Allow/Block" message may occur due security permissions):
oSchedule.on("{CTRL + C}", oSchedule.Copy)
oSchedule.on("{CTRL + X}", oSchedule.Cut)
oSchedule.on("{CTRL + V}", oSchedule.Paste)
Please note that the control requires focus, so CTRL + C, CTRL + X or CTRL + V will work only when the control has focus. In the same manner, the tabIndex attribute must be present in the definition of the HTML element that hosts the control.
Copy
Cut()
- Since:
- 2.1
Example
The following samples demonstrate how to implement the Copy, Cut, and Paste methods for the control using the Clipboard API when the user presses CTRL + C, CTRL + X, CTRL + V (the "See text and images copied to the clipboard /Allow/Block" message may occur due to security permissions):
oSchedule.on("{CTRL + C}", oSchedule.Copy)
oSchedule.on("{CTRL + X}", oSchedule.Cut)
oSchedule.on("{CTRL + V}", oSchedule.Paste)
Please note that the control requires focus, so CTRL + C, CTRL + X or CTRL + V will work only when the control has focus. In the same manner, the tabIndex attribute must be present in the definition of the HTML element that hosts the control.
Cut
EndBlockUndoRedo()
- Since:
- 2.0
Example
oSchedule.StartBlockUndoRedo()
...
oSchedule.EndBlockUndoRedo()
EndBlockUndoRedo
EndUpdate()
Example
oSchedule.BeginUpdate();
// performs multiple changes to the control
oSchedule.EndUpdate();
EndUpdate
EnsureVisibleClient(clientA, ensureOptsopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
clientA |
object | The client parameter could be any of the following:
|
|
ensureOpts |
object |
<optional> |
Specifies different options to run the current method as explained:
|
Example
oSchedule.EnsureVisibleClient([100, 100, 50, 50]), ensures that the rectangle of [x:100,y:100,width:50,height:50] absolute-coordinates fits within the control's client area
oSchedule.EnsureVisibleClient(oSchedule.Event(0)), ensures that the event with id 0 fits within the control's client area
EnsureVisibleClient
EnsureVisibleDate(dateopt, flagsopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
date |
any |
<optional> |
Specifies a date or a collection of dates to ensure that fits the view's client rectangle.
The date parameter can be one of the following:
|
flags |
number |
<optional> |
Specifies the flags to run the EnsureVisibleDate() method as explained:
If flags is missing, the method uses the default value of 3, which allows both horizontal and vertical scroll. |
Example
oSchedule.EnsureVisibleDate(), ensures that the first visible date of the layout fits the schedule view's client area
oSchedule.EnsureVisibleDate(new Date(2021,0,1)), ensures that Jan 1st, 2021 fits within the control's client area
EnsureVisibleDate
EnsureVisibleSelection(ensureOptsopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
ensureOpts |
object |
<optional> |
Specifies different options to run the current method as explained:
|
Example
oSchedule.EnsureVisibleSelection(), scrolls the schedule's view to ensure that the current selection fits within the visible area
EnsureVisibleSelection
Event(id) → {Event}
Parameters:
| Name | Type | Description |
|---|---|---|
id |
any | The event parameter could be any of the following:
|
Returns:
- Type
- Event
Example
The following statements are equivalents:
oSchedule.Event(0) {Event}, returns the first event of the control
oSchedule.Events.Item(0) {Event}, returns the first event of the control
where oSchedule is an object of Schedule type
Event
FitToClient(range)
Parameters:
| Name | Type | Description |
|---|---|---|
range |
any | Indicates null for the entire schedule or a value that defines the time range to fit into view (for example, a start/end date or equivalent structure). |
Example
oSchedule.FitToClient(), fits the entire schedule into the control's visible area
FitToClient
Group(id) → {Group}
Parameters:
| Name | Type | Description |
|---|---|---|
id |
any | The group parameter could be any of the following:
|
Returns:
- Type
- Group
Example
The following statements are equivalents:
oSchedule.Group(0) {Group}, returns the first group of the control
oSchedule.Groups.Item(0) {Group}, returns the first group of the control
where oSchedule is an object of Schedule type
Group
GroupUndoRedoActions(countopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
count |
number |
<optional> |
Indicates the number of actions to group (if missing all actions are grouped). |
- Since:
- 2.0
Example
GroupUndoRedoActions(), groups all Undo/Redo operations into a block
GroupUndoRedoActions
Home()
Example
oSchedule.Home(), zooms to 100% and scrolls the control to the first-date in the layout (usually the Jan 1st)
Home
MarkZone(id) → {MarkZone}
Parameters:
| Name | Type | Description |
|---|---|---|
id |
any | The mark-zone parameter could be any of the following:
|
Returns:
- Type
- MarkZone
Example
The following statements are equivalents:
oSchedule.MarkZone(0) {MarkZone}, returns the first mark-zone of the control
oSchedule.MarkZones.Item(0) {MarkZone}, returns the first mark-zone of the control
where oSchedule is an object of Schedule type
MarkZone
Paste()
- Since:
- 2.1
Example
The following samples demonstrate how to implement the Copy, Cut, and Paste methods for the control using the Clipboard API when the user presses CTRL + C, CTRL + X, CTRL + V (the "See text and images copied to the clipboard /Allow/Block" message may occur due to security permissions):
oSchedule.on("{CTRL + C}", oSchedule.Copy)
oSchedule.on("{CTRL + X}", oSchedule.Cut)
oSchedule.on("{CTRL + V}", oSchedule.Paste)
Please note that the control requires focus, so CTRL + C, CTRL + X or CTRL + V will work only when the control has focus. In the same manner, the tabIndex attribute must be present in the definition of the HTML element that hosts the control.
Paste
Redo()
- Since:
- 2.0
Example
oSchedule.Redo(), redoes the last action that was undone
Redo
RedoListAction(actionopt, countopt) → {string}
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
action |
string |
<optional> |
Specifies null(to list all Redo actions) or the mask-pattern to match the action to list. Space sparates multiple mask-pattern.
The mask-pattern supports wild characters as explained:
|
count |
number |
<optional> |
Indicates the number of Redo actions to list (if missing all Redo actions are listed). |
- Since:
- 2.0
Returns:
- Type
- string
Example
oSchedule.RedoListAction(), lists all Redo actions that can be executed
oSchedule.RedoListAction("*Event"), lists all "*Event" Redo actions that can be executed, such as AddEvent, RemoveEvent, UpdateEvent or MoveEvent
oSchedule.RedoListAction("AddEvent"), lists first "AddEvent" Redo actions that can be executed
RedoListAction
RedoRemoveAction(actionopt, countopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
action |
string |
<optional> |
Specifies null(to remove all Redo actions) or the mask-pattern to match the action to remove. Space sparates multiple mask-pattern. The mask-pattern supports wild characters as explained:
|
count |
number |
<optional> |
Indicates the number of actions to remove (if missing all actions are removed) from the Redo queue. |
- Since:
- 2.0
Example
RedoRemoveAction(), removes all actions from the Redo queue
RedoRemoveAction("*Event"), removes all "*Event" actions, such as AddEvent, RemoveEvent, UpdateEvent or MoveEvent, from the Redo queue
RedoRemoveAction("AddEvent"), removes the first "AddEvent" Redo action from the Redo queue
RedoRemoveAction
Refresh()
For example, call Refresh() when:
- The control's container has been resized and the layout must be recalculated.
- External CSS or styling changes affect the control's appearance.
- The control becomes visible after being hidden.
- You need to ensure the UI is visually synchronized with its current internal state.
The method does not alter the control's data, options, or configuration - it only updates the rendered output.
Example
oSchedule.Refresh(), refreshes the control
Refresh
RemoveScheduleView(name)
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | defines the name of the schedule-view to be removed. The "schedule" defines the control's default-schedule view, and it can not be removed. |
Example
oSchedule.RemoveScheduleView("2nd"), removes the schedule-view named "2nd"
RemoveScheduleView
RemoveSelection() → {number}
Returns:
- Type
- number
Example
oSchedule.RemoveSelection(), deletes the selected-events
RemoveSelection
ScheduleView(name) → {SV}
Parameters:
| Name | Type | Description |
|---|---|---|
name |
string | defines the name of the schedule-view to request ("schedule" defines the control's default-schedule view). |
Returns:
- Type
- SV
Example
oSchedule.ScheduleView("2nd") {SV}, gets the schedule-view named "2nd" as an object of SV type
ScheduleView
SelectAll(toSelect)
Parameters:
| Name | Type | Description |
|---|---|---|
toSelect |
any | Specifies the events to select within the control as one of the following values:
|
Example
oSchedule.SelectAll("vis"), selects the visible events only
SelectAll
Smooth(callback, thisArg, oSmoothOptsopt, thisArg)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | Indicates a callback function that generates the new layout for the control ( such as removing or adding new events to the control). The callback is provided with no arguments. | |
thisArg |
any | Specifies the value of this keyword for callback functions. If missing, the SV object reference is used instead. | |
oSmoothOpts |
object |
<optional> |
Indicates an object of {cbkR,cbkI,cbkT} type that defines callback to invoke when Smooth operation begins, progress and ends as explained below:
|
thisArg |
any | defines the value of "this" keyword during cbkI, cbkR or cbkT callbacks. |
Example
The following sample demonstrates how to use the Smooth() method to perform a smooth transition, such as when adding or removing elements from the control:
oSchedule.Smooth(function()
{
...
});
Smooth
Soom(zoomTo, oPointAbsopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
zoomTo |
number | Indicates a numeric value that defines the target-zoom factor as a value between 10 and 1000 (no zoom if null or undefined). | |
oPointAbs |
object |
<optional> |
Specifies an object of {x,y} or array as [x,y] type that specifies the absolute-coordinates of the point to scroll into the client. |
Example
oSchedule.Soom(100, [0,0]), zooms to 100% and brings the origin (0,0) at its original position (Home)
Soom
StartBlockUndoRedo()
- Since:
- 2.0
Example
oSchedule.StartBlockUndoRedo()
...
oSchedule.EndBlockUndoRedo()
StartBlockUndoRedo
Undo()
- Since:
- 2.0
Example
oSchedule.Undo(), undoes the last control operation
Undo
UndoListAction(actionopt, countopt) → {string}
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
action |
string |
<optional> |
Specifies null(to list all Undo actions) or the mask-pattern to match the action to list. Space sparates multiple mask-pattern.
The mask-pattern supports wild characters as explained:
|
count |
number |
<optional> |
Indicates the number of Undo actions to list (if missing all Undo actions are listed). |
- Since:
- 2.0
Returns:
- Type
- string
Example
oSchedule.UndoListAction(), lists all Undo actions that can be executed
oSchedule.UndoListAction("*Event"), lists all "*Event" Undo actions that can be executed, such as AddEvent, RemoveEvent, UpdateEvent or MoveEvent.
oSchedule.UndoListAction("AddEvent",1), lists first "AddEvent" Undo actions that can be executed
UndoListAction
UndoRemoveAction(actionopt, countopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
action |
string |
<optional> |
Specifies null(to remove all Undo actions) or the mask-pattern to match the action to remove. Space sparates multiple mask-pattern. The mask-pattern supports wild characters as explained:
|
count |
number |
<optional> |
Indicates the number of actions to remove (if missing all actions are removed) from the Undo queue. |
- Since:
- 2.0
Example
UndoRemoveAction(), removes all actions from the Undo queue
UndoRemoveAction("*Event"), removes all "*Event" actions, such as AddEvent, RemoveEvent, UpdateEvent or MoveEvent, from the Undo queue
UndoRemoveAction("AddEvent"), removes the first "AddEvent" Undo action from the Undo queue
UndoRemoveAction
UnselectAll()
Example
The following statements are equivalents:
oSchedule.UnselectAll(), clears the control's selection
oSchedule.SelectAll(null), clears the control's selection
where oSchedule is an object of Schedule type
UnselectAll
Update(callback, thisArgopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | Indicates a callback to perform changes within the control. | |
thisArg |
any |
<optional> |
Specifies the value of "this" keyword during the callback. If missing/empty/undefined the thisArg points to the control itself, as an object of Schedule type. |
Example
oSchedule.Update(function()
{
// performs multiple changes to the control
});
Update
feE(callback, thisArgopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | A function of callback(oEvent) type that's called for every event, where oEvent is:
|
|
thisArg |
any |
<optional> |
Indicates the value of "this" keyword during the callback. If missing/empty/undefined the thisArg points to the control itself, as an object of Schedule type. |
Example
The following sample displays the start date-time of each event of the control:
oSchedule.feE(function(oEvent)
{
console.log(oEvent.Start)
})
feE
feEU(callback, thisArgopt) → {any}
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
callback |
callback | A function of callback(oEvent) {any} type that's called for every event, where oEvent is
|
|
thisArg |
any |
<optional> |
Indicates the value of "this" keyword during the callback. If missing/empty/undefined the thisArg points to the control itself, as an object of Schedule type. |
Returns:
- Type
- any
Example
The following sample displays the start date-time of first non-repetitive event of the control:
console.log(oSchedule.feEU(function(oEvent)
{
return !oEvent.isRepetitive() && oEvent.Start || "";
}))
feEU
off(event, listener, methodopt)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
event |
string | Indicates the event to unbind, which can either be:
|
|
listener |
object | callback | Defines the listener to remove, which can either be:
|
|
method |
string |
<optional> |
Defines an optional case-sensitive string specifying the method on the listener to remove. If not provided, the listener[type]() function is used. This parameter is ignored when the listener is a JavaScript callback function. |
- Since:
- 4.4
Example
The following example removes the click event handler from the control:
oSchedule.off("click");
where oSchedule is an object of Schedule type.
This sample is equivalent to:
oSchedule.Listeners.Remove("onclick");
The following example removes all event handlers from the control:
oSchedule.off();
where oSchedule is an object of Schedule type.
This sample is equivalent to:
oSchedule.Listeners.Clear();
or
oSchedule.Listeners.Remove();
off
on(event, listener, methodopt) → {object}
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
event |
string | Specifies the event to listen for or a keyboard shortcut, in one of the following forms:
|
|
listener |
object | callback | Defines the listener to add, which can either be:
|
|
method |
string |
<optional> |
Defines an optional case-sensitive string specifying the method on the listener to handle the event. If not provided, the listener[type]() function is used. This parameter is ignored when the listener is a JavaScript callback function. |
- Since:
- 4.4
Returns:
- type {string}, specifies a case-sensitive string that specifies the type of event to listen for
- do(event) {callback}, indicates a function that can be invoked to trigger the specified event for all listeners registered for that event type
- callback {callback}, defines the listener's callback function
- thisArg {any}, defines the value of this during the listener's callback execution
- lock {number}, locks or unlocks the invocation of the listener's callback
- name {string}, defines the name of the callback, mostly used for debugging purposes
- equal(oCompareListenerCallback) {callback}, indicates a function of callback(oCompareListenerCallback) {boolean} type compares the current object with the provided object. It returns true if the objects contain the same data
- Type
- object
Example
The following example logs event details when the control is clicked:
oSchedule.on("click", function(oEvent)
{
console.log(oEvent);
});
where oSchedule is an object of Schedule type.
This sample is quivalent of
oSchedule.Listeners.Add("onclick", function (oEvent)
{
console.log(oEvent);
});
on
Events
onaddevent
Parameters:
| Name | Type | Description |
|---|---|---|
oEvent |
Event | Indicates an object of Event type being added. |
Example
The following samples display the event being added:
oSchedule.on("addevent", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.Listeners.Add("onaddevent", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.onaddevent = function (oEvent)
{
console.log(oEvent);
}
where oSchedule is an object of Schedule type
onaddevent
oncalselchange
Parameters:
| Name | Type | Description |
|---|---|---|
oEvent |
object | holds the control's selection, as explained: |
Example
The following samples display the calendar's selection once it changes:
oSchedule.on("calselchange", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.Listeners.Add("oncalselchange", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.Calendar.on("selchange", function(oEvent)
{
console.log(exontrol.ToString.Quote(oEvent));
})
or
oSchedule.oncalselchange = function (oEvent)
{
console.log(oEvent);
}
where oSchedule is an object of Schedule type
oncalselchange
onremoveevent
Parameters:
| Name | Type | Description |
|---|---|---|
oEvent |
Event | Indicates an object of Event type being removed. |
Example
The following samples display the event being removed:
oSchedule.on("removeevent", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.Listeners.Add("onremoveevent", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.onremoveevent = function (oEvent)
{
console.log(oEvent);
}
where oSchedule is an object of Schedule type
onremoveevent
onselchange
Parameters:
| Name | Type | Description |
|---|---|---|
oEvent |
object | holds the control's selection, as explained: |
Example
The following samples display the control's selection once it changes:
oSchedule.on("selchange", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.Listeners.Add("onselchange", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.onselchange = function (oEvent)
{
console.log(oEvent);
}
The following sample displays the selected date in the calendar panel once the user clicks a date (changes the selection in the calendar panel):
oSchedule.on("calselchange", function (oEvent)
{
console.log(oEvent);
})
or
oSchedule.Calendar.on("selchange", function(oEvent)
{
console.log(exontrol.ToString.Quote(oEvent));
})
where oSchedule is an object of Schedule type
onselchange