devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
72 lines (71 loc) • 2.58 kB
JavaScript
/**
* DevExtreme (esm/__internal/scheduler/appointment_popup/localized_items.js)
* Version: 25.2.7
* Build date: Tue May 05 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import dateLocalization from "../../../common/core/localization/date";
import messageLocalization from "../../../common/core/localization/message";
import {
capitalize
} from "../../core/utils/capitalize";
export const REPEAT_NEVER_VALUE = "never";
export const ICAL_WEEK_DAYS = ["SU", "MO", "TU", "WE", "TH", "FR", "SA"];
const repeatSelectItemDefs = [{
messageId: "dxScheduler-recurrenceNever",
value: "never"
}, {
messageId: "dxScheduler-recurrenceHourly",
value: "hourly"
}, {
messageId: "dxScheduler-recurrenceDaily",
value: "daily"
}, {
messageId: "dxScheduler-recurrenceWeekly",
value: "weekly"
}, {
messageId: "dxScheduler-recurrenceMonthly",
value: "monthly"
}, {
messageId: "dxScheduler-recurrenceYearly",
value: "yearly"
}];
const recurrenceFrequencyItemDefs = [{
messageId: "dxScheduler-recurrenceRepeatHourly",
value: "hourly"
}, {
messageId: "dxScheduler-recurrenceRepeatDaily",
value: "daily"
}, {
messageId: "dxScheduler-recurrenceRepeatWeekly",
value: "weekly"
}, {
messageId: "dxScheduler-recurrenceRepeatMonthly",
value: "monthly"
}, {
messageId: "dxScheduler-recurrenceRepeatYearly",
value: "yearly"
}];
export const getRepeatSelectItems = () => repeatSelectItemDefs.map(item => ({
text: messageLocalization.format(item.messageId),
value: item.value
}));
export const getRecurrenceFrequencyItems = () => recurrenceFrequencyItemDefs.map(item => ({
text: capitalize(messageLocalization.format(item.messageId)),
value: item.value
}));
export const getRecurrenceMonthItems = () => dateLocalization.getMonthNames().map((monthName, index) => ({
value: index + 1,
text: monthName
}));
export const getRecurrenceWeekDayItems = firstDayOfWeek => {
const localizedDayNames = dateLocalization.getDayNames("abbreviated");
const orderedWeekDayItems = ICAL_WEEK_DAYS.map((day, index) => ({
text: localizedDayNames[index].slice(0, 1).toUpperCase(),
key: day
}));
const validFirstDayOfWeek = firstDayOfWeek ?? dateLocalization.firstDayOfWeekIndex();
return orderedWeekDayItems.slice(validFirstDayOfWeek).concat(orderedWeekDayItems.slice(0, validFirstDayOfWeek))
};