UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

100 lines (98 loc) 3.21 kB
/** * DevExtreme (cjs/__internal/ui/collection/m_collection_widget.edit.strategy.plain.js) * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 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.default = void 0; var _m_collection_widgetEdit = _interopRequireDefault(require("./m_collection_widget.edit.strategy")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } class PlainEditStrategy extends _m_collection_widgetEdit.default { _getPlainItems() { return this._collectionWidget.option("items") || [] } getIndexByItemData(itemData) { const keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget); if (keyOf) { return this.getIndexByKey(keyOf(itemData)) } return this._getPlainItems().indexOf(itemData) } getItemDataByIndex(index) { return this._getPlainItems()[index] } deleteItemAtIndex(index) { this._getPlainItems().splice(index, 1) } itemsGetter() { return this._getPlainItems() } getKeysByItems(items) { const keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget); let result = items; if (keyOf) { result = []; for (let i = 0; i < items.length; i++) { result.push(keyOf(items[i])) } } return result } getIndexByKey(key) { const cache = this._cache; const keys = cache && cache.keys || this.getKeysByItems(this._getPlainItems()); if (cache && !cache.keys) { cache.keys = keys } if ("object" === typeof key) { for (let i = 0, { length: length } = keys; i < length; i++) { if (this._equalKeys(key, keys[i])) { return i } } } else { return keys.indexOf(key) } return -1 } getItemsByKeys(keys, items) { return (items || keys).slice() } moveItemAtIndexToIndex(movingIndex, destinationIndex) { const items = this._getPlainItems(); const movedItemData = items[movingIndex]; items.splice(movingIndex, 1); items.splice(destinationIndex, 0, movedItemData) } _isItemIndex(index) { return "number" === typeof index && Math.round(index) === index } _getNormalizedItemIndex(itemElement) { return this._collectionWidget._itemElements().index(itemElement) } _normalizeItemIndex(index) { return index } _denormalizeItemIndex(index) { return index } _getItemByNormalizedIndex(index) { return index > -1 ? this._collectionWidget._itemElements().eq(index) : null } _itemsFromSameParent(firstIndex, secondIndex) { return true } } var _default = exports.default = PlainEditStrategy;