UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

53 lines (51 loc) 1.73 kB
/** * DevExtreme (cjs/__internal/data/data_converter/grouped.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/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDataSourceOptions = getDataSourceOptions; var _data = require("../../../common/data"); var _type = require("../../../core/utils/type"); const groupKey = "key"; function getDataSourceOptions(dataSource) { if (!(0, _data.isGroupItemsArray)(dataSource) || dataSource.some(item => 2 !== Object.keys(item).length)) { return dataSource } let hasSimpleItems = false; const data = dataSource.reduce((accumulator, item) => { var _item$items; const items = (null === (_item$items = item.items) || void 0 === _item$items ? void 0 : _item$items.map(value => { let innerItem = value; if (!(0, _type.isObject)(innerItem)) { innerItem = { text: innerItem }; hasSimpleItems = true } const objectItem = innerItem; if (!(groupKey in objectItem)) { objectItem[groupKey] = item.key } return objectItem })) ?? []; return accumulator.concat(items) }, []); return { store: { type: "array", data: data }, group: { selector: groupKey, keepInitialKeyOrder: true }, searchExpr: hasSimpleItems ? "text" : void 0 } }