UNPKG

@schema-render/search-table-react

Version:
109 lines (108 loc) 4.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "defaultColumnsMergeAlgo", { enumerable: true, get: function() { return defaultColumnsMergeAlgo; } }); function _define_property(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _object_spread(target) { for(var i = 1; i < arguments.length; i++){ var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === "function") { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function(key) { _define_property(target, key, source[key]); }); } return target; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function(sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _object_spread_props(target, source) { source = source != null ? source : {}; if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function(key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var defaultColumnsMergeAlgo = function(baseColumns, settingColumns) { var mergedColumns = []; var dictionary = {}; // 数组转换成对象结构便于计算以及性能提升 baseColumns.forEach(function(col) { dictionary[String(col.dataIndex)] = col; }); // 按存储的数据排序,同时过滤已删除的列数据 settingColumns.forEach(function(storedCol) { var strDataIndex = String(storedCol.dataIndex); var currentCol = dictionary[strDataIndex]; if (currentCol) { var _storedCol_width, _storedCol_hidden, _storedCol_fixed; // 合并列数据 mergedColumns.push(_object_spread_props(_object_spread({}, currentCol), { width: (_storedCol_width = storedCol.width) !== null && _storedCol_width !== void 0 ? _storedCol_width : currentCol.width, hidden: (_storedCol_hidden = storedCol.hidden) !== null && _storedCol_hidden !== void 0 ? _storedCol_hidden : currentCol.hidden, fixed: (_storedCol_fixed = storedCol.fixed) !== null && _storedCol_fixed !== void 0 ? _storedCol_fixed : currentCol.fixed })); // 删除已经匹配过的数据 delete dictionary[strDataIndex]; } }); var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined; try { // 将未匹配的列数据添加最后 for(var _iterator = Object.values(dictionary)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){ var value = _step.value; mergedColumns.push(value); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally{ try { if (!_iteratorNormalCompletion && _iterator.return != null) { _iterator.return(); } } finally{ if (_didIteratorError) { throw _iteratorError; } } } return mergedColumns; };