Skip to content

Calendar settings reference ​

English · Русский

Configure @mes/aps-calendar@0.6.0 through separate calendar.* Settings records. See record fields and creation examples. The Calendar panel guide explains object selection and data requests.

Locale, timezone and hourly labels ​

The component reads these options inside settings, so the full MES names start with calendar.settings.. Top-level calendar.locale or calendar.workingHours do not configure these options.

Settings nameType / API codeDefaultEffect
calendar.settings.localeString / 0ru-RUDate/time language and conventions
calendar.settings.timezoneString / 0Browser IANA timezone, then UTCPackage time formatting and timezone-aware day boundaries
calendar.settings.workingHours.startFromString / 000:00First hourly label
calendar.settings.workingHours.endToString / 025:00Upper bound, not included in the hourly labels; 25:00 makes 24:00 the last label
calendar.settings.inheritTextString / 0Унаследовано от:Text accompanying an inherited status/template source name

Locale accepts a valid BCP-47 tag. Timezone accepts a valid IANA name, such as Europe/Moscow. The panel resolves an absent/invalid timezone to the browser zone, then UTC. It does not rewrite normalized API instants. Use HH:mm strings for startFrom and endTo, with the end after the start. Calendar does not validate the format or range of these values from Settings.

workingHours generates hourly labels and grid lines in day/week views. It does not filter the Calendar API request or change the calculation of status positions, which remains relative to the full day. This option does not create a working-time viewport; custom labels can therefore differ from the time coordinates used to position statuses.

Time and date formats ​

Set individual properties, not one JSON string for the whole format object:

ObjectComponent defaultsWhere used
calendar.settings.timeFormathour: "2-digit", minute: "2-digit"Time labels
calendar.settings.dateFormatyear: "numeric", month/day/hour/minute: "2-digit"; second omittedDate/time labels
calendar.settings.weekFormatyear: "numeric", month: "short", day: "2-digit"Separate day, month and year labels

Examples of leaf records:

namedataTypevalue
calendar.settings.timeFormat.hour02-digit
calendar.settings.timeFormat.minute02-digit
calendar.settings.timeFormat.hour124false
calendar.settings.dateFormat.month0long
calendar.settings.weekFormat.month0long

timeFormat and dateFormat use Intl.DateTimeFormat options. Use the appropriate string, Boolean or numeric record type for each option. weekFormat reads only day, month, and year; other properties have no effect there. Set the zone through calendar.settings.timezone, which the formatter applies over an option object's own timeZone.

Initial view and date ​

Settings nameType / API codeDefaultValues
calendar.calendarTypeInteger / 11 — week0 month, 1 week, 2 day
calendar.calendarDateDate/time / 3Current date when the package is loadedValid ISO date/time string, such as 2026-10-13T00:00:00.000Z

These set the initial view. After the user navigates, the panel remembers view/date for the browser session and reapplies them when another object is selected. Saved session values win over Settings on those remounts. Reload the page to start from the Settings values again.

Example: Moscow time and hourly labels from 08:00 ​

Create three scalar global records through POST /settings:

json
[
  {
    "scope": "global", "name": "calendar.settings.timezone",
    "description": "Calendar timezone", "dataType": 0,
    "isArray": false, "overridable": true, "value": "Europe/Moscow"
  },
  {
    "scope": "global", "name": "calendar.settings.workingHours.startFrom",
    "description": "First hourly label", "dataType": 0,
    "isArray": false, "overridable": true, "value": "08:00"
  },
  {
    "scope": "global", "name": "calendar.settings.workingHours.endTo",
    "description": "Hourly label upper bound", "dataType": 0,
    "isArray": false, "overridable": true, "value": "18:00"
  }
]

If a record exists, edit it instead of creating a duplicate. Reload the Calendar application, select an object, and open the day view. The hourly labels run from 08:00 through 17:00: the upper bound 18:00 is excluded. Time formatting uses Moscow time. These records do not change the daily request range or reposition statuses into an 08:00–18:00 working window. A personal override takes precedence over its global record; see Settings scopes.

Values owned by the application or widget ​

  • uuid identifies the selected object; the panel supplies it.
  • calendarWeek is a date pair recalculated from calendarDate on mount. Do not configure it separately.
  • calendarTemplate is the generated calendar grid, not a Settings array. Assignments/statuses/templates come through the Calendar API.
  • Settings changes do not select an object or supply calendar data.
  • The current graph loader handles scalar leaves, not arrays or JSON object strings. JavaScript in a value is not executed.

The timezone option does not guarantee browser-independent arithmetic in every package path. See Calendar limitations.