devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
61 lines (60 loc) • 2.18 kB
JavaScript
/**
* DevExtreme (esm/__internal/scheduler/utils/options_validator/validator_rules.js)
* Version: 25.2.3
* Build date: Fri Dec 12 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
isObject
} from "../../../../core/utils/type";
import {
VIEW_TYPES
} from "../options/constants_view";
import {
divisibleBy,
greaterThan,
lessThan
} from "./common/index";
import {
createValidatorRule
} from "./core/index";
export const endDayHourMustBeGreaterThanStartDayHour = createValidatorRule("endDayHourGreaterThanStartDayHour", (_ref => {
let {
startDayHour: startDayHour,
endDayHour: endDayHour
} = _ref;
return greaterThan(endDayHour, startDayHour)
}));
export const visibleIntervalMustBeDivisibleByCellDuration = createValidatorRule("visibleIntervalMustBeDivisibleByCellDuration", (_ref2 => {
let {
cellDuration: cellDuration,
startDayHour: startDayHour,
endDayHour: endDayHour
} = _ref2;
const visibleInterval = 60 * (endDayHour - startDayHour);
return divisibleBy(visibleInterval, cellDuration)
}));
export const cellDurationMustBeLessThanVisibleInterval = createValidatorRule("cellDurationMustBeLessThanVisibleInterval", (_ref3 => {
let {
cellDuration: cellDuration,
startDayHour: startDayHour,
endDayHour: endDayHour
} = _ref3;
const visibleInterval = 60 * (endDayHour - startDayHour);
return lessThan(cellDuration, visibleInterval, false)
}));
export const allViewsHasCorrectType = createValidatorRule("allViewsHasCorrectType", (views => {
const incorrectViewTypes = views.reduce(((result, view) => {
const viewType = isObject(view) ? view.type : view;
const isValidView = Boolean(viewType && VIEW_TYPES.includes(viewType));
if (!isValidView) {
result.push(`'${viewType}'`)
}
return result
}), []);
return incorrectViewTypes.length ? {
arguments: [incorrectViewTypes.join(", ")]
} : true
}));