UNPKG

devextreme-vue

Version:

DevExtreme Vue UI and Visualization Components

99 lines (97 loc) 3.06 kB
/*! * devextreme-vue * Version: 25.1.6 * Build date: Mon Oct 13 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-vue */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getOptionInfo = exports.getOptionValue = exports.allKeysAreEqual = exports.forEachChildNode = exports.isEqual = exports.toComparable = exports.camelize = exports.lowercaseFirst = exports.uppercaseFirst = exports.getTemplatePropName = void 0; function getTemplatePropName(props, templateName) { for (const propName in props) { if (props[propName] === templateName) { return propName; } } return templateName; } exports.getTemplatePropName = getTemplatePropName; function uppercaseFirst(value) { return value[0].toUpperCase() + value.substr(1); } exports.uppercaseFirst = uppercaseFirst; function lowercaseFirst(value) { return value[0].toLowerCase() + value.substr(1); } exports.lowercaseFirst = lowercaseFirst; function camelize(value) { return lowercaseFirst(value.split('-').map((v) => uppercaseFirst(v)).join('')); } exports.camelize = camelize; function toComparable(value) { return value instanceof Date ? value.getTime() : value; } exports.toComparable = toComparable; function isEqual(value1, value2) { if (toComparable(value1) === toComparable(value2)) { return true; } if (Array.isArray(value1) && Array.isArray(value2)) { return value1.length === 0 && value2.length === 0; } return false; } exports.isEqual = isEqual; function forEachChildNode(el, callback) { Array.prototype.slice.call(el.childNodes).forEach(callback); } exports.forEachChildNode = forEachChildNode; function allKeysAreEqual(obj1, obj2) { const obj1Keys = Object.keys(obj1); if (obj1Keys.length !== Object.keys(obj2).length) { return false; } for (const key of obj1Keys) { if (!obj2.hasOwnProperty(key)) { return false; } } return true; } exports.allKeysAreEqual = allKeysAreEqual; function getOptionValue(options, optionPath) { let value = options; optionPath.split('.').forEach((p) => { const optionInfo = getOptionInfo(p); if (value) { value = optionInfo.isCollection ? value[optionInfo.name]?.[optionInfo.index] : value[optionInfo.name]; } }); return value; } exports.getOptionValue = getOptionValue; function getOptionInfo(name) { const parts = name.split('['); if (parts.length === 1) { return { isCollection: false, name, fullName: name, }; } return { isCollection: true, name: parts[0], fullName: name, index: Number(parts[1].slice(0, -1)), }; } exports.getOptionInfo = getOptionInfo;