devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
82 lines (81 loc) • 2.77 kB
JavaScript
/**
* DevExtreme (cjs/__internal/ui/form/form.ai.utils.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/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getItemFormatInfo = exports.getFieldType = void 0;
var _type = require("../../../core/utils/type");
const getEditorTypeInfo = editorType => {
switch (editorType) {
case "dxDateBox":
case "dxCalendar":
return "date in ISO format";
case "dxDateRangeBox":
return "date range in ISO format, use pattern {start}:::{end}";
case "dxColorBox":
return "color in hex format";
case "dxCheckBox":
case "dxSwitch":
return "boolean value, true or false";
case "dxNumberBox":
case "dxSlider":
return "numeric value";
case "dxRangeSlider":
return "numeric range, use pattern {start}:::{end}";
default:
return "text"
}
};
const getFieldType = editorType => {
switch (editorType) {
case "dxDateBox":
case "dxCalendar":
return "date";
case "dxDateRangeBox":
return "dateRange";
case "dxCheckBox":
case "dxSwitch":
return "boolean";
case "dxNumberBox":
case "dxSlider":
return "number";
case "dxRangeSlider":
return "numberRange";
case "dxColorBox":
return "color";
default:
return "string"
}
};
exports.getFieldType = getFieldType;
const getItemsAcceptedValuesInfo = editorOptions => {
if (!(null !== editorOptions && void 0 !== editorOptions && editorOptions.items)) {
return ""
}
const items = editorOptions.items.map(item => {
if ((0, _type.isObject)(item)) {
return item.text
}
return item
});
const acceptedValues = `, accepted values: ${items.join(", ")}, split values with :::`;
const customItemsAllowed = null !== editorOptions && void 0 !== editorOptions && editorOptions.acceptCustomValue ? " (custom values are allowed)" : "";
return `${acceptedValues}${customItemsAllowed}`
};
const getItemFormatInfo = _ref => {
let {
editorType: editorType,
editorOptions: editorOptions
} = _ref;
const dataType = getEditorTypeInfo(editorType);
const acceptedValues = getItemsAcceptedValuesInfo(editorOptions);
return `${dataType}${acceptedValues}`
};
exports.getItemFormatInfo = getItemFormatInfo;