Documentation

Report Edit

Calendar

import {Calendar} from 'cx/widgets';

Calendar is used for selecting dates.

March
2026
SuMoTuWeThFrSa
1234567
891011121314
15161718192021
22232425262728
2930311234
May
2016
SuMoTuWeThFrSa
1234567
891011121314
15161718192021
22232425262728
2930311234
Calendar
<div class="widgets">
    <Calendar
        value-bind="$page.date" />
    <Calendar
        value-bind="$page.date"
        minValue="2016-05-10"
        maxValue="2016-05-20"
        maxExclusive
        refDate="2016-05-08"
        dayData={{
            [new Date("2016-05-11").toDateString()]: {
                style: "color: red; font-weight: bold;",
                className: 'test-class',
                mod: 'holiday',
                unselectable: false,
                disabled: false
            },
            [new Date("2016-05-12").toDateString()]: {
                disabled: true
            },
            [new Date("2016-05-13").toDateString()]: {
                style: "outline: 1px solid red"
            }
        }}
    />
</div>
Copied!Cx Fiddle

Use Enter key to select a date. Use arrow keys, Home, End, Page Up and Page Down keys to navigate the calendar.

Configuration

PropertyDescriptionType
refDate

View reference date. If no date is selected, this date is used to determine which month to show in the calendar.

string/Date
value

Selected date. This should be a Date object or a valid date string consumable by Date.parse function.

string/Date
autoFocus

Set to true to automatically focus the field, after it renders for the first time.

boolean
baseClass

Base CSS class to be applied to the calendar. Defaults to calendar.

string
class
className

Additional CSS classes to be applied to the element. If an object is provided, all keys with a "truthy" value will be added to the CSS class list.

string/object
dayData

Map of days to additional day information such as style, className, mod, unselectable and disabled. Keys for the map should be created with date.toDateString().

object
disabled

Defaults to false. Set to true to disable the field.

boolean
disabledDaysOfWeek

Defines which days of week should be displayed as disabled, i.e. [0, 6] will make Sunday and Saturday unselectable.

array
emptyText

Text to be rendered in view mode when the field is empty.

string
enabled

The opposite of disabled.

boolean
encoding

Sets the function that will be used to convert Date objects before writing data to the store. Default implementation is Date.toISOString. See also Culture.setDefaultDateEncoding.

function
error

Used for validation. If error evaluates to non-null, the field is marked in red.

string
help

Additional content to be displayed next to the field. This is commonly used for presenting additional information or validation errors.

string/config
helpPlacement

Set to material to use custom help placement instruction. Used in Material theme to implement absolutely positioned validation messages.

string
helpSpacer

Indicates that help should be separated from the input with a whitespace. Default is true.

boolean
highlightToday

Highlight today's date. Default is true.

boolean
id

Id to be used on rendered input.

string
inputAttrs

Additional attributes that should be rendered on the input element. E.g. inputAttrs={{ autoComplete: "off" }}.

object
inputClass

Additional CSS class applied to the input element. Used for setting visual elements, such as borders and backgrounds.

string/object
inputStyle

Style object applied to the input element. Used for setting visual elements, such as borders and backgrounds.

string/object
label

Field label. For advanced use cases, see Labels.

string/config
labelClass

Additional CSS class to be passed to the label object.

string
labelPlacement

Set to material to use custom label placement instruction. Used in Material theme to implement animated labels.

string
labelStyle

Additional CSS styles to be passed to the label object.

string/object
maxExclusive

Set to true to disallow the maxValue. Default value is false.

boolean
maxValue

Maximum date value. This should be a Date object or a valid date string consumable by Date.parse function.

string/Date
minExclusive

Set to true to disallow the minValue. Default value is false.

boolean
minValue

Minimum date value. This should be a Date object or a valid date string consumable by Date.parse function.

string/Date
mod

Appearance modifier. For example, mod="big" will add the CSS class .cxm-big to the block element.

string/array
mode

Either view or edit (default). In view mode, the field is displayed as plain text.

string
outerLayout

Defines the outer layout which wraps the widget.

widget
placeholder

Default text displayed when the field is empty.

string
putInto
contentFor

Used with outer layouts. Specifies the name of the content placeholder which should render the widget.

string
readOnly

Defaults to false. Used to make the field read-only.

boolean
required

Defaults to false. Used to make the field required.

boolean
showTodayButton

Set to true to show the button for quickly selecting today's date. Default value is false.

boolean
style

Style object applied to the wrapper div. Used for setting the dimensions of the element.

string/object
tabIndex

Custom tab index to be set on the field.

string
tabOnEnterKey

Set to true to move focus to the next field if Enter key is pressed.

boolean
todayButtonText

Localizable text for the todayButton. Defaults to "Today".

string
tooltip

Tooltip configuration. For more info see Tooltips.

string/object
trackFocus

If set to true top level element will get additional CSS class indicating that input is focused. Used for adding special effects on focus. Default is false.

boolean
validationMode

Defines how to present validation errors. Default mode is tooltip. Other options are help and help-block. See Validation Options for more information.

string
validationParams

An structured binding for additional validation parameters. Useful if validation depends on values from other fields, e.g. confirm password. Calculated value is passed as the third argument to onValidate.

structure
vdomKey

Key that will be used as the key when rendering the React component.

string
viewMode

Set to true to switch into view mode. Same as mode="view".

boolean
visible
if

Visibility of the widget. Defaults to true.

boolean
visited

Validation errors are not shown until the user visits the field. Setting this field to true will cause that validation error indicators become visible immediately.

boolean