/* @license Copyright (C) Exontrol. All rights reserved. */ /////////////////////////////////////////////////////////// (exontrol.Calendar) // // The exontrol.Calendar class provides the following events (through oLts): // // "ondatechange", notifies your application that the control's date has been changed. The ondatechange's parameter is: // // oEvent {Date}, specifies the newly date that the control displays. The control's GetDate returns the same value. // // "onselchanging", occurs once the control's selection is changing. The onselchanging's parameter could be any of the following: // // oEvent {null}, indicates that the control has no selected dates // oEvent {Date}, indicates an object of Date type that defines the control's single-date selected // oEvent {array}, specifies an array of [Date] type that holds all selected dates within the control // // "onselchange", notifies your application that the control's selection has been changed. The onselchange's parameter could be any of the following: // // oEvent {null}, indicates that the control has no selected dates // oEvent {Date}, indicates an object of Date type that defines the control's single-date selected // oEvent {array}, specifies an array of [Date] type that holds all selected dates within the control // // "onclick", occurs once the user clicks or double-clicks a date. The onclick's parameter is: // // oEvent {object}, specifies an object of {dblClick,button,modifiers,..} type, that holds information about the object being clicked // // oEvent.type {string}, specifies the type of the part being clicked // oEvent.date {Date}, specifies the date being clicked // oEvent.events {array}, holds the event being clicked, as an array of [exontrol.Calendar.Event] type // oEvent.dblClick {boolean}, indicates whether the user clicks or double-clicks the date // oEvent.button {number}, indicates which button is pressed while clicking the event as 1 (left), 2 (right) or 4 (middle) // oEvent.modifiers {number}, specifies a combination of 1, 2, 4 and 16 according with modifier keys (ALT, CTRL, META and SHIFT), or 0 if no modifier keys // // "onanchorclick", (@since 2.2) occurs once the user clicks an anchor element (the ex-HTML part marks an anchor or hyperlink element). The onanchorclick's parameter is: // // oEvent {object}, specifies an object of {id,options} type, that holds information about the anchor being clicked. // // oEvent.id {string}, specifies null or the identifier of the anchor being clicked // oEvent.options {string}, specifies null or the options of the anchor being clicked // /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// (exontrol.Def.Calendar) // // The exontrol.Def.Calendar namespace provides definitions for different objects, primitives, objects of exontrol.Calendar object // // The exontrol.Def.Calendar namespace provides the following fields: // // tfi {(string|object)}, holds the font attributes for captions within the control. The tfi field can be defined using a string representation such as "b monospace 16" or as an object such as {bold: true, fontName: "monospace", fontSize: 16}. // mode {exontrol.Calendar.ModeEnum}, specifies the orientation the calendar displays the days of the weeks. // flow {exontrol.Calendar.FlowEnum}, determines whether the months gets arranged from left to right or top to bottom. // autoSize {exontrol.Calendar.AutoSizeEnum}, determines whether the size of the calendar's date is fixed, or relative to the current font or client area. // smoothSel {number}, defines the time in ms the calendar's selection goes from one state to another. // locked {boolean}, indicates whether the control is locked(protected) or unlocked. // readOnly {boolean}, indicates whether the control is read-only (the user can't select new dates, but can browse for any date, @since 1.8). // selection {(null|Date|array)} , specifies the selected date(s). // singleSel {exontrol.Calendar.SingleSelEnum}, specifies whether the control supports single, multiple, toggle selection. // allowSwitchView {boolean}, specifies whether the user can switch the view (month or year). // allowScrollByDrag {boolean}, specifies whether the user can scroll the control by drag. // padCal {(number|string|array)}, specifies the padding to display the calendar. // alignCal {exontrol.AlignEnum} aligns the calendar relative to the canvas. // wheelChange {number}, specifies the amount the calendar scrolls when the user rolls the mouse wheel. // minMonthX {number}, specifies the minimum number of months horizontally displayed. // maxMonthX {number}, specifies the maximum number of months horizontally displayed. // minMonthX {number}, specifies the minimum number of months vertically displayed. // maxMonthY {number}, specifies the maximum number of months vertically displayed. // pad {(number|string|array)}, specifies the padding to be applied on dates of the calendar. // dayLabel {string}, defines a HTML string that can include expression fields (<%...%>) to display the date while the calendar is in day-view. // dayAlign {exontrol.DrawTextFormatEnum}, aligns the date's label, while the calendar is in day-view. // dayFixedWidth {number}, defines the width of the calendar's date when autoSize is exontrol.Calendar.AutoSizeEnum.exFixedSize. // dayFixedHeight {number}, defines the height of the calendar's date when autoSize is exontrol.Calendar.AutoSizeEnum.exFixedSize. // dayWeekHeader {boolean}, specifies whether the calendar shows the header to display the days of the week (day-view only). // dayWeekLabel {string}, defines the ex-HTML label to show the days of the week into the calendar's header (day-view only). // dayWeekNoHeader {boolean}, specifies whether the calendar shows the header to display week-number (day-view only). // dayWeekNoLabel {string}, defines the ex-HTML label to show the week-number into the calendar's header (day-view only). // dayMonthHeader {boolean}, specifies whether the calendar shows the header to display month's name (day-view only). // dayMonthLabel {string}, defines the ex-HTML label to show the month-name into the calendar's header (day-view only). // dayMonthAlign {exontrol.DrawTextFormatEnum}, aligns the month's label, while the calendar is in day-view. // dayNonMonth {boolean}, specifies whether the calendar displays the dates that are not part of the current month. // dayNonMonthLabel {string}, the ex-HTML label to show the dates that are not part of the current month (day-view only). // dayWeekAllLabel {string}, defines the ex-HTML label to show the first day of the month on the top-left corner of the calendar, when the week-number and week-days headers are present (day-view only). // monthLabel {string}, specifies the ex-HTML string that can include expression fields (<%...%>) to display the month while the calendar is in month-view. // monthAlign {exontrol.DrawTextFormatEnum}, aligns the month's label, while the calendar is in month-view. // monthYearAlign {exontrol.DrawTextFormatEnum}, aligns the year's label, while the calendar is in month-view. // yearLabel {string}, specifies the ex-HTML string that can include expression fields (<%...%>) to display the year while the calendar is in year-view. // yearAlign {exontrol.DrawTextFormatEnum}, aligns the year's label, while the calendar is in year-view. // yearRangeAlign {exontrol.DrawTextFormatEnum}, aligns the label that displays the range of years, while the calendar is in year-view. // shapes {string}, defines the shapes each part of the control can display. The shapes field customizes the control's visual appearance. // hlShapes {string}, field defines the shape(s) to be applied on a part of the control, when it requires to be highlighted // cursors {string}, specifies the mouse cursor to be displayed when pointing over a part of the control. // events {object}, defines the events of the control // /////////////////////////////////////////////////////////// /** * @description The exontrol.Def.Calendar namespace provides definitions for different objects, primitives, objects of exontrol.Calendar object. */ exontrol.Def.Calendar = { /** * @description The tfi field applies font attributes to captions within the control. The tfi field can be defined using a string representation such as "b monospace 16" or as an object such as {bold: true, fontName: "monospace", fontSize: 16}. * * The tfi field as string supports 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 tag) * italic, displays the text in italics (equivalent of tag) * underline, underlines the text (equivalent of tag) * strikeout, specifies whether the text is strike-through (equivalent of tag) * , specifies the font's family (equivalent of tag) * , specifies the size of the font (equivalent of tag) * , specifies the text's foreground color (equivalent of tag) * , specifies the text's background color (equivalent of tag) * , defines the text's shadow (equivalent of tag) * , shows the text with outlined characters (CSScolor) (equivalent of tag) * , defines a gradient text (equivalent of tag) * * Any other word within the tfi field that's not recognized as a keyword is interpreted as: * * name of the font (not a number), specifies the font's family (equivalent of tag) * size of the font (number), specifies the size of the font (equivalent of tag) * * The tfi field as object supports any of the following fields: * * bold {boolean}, displays the text in bold (equivalent of tag) * italic {boolean}, displays the text in italics (equivalent of tag) * underline {boolean}, underlines the text (equivalent of tag) * strikeout {boolean}, specifies whether the text is strike-through (equivalent of tag) * fontName {string}, specifies the font's family (equivalent of tag) * fontSize {number}, specifies the size of the font (equivalent of tag) * fgColor {string}, specifies the text's foreground color (CSScolor) (equivalent of tag) * bgColor {string}, specifies the text's background color (CSScolor) (equivalent of tag) * shaColor {object}, specifies an object of {color, width, offset} type that defines the text's shadow (equivalent of 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 tag) * graColor {object}, specifies an object of {color, mode, blend} type that defines a gradient text (equivalent of tag), where: * color {string}, defines the gradient-color (CSScolor) * mode {number}, defines the gradient mode as a value between 0 and 4 * 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" {string}, defines Monospace font of 16px height, bold * {bold: true, fontName: "monospace", fontSize: 16} {object}, defines Monospace font of 16px height, bold */ tfi: null, /** * @description The locale field specifies the language whose formatting conventions should be used to customize the calendar. * @type {string} A string with a BCP 47 language tag. * @example * * null {null}, indicates that the browser's UI language is used. * "de" {string}, defines German locale * "ro" {string}, defines Romanian locale */ locale: null, /** * @description The mode field specifies the orientation the calendar displays the days of the weeks. * * The exontrol.Calendar.ModeEnum type supports the following values: * * exVertical(0), specifies that the days of the week are vertically arranged * exHorizontal(1), specifies that the days of the week are horizontally arranged * * @type {exontrol.Calendar.ModeEnum} * @example * * 0 or exontrol.Calendar.ModeEnum.exVertical {number}, shows vertically the week days * 1 or exontrol.Calendar.ModeEnum.exHorizontal {number}, shows horizontally the week days */ mode: exontrol.Calendar.ModeEnum.exHorizontal, /** * @description The flow field determines whether the months gets arranged from left to right or top to bottom. * * The exontrol.Calendar.FlowEnum type supports the following values: * * exLeftToRight(0), indicates that the next month gets arranged to the right of the current month * exTopToBottom(1), indicates that the next month gets arranged to the bottom of the current month * * @type {exontrol.Calendar.FlowEnum} * @example * * 0 or exontrol.Calendar.FlowEnum.exLeftToRight {number}, arranges months from left to right * 1 or exontrol.Calendar.FlowEnum.exTopToBottom {number}, arranges months from top to bottom */ flow: exontrol.Calendar.FlowEnum.exLeftToRight, /** * @description The date field specifies the calendar's browsing date as string in format "#MM/DD/YYYY#" * @type {string} * @example * * null {null}, browses today date * "#12/31/1971#" {string}, browses December 31, 1971 */ date: null, /** * @description The autoSize field determines whether the size of the calendar's date is fixed, or relative to the current font or client area. * * The exontrol.Calendar.AutoSizeEnum type defines the following values: * * exFontSize(-1), indicates that the size of the calendar's date is automatically computed based on the current font * exFixedSize(0), specifies that the size of the calendar's date is fixed. The dayFixedWidth / dayFixedHeight specifies the size of the calendar's date while autoSize property is exontrol.Calendar.AutoSizeEnum.exFixedSize * exFitClient(1), indicates that the size of the calendar's date is computed so entire calendar fits the control's client area * * @type {exontrol.Calendar.AutoSizeEnum} * @example * * -1 or exontrol.Calendar.AutoSizeEnum.exFontSize {number}, defines the size of the calendar's date based on the current font. * 1 or exontrol.Calendar.AutoSizeEnum.exFitClient {number}, resizes the calendar's date to ensure all months fit the control's client area */ autoSize: exontrol.Calendar.AutoSizeEnum.exFontSize, /** * @description The smoothSel field defines the time in ms the calendar's selection goes from one state to another. * @type {number} * @example * * 0 {number}, no smooth changes once the control goes from a layout to another * 125 {number}, specifies that a smooth-transition is performed from a layout to another for 125 ms. */ smoothSel: 125, /** * @description The smoothScroll field defines the time in ms the calendar's date scrolls to another. * @type {number} * @example * * 0 {number}, no smooth changes once the control goes from a layout to another * 250 {number}, specifies that a smooth-transition is performed from a layout to another for 250 ms. */ smoothScroll: 250, /** * @description The locked field indicates whether the control is locked(protected) or unlocked * @type {boolean} * @example * * false {boolean}, unlocks the control (can select any date) * true {boolean}, locks the control (can't select any date) */ locked: false, /** * @description The readOnly field indicates whether the control is read-only (the user can't select new dates, but can browse for any date) * @type {boolean} * @since 1.8 * @example * * false {boolean}, the user can select new dates * true {boolean}, the user can not select dates */ readOnly: false, /** * @description The selection field specifies the selected date(s). Indicates the control's selection, as one of the following: * * {null}, clears the control's selection * {string}, defines the date to select in string-format as "#MM/DD/YYYY[ HH:mm:ss]#" or string-format as "YYYY-MM-DDTHH:mm:ss.sssZ" (ISO 8601), such as "2011-10-10" (date-only format), "2011-10-10T14:48:00" (local date-time format), "2011-10-10T14:48:00Z" (UTC date-time format), or "2011-10-10T14:48:00.000+09:00" (date-time format with milliseconds and time zone offset) (since 1.3) * {number}, integer value representing the year of the date to be selected. For instance, 2022 goes for "Jan 1st, 2022" * {Date}, indicates a JavaScript date to be selected * {array}, indicates a collection of dates to be selected, as an array of [date] type, where date could be null, string, number or a Date expression * * @type {any} * @example * * null {null}, clears the control's selection * [null] {array}, selects today * "#1/15/2022#" or "2022-1-15" {string}, selects the specified date * 2022 {number}, selects "Jan 1st, 2022" * Date.Today().NextDay(1) {Date}, selects tomorrow * Calendar.Collect(Date.Today(), null, Calendar.CollectEnum.exWeek) {Date}, selects the current week (in case the control allows multiple selection, else it selects the first day of the current week) * [null,Date.Today().NextDay(1)] {array}, selects today and tommorow date * ["#1/13/2022#","#1/15/2022#"] {array}, selects Jan 13 and 15 of 2022 */ selection: null, /** * @description The singleSel field specifies whether the control supports single, multiple, toggle selection. * * The exontrol.Calendar.SingleSelEnum type supports the following flags: * * exDisableSel(0), specifies that the control's selection is disabled (can not be combined with any other flags) * exEnableSel(1), specifies that the control's selection is enabled (multiple-selection, unless the exSingleSel is set ) * exSingleSel(2), specifies that the user can select a date only * exToggleSel(4), specifies that the date's selection state is toggled once the user clicks a date. * exDisableCtrlSel(8), disables toggling the date's selection state when user clicks a date, while CTRL modifier key is pressed. * exDisableShiftSel(16), disables selecting dates using the SHIFT key. * exDisableDrag(32), disables selecting dates by drag. * * @type {exontrol.Calendar.SingleSelEnum} * @example * * 0 or exontrol.Calendar.SingleSelEnum.exDisableSel {number}, disables selecting any date * 3 or exontrol.Calendar.SingleSelEnum.exSingleSel | exontrol.Calendar.SingleSelEnum.exEnableSel {number}, enables control's single selection, so only a single date can be selected * 6 or exontrol.Calendar.SingleSelEnum.exToggleSel | exontrol.Calendar.SingleSelEnum.exSingleSel {number}, enables control's single and toggle selection, which means that once a date is selected it gets unselected once it is clicked, or reverse, and only a single-date can be selected at once. */ singleSel: exontrol.Calendar.SingleSelEnum.exEnableSel, /** * @description The allowSwitchView field specifies whether the user can switch the view (month or year). * @type {boolean} * @example * * false {boolean}, disables month or year view * true {boolean}, enables month or year view */ allowSwitchView: true, /** * @description The allowScrollByDrag field specifies whether the user can scroll the control by drag. * @type {boolean} * @example * * false {boolean}, disables scrolling the control while user drags outside * true {boolean}, the user can scrolls the control by drag (click a month area where no dates is displayed and drag in any direction to get control scrolled) */ allowScrollByDrag: true, /** * @description The padCal field specifies the padding to display the calendar. Defines a numeric, string or array value that determines the padding to be applied. * @type {(number|string|array)} * @example * * null {null}, indicates that the default-padding field is used (4) * 0 {number}, indicates no padding * "8,4" {string}, increases the object's width with 2 * 8-pixels and object's height with 2 * 4-pixels * [8,4] {array}, increases the object's width with 2 * 8-pixels and object's height with 2 * 4-pixels */ padCal: 4, /** * @description The alignCal field aligns the calendar relative to the canvas. * * The exontrol.AlignEnum type supports the following values: * * exAlignTop (0x00), justifies the object to the top of the rectangle * exAlignLeft (0x00), aligns object to the left * exAlignCenter (0x01), centers object horizontally in the rectangle * exAlignRight (0x02), aligns object to the right * exAlignVCenter (0x04), centers object vertically * exAlignBottom (0x08), justifies the object to the bottom of the rectangle * * @type {exontrol.AlignEnum} * @example * * 0 or exontrol.AlignEnum.exAlignTop | exontrol.AlignEnum.exAlignLeft {number}, aligns the calendar to the top-left corner * 5 or exontrol.AlignEnum.exAlignCenter | exontrol.AlignEnum.exAlignVCenter {number}, centers the calendar */ alignCal: exontrol.AlignEnum.exAlignCenter | exontrol.AlignEnum.exAlignVCenter, /** * @description The wheelChange field specifies the amount the calendar scrolls when the user rolls the mouse wheel. * @type {number} * @example * * 0 {number}, locks any action the mouse's wheel performs * 1 {number}, advances one month back or forward once the user rotates the mouse wheel */ wheelChange: 1, /** * @description The minMonthX field specifies the minimum number of months horizontally displayed. * * The minMonthX and maxMonthX properties determines the number of months horizontally displayed. The number of months horizontally displayed depends on the month's size and the canvas's size. If the minMonthX and maxMonthX properties are equal it specifies exactly the months horizontally displayed. * * @type {number} * @example * * 2 {number}, indicates that the calendar displays minimum two months */ minMonthX: 1, /** * @description The maxMonthX field specifies the maximum number of months horizontally displayed. * * The minMonthX and maxMonthX properties determines the number of months horizontally displayed. The number of months horizontally displayed depends on the month's size and the canvas's size. If the minMonthX and maxMonthX properties are equal it specifies exactly the months horizontally displayed. * * @type {number} * @example * * 6 {number}, indicates that the calendar displays maximum six months. */ maxMonthX: 6, /** * @description The minMonthY field specifies the minimum number of months vertically displayed. * * The minMonthY and maxMonthY properties determines the number of months vertically displayed. The number of months vertically displayed depends on the month's size and the canvas's size. If the minMonthY and maxMonthY properties are equal it specifies exactly the months vertically displayed. * * @type {number} * @example * * 2 {number}, indicates that the calendar displays minimum two months */ minMonthY: 1, /** * @description The maxMonthY field specifies the maximum number of months vertically displayed. * * The minMonthY and maxMonthY properties determines the number of months vertically displayed. The number of months vertically displayed depends on the month's size and the canvas's size. If the minMonthY and maxMonthY properties are equal it specifies exactly the months vertically displayed. * * @type {number} * @example * * 6 {number}, indicates that the calendar displays maximum six months. */ maxMonthY: 2, /** * @description The padding field specifies the padding to be applied on dates of the calendar. Defines a numeric, string or array value that determines the padding to be applied. * @type {(number|string|array)} * @example * * null {null}, indicates that the default-padding field is used ([4,2]) * 0 {number}, indicates no padding * "8,4" {string}, increases the object's width with 2 * 8-pixels and object's height with 2 * 4-pixels * [8,4] {array}, increases the object's width with 2 * 8-pixels and object's height with 2 * 4-pixels */ pad: [4,2], /** * @description The dayLabel field indicates a ex-HTML string that can include expression fields (<%...%>) to display the date while the calendar is in day-view. * * Defines a ex-HTML string that can include expression fields (<%...%>) to display the date while the calendar is in day-view. * * The dayLabel property can include any of the following fields: * * "<%d%>", day of the month in one or two numeric digits, as needed (1 to 31) * "<%dd%>", day of the month in two numeric digits (01 to 31) * "<%d1%>", first letter of the weekday (S to S)" * "<%loc_d1%>", indicates day of week as a one-letter abbreviation using the current user settings * "<%d2%>", first two letters of the weekday (Su to Sa) * "<%loc_d2%>", indicates day of week as a two-letters abbreviation using the current user settings * "<%d3%>", first three letters of the weekday (Sun to Sat) * "<%loc_d3%>", equivalent with "<%loc_ddd%>" * "<%ddd%>", first three letters of the weekday (Sun to Sat) * "<%loc_ddd%>", indicates the day of week as a three-letter abbreviation using the current user regional and language settings * "<%dddd%>", full name of the weekday (Sunday to Saturday) * "<%loc_dddd%>", indicates day of week as its full name using the current user regional and language settings * "<%i%>", displays the number instead the date * "<%w%>", day of the week (1 to 7) * "<%ww%>", week of the year (1 to 53) * "<%m%>", month of the year in one or two numeric digits, as needed (1 to 12) * "<%mr%>", month of the year in Roman numerals, as needed (I to XII) * "<%mm%>", month of the year in two numeric digits (01 to 12) * "<%m1%>", first letter of the month (J to D) * "<%loc_m1%>", indicates month as a one-letter abbreviation using the current user settings * "<%m2%>", first two letters of the month (Ja to De) * "<%loc_m2%>", indicates month as a two-letters abbreviation using the current user settings * "<%m3%>", first three letters of the month (Jan to Dec) * "<%loc_m3%>", equivalent with "<%loc_mmm%>" * "<%mmm%>", first three letters of the month (Jan to Dec) * "<%loc_mmm%>", indicates month as a three-letter abbreviation using the current user regional and language settings * "<%mmmm%>", full name of the month (January to December) * "<%loc_mmmm%>", indicates month as its full name using the current user regional and language settings * "<%q%>", Date displayed as the quarter of the year (1 to 4) * "<%y%>", number of the day of the year (1 to 366) * "<%yy%>", last two digits of the year (01 to 99) * "<%yyyy%>", full year (0100 to 9999) * "<%hy%>", date displayed as the half of the year (1 to 2) * "<%loc_g%>", indicates period/era using the current user regional and language settings * "<%loc_gg%>", indicates period/era using the current user regional and language settings * "<%loc_sdate%>", indicates the date in the short format using the current user regional and language settings * "<%loc_ldate%>", indicates the date in the long format using the current user regional and language settings * "<%loc_dsep%>", indicates the date separator using the current user regional and language settings (/) * "<%h%>", hour in one or two digits, as needed (0 to 23) * "<%hh%>", hour in two digits (00 to 23) * "<%h12%>", hour in 12-hour time format, in one or two digits - [0(12),11] * "<%hh12%>", hour in 12-hour time format, in two digits - [00(12),11] * "<%n%>", minute in one or two digits, as needed (0 to 59) * "<%nn%>", minute in two digits (00 to 59) * "<%s%>", second in one or two digits, as needed (0 to 59) * "<%ss%>", second in two digits (00 to 59) * "<%AM/PM%>", twelve-hour clock with the uppercase letters "AM" or "PM", as appropriate * "<%loc_AM/PM%>", indicates the time marker such as AM or PM using the current user regional and language settings * "<%loc_A/P%>", indicates the one character time marker such as A or P using the current user regional and language settings * "<%loc_time%>", indicates the time using the current user regional and language settings * "<%loc_time24%>", indicates the time in 24 hours format without a time marker using the current user regional and language settings * "<%loc_tsep%>", indicates the time separator using the current user regional and language settings (:) * "<%loc_y%>", represents the Year only by the last digit, using current regional settings * "<%loc_yy%>", represents the Year only by the last two digits, using current regional settings. A leading zero is added for single-digit years. * "<%loc_yyyy%>", represents the Year by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed * * Also, dayLabel property supports ex-HTML tags as follows: * * "text", displays the text in bold. * "text", displays the text in italics. * "text", underlines the text. * "text", strike-through text * "text", displays an anchor element that can be clicked * "text", displays portions of text with a different font and/or different size. * "text", displays text with a specified foreground color. * "text", displays text with a specified background color. * "
", defines a forced line-break * "", right aligns the text * "", centers the text * "key[:width]", displays a custom-sized picture into the text. The key defines the name of the picture/image to be shown. The image can be added using the exontrol.HTMLPicture.Add() method. * & glyph characters as "&" ( & ), "<" ( < ), ">" ( > ), "&qout;" ( quote character ) and "&#number;" ( the character with specified code ). For instance, "€" displays the EURO sign * "text", defines the vertical offset to display the text. * "text", shows the text in gradient * "text", shows the text with outlined characters * "text", shows the text with a shadow * * @type {string} * @example * * "<%d%>" {string}, displays the day of the month in one or two numeric digits, as needed (1 to 31), * "<%dd%>" {string}, displays day of the month in two numeric digits (01 to 31) * "<%d%>\n<%y%>" {string}, displays the day of the month in one or two numeric digits, as needed (1 to 31) on the first line, and on the second line displays the number of the day of the year (1 to 366) in gray */ dayLabel: "<%d%>", /** * @description The dayAlign field aligns the date's label, while the calendar is in day-view. A combination of one or more exontrol.DrawTextFormatEnum flags that defines the way the date's label is being displayed. * * The exontrol.DrawTextFormatEnum type support 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 label * 32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line label * 0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line label right/bottom-aligned */ dayAlign: exontrol.DrawTextFormatEnum.exTextAlignCenter | exontrol.DrawTextFormatEnum.exTextAlignVCenter | exontrol.DrawTextFormatEnum.exTextNoClip, /** * @description The dayFixedWidth field defines the width of the calendar's date when autoSize is exontrol.Calendar.AutoSizeEnum.exFixedSize. * * The dayFixedWidth field has effect only if the autoSize is exontrol.Calendar.AutoSizeEnum.exFixedSize. The dayFixedWidth property does not include the date's padding. * * @type {number} * @example * * 24 {number}, defines the date's width to 24-pixels */ dayFixedWidth: 24, /** * @description The dayFixedHeight field defines the height of the calendar's date when autoSize is exontrol.Calendar.AutoSizeEnum.exFixedSize. * * The dayFixedHeight field has effect only if the autoSize is exontrol.Calendar.AutoSizeEnum.exFixedSize. The dayFixedHeight property does not include the date's padding. * * @type {number} * @example * * 24 {number}, defines the date's height to 24-pixels */ dayFixedHeight: 24, /** * @description The dayWeekHeader field specifies whether the calendar shows the header to display the days of the week (day-view only). * @type {boolean} * @example * * false {boolean}, hides the header that displays the days of the week (day-view only). * true {boolean}, shows the header that displays the days of the week (day-view only). */ dayWeekHeader: true, /** * @description The dayWeekLabel field defines the ex-HTML label to show the days of the week into the calendar's header (day-view only). Specifies the ex-HTML label to show the days of the week into the calendar's header (day-view only). * * The dayWeekLabel property can include any of the following fields: * * "<%d%>", day of the month in one or two numeric digits, as needed (1 to 31) * "<%dd%>", day of the month in two numeric digits (01 to 31) * "<%d1%>", first letter of the weekday (S to S)" * "<%loc_d1%>", indicates day of week as a one-letter abbreviation using the current user settings * "<%d2%>", first two letters of the weekday (Su to Sa) * "<%loc_d2%>", indicates day of week as a two-letters abbreviation using the current user settings * "<%d3%>", first three letters of the weekday (Sun to Sat) * "<%loc_d3%>", equivalent with "<%loc_ddd%>" * "<%ddd%>", first three letters of the weekday (Sun to Sat) * "<%loc_ddd%>", indicates the day of week as a three-letter abbreviation using the current user regional and language settings * "<%dddd%>", full name of the weekday (Sunday to Saturday) * "<%loc_dddd%>", indicates day of week as its full name using the current user regional and language settings * "<%i%>", displays the number instead the date * "<%w%>", day of the week (1 to 7) * "<%ww%>", week of the year (1 to 53) * "<%m%>", month of the year in one or two numeric digits, as needed (1 to 12) * "<%mr%>", month of the year in Roman numerals, as needed (I to XII) * "<%mm%>", month of the year in two numeric digits (01 to 12) * "<%m1%>", first letter of the month (J to D) * "<%loc_m1%>", indicates month as a one-letter abbreviation using the current user settings * "<%m2%>", first two letters of the month (Ja to De) * "<%loc_m2%>", indicates month as a two-letters abbreviation using the current user settings * "<%m3%>", first three letters of the month (Jan to Dec) * "<%loc_m3%>", equivalent with "<%loc_mmm%>" * "<%mmm%>", first three letters of the month (Jan to Dec) * "<%loc_mmm%>", indicates month as a three-letter abbreviation using the current user regional and language settings * "<%mmmm%>", full name of the month (January to December) * "<%loc_mmmm%>", indicates month as its full name using the current user regional and language settings * "<%q%>", Date displayed as the quarter of the year (1 to 4) * "<%y%>", number of the day of the year (1 to 366) * "<%yy%>", last two digits of the year (01 to 99) * "<%yyyy%>", full year (0100 to 9999) * "<%hy%>", date displayed as the half of the year (1 to 2) * "<%loc_g%>", indicates period/era using the current user regional and language settings * "<%loc_gg%>", indicates period/era using the current user regional and language settings * "<%loc_sdate%>", indicates the date in the short format using the current user regional and language settings * "<%loc_ldate%>", indicates the date in the long format using the current user regional and language settings * "<%loc_dsep%>", indicates the date separator using the current user regional and language settings (/) * "<%h%>", hour in one or two digits, as needed (0 to 23) * "<%hh%>", hour in two digits (00 to 23) * "<%h12%>", hour in 12-hour time format, in one or two digits - [0(12),11] * "<%hh12%>", hour in 12-hour time format, in two digits - [00(12),11] * "<%n%>", minute in one or two digits, as needed (0 to 59) * "<%nn%>", minute in two digits (00 to 59) * "<%s%>", second in one or two digits, as needed (0 to 59) * "<%ss%>", second in two digits (00 to 59) * "<%AM/PM%>", twelve-hour clock with the uppercase letters "AM" or "PM", as appropriate * "<%loc_AM/PM%>", indicates the time marker such as AM or PM using the current user regional and language settings * "<%loc_A/P%>", indicates the one character time marker such as A or P using the current user regional and language settings * "<%loc_time%>", indicates the time using the current user regional and language settings * "<%loc_time24%>", indicates the time in 24 hours format without a time marker using the current user regional and language settings * "<%loc_tsep%>", indicates the time separator using the current user regional and language settings (:) * "<%loc_y%>", represents the Year only by the last digit, using current regional settings * "<%loc_yy%>", represents the Year only by the last two digits, using current regional settings. A leading zero is added for single-digit years. * "<%loc_yyyy%>", represents the Year by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed * * Also, dayWeekLabel property supports ex-HTML tags as follows: * * "text", displays the text in bold. * "text", displays the text in italics. * "text", underlines the text. * "text", strike-through text * "text", displays an anchor element that can be clicked * "text", displays portions of text with a different font and/or different size. * "text", displays text with a specified foreground color. * "text", displays text with a specified background color. * "
", defines a forced line-break * "", right aligns the text * "", centers the text * "key[:width]", displays a custom-sized picture into the text. The key defines the name of the picture/image to be shown. The image can be added using the exontrol.HTMLPicture.Add() method. * & glyph characters as "&" ( & ), "<" ( < ), ">" ( > ), "&qout;" ( quote character ) and "&#number;" ( the character with specified code ). For instance, "€" displays the EURO sign * "text", defines the vertical offset to display the text. * "text", shows the text in gradient * "text", shows the text with outlined characters * "text", shows the text with a shadow * * @type {string} * @example * * "" {string}, displays nothing * "<%d2%>" {string}, displays first two letters of the weekday (Su to Sa) * "<%d3%>" {string}, displays first thee letters of the weekday (Sun to Sat) in bold */ dayWeekLabel: "<%d2%>", /** * @description The dayWeekNoHeader field specifies whether the calendar shows the header to display week-number (day-view only). * @type {boolean} * @example * * false {boolean}, hides the calendar's header that displays the week-number * true {boolean}, shows the calendar's header that displays the week-number */ dayWeekNoHeader: true, /** * @description The dayWeekNoLabel field defines the ex-HTML label to show the week-number into the calendar's header (day-view only). Specifies the ex-HTML label to show the week-number into the calendar's header (day-view only). * * The dayWeekNoLabel property can include any of the following fields: * * "<%d%>", day of the month in one or two numeric digits, as needed (1 to 31) * "<%dd%>", day of the month in two numeric digits (01 to 31) * "<%d1%>", first letter of the weekday (S to S)" * "<%loc_d1%>", indicates day of week as a one-letter abbreviation using the current user settings * "<%d2%>", first two letters of the weekday (Su to Sa) * "<%loc_d2%>", indicates day of week as a two-letters abbreviation using the current user settings * "<%d3%>", first three letters of the weekday (Sun to Sat) * "<%loc_d3%>", equivalent with "<%loc_ddd%>" * "<%ddd%>", first three letters of the weekday (Sun to Sat) * "<%loc_ddd%>", indicates the day of week as a three-letter abbreviation using the current user regional and language settings * "<%dddd%>", full name of the weekday (Sunday to Saturday) * "<%loc_dddd%>", indicates day of week as its full name using the current user regional and language settings * "<%i%>", displays the number instead the date * "<%w%>", day of the week (1 to 7) * "<%ww%>", week of the year (1 to 53) * "<%m%>", month of the year in one or two numeric digits, as needed (1 to 12) * "<%mr%>", month of the year in Roman numerals, as needed (I to XII) * "<%mm%>", month of the year in two numeric digits (01 to 12) * "<%m1%>", first letter of the month (J to D) * "<%loc_m1%>", indicates month as a one-letter abbreviation using the current user settings * "<%m2%>", first two letters of the month (Ja to De) * "<%loc_m2%>", indicates month as a two-letters abbreviation using the current user settings * "<%m3%>", first three letters of the month (Jan to Dec) * "<%loc_m3%>", equivalent with "<%loc_mmm%>" * "<%mmm%>", first three letters of the month (Jan to Dec) * "<%loc_mmm%>", indicates month as a three-letter abbreviation using the current user regional and language settings * "<%mmmm%>", full name of the month (January to December) * "<%loc_mmmm%>", indicates month as its full name using the current user regional and language settings * "<%q%>", Date displayed as the quarter of the year (1 to 4) * "<%y%>", number of the day of the year (1 to 366) * "<%yy%>", last two digits of the year (01 to 99) * "<%yyyy%>", full year (0100 to 9999) * "<%hy%>", date displayed as the half of the year (1 to 2) * "<%loc_g%>", indicates period/era using the current user regional and language settings * "<%loc_gg%>", indicates period/era using the current user regional and language settings * "<%loc_sdate%>", indicates the date in the short format using the current user regional and language settings * "<%loc_ldate%>", indicates the date in the long format using the current user regional and language settings * "<%loc_dsep%>", indicates the date separator using the current user regional and language settings (/) * "<%h%>", hour in one or two digits, as needed (0 to 23) * "<%hh%>", hour in two digits (00 to 23) * "<%h12%>", hour in 12-hour time format, in one or two digits - [0(12),11] * "<%hh12%>", hour in 12-hour time format, in two digits - [00(12),11] * "<%n%>", minute in one or two digits, as needed (0 to 59) * "<%nn%>", minute in two digits (00 to 59) * "<%s%>", second in one or two digits, as needed (0 to 59) * "<%ss%>", second in two digits (00 to 59) * "<%AM/PM%>", twelve-hour clock with the uppercase letters "AM" or "PM", as appropriate * "<%loc_AM/PM%>", indicates the time marker such as AM or PM using the current user regional and language settings * "<%loc_A/P%>", indicates the one character time marker such as A or P using the current user regional and language settings * "<%loc_time%>", indicates the time using the current user regional and language settings * "<%loc_time24%>", indicates the time in 24 hours format without a time marker using the current user regional and language settings * "<%loc_tsep%>", indicates the time separator using the current user regional and language settings (:) * "<%loc_y%>", represents the Year only by the last digit, using current regional settings * "<%loc_yy%>", represents the Year only by the last two digits, using current regional settings. A leading zero is added for single-digit years. * "<%loc_yyyy%>", represents the Year by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed * * Also, dayWeekNoLabel property supports ex-HTML tags as follows: * * "text", displays the text in bold. * "text", displays the text in italics. * "text", underlines the text. * "text", strike-through text * "text", displays an anchor element that can be clicked * "text", displays portions of text with a different font and/or different size. * "text", displays text with a specified foreground color. * "text", displays text with a specified background color. * "
", defines a forced line-break * "", right aligns the text * "", centers the text * "key[:width]", displays a custom-sized picture into the text. The key defines the name of the picture/image to be shown. The image can be added using the exontrol.HTMLPicture.Add() method. * & glyph characters as "&" ( & ), "<" ( < ), ">" ( > ), "&qout;" ( quote character ) and "&#number;" ( the character with specified code ). For instance, "€" displays the EURO sign * "text", defines the vertical offset to display the text. * "text", shows the text in gradient * "text", shows the text with outlined characters * "text", shows the text with a shadow * * @type {string} * @example * * "" {string}, displays nothing * "<%ww%>" {string}, displays the week of the year (1 to 53) * "<%ww%>" {string}, displays the week of the year (1 to 53) in red */ dayWeekNoLabel: "<%ww%>", /** * @description The dayMonthHeader field specifies whether the calendar shows the header to display month's name (day-view only). * @type {boolean} * @example * * false {boolean}, hides the calendar's header (month's name) * true {boolean}, shows the calendar's header (month's name) */ dayMonthHeader: true, /** * @description The dayMonthLabel field defines the ex-HTML label to show the month-name into the calendar's header (day-view only). Specifies the ex-HTML label to show the month-name into the calendar's header (day-view only). * * The dayMonthLabel property can include any of the following fields: * * "<%d%>", day of the month in one or two numeric digits, as needed (1 to 31) * "<%dd%>", day of the month in two numeric digits (01 to 31) * "<%d1%>", first letter of the weekday (S to S)" * "<%loc_d1%>", indicates day of week as a one-letter abbreviation using the current user settings * "<%d2%>", first two letters of the weekday (Su to Sa) * "<%loc_d2%>", indicates day of week as a two-letters abbreviation using the current user settings * "<%d3%>", first three letters of the weekday (Sun to Sat) * "<%loc_d3%>", equivalent with "<%loc_ddd%>" * "<%ddd%>", first three letters of the weekday (Sun to Sat) * "<%loc_ddd%>", indicates the day of week as a three-letter abbreviation using the current user regional and language settings * "<%dddd%>", full name of the weekday (Sunday to Saturday) * "<%loc_dddd%>", indicates day of week as its full name using the current user regional and language settings * "<%i%>", displays the number instead the date * "<%w%>", day of the week (1 to 7) * "<%ww%>", week of the year (1 to 53) * "<%m%>", month of the year in one or two numeric digits, as needed (1 to 12) * "<%mr%>", month of the year in Roman numerals, as needed (I to XII) * "<%mm%>", month of the year in two numeric digits (01 to 12) * "<%m1%>", first letter of the month (J to D) * "<%loc_m1%>", indicates month as a one-letter abbreviation using the current user settings * "<%m2%>", first two letters of the month (Ja to De) * "<%loc_m2%>", indicates month as a two-letters abbreviation using the current user settings * "<%m3%>", first three letters of the month (Jan to Dec) * "<%loc_m3%>", equivalent with "<%loc_mmm%>" * "<%mmm%>", first three letters of the month (Jan to Dec) * "<%loc_mmm%>", indicates month as a three-letter abbreviation using the current user regional and language settings * "<%mmmm%>", full name of the month (January to December) * "<%loc_mmmm%>", indicates month as its full name using the current user regional and language settings * "<%q%>", Date displayed as the quarter of the year (1 to 4) * "<%y%>", number of the day of the year (1 to 366) * "<%yy%>", last two digits of the year (01 to 99) * "<%yyyy%>", full year (0100 to 9999) * "<%hy%>", date displayed as the half of the year (1 to 2) * "<%loc_g%>", indicates period/era using the current user regional and language settings * "<%loc_gg%>", indicates period/era using the current user regional and language settings * "<%loc_sdate%>", indicates the date in the short format using the current user regional and language settings * "<%loc_ldate%>", indicates the date in the long format using the current user regional and language settings * "<%loc_dsep%>", indicates the date separator using the current user regional and language settings (/) * "<%h%>", hour in one or two digits, as needed (0 to 23) * "<%hh%>", hour in two digits (00 to 23) * "<%h12%>", hour in 12-hour time format, in one or two digits - [0(12),11] * "<%hh12%>", hour in 12-hour time format, in two digits - [00(12),11] * "<%n%>", minute in one or two digits, as needed (0 to 59) * "<%nn%>", minute in two digits (00 to 59) * "<%s%>", second in one or two digits, as needed (0 to 59) * "<%ss%>", second in two digits (00 to 59) * "<%AM/PM%>", twelve-hour clock with the uppercase letters "AM" or "PM", as appropriate * "<%loc_AM/PM%>", indicates the time marker such as AM or PM using the current user regional and language settings * "<%loc_A/P%>", indicates the one character time marker such as A or P using the current user regional and language settings * "<%loc_time%>", indicates the time using the current user regional and language settings * "<%loc_time24%>", indicates the time in 24 hours format without a time marker using the current user regional and language settings * "<%loc_tsep%>", indicates the time separator using the current user regional and language settings (:) * "<%loc_y%>", represents the Year only by the last digit, using current regional settings * "<%loc_yy%>", represents the Year only by the last two digits, using current regional settings. A leading zero is added for single-digit years. * "<%loc_yyyy%>", represents the Year by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed * * Also, dayMonthLabel property supports ex-HTML tags as follows: * * "text", displays the text in bold. * "text", displays the text in italics. * "text", underlines the text. * "text", strike-through text * "text", displays an anchor element that can be clicked * "text", displays portions of text with a different font and/or different size. * "text", displays text with a specified foreground color. * "text", displays text with a specified background color. * "
", defines a forced line-break * "", right aligns the text * "", centers the text * "key[:width]", displays a custom-sized picture into the text. The key defines the name of the picture/image to be shown. The image can be added using the exontrol.HTMLPicture.Add() method. * & glyph characters as "&" ( & ), "<" ( < ), ">" ( > ), "&qout;" ( quote character ) and "&#number;" ( the character with specified code ). For instance, "€" displays the EURO sign * "text", defines the vertical offset to display the text. * "text", shows the text in gradient * "text", shows the text with outlined characters * "text", shows the text with a shadow * * @type {string} * @example * * "" {string}, displays nothing * "<%mmm%>" {string}, displays three-letters of the month * "<%mmmm%> <%yyyy%>" {string}, displays the full month and year * "<%mmm%><%yyyy%>" {string}, displays an combined ex-HTML format */ dayMonthLabel: "<%mmmm%> <%yyyy%>", /** * @description The dayMonthAlign field aligns the month's label, while the calendar is in day-view. Indicates a exontrol.DrawTextFormatEnum value that defines the way the date's label is being displayed. * * The exontrol.DrawTextFormatEnum type support 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 label * 32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line label * 0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line label right/bottom-aligned */ dayMonthAlign: exontrol.DrawTextFormatEnum.exTextAlignLeft | exontrol.DrawTextFormatEnum.exTextAlignVCenter | exontrol.DrawTextFormatEnum.exTextNoClip, /** * @description The dayNonMonth field specifies whether the calendar displays the dates that are not part of the current month. * @type {number} * @example * * false {boolean}, hides the dates that are not part of the current month. * true {boolean}, shows the dates that are not part of the current month. */ dayNonMonth: true, /** * @description The dayNonMonthLabel field defines the ex-HTML label to show the dates that are not part of the current month (day-view only). Specifies the ex-HTML label to show the dates that are not part of the current month (day-view only). * * The dayNonMonthLabel property can include any of the following fields: * * "<%d%>", day of the month in one or two numeric digits, as needed (1 to 31) * "<%dd%>", day of the month in two numeric digits (01 to 31) * "<%d1%>", first letter of the weekday (S to S)" * "<%loc_d1%>", indicates day of week as a one-letter abbreviation using the current user settings * "<%d2%>", first two letters of the weekday (Su to Sa) * "<%loc_d2%>", indicates day of week as a two-letters abbreviation using the current user settings * "<%d3%>", first three letters of the weekday (Sun to Sat) * "<%loc_d3%>", equivalent with "<%loc_ddd%>" * "<%ddd%>", first three letters of the weekday (Sun to Sat) * "<%loc_ddd%>", indicates the day of week as a three-letter abbreviation using the current user regional and language settings * "<%dddd%>", full name of the weekday (Sunday to Saturday) * "<%loc_dddd%>", indicates day of week as its full name using the current user regional and language settings * "<%i%>", displays the number instead the date * "<%w%>", day of the week (1 to 7) * "<%ww%>", week of the year (1 to 53) * "<%m%>", month of the year in one or two numeric digits, as needed (1 to 12) * "<%mr%>", month of the year in Roman numerals, as needed (I to XII) * "<%mm%>", month of the year in two numeric digits (01 to 12) * "<%m1%>", first letter of the month (J to D) * "<%loc_m1%>", indicates month as a one-letter abbreviation using the current user settings * "<%m2%>", first two letters of the month (Ja to De) * "<%loc_m2%>", indicates month as a two-letters abbreviation using the current user settings * "<%m3%>", first three letters of the month (Jan to Dec) * "<%loc_m3%>", equivalent with "<%loc_mmm%>" * "<%mmm%>", first three letters of the month (Jan to Dec) * "<%loc_mmm%>", indicates month as a three-letter abbreviation using the current user regional and language settings * "<%mmmm%>", full name of the month (January to December) * "<%loc_mmmm%>", indicates month as its full name using the current user regional and language settings * "<%q%>", Date displayed as the quarter of the year (1 to 4) * "<%y%>", number of the day of the year (1 to 366) * "<%yy%>", last two digits of the year (01 to 99) * "<%yyyy%>", full year (0100 to 9999) * "<%hy%>", date displayed as the half of the year (1 to 2) * "<%loc_g%>", indicates period/era using the current user regional and language settings * "<%loc_gg%>", indicates period/era using the current user regional and language settings * "<%loc_sdate%>", indicates the date in the short format using the current user regional and language settings * "<%loc_ldate%>", indicates the date in the long format using the current user regional and language settings * "<%loc_dsep%>", indicates the date separator using the current user regional and language settings (/) * "<%h%>", hour in one or two digits, as needed (0 to 23) * "<%hh%>", hour in two digits (00 to 23) * "<%h12%>", hour in 12-hour time format, in one or two digits - [0(12),11] * "<%hh12%>", hour in 12-hour time format, in two digits - [00(12),11] * "<%n%>", minute in one or two digits, as needed (0 to 59) * "<%nn%>", minute in two digits (00 to 59) * "<%s%>", second in one or two digits, as needed (0 to 59) * "<%ss%>", second in two digits (00 to 59) * "<%AM/PM%>", twelve-hour clock with the uppercase letters "AM" or "PM", as appropriate * "<%loc_AM/PM%>", indicates the time marker such as AM or PM using the current user regional and language settings * "<%loc_A/P%>", indicates the one character time marker such as A or P using the current user regional and language settings * "<%loc_time%>", indicates the time using the current user regional and language settings * "<%loc_time24%>", indicates the time in 24 hours format without a time marker using the current user regional and language settings * "<%loc_tsep%>", indicates the time separator using the current user regional and language settings (:) * "<%loc_y%>", represents the Year only by the last digit, using current regional settings * "<%loc_yy%>", represents the Year only by the last two digits, using current regional settings. A leading zero is added for single-digit years. * "<%loc_yyyy%>", represents the Year by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed * * Also, dayNonMonthLabel property supports ex-HTML tags as follows: * * "text", displays the text in bold. * "text", displays the text in italics. * "text", underlines the text. * "text", strike-through text * "text", displays an anchor element that can be clicked * "text", displays portions of text with a different font and/or different size. * "text", displays text with a specified foreground color. * "text", displays text with a specified background color. * "
", defines a forced line-break * "", right aligns the text * "", centers the text * "key[:width]", displays a custom-sized picture into the text. The key defines the name of the picture/image to be shown. The image can be added using the exontrol.HTMLPicture.Add() method. * & glyph characters as "&" ( & ), "<" ( < ), ">" ( > ), "&qout;" ( quote character ) and "&#number;" ( the character with specified code ). For instance, "€" displays the EURO sign * "text", defines the vertical offset to display the text. * "text", shows the text in gradient * "text", shows the text with outlined characters * "text", shows the text with a shadow * * @type {string} * @example * * "" {string}, displays nothing * "<%d%>" {string}, displays the day of the month in one or two numeric digits, as needed (1 to 31) * "<%d%>" {string}, displays the day of the month in one or two numeric digits, as needed (1 to 31) in gray */ dayNonMonthLabel: "<%d%>", /** * @description The dayWeekAllLabel field defines the ex-HTML label to show the first day of the month on the top-left corner of the calendar, when the week-number and week-days headers are present (day-view only). Specifies the ex-HTML label to show the first day of the month on the top-left corner of the calendar, when the week-number and week-days headers are present (day-view only). * * The dayWeekAllLabel property can include any of the following fields: * * "<%d%>", day of the month in one or two numeric digits, as needed (1 to 31) * "<%dd%>", day of the month in two numeric digits (01 to 31) * "<%d1%>", first letter of the weekday (S to S)" * "<%loc_d1%>", indicates day of week as a one-letter abbreviation using the current user settings * "<%d2%>", first two letters of the weekday (Su to Sa) * "<%loc_d2%>", indicates day of week as a two-letters abbreviation using the current user settings * "<%d3%>", first three letters of the weekday (Sun to Sat) * "<%loc_d3%>", equivalent with "<%loc_ddd%>" * "<%ddd%>", first three letters of the weekday (Sun to Sat) * "<%loc_ddd%>", indicates the day of week as a three-letter abbreviation using the current user regional and language settings * "<%dddd%>", full name of the weekday (Sunday to Saturday) * "<%loc_dddd%>", indicates day of week as its full name using the current user regional and language settings * "<%i%>", displays the number instead the date * "<%w%>", day of the week (1 to 7) * "<%ww%>", week of the year (1 to 53) * "<%m%>", month of the year in one or two numeric digits, as needed (1 to 12) * "<%mr%>", month of the year in Roman numerals, as needed (I to XII) * "<%mm%>", month of the year in two numeric digits (01 to 12) * "<%m1%>", first letter of the month (J to D) * "<%loc_m1%>", indicates month as a one-letter abbreviation using the current user settings * "<%m2%>", first two letters of the month (Ja to De) * "<%loc_m2%>", indicates month as a two-letters abbreviation using the current user settings * "<%m3%>", first three letters of the month (Jan to Dec) * "<%loc_m3%>", equivalent with "<%loc_mmm%>" * "<%mmm%>", first three letters of the month (Jan to Dec) * "<%loc_mmm%>", indicates month as a three-letter abbreviation using the current user regional and language settings * "<%mmmm%>", full name of the month (January to December) * "<%loc_mmmm%>", indicates month as its full name using the current user regional and language settings * "<%q%>", Date displayed as the quarter of the year (1 to 4) * "<%y%>", number of the day of the year (1 to 366) * "<%yy%>", last two digits of the year (01 to 99) * "<%yyyy%>", full year (0100 to 9999) * "<%hy%>", date displayed as the half of the year (1 to 2) * "<%loc_g%>", indicates period/era using the current user regional and language settings * "<%loc_gg%>", indicates period/era using the current user regional and language settings * "<%loc_sdate%>", indicates the date in the short format using the current user regional and language settings * "<%loc_ldate%>", indicates the date in the long format using the current user regional and language settings * "<%loc_dsep%>", indicates the date separator using the current user regional and language settings (/) * "<%h%>", hour in one or two digits, as needed (0 to 23) * "<%hh%>", hour in two digits (00 to 23) * "<%h12%>", hour in 12-hour time format, in one or two digits - [0(12),11] * "<%hh12%>", hour in 12-hour time format, in two digits - [00(12),11] * "<%n%>", minute in one or two digits, as needed (0 to 59) * "<%nn%>", minute in two digits (00 to 59) * "<%s%>", second in one or two digits, as needed (0 to 59) * "<%ss%>", second in two digits (00 to 59) * "<%AM/PM%>", twelve-hour clock with the uppercase letters "AM" or "PM", as appropriate * "<%loc_AM/PM%>", indicates the time marker such as AM or PM using the current user regional and language settings * "<%loc_A/P%>", indicates the one character time marker such as A or P using the current user regional and language settings * "<%loc_time%>", indicates the time using the current user regional and language settings * "<%loc_time24%>", indicates the time in 24 hours format without a time marker using the current user regional and language settings * "<%loc_tsep%>", indicates the time separator using the current user regional and language settings (:) * "<%loc_y%>", represents the Year only by the last digit, using current regional settings * "<%loc_yy%>", represents the Year only by the last two digits, using current regional settings. A leading zero is added for single-digit years. * "<%loc_yyyy%>", represents the Year by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed * * Also, dayWeekAllLabel property supports ex-HTML tags as follows: * * "text", displays the text in bold. * "text", displays the text in italics. * "text", underlines the text. * "text", strike-through text * "text", displays an anchor element that can be clicked * "text", displays portions of text with a different font and/or different size. * "text", displays text with a specified foreground color. * "text", displays text with a specified background color. * "
", defines a forced line-break * "", right aligns the text * "", centers the text * "key[:width]", displays a custom-sized picture into the text. The key defines the name of the picture/image to be shown. The image can be added using the exontrol.HTMLPicture.Add() method. * & glyph characters as "&" ( & ), "<" ( < ), ">" ( > ), "&qout;" ( quote character ) and "&#number;" ( the character with specified code ). For instance, "€" displays the EURO sign * "text", defines the vertical offset to display the text. * "text", shows the text in gradient * "text", shows the text with outlined characters * "text", shows the text with a shadow * * @type {string} * @example * * "" {string}, displays nothing * "<%mr%>" {string}, displays month of the year in Roman numerals, as needed (I to XII) in bold */ dayWeekAllLabel: "", /** * @description The monthLabel field specifies the ex-HTML string that can include expression fields (<%...%>) to display the month while the calendar is in month-view. Defines the ex-HTML string that can include expression fields (<%...%>) to display the month while the calendar is in month-view. * * The monthLabel property can include any of the following fields: * * "<%d%>", day of the month in one or two numeric digits, as needed (1 to 31) * "<%dd%>", day of the month in two numeric digits (01 to 31) * "<%d1%>", first letter of the weekday (S to S)" * "<%loc_d1%>", indicates day of week as a one-letter abbreviation using the current user settings * "<%d2%>", first two letters of the weekday (Su to Sa) * "<%loc_d2%>", indicates day of week as a two-letters abbreviation using the current user settings * "<%d3%>", first three letters of the weekday (Sun to Sat) * "<%loc_d3%>", equivalent with "<%loc_ddd%>" * "<%ddd%>", first three letters of the weekday (Sun to Sat) * "<%loc_ddd%>", indicates the day of week as a three-letter abbreviation using the current user regional and language settings * "<%dddd%>", full name of the weekday (Sunday to Saturday) * "<%loc_dddd%>", indicates day of week as its full name using the current user regional and language settings * "<%i%>", displays the number instead the date * "<%w%>", day of the week (1 to 7) * "<%ww%>", week of the year (1 to 53) * "<%m%>", month of the year in one or two numeric digits, as needed (1 to 12) * "<%mr%>", month of the year in Roman numerals, as needed (I to XII) * "<%mm%>", month of the year in two numeric digits (01 to 12) * "<%m1%>", first letter of the month (J to D) * "<%loc_m1%>", indicates month as a one-letter abbreviation using the current user settings * "<%m2%>", first two letters of the month (Ja to De) * "<%loc_m2%>", indicates month as a two-letters abbreviation using the current user settings * "<%m3%>", first three letters of the month (Jan to Dec) * "<%loc_m3%>", equivalent with "<%loc_mmm%>" * "<%mmm%>", first three letters of the month (Jan to Dec) * "<%loc_mmm%>", indicates month as a three-letter abbreviation using the current user regional and language settings * "<%mmmm%>", full name of the month (January to December) * "<%loc_mmmm%>", indicates month as its full name using the current user regional and language settings * "<%q%>", Date displayed as the quarter of the year (1 to 4) * "<%y%>", number of the day of the year (1 to 366) * "<%yy%>", last two digits of the year (01 to 99) * "<%yyyy%>", full year (0100 to 9999) * "<%hy%>", date displayed as the half of the year (1 to 2) * "<%loc_g%>", indicates period/era using the current user regional and language settings * "<%loc_gg%>", indicates period/era using the current user regional and language settings * "<%loc_sdate%>", indicates the date in the short format using the current user regional and language settings * "<%loc_ldate%>", indicates the date in the long format using the current user regional and language settings * "<%loc_dsep%>", indicates the date separator using the current user regional and language settings (/) * "<%h%>", hour in one or two digits, as needed (0 to 23) * "<%hh%>", hour in two digits (00 to 23) * "<%h12%>", hour in 12-hour time format, in one or two digits - [0(12),11] * "<%hh12%>", hour in 12-hour time format, in two digits - [00(12),11] * "<%n%>", minute in one or two digits, as needed (0 to 59) * "<%nn%>", minute in two digits (00 to 59) * "<%s%>", second in one or two digits, as needed (0 to 59) * "<%ss%>", second in two digits (00 to 59) * "<%AM/PM%>", twelve-hour clock with the uppercase letters "AM" or "PM", as appropriate * "<%loc_AM/PM%>", indicates the time marker such as AM or PM using the current user regional and language settings * "<%loc_A/P%>", indicates the one character time marker such as A or P using the current user regional and language settings * "<%loc_time%>", indicates the time using the current user regional and language settings * "<%loc_time24%>", indicates the time in 24 hours format without a time marker using the current user regional and language settings * "<%loc_tsep%>", indicates the time separator using the current user regional and language settings (:) * "<%loc_y%>", represents the Year only by the last digit, using current regional settings * "<%loc_yy%>", represents the Year only by the last two digits, using current regional settings. A leading zero is added for single-digit years. * "<%loc_yyyy%>", represents the Year by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed * * Also, monthLabel property supports ex-HTML tags as follows: * * "text", displays the text in bold. * "text", displays the text in italics. * "text", underlines the text. * "text", strike-through text * "text", displays an anchor element that can be clicked * "text", displays portions of text with a different font and/or different size. * "text", displays text with a specified foreground color. * "text", displays text with a specified background color. * "
", defines a forced line-break * "", right aligns the text * "", centers the text * "key[:width]", displays a custom-sized picture into the text. The key defines the name of the picture/image to be shown. The image can be added using the exontrol.HTMLPicture.Add() method. * & glyph characters as "&" ( & ), "<" ( < ), ">" ( > ), "&qout;" ( quote character ) and "&#number;" ( the character with specified code ). For instance, "€" displays the EURO sign * "text", defines the vertical offset to display the text. * "text", shows the text in gradient * "text", shows the text with outlined characters * "text", shows the text with a shadow * * @type {string} * @example * * "" {string}, displays nothing * "<%mmm%>" {string}, displays first three letters of the month (Jan to Dec) */ monthLabel: "<%mmm%>", /** * @description The monthAlign field aligns the month's label, while the calendar is in month-view. Indicates a exontrol.DrawTextFormatEnum value that defines the way the month's label is being displayed. * * The exontrol.DrawTextFormatEnum type support 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 label * 32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line label * 0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line label right/bottom-aligned */ monthAlign: exontrol.DrawTextFormatEnum.exTextAlignCenter | exontrol.DrawTextFormatEnum.exTextAlignVCenter | exontrol.DrawTextFormatEnum.exTextWordEllipsis, /** * @description The monthYearAlign field aligns the year's label, while the calendar is in month-view. Indicates a exontrol.DrawTextFormatEnum value that defines the way the year's label is being displayed. * * The exontrol.DrawTextFormatEnum type support 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 label * 32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line label * 0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line label right/bottom-aligned */ monthYearAlign: exontrol.DrawTextFormatEnum.exTextAlignLeft | exontrol.DrawTextFormatEnum.exTextAlignVCenter, /** * @description The yearLabel field specifies the ex-HTML string that can include expression fields (<%...%>) to display the year while the calendar is in year-view. Defines the ex-HTML string that can include expression fields (<%...%>) to display the year while the calendar is in year-view. * * The yearLabel property can include any of the following fields: * * "<%d%>", day of the month in one or two numeric digits, as needed (1 to 31) * "<%dd%>", day of the month in two numeric digits (01 to 31) * "<%d1%>", first letter of the weekday (S to S)" * "<%loc_d1%>", indicates day of week as a one-letter abbreviation using the current user settings * "<%d2%>", first two letters of the weekday (Su to Sa) * "<%loc_d2%>", indicates day of week as a two-letters abbreviation using the current user settings * "<%d3%>", first three letters of the weekday (Sun to Sat) * "<%loc_d3%>", equivalent with "<%loc_ddd%>" * "<%ddd%>", first three letters of the weekday (Sun to Sat) * "<%loc_ddd%>", indicates the day of week as a three-letter abbreviation using the current user regional and language settings * "<%dddd%>", full name of the weekday (Sunday to Saturday) * "<%loc_dddd%>", indicates day of week as its full name using the current user regional and language settings * "<%i%>", displays the number instead the date * "<%w%>", day of the week (1 to 7) * "<%ww%>", week of the year (1 to 53) * "<%m%>", month of the year in one or two numeric digits, as needed (1 to 12) * "<%mr%>", month of the year in Roman numerals, as needed (I to XII) * "<%mm%>", month of the year in two numeric digits (01 to 12) * "<%m1%>", first letter of the month (J to D) * "<%loc_m1%>", indicates month as a one-letter abbreviation using the current user settings * "<%m2%>", first two letters of the month (Ja to De) * "<%loc_m2%>", indicates month as a two-letters abbreviation using the current user settings * "<%m3%>", first three letters of the month (Jan to Dec) * "<%loc_m3%>", equivalent with "<%loc_mmm%>" * "<%mmm%>", first three letters of the month (Jan to Dec) * "<%loc_mmm%>", indicates month as a three-letter abbreviation using the current user regional and language settings * "<%mmmm%>", full name of the month (January to December) * "<%loc_mmmm%>", indicates month as its full name using the current user regional and language settings * "<%q%>", Date displayed as the quarter of the year (1 to 4) * "<%y%>", number of the day of the year (1 to 366) * "<%yy%>", last two digits of the year (01 to 99) * "<%yyyy%>", full year (0100 to 9999) * "<%hy%>", date displayed as the half of the year (1 to 2) * "<%loc_g%>", indicates period/era using the current user regional and language settings * "<%loc_gg%>", indicates period/era using the current user regional and language settings * "<%loc_sdate%>", indicates the date in the short format using the current user regional and language settings * "<%loc_ldate%>", indicates the date in the long format using the current user regional and language settings * "<%loc_dsep%>", indicates the date separator using the current user regional and language settings (/) * "<%h%>", hour in one or two digits, as needed (0 to 23) * "<%hh%>", hour in two digits (00 to 23) * "<%h12%>", hour in 12-hour time format, in one or two digits - [0(12),11] * "<%hh12%>", hour in 12-hour time format, in two digits - [00(12),11] * "<%n%>", minute in one or two digits, as needed (0 to 59) * "<%nn%>", minute in two digits (00 to 59) * "<%s%>", second in one or two digits, as needed (0 to 59) * "<%ss%>", second in two digits (00 to 59) * "<%AM/PM%>", twelve-hour clock with the uppercase letters "AM" or "PM", as appropriate * "<%loc_AM/PM%>", indicates the time marker such as AM or PM using the current user regional and language settings * "<%loc_A/P%>", indicates the one character time marker such as A or P using the current user regional and language settings * "<%loc_time%>", indicates the time using the current user regional and language settings * "<%loc_time24%>", indicates the time in 24 hours format without a time marker using the current user regional and language settings * "<%loc_tsep%>", indicates the time separator using the current user regional and language settings (:) * "<%loc_y%>", represents the Year only by the last digit, using current regional settings * "<%loc_yy%>", represents the Year only by the last two digits, using current regional settings. A leading zero is added for single-digit years. * "<%loc_yyyy%>", represents the Year by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed * * Also, yearLabel property supports ex-HTML tags as follows: * * "text", displays the text in bold. * "text", displays the text in italics. * "text", underlines the text. * "text", strike-through text * "text", displays an anchor element that can be clicked * "text", displays portions of text with a different font and/or different size. * "text", displays text with a specified foreground color. * "text", displays text with a specified background color. * "
", defines a forced line-break * "", right aligns the text * "", centers the text * "key[:width]", displays a custom-sized picture into the text. The key defines the name of the picture/image to be shown. The image can be added using the exontrol.HTMLPicture.Add() method. * & glyph characters as "&" ( & ), "<" ( < ), ">" ( > ), "&qout;" ( quote character ) and "&#number;" ( the character with specified code ). For instance, "€" displays the EURO sign * "text", defines the vertical offset to display the text. * "text", shows the text in gradient * "text", shows the text with outlined characters * "text", shows the text with a shadow * * @type {string} * @example * * "" {string}, displays nothing * "<%yyyy%>" {string}, displays the year with four digits */ yearLabel: "<%yyyy%>", /** * @description The yearAlign field aligns the year's label, while the calendar is in year-view. Indicates a exontrol.DrawTextFormatEnum value that defines the way the year's label is being displayed. * * The exontrol.DrawTextFormatEnum type support 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 label * 32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line label * 0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line label right/bottom-aligned */ yearAlign: exontrol.DrawTextFormatEnum.exTextAlignCenter | exontrol.DrawTextFormatEnum.exTextAlignVCenter, /** * @description The yearRangeAlign field aligns the label that displays the range of years, while the calendar is in year-view. Indicates a exontrol.DrawTextFormatEnum value that defines the way the label that displays the range of years is being displayed. * * The exontrol.DrawTextFormatEnum type support 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 label * 32 or exontrol.DrawTextFormatEnum.exTextSingleLine {number}, defines a single-line label * 0x2A or exontrol.DrawTextFormatEnum.exTextSingleLine | exontrol.DrawTextFormatEnum.exTextAlignRight | exontrol.DrawTextFormatEnum.exTextAlignBottom {number}, defines a single-line label right/bottom-aligned */ yearRangeAlign: exontrol.DrawTextFormatEnum.exTextAlignLeft | exontrol.DrawTextFormatEnum.exTextAlignVCenter, /** * @description The shapes field defines the shapes each part of the control can display. The shapes field customizes the control's visual appearance. * * The format of shapes 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.Calendar object (while it starts with a lowercase letter, such as today which refers to exontrol.Shapes.Calendar.today 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 bellow) * * The shapes property supports any of the following parts: * * "p" (prev), defines the prev button (available for any view) * "n" (next), defines the next button (available for any view) * * The following parts are available while the control displays the day-view: * * "da" (day-all), indicates all objects of the month. * "dmh" (day-month-header) object that indicates the header that displays the month * "dm" (days-month) specifies all days displayed in the current month ( it can include also non-month days as well ) * "d" (day), specifies a day of the current month * "dnm" (day-non-month), specifies a day that is not part of the current month, but it is still displayed * "dt" (today), specifies today in the current month * "ds" (day-select), indicates a selected date * "de" (week-end), specifies a day of weekend * * "dwa" (day-weeks-all) indicates the top-left corner object, when the week-header and week-number headers are visible * "dwh" (day-week-header) indicates the header that shows the days of the week * "dw" (day-week) specifies a day into the week-header * "dwnh" (day-week-number-header) indicates the header that displays the week-numbers * "dwn" (day-week-number) specifies the week-number * "dwnn" (day-week-number-non-month) specifies the week-number that is not part of the current month * * The following parts are available while the control displays the month-view: * * "ma" (month-all) specifies the area to display the entire year * "mh" (month-header) indicates the header for month-view (it displays the year) * "mm" (month-month) indicates the portion of the layout that displays the months of the year (excludes its header) * "m" (month) specifies a single month within the month-view * "mt" (month-today), indicates the current month (the month that contains today) * "ms" (month-select), indicates a month that contains a selected date * * The following parts are available while the control displays the year-view: * * "ya" (year-all) that specifies the area to display the entire layout * "yh" (year-header) that indicates the header for year-view (it displays the range of years) * "yy" (year-years) that indicates the portion of the layout that displays the years (excludes its header) * "y" (year) that specifies a single year within the year-view * "yt" (year-today), specifies the year of today * "ys" (year-select), indicates a year that contains a selected date * * @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(dt)", "#FF0000(dt)", "rgb(255,0,0)(dt)", "rgba(255,0,0,1)(dt)" {string}, shows "today" in red * '{"normal":{"fillColor":"lightgray","primitive":"Circle"},"hover":{"frameColor":"black"}}(d)' {string}, shows all-days within a circle, and draws a black-frame when hovers it * "xxx(d),yyy(d,m),zzz(y)" {string}, specifies that the exontrol.Shapes.Calendar.xxx combined with exontrol.Shapes.Calendar.yyy object defines the visual appearance of "d" part of the control, exontrol.Shapes.Calendar.yyy object defines the visual appearance of "m" part of the control and exontrol.Shapes.Calendar.zzz object defines the visual appearance of "y" part of the control */ shapes: "hframe2(d,dnm,m,y),header(dmh,mh,yh),today(dt,mt,yt),gray(dw,dwn,dwnn),lightgray(dnm),select(ds,ms,ys),weekend(de),prev(p),next(n)", /** * @description The hlShapes field defines the shape(s) to be applied on a part of the control, when it requires to be highlighted * * The format of hlShapes property is: * * "shape(part),shape(part),..." * * where: * * "shape", indicates the name of the sub-object within the exontrol.Shapes.Calendar or exontrol.Shapes namespace to be applied on the part (also it can be a CSS color or a JSON string-representation of a {normal,disabled,hover,click} or exontrol.Def.Shape object), * "part", defines the name of the part the shape is applied on (as defined bellow) * * The hlShapes property supports any of the following parts: * * "p" (prev), defines the prev button (available for any view) * "n" (next), defines the next button (available for any view) * * The following parts are available while the control displays the day-view: * * "da" (day-all), indicates all objects of the month. * "dmh" (day-month-header) object that indicates the header that displays the month * "dm" (days-month) specifies all days displayed in the current month ( it can include also non-month days as well ) * "d" (day), specifies a day of the current month * "dnm" (day-non-month), specifies a day that is not part of the current month, but it is still displayed * "dt" (today), specifies today in the current month * "ds" (day-select), indicates a selected date * "de" (week-end), specifies a day of weekend * * "dwa" (day-weeks-all) indicates the top-left corner object, when the week-header and week-number headers are visible * "dwh" (day-week-header) indicates the header that shows the days of the week * "dw" (day-week) specifies a day into the week-header * "dwnh" (day-week-number-header) indicates the header that displays the week-numbers * "dwn" (day-week-number) specifies the week-number * "dwnn" (day-week-number-non-month) specifies the week-number that is not part of the current month * * The following parts are available while the control displays the month-view: * * "ma" (month-all) specifies the area to display the entire year * "mh" (month-header) indicates the header for month-view (it displays the year) * "mm" (month-month) indicates the portion of the layout that displays the months of the year (excludes its header) * "m" (month) specifies a single month within the month-view * "mt" (month-today), indicates the current month (the month that contains today) * "ms" (month-select), indicates a month that contains a selected date * * The following parts are available while the control displays the year-view: * * "ya" (year-all) that specifies the area to display the entire layout * "yh" (year-header) that indicates the header for year-view (it displays the range of years) * "yy" (year-years) that indicates the portion of the layout that displays the years (excludes its header) * "y" (year) that specifies a single year within the year-view * "yt" (year-today), specifies the year of today * "ys" (year-select), indicates a year that contains a selected date * * @type {string} * @example * * null {null}, specifies the default visual appearance * "" {string}, no shape (no visual appearance is applied to any part of the control) * "star(d,dnm,dwa)" {string}, indicates that a exontrol.Shapes.Calendar.star object is applied on "d", "dnm" and "dwa" parts of the control. * "xxx(d),yyy(d,m),zzz(y)" {string}, specifies that the exontrol.Shapes.Calendar.xxx combined with exontrol.Shapes.Calendar.yyy object defines the visual appearance of "d" part of the control, exontrol.Shapes.Calendar.yyy object defines the visual appearance of "m" part of the control and exontrol.Shapes.Calendar.zzz object defines the visual appearance of "y" part of the control */ hlShapes: "highlight(m,dm,y),star(d,dnm,dwa)", /** * @description The cursors field specifies the mouse cursor to be displayed when pointing over a part of the control. * * The format of cursors 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 bellow) * * The "part" can be any of the following: * * "p" (prev), defines the prev button (available for any view) * "n" (next), defines the next button (available for any view) * "anchor" (hyperlink), defines the mouse-cursor when the mouse pointer hovers the anchor (the ex-HTML part marks an anchor or hyperlink element) (@since 2.2) * * The following parts are available while the control displays the day-view: * * "da" (day-all), indicates all objects of the month. * "dmh" (day-month-header) object that indicates the header that displays the month * "dm" (days-month) specifies all days displayed in the current month ( it can include also non-month days as well ) * "d" (day), specifies a day of the current month * "dnm" (day-non-month), specifies a day that is not part of the current month, but it is still displayed * "dt" (today), specifies today in the current month * "ds" (day-select), indicates a selected date * "de" (week-end), specifies a day of weekend * * "dwa" (day-weeks-all) indicates the top-left corner object, when the week-header and week-number headers are visible * "dwh" (day-week-header) indicates the header that shows the days of the week * "dw" (day-week) specifies a day into the week-header * "dwnh" (day-week-number-header) indicates the header that displays the week-numbers * "dwn" (day-week-number) specifies the week-number * "dwnn" (day-week-number-non-month) specifies the week-number that is not part of the current month * * The following parts are available while the control displays the month-view: * * "ma" (month-all) specifies the area to display the entire year * "mh" (month-header) indicates the header for month-view (it displays the year) * "mm" (month-month) indicates the portion of the layout that displays the months of the year (excludes its header) * "m" (month) specifies a single month within the month-view * "mt" (month-today), indicates the current month (the month that contains today) * "ms" (month-select), indicates a month that contains a selected date * * The following parts are available while the control displays the year-view: * * "ya" (year-all) that specifies the area to display the entire layout * "yh" (year-header) that indicates the header for year-view (it displays the range of years) * "yy" (year-years) that indicates the portion of the layout that displays the years (excludes its header) * "y" (year) that specifies a single year within the year-view * "yt" (year-today), specifies the year of today * "ys" (year-select), indicates a year that contains a selected date * * @type {string} * @example * * "" {string}, no mouse cursor support * "pointer(d,p,n)" {string}, indicates that the "pointer" mouse cursor is shown once the cursor hovers the "d", "p" or "n" parts of the control */ cursors: "pointer(p,n,anchor)", /** * @description The toolTipDelay field specifies how long the mouse pointer must point to an object before the tool tip appears * @type {number} * @example * * 0 {number}, the tooltip is shown "immediately" * 128 {number}, the tooltip is displayed in 128 ms. */ toolTipDelay: 500, /** * @description The toolTipPopDelay field specifies the period in ms of time the tool top remains visible if the mouse pointer is stationary within a control * @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: 5000, /** * @description The toolTipWidth field indicates the max-width of the control's tooltip (in pixels) * @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: -1, /** * @description The events field defines the events within the control. The events field can be any of the following: *
    *
  • {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 {array|object} * @example * * Events = [{date: "#1/1/2001#", shape: "red"}], {array} defines a single event * Events = * { * "E1": * { * date: "#1/1/2001#", * shape: "rgba(255,0,0,0.5)" * }, * "E2": * { * date: "#1/1/2001#", * shape: "rgba(255,255,0,0.5)" * } * }, {object} defines two events "E1" and "E2" * */ events: null } /////////////////////////////////////////////////////////// (exontrol.Calendar.Events) // // The Events object holds a collection of Event type (event of the control) // // The Events object provides the following methods: // // Add(oEventOpts) {Event}, creates and adds a new event into the control // Count/GetCount() {number}, returns the number of events within the collection. // Item(id) {Event}, gets the event giving its index, identifier/key or reference // Remove(id), removes the event giving its index, identifier/key or reference // Clear(), removes all events of the control // /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// (exontrol.Calendar.Event) // // The Event object holds event objects of the control. The Add(oEventOpts) method of exontrol.Calendar.Events object creates and adds a new event into the control. // // The Event object provides the following methods: // // Options/GetOptions()/SetOptions(value) {exontrol.Calendar.EventOptions}, indicates the event's options (at once) such as visibility, position and so on // Index/GetIndex() {number}, returns the index of the event (0-based) // Date/GetDate()/SetDate(value) {any}, indicates the date of the event // Key/GetKey()/SetKey(value) {any}, specifies the event's key (the Events.Item(key) requests an event by its index, identifier/key or reference) // Selectable/GetSelectable()/SetSelectable(value) {boolean}, specifies whether the user can select the date // Shape/GetShape()/SetShape(value) {any}, the shape for the event. // Cursor/GetCursor()/SetCursor(value) {string}, the mouse cursor for the event. // Repetitive/GetRepetitive()/SetRepetitive(value) {string}, returns or sets the expression to define the repetitive-event // ToolTip/GetToolTip()/SetToolTip(value) {string}, defines the event's predefined tooltip // UserData/GetUserData()/SetUserData(value) {any}, associates any extra-data with the event // // Also, the exontrol.Calendar.Event object provides the following methods: // // Remove(), removes the event from events collection ( equivalent of Events.Remove(id) method ) // /////////////////////////////////////////////////////////// exontrol.Calendar.EventOptions = { /** * @description The date field indicates the date of the event. The date field can be any of the following: *
    *
  • {null} or {undefined}, indicates the current date and time (equivalent of Date.Now()) *
  • {number}, indicates the Jan 1st of the year, such as "Jan 1st 2001" for 2001 *
  • {string}, defines the date in string-format as "#MM/DD/YYYY[ HH:mm:ss]#", such as "#10/10/2011 14:48#" or string-format as "YYYY-MM-DDTHH:mm:ss.sssZ" (ISO 8601), such as "2011-10-10" (date-only format), "2011-10-10T14:48:00" (local date-time format), "2011-10-10T14:48:00Z" (UTC date-time format), or "2011-10-10T14:48:00.000+09:00" (date-time format with milliseconds and time zone offset) *
  • {Date}, indicates a javascript Date to be copied, such as "Wed, 25 Mar 2015 15:00:00 GMT" for new Date("2015-03-25T15:00:00Z") *
* @type {any} * * @example * * null {null}, is equivalent of Date.Now() * 2001 {number}, is equivalent of Mon, 01 Jan 2001 00:00:00 GMT * "#12/31/1971 13:00#" {string}, is equivalent of Fri, 31 Dec 1971 13:00:00 GMT * new Date("2015-03-25T15:00:00Z"), is equivalent of Wed, 25 Mar 2015 15:00:00 GMT */ date: null, /** * @description The selectable field indicates whether the user can select the date of the event * @type {boolean} * @example * * false {boolean}, the date can not be selected * true {boolean}, the date can be selected */ selectable: true, /** * @description The key field specifies the key associated with the event. * @type {string} * @example * * "logo" {string}, defines the event with the giving key (logo). You can use the oCalendar.Event("logo") method to request the event giving its key. */ key: null, /** * @description The shape field defines the shape for the event. * * The shape field can be any of the following: *
    *
  • the shape's name within the exontrol.Shape.Calendar or exontrol.Shape namespace *
  • a CSS color *
  • a JSON string-representation of an object of exontrol.Def.Shape type, for the event *
  • an object of {normal,hover,click,disabled} type. The normal, hover, click and disabled are objects of exontrol.Def.Shape type *
* * @type {any} * @example * * null {null}, no custom shape is applied (default object's shape may be applied) * "" {string}, no custom shape is applied (no default object's shape is be applied) * "red" {string}, fills the object's background in red (CSS color) * '{"fillColor": "red"}' or '{"normal":{"fillColor": "red"}}' {string}, fills the object's background in red (JSON-representation of an object of exontrol.Def.Shape type) * "xxx" {string}, indicates that exontrol.Shapes.Calendar.xxx or exontrol.Shapes.xxx is applied on the object's background. If the xxx field is missing, no custom shape is applied (no default object's shape is be applied) * exontrol.Shapes.Button {object}, applies the "Button" shape on the object as defined into exontrol.Shapes namespace */ shape: null, /** * @description The cursor field defines the mouse-cursor for the event. * @type {string} * @example * * "pointer" {string}, The cursor is a pointer that indicates a link (typically an image of a pointing hand) */ cursor: null, /** * @description The repetitive field indicates the expression to define the repetitive-event. If You specify a not empty and valid formula for the Repetitive property, the time part of the Start and End properties determines the time to start and end the repetitive event. The date part is determined by the Repetitive expression. The Repetitive property supports: 1) Value format, when using the value keyword. For instance, "weekday(value) = 1", the event occurs every Monday or 2) ICalendar format, as described in RFC 5545. For instance, "FREQ=WEEKLY;BYDAY=MO", the event occurs every Monday (requires "exontrol.icalendar.js") * @type {string} * @example * * "" {string} or null {null}, the event is not repetitive (no effect) * "0" {string}, no occurrence * "1" {string}, the event occurs every day * "weekday(value) = 1" {string}, the event occurs every Monday * "weekday(value) in (1,2) and month(value) = 6", the event occurs every Monday and Tuesday, on June only * "value in (#6/8/2012#,#6/11/2012#,#6/20/2012#)", the event occurs on 6/8/2012, 6/11/2012 and 6/20/2012 * "value >= #6/1/2012# and ( (value - #6/1/2012#)/86400000 mod 5 = 0)", the event starts on 6/1/2012, and shows up every 5 days * */ repetitive: null, /** * @description The toolTip field defines the event's predefined tooltip. The event's tooltip is shown once the cursor hovers the event. The toolTip field supports ex-HTML format. * @type {string} * @example * * null {null}, undefined {undefined} or "" {string}, no tooltip for the event is displayed * "image 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 */ toolTip: null, /** * @description The userData field stores any extra-data associated with the event * @type {any} */ userData: undefined } /////////////////////////////////////////////////////////// (exontrol.Calendar.EventOptions) // // The EventOptions type holds all options an event can display or own // // The EventOptions type defines the following fields: // // date {any}, indicates the date of the event // selectable {boolean}, indicates whether the date is selectable or unselectable // key {string}, specifies the key associated with the event // shape {any}, defines the shape for the event // cursor {string}, defines the mouse-cursor for the event // repetitive {string}, returns or sets the expression to define the repetitive-event // toolTip {string}, defines the event's predefined tooltip // userData {any}, associates any extra-data with the event // /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// (exontrol.Shapes.Calendar) // // The exontrol.Shapes.Calendar namespace provides support to customize the visual appearance of different parts of the exontrol.Calendar object. // /////////////////////////////////////////////////////////// /** * @description The exontrol.Shapes.Calendar namespace provides support to customize the visual appearance of different parts of the exontrol.Calendar object. */ exontrol.Shapes.Calendar = { select: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { primitive: "RoundRect", fillColor: "dodgerblue", tfi: { fgColor: "white", } }, /** * @description The hover field holds an object of exontrol.Def.Shape type that's applied on the part, while the cursor hovers it. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part, while the cursor hovers it. */ hover: { tfi: { fgColor: "white" }, } }, highlight: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { frameDash: [1.5,1.5], frameColor: "black", } }, star: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { pad: 2, frameDash: [1.5,1.5], frameSize: 2, frameColor: "black", primitive: "Circle", fillColor: "black", tfi: { fgColor: "white", fontSize: 14, bold: true } } }, hframe2: { /** * @description The hover field holds an object of exontrol.Def.Shape type that's applied on the part, while the cursor hovers it. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part, while the cursor hovers it. */ hover: { pad: 2, frameSize: 2, frameColor: "black", } }, today: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { fillColor: "rgba(0,0,0,0.10)", frameColor: "rgba(0,0,0,0.25)", tfi: { bold: true } } }, gray: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { tfi: { fgColor: "gray", } }, }, lightgray: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { tfi: { fgColor: "lightgray", } }, }, header: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { pad: [-1,1], padText: [-4,0], fillColor: "rgba(0,0,0,0.10)" }, /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ click: { pad: [-1,1], padText: [-4,0], fillColor: "rgba(0,0,0,0.20)" }, /** * @description The hover field holds an object of exontrol.Def.Shape type that's applied on the part, while the cursor hovers it. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part, while the cursor hovers it. */ /* hover: { pad: [-1,1], padText: [-4,0], fillColor: "rgba(0,0,0,0.10)", } */ }, weekend: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { pattern: exontrol.PatternEnum.exPatternBDiagonal, patternColor: "rgba(0,0,0,0.20)" } }, prev: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { primitive: "Circle", fillColor: "rgb(192,192,192)", frameColor: "rgb(128,128,128)", text: "❮" // HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT }, /** * @description The click field holds an object of exontrol.Def.Shape type that's applied on the part, while it is clicked * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part, while it is clicked */ click: { fillColor: "rgb(164,164,164)", tfi: { fgColor: "gray" } }, /** * @description The disabled field holds an object of exontrol.Def.Shape type that's applied on the part, while the part is disabled * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part, while the part is disabled */ disabled: { opacity: 0.5, } }, next: { /** * @description The normal field holds an object of exontrol.Def.Shape type that's applied on the part. * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part. */ normal: { primitive: "Circle", fillColor: "rgb(192,192,192)", frameColor: "rgb(128,128,128)", text: "❯" // HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT }, /** * @description The click field holds an object of exontrol.Def.Shape type that's applied on the part, while it is clicked * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part, while it is clicked */ click: { fillColor: "rgb(164,164,164)", tfi: { fgColor: "gray" } }, /** * @description The disabled field holds an object of exontrol.Def.Shape type that's applied on the part, while the part is disabled * @type {object} Indicates an object of exontrol.Def.Shape type that's applied on the part, while the part is disabled */ disabled: { opacity: 0.5, } } }