@dlh.io/bideux 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +90 -0
- package/dist/all.d.ts +14 -0
- package/dist/all.js +15 -0
- package/dist/all.js.map +1 -0
- package/dist/chunk-62IQGXLW.js +11470 -0
- package/dist/chunk-62IQGXLW.js.map +1 -0
- package/dist/chunk-75CRTQK7.js +315 -0
- package/dist/chunk-75CRTQK7.js.map +1 -0
- package/dist/chunk-FVO6E22Z.js +225 -0
- package/dist/chunk-FVO6E22Z.js.map +1 -0
- package/dist/chunk-GRITOB4M.js +337 -0
- package/dist/chunk-GRITOB4M.js.map +1 -0
- package/dist/chunk-HPFHIZWO.js +40 -0
- package/dist/chunk-HPFHIZWO.js.map +1 -0
- package/dist/chunk-IMNUQGHE.js +2864 -0
- package/dist/chunk-IMNUQGHE.js.map +1 -0
- package/dist/chunk-LHD445PJ.js +571 -0
- package/dist/chunk-LHD445PJ.js.map +1 -0
- package/dist/chunk-LPLBBHOW.js +386 -0
- package/dist/chunk-LPLBBHOW.js.map +1 -0
- package/dist/chunk-NGM5R3LW.js +881 -0
- package/dist/chunk-NGM5R3LW.js.map +1 -0
- package/dist/chunk-OMPR32AR.js +1320 -0
- package/dist/chunk-OMPR32AR.js.map +1 -0
- package/dist/chunk-QDQ5VVTC.js +255 -0
- package/dist/chunk-QDQ5VVTC.js.map +1 -0
- package/dist/chunk-RRWZKNDZ.js +1004 -0
- package/dist/chunk-RRWZKNDZ.js.map +1 -0
- package/dist/chunk-SRWIBMEB.js +178 -0
- package/dist/chunk-SRWIBMEB.js.map +1 -0
- package/dist/element/chunk-AOKCBPMV.js +1646 -0
- package/dist/element/chunk-AOKCBPMV.js.map +1 -0
- package/dist/element/chunk-B67SYRQP.js +281 -0
- package/dist/element/chunk-B67SYRQP.js.map +1 -0
- package/dist/element/chunk-FNRVFA2C.js +55 -0
- package/dist/element/chunk-FNRVFA2C.js.map +1 -0
- package/dist/element/chunk-G3C722QP.js +4707 -0
- package/dist/element/chunk-G3C722QP.js.map +1 -0
- package/dist/element/chunk-H5IFOSQP.js +346 -0
- package/dist/element/chunk-H5IFOSQP.js.map +1 -0
- package/dist/element/chunk-LXR3CLCN.js +30 -0
- package/dist/element/chunk-LXR3CLCN.js.map +1 -0
- package/dist/element/chunk-TFV4CJR4.js +183 -0
- package/dist/element/chunk-TFV4CJR4.js.map +1 -0
- package/dist/element/chunk-TXSK3CIN.js +859 -0
- package/dist/element/chunk-TXSK3CIN.js.map +1 -0
- package/dist/element/chunk-WDTTBY3S.js +45 -0
- package/dist/element/chunk-WDTTBY3S.js.map +1 -0
- package/dist/element/chunk-ZI3RYCAR.js +233 -0
- package/dist/element/chunk-ZI3RYCAR.js.map +1 -0
- package/dist/element/element.d.ts +3044 -0
- package/dist/element/element.js +146554 -0
- package/dist/element/element.js.map +1 -0
- package/dist/element/revo-grid.entry-7FHEBN3O.js +4817 -0
- package/dist/element/revo-grid.entry-7FHEBN3O.js.map +1 -0
- package/dist/element/revogr-attribution_7.entry-LSOFVZRA.js +1328 -0
- package/dist/element/revogr-attribution_7.entry-LSOFVZRA.js.map +1 -0
- package/dist/element/revogr-clipboard_3.entry-V74UIBPJ.js +494 -0
- package/dist/element/revogr-clipboard_3.entry-V74UIBPJ.js.map +1 -0
- package/dist/element/revogr-data_4.entry-2UBOKTFN.js +1041 -0
- package/dist/element/revogr-data_4.entry-2UBOKTFN.js.map +1 -0
- package/dist/element/revogr-filter-panel.entry-B24PLQU4.js +552 -0
- package/dist/element/revogr-filter-panel.entry-B24PLQU4.js.map +1 -0
- package/dist/index.d.ts +1041 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/react.d.ts +1915 -0
- package/dist/react.js +14 -0
- package/dist/react.js.map +1 -0
- package/dist/renderers/echarts.d.ts +44 -0
- package/dist/renderers/echarts.js +6 -0
- package/dist/renderers/echarts.js.map +1 -0
- package/dist/renderers/index.d.ts +48 -0
- package/dist/renderers/index.js +12 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/revogrid.d.ts +76 -0
- package/dist/renderers/revogrid.js +6 -0
- package/dist/renderers/revogrid.js.map +1 -0
- package/dist/renderers/tabulator.d.ts +37 -0
- package/dist/renderers/tabulator.js +6 -0
- package/dist/renderers/tabulator.js.map +1 -0
- package/dist/result-table-CPls-277.d.ts +1885 -0
- package/dist/schema/dashboard.schema.json +4374 -0
- package/dist/schema/semantic-model.schema.json +1200 -0
- package/dist/schema/widget.schema.json +1793 -0
- package/dist/styles.css +156 -0
- package/dist/theme.css +1789 -0
- package/dist/types-CHFSsU_X.d.ts +1007 -0
- package/package.json +119 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/column.service-Cfw3L0PN.js","../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/viewport.helpers-CoCAvmZs.js"],"names":["collection","group"],"mappings":"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","file":"chunk-TXSK3CIN.js","sourcesContent":["/*!\n * Built by Revolist OU ❤️\n */\nimport { Q as toFinite, U as keys, V as isArrayLike, W as baseIteratee, N as isArray, G as GRID_INTERNALS, X as isIterateeCall, a as getVisibleSourceItem, o as DISABLED_CLASS, C as CELL_CLASS, b as getSourceItem } from './dimension.helpers-fl4HSSK9.js';\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = -1,\n iterable = Object(collection);\n\n while ((++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n}\n\n/**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\nfunction reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, baseIteratee(iteratee), accumulator, initAccum, baseEach);\n}\n\nfunction getCellData(val) {\n if (typeof val === 'undefined' || val === null) {\n return '';\n }\n return val;\n}\nfunction getCellRaw(model = {}, column) {\n if (!column) {\n return;\n }\n if (column.cellParser) {\n return column.cellParser(model, column);\n }\n return model[column.prop];\n}\nfunction getCellDataParsed(model, column) {\n return getCellData(getCellRaw(model, column));\n}\n/**\n * Get column type from column data\n */\nfunction getColumnType(rgCol) {\n if (rgCol.pin) {\n return rgCol.pin;\n }\n return 'rgCol';\n}\nfunction getColumnSizes(cols) {\n const res = {};\n for (const [i, c] of cols.entries()) {\n if (c.size) {\n res[i] = c.size;\n }\n }\n return res;\n}\n/**\n * Check if column is grouping column\n */\nfunction isColGrouping(colData) {\n return !!colData.children;\n}\n/**\n * This function is used to create a collection of columns.\n */\nfunction getColumns(columns, level = 0, types, resFromRoot) {\n const collection = {\n // columns as they are in stores per type\n columns: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // columns indexed by prop for quick access\n columnByProp: {},\n // column grouping\n columnGrouping: {\n rgCol: [],\n colPinStart: [],\n colPinEnd: [],\n },\n // sorting\n sort: {},\n // max depth level for column grouping\n maxLevel: level,\n };\n return reduce(columns, (res, colData) => {\n var _a;\n // Grouped column\n if (isColGrouping(colData)) {\n res = gatherGroup(res, colData, getColumns(colData.children, level + 1, types, res), resFromRoot === null || resFromRoot === void 0 ? void 0 : resFromRoot.columns, level);\n return res;\n }\n // Column type\n const columnDefinitionFromType = colData.columnType && (types === null || types === void 0 ? void 0 : types[colData.columnType]);\n // Regular column\n const regularColumn = Object.assign(Object.assign({}, columnDefinitionFromType), colData);\n // Regular column, no Pin\n if (!regularColumn.pin) {\n res.columns.rgCol.push(regularColumn);\n // Pin\n }\n else {\n res.columns[regularColumn.pin].push(regularColumn);\n }\n if (regularColumn.order) {\n res.sort[regularColumn.prop] = regularColumn;\n }\n // it's possible that some columns have same prop, but better to avoid it\n if (!res.columnByProp[regularColumn.prop]) {\n res.columnByProp[regularColumn.prop] = [];\n }\n res.columnByProp[regularColumn.prop].push(regularColumn);\n // trigger setup hook if present\n (_a = regularColumn.beforeSetup) === null || _a === void 0 ? void 0 : _a.call(regularColumn, regularColumn);\n return res;\n }, collection);\n}\nfunction gatherGroup(res, colData, collection, existingColumnsByType, level = 0) {\n // group template\n const group = Object.assign(Object.assign({}, colData), { level, indexes: [] });\n // check columns for update\n columnTypes.forEach(type => {\n const resultItem = res.columns[type];\n const collectionItem = collection.columns[type];\n // if column data\n if (isArray(resultItem) && isArray(collectionItem)) {\n // fill grouping\n const itemLength = collectionItem.length;\n if (itemLength) {\n const columnLength = [...((existingColumnsByType === null || existingColumnsByType === void 0 ? void 0 : existingColumnsByType[type]) || []), ...resultItem].length;\n // fill columns\n resultItem.push(...collectionItem);\n // fill indexes per each viewport\n res.columnGrouping[type].push(Object.assign(Object.assign({}, group), { indexes: Array(itemLength).fill(columnLength).map((v, i) => v + i) }));\n }\n }\n });\n // merge column groupings\n for (let k in collection.columnGrouping) {\n const key = k;\n const collectionItem = collection.columnGrouping[key];\n const delta = ((existingColumnsByType === null || existingColumnsByType === void 0 ? void 0 : existingColumnsByType[key]) || []).length;\n const rebasedItem = delta > 0\n ? collectionItem.map(group => (Object.assign(Object.assign({}, group), { indexes: group.indexes.map(i => i + delta) })))\n : collectionItem;\n res.columnGrouping[key].push(...rebasedItem);\n }\n res.maxLevel = Math.max(res.maxLevel, collection.maxLevel);\n res.sort = Object.assign(Object.assign({}, res.sort), collection.sort);\n res.columnByProp = Object.assign(Object.assign({}, res.columnByProp), collection.columnByProp);\n return res;\n}\nfunction findColumn(columns, prop) {\n for (const c of columns) {\n if (isColGrouping(c)) {\n const found = findColumn(c.children, prop);\n if (found) {\n return found;\n }\n }\n else if (c.prop === prop) {\n return c;\n }\n }\n return undefined;\n}\nfunction getColumnByProp(columns, prop) {\n return findColumn(columns, prop);\n}\n\nfunction nextCell(cell, lastCell) {\n const nextItem = {};\n let types = ['x', 'y'];\n // previous item check\n for (let t of types) {\n if (cell[t] < 0) {\n nextItem[t] = cell[t];\n return nextItem;\n }\n }\n // next item check\n for (let t of types) {\n if (cell[t] >= lastCell[t]) {\n nextItem[t] = cell[t] - lastCell[t];\n return nextItem;\n }\n }\n return null;\n}\nfunction cropCellToMax(cell, lastCell) {\n const croppedCell = Object.assign({}, cell);\n const cellCoordinates = ['x', 'y'];\n for (const coordinate of cellCoordinates) {\n if (cell[coordinate] < 0) {\n croppedCell[coordinate] = 0;\n }\n else if (cell[coordinate] >= lastCell[coordinate]) {\n croppedCell[coordinate] = lastCell[coordinate] - 1;\n }\n }\n return croppedCell;\n}\nfunction getRange(start, end) {\n return start && end\n ? {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n x1: Math.max(start.x, end.x),\n y1: Math.max(start.y, end.y),\n }\n : null;\n}\nfunction isRangeSingleCell(a) {\n return a.x === a.x1 && a.y === a.y1;\n}\n\nconst rowTypes = ['rowPinStart', 'rgRow', 'rowPinEnd'];\nconst columnTypes = [\n 'colPinStart',\n 'rgCol',\n 'colPinEnd',\n];\nfunction isRowType(type) {\n return rowTypes.indexOf(type) > -1;\n}\n\nconst GROUP_DEPTH = `${GRID_INTERNALS}-depth`;\nconst PSEUDO_GROUP_ITEM = `${GRID_INTERNALS}-name`;\nconst PSEUDO_GROUP_ITEM_ID = `${GRID_INTERNALS}-id`;\nconst PSEUDO_GROUP_ITEM_VALUE = `${GRID_INTERNALS}-value`;\nconst PSEUDO_GROUP_COLUMN = `${GRID_INTERNALS}-column`;\nconst GROUP_EXPANDED = `${GRID_INTERNALS}-expanded`;\nconst GROUP_COLUMN_PROP = `${GRID_INTERNALS}-prop`;\nconst GROUP_ORIGINAL_INDEX = `${GRID_INTERNALS}-original-index`;\nconst GROUP_EXPAND_BTN = `group-expand`;\nconst GROUP_EXPAND_EVENT = `groupexpandclick`;\nconst GROUPING_ROW_TYPE = 'rgRow';\n\nfunction getGroupValueDefault(item, prop, emptyGroupValue) {\n var _a;\n return (_a = item[prop]) !== null && _a !== void 0 ? _a : emptyGroupValue;\n}\nfunction isDataRow(item) {\n return item != null;\n}\n// get source based on proxy item collection to preserve rgRow order\nfunction getSource(source, items, withoutGrouping = false) {\n let index = 0;\n const result = {\n source: [],\n prevExpanded: {},\n oldNewIndexes: {},\n };\n // order important here, expected parent is first, then others\n items.forEach(i => {\n const model = source[i];\n if (!withoutGrouping) {\n result.source.push(model);\n return;\n }\n // grouping filter\n if (isGrouping(model)) {\n if (getExpanded(model)) {\n result.prevExpanded[model[PSEUDO_GROUP_ITEM_VALUE]] = true;\n }\n }\n else if (!isDataRow(model)) {\n return;\n }\n else {\n result.source.push(model);\n result.oldNewIndexes[i] = index;\n index++;\n }\n });\n return result;\n}\nfunction getExpanded(model = {}) {\n return model[GROUP_EXPANDED];\n}\nfunction flattenGroupMaps({ groupedValues, parentIds, isExpanded, itemIndex, expandedAll, prevExpanded, columnProps, }) {\n const depth = parentIds.length;\n const sourceWithGroups = [];\n // collapse all groups in the beginning\n let trimmed = {};\n // index mapping\n let oldNewIndexMap = {};\n groupedValues.forEach((innerGroupedValues, groupId) => {\n const levelIds = [...parentIds, groupId];\n const mergedIds = levelIds.join(',');\n const isGroupExpanded = isExpanded && (!!expandedAll || !!prevExpanded[mergedIds]);\n sourceWithGroups.push({\n [PSEUDO_GROUP_ITEM]: groupId,\n [GROUP_DEPTH]: depth,\n [PSEUDO_GROUP_ITEM_ID]: JSON.stringify(levelIds),\n [PSEUDO_GROUP_ITEM_VALUE]: mergedIds,\n [GROUP_EXPANDED]: isGroupExpanded,\n [GROUP_COLUMN_PROP]: columnProps[depth],\n [columnProps[depth]]: groupId,\n });\n itemIndex += 1;\n // If parent group is collapsed, mark all items as hidden\n if (!isExpanded && depth) {\n trimmed[itemIndex] = true;\n }\n if (Array.isArray(innerGroupedValues)) {\n // This branch handles leaf nodes (actual data items)\n innerGroupedValues.forEach(value => {\n itemIndex += 1;\n if (!isGroupExpanded) {\n trimmed[itemIndex] = true; // Mark items as hidden if group is collapsed\n }\n oldNewIndexMap[value[GROUP_ORIGINAL_INDEX]] = itemIndex; // Keep track of new positions\n });\n sourceWithGroups.push(...innerGroupedValues);\n }\n else {\n // This branch handles nested groups (further subgroups)\n const children = flattenGroupMaps({\n groupedValues: innerGroupedValues,\n parentIds: levelIds,\n isExpanded: isGroupExpanded,\n itemIndex,\n expandedAll,\n prevExpanded,\n columnProps,\n }); // Recursively process subgroups\n sourceWithGroups.push(...children.source);\n trimmed = Object.assign(Object.assign({}, children.trimmed), trimmed);\n oldNewIndexMap = Object.assign(Object.assign({}, children.oldNewIndexMap), oldNewIndexMap);\n itemIndex = children.itemIndex;\n }\n });\n return {\n source: sourceWithGroups,\n oldNewIndexMap,\n trimmed,\n itemIndex,\n };\n}\n/**\n * Gather data for grouping\n * @param array - flat data array\n * @param columnProps - ids of groups\n * @param expanded - potentially expanded items if present\n */\nfunction gatherGrouping(array, columnProps, { prevExpanded = {}, expandedAll = false, getGroupValue, emptyGroupValue = '', }) {\n const groupedItems = new Map();\n array.forEach((item, originalIndex) => {\n if (!isDataRow(item)) {\n return;\n }\n const groupLevelValues = columnProps.map(groupId => getGroupValue\n ? getGroupValue(item, groupId)\n : getGroupValueDefault(item, groupId, emptyGroupValue));\n const lastLevelValue = groupLevelValues.pop();\n let currentGroupLevel = groupedItems;\n groupLevelValues.forEach(value => {\n if (!currentGroupLevel.has(value)) {\n currentGroupLevel.set(value, new Map());\n }\n currentGroupLevel = currentGroupLevel.get(value);\n });\n if (!currentGroupLevel.has(lastLevelValue)) {\n const groupItems = [];\n currentGroupLevel.set(lastLevelValue, groupItems);\n }\n const lastLevelItems = currentGroupLevel.get(lastLevelValue);\n lastLevelItems.push(Object.assign(Object.assign({}, item), { [GROUP_ORIGINAL_INDEX]: originalIndex }));\n });\n const groupingDepth = columnProps.length;\n const { source: sourceWithGroups, trimmed, oldNewIndexMap } = flattenGroupMaps({\n groupedValues: groupedItems,\n parentIds: [],\n isExpanded: true,\n itemIndex: -1,\n expandedAll,\n prevExpanded,\n columnProps\n });\n return {\n sourceWithGroups, // updates source mirror\n depth: groupingDepth, // largest depth for grouping\n trimmed, // used for expand/collapse grouping values\n oldNewIndexMap, // used for mapping old values to new\n };\n}\nfunction getGroupingName(rgRow) {\n return rgRow === null || rgRow === void 0 ? void 0 : rgRow[PSEUDO_GROUP_ITEM];\n}\nfunction isGrouping(rgRow) {\n return typeof (rgRow === null || rgRow === void 0 ? void 0 : rgRow[PSEUDO_GROUP_ITEM]) !== 'undefined';\n}\nfunction isGroupingColumn(column) {\n return typeof (column === null || column === void 0 ? void 0 : column[PSEUDO_GROUP_COLUMN]) !== 'undefined';\n}\nfunction measureEqualDepth(groupA, groupB) {\n const ln = groupA.length;\n let i = 0;\n for (; i < ln; i++) {\n if (groupA[i] !== groupB[i]) {\n return i;\n }\n }\n return i;\n}\nfunction getParsedGroup(id) {\n const parseGroup = JSON.parse(id);\n // extra precaution and type safeguard\n if (!Array.isArray(parseGroup)) {\n return null;\n }\n return parseGroup;\n}\n// check if items is child of current clicked group\nfunction isSameGroup(currentGroup, currentModel, nextModel) {\n const nextGroup = getParsedGroup(nextModel[PSEUDO_GROUP_ITEM_ID]);\n if (!nextGroup) {\n return false;\n }\n const depth = measureEqualDepth(currentGroup, nextGroup);\n return currentModel[GROUP_DEPTH] < depth;\n}\n\n/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\n/**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n}\n\nfunction getCellEditor(column, editors = {}) {\n const editor = column === null || column === void 0 ? void 0 : column.editor;\n if (!editor) {\n return undefined;\n }\n // reference\n if (typeof editor === 'string') {\n return editors[editor];\n }\n return editor;\n}\nclass ColumnService {\n get columns() {\n return getVisibleSourceItem(this.source);\n }\n constructor(dataStore, source) {\n this.dataStore = dataStore;\n this.source = source;\n this.unsubscribe = [];\n this.hasGrouping = false;\n this.unsubscribe.push(source.onChange('source', s => this.checkGrouping(s)));\n this.checkGrouping(source.get('source'));\n this.type = source.get('type');\n }\n checkGrouping(cols) {\n for (let rgCol of cols) {\n if (isGroupingColumn(rgCol)) {\n this.hasGrouping = true;\n return;\n }\n this.hasGrouping = false;\n }\n }\n isReadOnly(r, c) {\n var _a;\n const readOnly = (_a = this.columns[c]) === null || _a === void 0 ? void 0 : _a.readonly;\n if (typeof readOnly === 'function') {\n const data = this.rowDataModel(r, c);\n return readOnly(data);\n }\n return !!readOnly;\n }\n mergeProperties(r, c, defaultProps, schemaModel) {\n var _a, _b;\n const props = Object.assign({}, defaultProps);\n props.class = Object.assign(Object.assign({}, (typeof props.class === 'string'\n ? { [props.class]: true }\n : props.class)), { [CELL_CLASS]: true, [DISABLED_CLASS]: this.isReadOnly(r, c) });\n const extra = (_b = (_a = schemaModel.column) === null || _a === void 0 ? void 0 : _a.cellProperties) === null || _b === void 0 ? void 0 : _b.call(_a, schemaModel);\n if (!extra) {\n return props;\n }\n return doPropMerge(props, extra);\n }\n getRowClass(r, prop) {\n const model = getSourceItem(this.dataStore, r) || {};\n return model[prop] || '';\n }\n getSaveData(rowIndex, colIndex, val) {\n const data = this.rowDataModel(rowIndex, colIndex);\n if (typeof val === 'undefined') {\n val = getCellData(data.value);\n }\n return Object.assign(Object.assign({}, data), { val });\n }\n /**\n * Get cell data model for given rowIndex and colIndex\n * Used to pass data to editor/renderer\n */\n rowDataModel(rowIndex, colIndex) {\n const column = this.columns[colIndex];\n const prop = column === null || column === void 0 ? void 0 : column.prop;\n const model = getSourceItem(this.dataStore, rowIndex) || {};\n const type = this.dataStore.get('type');\n return {\n prop,\n model,\n data: this.dataStore.get('source'),\n column,\n rowIndex,\n colIndex,\n colType: this.type,\n type,\n value: getCellRaw(model, column),\n };\n }\n getRangeData(d, columns) {\n var _a;\n const changed = {};\n // get original length sizes\n const copyColLength = d.oldRange.x1 - d.oldRange.x + 1;\n const copyRowLength = d.oldRange.y1 - d.oldRange.y + 1;\n const mapping = {};\n // rows\n for (let rowIndex = d.newRange.y, i = 0; rowIndex < d.newRange.y1 + 1; rowIndex++, i++) {\n // copy original data link\n const oldRowIndex = d.oldRange.y + (i % copyRowLength);\n const copyRow = getSourceItem(this.dataStore, oldRowIndex) || {};\n // columns\n for (let colIndex = d.newRange.x, j = 0; colIndex < d.newRange.x1 + 1; colIndex++, j++) {\n // check if old range area\n if (rowIndex >= d.oldRange.y &&\n rowIndex <= d.oldRange.y1 &&\n colIndex >= d.oldRange.x &&\n colIndex <= d.oldRange.x1) {\n continue;\n }\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const prop = (_a = this.columns[colIndex]) === null || _a === void 0 ? void 0 : _a.prop;\n const copyColIndex = d.oldRange.x + (j % copyColLength);\n const copyColumnProp = columns[copyColIndex].prop;\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][prop] = copyRow[copyColumnProp];\n /** Generate mapping object */\n if (!mapping[rowIndex]) {\n mapping[rowIndex] = {};\n }\n mapping[rowIndex][prop] = {\n colIndex: copyColIndex,\n colProp: copyColumnProp,\n rowIndex: oldRowIndex,\n };\n }\n }\n }\n return {\n changed,\n mapping,\n };\n }\n getTransformedDataToApply({ start, data, targetRange, }) {\n const changed = {};\n const copyRowLength = data.length;\n if (!copyRowLength) {\n return {\n changed,\n range: null,\n };\n }\n const colLength = this.columns.length;\n const rowLength = this.dataStore.get('items').length;\n const bounds = this.getDataApplyBounds(start, targetRange, copyRowLength, rowLength, colLength);\n if (!bounds) {\n return {\n changed,\n range: null,\n };\n }\n const { startRow, startCol, endRow } = bounds;\n let maxCol = startCol - 1;\n let lastRow = startRow - 1;\n // rows\n for (let rowIndex = startRow, i = 0; rowIndex <= endRow; rowIndex++, i++) {\n // copy original data link\n const copyRow = data[i % copyRowLength];\n const copyColLength = (copyRow === null || copyRow === void 0 ? void 0 : copyRow.length) || 0;\n if (!copyColLength) {\n continue;\n }\n maxCol = Math.max(maxCol, this.applyClipboardRow(changed, {\n bounds,\n copyColLength,\n copyRow,\n rowIndex,\n start,\n targetRange,\n }));\n lastRow = rowIndex;\n }\n return {\n changed,\n range: this.getAppliedRange(bounds, lastRow, maxCol),\n };\n }\n getDataApplyBounds(start, targetRange, copyRowLength, rowLength, colLength) {\n var _a, _b, _c;\n const startRow = (_a = targetRange === null || targetRange === void 0 ? void 0 : targetRange.y) !== null && _a !== void 0 ? _a : start.y;\n const startCol = (_b = targetRange === null || targetRange === void 0 ? void 0 : targetRange.x) !== null && _b !== void 0 ? _b : start.x;\n const endRow = Math.min(rowLength - 1, (_c = targetRange === null || targetRange === void 0 ? void 0 : targetRange.y1) !== null && _c !== void 0 ? _c : start.y + copyRowLength - 1);\n if (endRow < startRow || startCol >= colLength) {\n return null;\n }\n return { startRow, startCol, endRow, colLength };\n }\n applyClipboardRow(changed, { bounds, copyColLength, copyRow, rowIndex, start, targetRange, }) {\n var _a;\n const endCol = Math.min(bounds.colLength - 1, (_a = targetRange === null || targetRange === void 0 ? void 0 : targetRange.x1) !== null && _a !== void 0 ? _a : start.x + copyColLength - 1);\n for (let colIndex = bounds.startCol, j = 0; colIndex <= endCol; colIndex++, j++) {\n if (this.isReadOnly(rowIndex, colIndex)) {\n continue;\n }\n const prop = this.columns[colIndex].prop;\n changed[rowIndex] = changed[rowIndex] || {};\n changed[rowIndex][prop] = copyRow[j % copyColLength];\n }\n return endCol;\n }\n getAppliedRange({ startRow, startCol }, lastRow, maxCol) {\n if (lastRow < startRow || maxCol < startCol) {\n return null;\n }\n return getRange({ x: startCol, y: startRow }, {\n y: lastRow,\n x: maxCol,\n });\n }\n getRangeStaticData(d, value) {\n const changed = {};\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const p = this.columns[colIndex].prop;\n /** if can write */\n if (!this.isReadOnly(rowIndex, colIndex)) {\n /** to show before save */\n if (!changed[rowIndex]) {\n changed[rowIndex] = {};\n }\n changed[rowIndex][p] = value;\n }\n }\n }\n return changed;\n }\n getRangeTransformedToProps(d, store) {\n var _a;\n const area = [];\n const type = this.dataStore.get('type');\n // rows\n for (let rowIndex = d.y, i = 0; rowIndex < d.y1 + 1; rowIndex++, i++) {\n // columns\n for (let colIndex = d.x, j = 0; colIndex < d.x1 + 1; colIndex++, j++) {\n const prop = (_a = this.columns[colIndex]) === null || _a === void 0 ? void 0 : _a.prop;\n area.push({\n prop,\n rowIndex,\n colIndex,\n model: getSourceItem(store, rowIndex),\n type,\n colType: this.type,\n });\n }\n }\n return area;\n }\n copyRangeArray(range, store) {\n const cols = [...this.columns];\n const props = slice(cols, range.x, range.x1 + 1).map(v => v.prop);\n const toCopy = [];\n const mapping = {};\n // rows indexes\n for (let i = range.y; i <= range.y1; i++) {\n const rgRow = [];\n mapping[i] = {};\n // columns indexes\n for (let prop of props) {\n const item = getSourceItem(store, i);\n // if no item - skip\n if (!item) {\n continue;\n }\n const val = item[prop];\n rgRow.push(val);\n mapping[i][prop] = val;\n }\n toCopy.push(rgRow);\n }\n return {\n data: toCopy,\n mapping,\n };\n }\n destroy() {\n this.unsubscribe.forEach(f => f());\n }\n}\n/**\n * Checks if the given rowDrag is a service for dragging rows.\n */\nfunction isRowDragService(rowDrag, model) {\n if (typeof rowDrag === 'function') {\n return rowDrag(model);\n }\n return !!rowDrag;\n}\nfunction mergeClasses(class1 = {}, class2 = {}) {\n if (typeof class1 === 'string') {\n class1 = { [class1]: true };\n }\n if (typeof class2 === 'string') {\n class2 = { [class2]: true };\n }\n return Object.assign(Object.assign({}, class1), class2);\n}\nfunction doPropMerge(existing, extra) {\n // if className is provided - remove it from props it messing with stencil\n if (extra.className) {\n extra.class = mergeClasses(extra.class, extra.className);\n delete extra.className;\n }\n let props = Object.assign(Object.assign({}, extra), existing);\n // extend existing props\n if (extra.class) {\n props.class = mergeClasses(props.class, extra.class);\n }\n if (extra.style) {\n props.style = Object.assign(Object.assign({}, extra.style), props.style);\n }\n return props;\n}\n\nexport { getCellRaw as A, getCellDataParsed as B, getColumnType as C, getColumnSizes as D, isColGrouping as E, getColumns as F, GROUP_DEPTH as G, gatherGroup as H, getColumnByProp as I, reduce as J, baseEach as K, toInteger as L, ColumnService as M, getCellEditor as N, isRowDragService as O, PSEUDO_GROUP_ITEM as P, doPropMerge as Q, cropCellToMax as a, isRangeSingleCell as b, columnTypes as c, PSEUDO_GROUP_ITEM_ID as d, PSEUDO_GROUP_ITEM_VALUE as e, PSEUDO_GROUP_COLUMN as f, getRange as g, GROUP_EXPANDED as h, isRowType as i, GROUP_COLUMN_PROP as j, GROUP_ORIGINAL_INDEX as k, GROUP_EXPAND_BTN as l, GROUP_EXPAND_EVENT as m, nextCell as n, GROUPING_ROW_TYPE as o, getSource as p, getExpanded as q, rowTypes as r, gatherGrouping as s, getGroupingName as t, isGrouping as u, isGroupingColumn as v, measureEqualDepth as w, getParsedGroup as x, isSameGroup as y, getCellData as z };\n","/*!\n * Built by Revolist OU ❤️\n */\nconst FALLBACK_MAX_SCROLL_SIZE = 16000000;\nconst SCROLL_SIZE_GUARD = 1000000;\nlet detectedMaxScrollSize;\nfunction getMaxScrollSize(doc = typeof document === 'undefined' ? undefined : document) {\n if (typeof detectedMaxScrollSize === 'number') {\n return detectedMaxScrollSize;\n }\n const body = doc === null || doc === void 0 ? void 0 : doc.body;\n if (body) {\n const ownerDocument = body.ownerDocument;\n const element = ownerDocument.createElement('div');\n element.style.cssText = [\n 'height:1px',\n 'left:-10000px',\n 'overflow:scroll',\n 'position:absolute',\n 'top:-10000px',\n 'visibility:hidden',\n 'width:1px',\n ].join(';');\n const content = ownerDocument.createElement('div');\n content.style.height = `${FALLBACK_MAX_SCROLL_SIZE * 4}px`;\n element.appendChild(content);\n body.appendChild(element);\n detectedMaxScrollSize = Math.max(0, Math.min(element.scrollHeight, FALLBACK_MAX_SCROLL_SIZE * 4) - SCROLL_SIZE_GUARD);\n element.remove();\n if (detectedMaxScrollSize > SCROLL_SIZE_GUARD) {\n return detectedMaxScrollSize;\n }\n detectedMaxScrollSize = FALLBACK_MAX_SCROLL_SIZE;\n return detectedMaxScrollSize;\n }\n return FALLBACK_MAX_SCROLL_SIZE;\n}\nfunction getScrollDimension({ contentSize, clientSize, virtualSize = 0, maxScrollSize = getMaxScrollSize(), }) {\n const safeContentSize = Math.max(0, maxScrollSize - SCROLL_SIZE_GUARD);\n const size = Math.max(0, contentSize);\n const client = Math.max(0, clientSize);\n const viewport = Math.max(0, virtualSize || client);\n const logicalScrollSize = Math.max(0, size - viewport);\n const maxPhysicalScrollSize = Math.max(0, safeContentSize - client);\n const physicalScrollSize = Math.min(logicalScrollSize, maxPhysicalScrollSize);\n const physicalContentSize = client + physicalScrollSize;\n const isCompressed = logicalScrollSize > physicalScrollSize && physicalScrollSize > 0;\n const clampLogical = (coordinate) => Math.min(Math.max(0, coordinate || 0), logicalScrollSize);\n const clampPhysical = (coordinate) => Math.min(Math.max(0, coordinate || 0), physicalScrollSize);\n const toLogicalCoordinate = (coordinate) => {\n if (!logicalScrollSize || !physicalScrollSize) {\n return 0;\n }\n if (!isCompressed) {\n return clampLogical(coordinate);\n }\n return clampLogical((clampPhysical(coordinate) / physicalScrollSize) * logicalScrollSize);\n };\n const toPhysicalCoordinate = (coordinate) => {\n if (!logicalScrollSize || !physicalScrollSize) {\n return 0;\n }\n if (!isCompressed) {\n return clampPhysical(coordinate);\n }\n return clampPhysical((clampLogical(coordinate) / logicalScrollSize) * physicalScrollSize);\n };\n return {\n contentSize: size,\n clientSize: client,\n viewportSize: viewport,\n physicalContentSize,\n logicalScrollSize,\n physicalScrollSize,\n isCompressed,\n toLogicalCoordinate,\n toPhysicalCoordinate,\n getRenderOffset(coordinate) {\n const logical = clampLogical(coordinate);\n return logical - toPhysicalCoordinate(logical);\n },\n };\n}\n\n/**\n * Collects data for pinned columns in the required @ViewportProps format.\n */\n/**\n * Represents the slot names for the viewport slots.\n */\nconst HEADER_SLOT = 'header'; // Slot name for the header slot\nconst FOOTER_SLOT = 'footer'; // Slot name for the footer slot\nconst CONTENT_SLOT = 'content'; // Slot name for the content slot\nconst DATA_SLOT = 'data'; // Slot name for the data slot\n/**\n * Returns the last visible cell in the viewport for a given row type.\n * Coordinates are not zero-based and are relative to the viewport.\n * If needed to be zero-based they can be adjusted by subtracting 1.\n */\nfunction getLastCell(data, rowType) {\n // Get the last visible column count from the viewport column data.\n const lastVisibleColumnCount = data.viewports[data.colType].store.get('realCount');\n // Get the last visible row count for the given row type from the viewport column data.\n const lastVisibleRowCount = data.viewports[rowType].store.get('realCount');\n // Return the last visible cell with the last visible column count and row count.\n return {\n x: lastVisibleColumnCount,\n y: lastVisibleRowCount,\n };\n}\nfunction viewportDataPartition(data, type, slot, fixed) {\n return {\n colData: data.colStore,\n viewportCol: data.viewports[data.colType].store,\n viewportRow: data.viewports[type].store,\n /**\n * lastCell is the last real coordinate + 1, saved to selection store\n */\n lastCell: getLastCell(data, type),\n slot,\n type,\n canDrag: !fixed,\n position: data.position,\n dataStore: data.rowStores[type].store,\n dimensionCol: data.dimensions[data.colType].store,\n dimensionRow: data.dimensions[type].store,\n style: fixed\n ? { height: `${data.dimensions[type].store.get('realSize')}px` }\n : undefined,\n };\n}\n\nexport { CONTENT_SLOT as C, DATA_SLOT as D, FOOTER_SLOT as F, HEADER_SLOT as H, getScrollDimension as g, viewportDataPartition as v };\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { h } from './chunk-G3C722QP.js';
|
|
2
|
+
|
|
3
|
+
// ../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/filter.button-DMhpuAiw.js
|
|
4
|
+
var FILTER_BUTTON_CLASS = "rv-filter";
|
|
5
|
+
var FILTER_BUTTON_ACTIVE = "active";
|
|
6
|
+
var FILTER_PROP = "hasFilter";
|
|
7
|
+
var AND_OR_BUTTON = "and-or-button";
|
|
8
|
+
var TRASH_BUTTON = "trash-button";
|
|
9
|
+
var REORDER_BUTTON = "reorder-button";
|
|
10
|
+
var FilterButton = ({ column }) => {
|
|
11
|
+
return h("span", null, h("button", { class: {
|
|
12
|
+
[FILTER_BUTTON_CLASS]: true,
|
|
13
|
+
[FILTER_BUTTON_ACTIVE]: column && !!column[FILTER_PROP]
|
|
14
|
+
} }, h("svg", { class: "filter-img", viewBox: "0 0 64 64" }, h("g", { stroke: "none", "stroke-width": "1", fill: "none", "fill-rule": "evenodd" }, h("path", { d: "M43,48 L43,56 L21,56 L21,48 L43,48 Z M53,28 L53,36 L12,36 L12,28 L53,28 Z M64,8 L64,16 L0,16 L0,8 L64,8 Z", fill: "currentColor" })))));
|
|
15
|
+
};
|
|
16
|
+
var TrashButton = ({ ariaLabel, onClick }) => {
|
|
17
|
+
return h("button", { type: "button", class: { [TRASH_BUTTON]: true }, "aria-label": ariaLabel, onClick }, h("svg", { class: "trash-img", viewBox: "0 0 24 24" }, h("path", { fill: "currentColor", d: "M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z" })));
|
|
18
|
+
};
|
|
19
|
+
var AndOrButton = ({ text, onClick }) => {
|
|
20
|
+
return h("button", { type: "button", class: { [AND_OR_BUTTON]: true, "light revo-button": true }, onClick }, text);
|
|
21
|
+
};
|
|
22
|
+
var ReorderButton = ({ ariaLabel, dragging, dragOver, onDragStart, onDragEnd, onDragOver, onDragLeave, onDrop, onKeyDown }) => {
|
|
23
|
+
return h("button", { type: "button", class: {
|
|
24
|
+
[REORDER_BUTTON]: true,
|
|
25
|
+
"filter-row-dragging": !!dragging,
|
|
26
|
+
"filter-row-drag-over": !!dragOver
|
|
27
|
+
}, draggable: true, title: ariaLabel, "aria-label": ariaLabel, onDragStart, onDragEnd, onDragOver, onDragLeave, onDrop, onKeyDown }, "::");
|
|
28
|
+
};
|
|
29
|
+
function isFilterBtn(e) {
|
|
30
|
+
if (e.classList.contains(FILTER_BUTTON_CLASS)) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
return e === null || e === void 0 ? void 0 : e.closest(`.${FILTER_BUTTON_CLASS}`);
|
|
34
|
+
}
|
|
35
|
+
/*! Bundled license information:
|
|
36
|
+
|
|
37
|
+
@revolist/revogrid/dist/esm/filter.button-DMhpuAiw.js:
|
|
38
|
+
(*!
|
|
39
|
+
* Built by Revolist OU ❤️
|
|
40
|
+
*)
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { AndOrButton, FILTER_PROP, FilterButton, ReorderButton, TrashButton, isFilterBtn };
|
|
44
|
+
//# sourceMappingURL=chunk-WDTTBY3S.js.map
|
|
45
|
+
//# sourceMappingURL=chunk-WDTTBY3S.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/filter.button-DMhpuAiw.js"],"names":[],"mappings":";;;AAKA,IAAM,mBAAA,GAAsB,WAAA;AAC5B,IAAM,oBAAA,GAAuB,QAAA;AAC7B,IAAM,WAAA,GAAc;AACpB,IAAM,aAAA,GAAgB,eAAA;AACtB,IAAM,YAAA,GAAe,cAAA;AACrB,IAAM,cAAA,GAAiB,gBAAA;AACvB,IAAM,YAAA,GAAe,CAAC,EAAE,MAAA,EAAO,KAAM;AACjC,EAAA,OAAQ,EAAE,MAAA,EAAQ,IAAA,EAAM,CAAA,CAAE,QAAA,EAAU,EAAE,KAAA,EAAO;AAAA,IACrC,CAAC,mBAAmB,GAAG,IAAA;AAAA,IACvB,CAAC,oBAAoB,GAAG,UAAU,CAAC,CAAC,OAAO,WAAW;AAAA,GAC1D,EAAE,EAAG,CAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,YAAA,EAAc,OAAA,EAAS,WAAA,EAAY,EAAG,CAAA,CAAE,GAAA,EAAK,EAAE,QAAQ,MAAA,EAAQ,cAAA,EAAgB,GAAA,EAAK,IAAA,EAAM,MAAA,EAAQ,WAAA,EAAa,SAAA,EAAU,EAAG,EAAE,MAAA,EAAQ,EAAE,CAAA,EAAG,2GAAA,EAA6G,MAAM,cAAA,EAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AACjT;AACA,IAAM,WAAA,GAAc,CAAC,EAAE,SAAA,EAAW,SAAQ,KAAM;AAC5C,EAAA,OAAQ,CAAA,CAAE,QAAA,EAAU,EAAE,IAAA,EAAM,UAAU,KAAA,EAAO,EAAE,CAAC,YAAY,GAAG,IAAA,EAAK,EAAG,YAAA,EAAc,WAAW,OAAA,EAAiB,EAAG,CAAA,CAAE,KAAA,EAAO,EAAE,KAAA,EAAO,WAAA,EAAa,OAAA,EAAS,aAAY,EAAG,CAAA,CAAE,MAAA,EAAQ,EAAE,MAAM,cAAA,EAAgB,CAAA,EAAG,8GAAA,EAAgH,CAAC,CAAC,CAAA;AACtU;AACA,IAAM,WAAA,GAAc,CAAC,EAAE,IAAA,EAAM,SAAQ,KAAM;AACvC,EAAA,OAAO,EAAE,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,mBAAA,EAAqB,IAAA,EAAK,EAAG,OAAA,IAAoB,IAAI,CAAA;AAC9H;AACA,IAAM,aAAA,GAAgB,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,QAAA,EAAU,WAAA,EAAa,SAAA,EAAW,UAAA,EAAY,WAAA,EAAa,MAAA,EAAQ,SAAA,EAAW,KAAM;AAC9H,EAAA,OAAQ,CAAA,CAAE,QAAA,EAAU,EAAE,IAAA,EAAM,UAAU,KAAA,EAAO;AAAA,IACrC,CAAC,cAAc,GAAG,IAAA;AAAA,IAClB,qBAAA,EAAuB,CAAC,CAAC,QAAA;AAAA,IACzB,sBAAA,EAAwB,CAAC,CAAC;AAAA,GAC9B,EAAG,SAAA,EAAW,IAAA,EAAM,KAAA,EAAO,WAAW,YAAA,EAAc,SAAA,EAAW,WAAA,EAA0B,SAAA,EAAsB,UAAA,EAAwB,WAAA,EAA0B,MAAA,EAAgB,SAAA,IAAwB,IAAI,CAAA;AACrN;AACA,SAAS,YAAY,CAAA,EAAG;AACpB,EAAA,IAAI,CAAA,CAAE,SAAA,CAAU,QAAA,CAAS,mBAAmB,CAAA,EAAG;AAC3C,IAAA,OAAO,IAAA;AAAA,EACX;AACA,EAAA,OAAO,CAAA,KAAM,QAAQ,CAAA,KAAM,MAAA,GAAS,SAAS,CAAA,CAAE,OAAA,CAAQ,CAAA,CAAA,EAAI,mBAAmB,CAAA,CAAE,CAAA;AACpF","file":"chunk-WDTTBY3S.js","sourcesContent":["/*!\n * Built by Revolist OU ❤️\n */\nimport { h } from './index-CtimkLsB.js';\n\nconst FILTER_BUTTON_CLASS = 'rv-filter';\nconst FILTER_BUTTON_ACTIVE = 'active';\nconst FILTER_PROP = 'hasFilter';\nconst AND_OR_BUTTON = 'and-or-button';\nconst TRASH_BUTTON = 'trash-button';\nconst REORDER_BUTTON = 'reorder-button';\nconst FilterButton = ({ column }) => {\n return (h(\"span\", null, h(\"button\", { class: {\n [FILTER_BUTTON_CLASS]: true,\n [FILTER_BUTTON_ACTIVE]: column && !!column[FILTER_PROP],\n } }, h(\"svg\", { class: \"filter-img\", viewBox: \"0 0 64 64\" }, h(\"g\", { stroke: \"none\", \"stroke-width\": \"1\", fill: \"none\", \"fill-rule\": \"evenodd\" }, h(\"path\", { d: \"M43,48 L43,56 L21,56 L21,48 L43,48 Z M53,28 L53,36 L12,36 L12,28 L53,28 Z M64,8 L64,16 L0,16 L0,8 L64,8 Z\", fill: \"currentColor\" }))))));\n};\nconst TrashButton = ({ ariaLabel, onClick }) => {\n return (h(\"button\", { type: \"button\", class: { [TRASH_BUTTON]: true }, \"aria-label\": ariaLabel, onClick: onClick }, h(\"svg\", { class: \"trash-img\", viewBox: \"0 0 24 24\" }, h(\"path\", { fill: \"currentColor\", d: \"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\" }))));\n};\nconst AndOrButton = ({ text, onClick }) => {\n return h(\"button\", { type: \"button\", class: { [AND_OR_BUTTON]: true, 'light revo-button': true }, onClick: onClick }, text);\n};\nconst ReorderButton = ({ ariaLabel, dragging, dragOver, onDragStart, onDragEnd, onDragOver, onDragLeave, onDrop, onKeyDown, }) => {\n return (h(\"button\", { type: \"button\", class: {\n [REORDER_BUTTON]: true,\n 'filter-row-dragging': !!dragging,\n 'filter-row-drag-over': !!dragOver,\n }, draggable: true, title: ariaLabel, \"aria-label\": ariaLabel, onDragStart: onDragStart, onDragEnd: onDragEnd, onDragOver: onDragOver, onDragLeave: onDragLeave, onDrop: onDrop, onKeyDown: onKeyDown }, \"::\"));\n};\nfunction isFilterBtn(e) {\n if (e.classList.contains(FILTER_BUTTON_CLASS)) {\n return true;\n }\n return e === null || e === void 0 ? void 0 : e.closest(`.${FILTER_BUTTON_CLASS}`);\n}\n\nexport { AND_OR_BUTTON as A, FILTER_BUTTON_CLASS as F, REORDER_BUTTON as R, TRASH_BUTTON as T, FILTER_BUTTON_ACTIVE as a, FILTER_PROP as b, FilterButton as c, TrashButton as d, AndOrButton as e, ReorderButton as f, isFilterBtn as i };\n"]}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { getScrollDimension } from './chunk-TXSK3CIN.js';
|
|
2
|
+
import { isObject, debounce } from './chunk-TFV4CJR4.js';
|
|
3
|
+
|
|
4
|
+
// ../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/throttle-Cpk1LoGk.js
|
|
5
|
+
var initialParams = {
|
|
6
|
+
contentSize: 0,
|
|
7
|
+
clientSize: 0,
|
|
8
|
+
virtualSize: 0,
|
|
9
|
+
maxSize: 0
|
|
10
|
+
};
|
|
11
|
+
var NO_COORDINATE = -1;
|
|
12
|
+
function getContentSize(contentSize, clientSize, virtualSize = 0) {
|
|
13
|
+
return getScrollDimension({
|
|
14
|
+
contentSize,
|
|
15
|
+
clientSize,
|
|
16
|
+
virtualSize
|
|
17
|
+
}).physicalContentSize;
|
|
18
|
+
}
|
|
19
|
+
var LocalScrollService = class {
|
|
20
|
+
constructor(cfg) {
|
|
21
|
+
this.cfg = cfg;
|
|
22
|
+
this.preventArtificialScroll = {
|
|
23
|
+
rgRow: null,
|
|
24
|
+
rgCol: null
|
|
25
|
+
};
|
|
26
|
+
this.previousScroll = {
|
|
27
|
+
rgRow: NO_COORDINATE,
|
|
28
|
+
rgCol: NO_COORDINATE
|
|
29
|
+
};
|
|
30
|
+
this.previousLogicalScroll = {
|
|
31
|
+
rgRow: 0,
|
|
32
|
+
rgCol: 0
|
|
33
|
+
};
|
|
34
|
+
this.params = {
|
|
35
|
+
rgRow: Object.assign({}, initialParams),
|
|
36
|
+
rgCol: Object.assign({}, initialParams)
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
setParams(params, dimension) {
|
|
40
|
+
const scrollDimension = getScrollDimension(params);
|
|
41
|
+
const virtualContentSize = scrollDimension.physicalContentSize;
|
|
42
|
+
this.params[dimension] = Object.assign(Object.assign({}, params), {
|
|
43
|
+
maxSize: virtualContentSize - params.clientSize,
|
|
44
|
+
virtualContentSize,
|
|
45
|
+
scrollDimension
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
// apply scroll values after scroll done
|
|
49
|
+
async setScroll(e) {
|
|
50
|
+
this.cancelScroll(e.dimension);
|
|
51
|
+
const frameAnimation = new Promise((resolve, reject) => {
|
|
52
|
+
if (this.cfg.skipAnimationFrame) {
|
|
53
|
+
return resolve();
|
|
54
|
+
}
|
|
55
|
+
const animationId = window.requestAnimationFrame(() => {
|
|
56
|
+
resolve();
|
|
57
|
+
});
|
|
58
|
+
this.preventArtificialScroll[e.dimension] = reject.bind(null, animationId);
|
|
59
|
+
});
|
|
60
|
+
try {
|
|
61
|
+
await frameAnimation;
|
|
62
|
+
const params = this.getParams(e.dimension);
|
|
63
|
+
e.coordinate = Math.ceil(e.coordinate);
|
|
64
|
+
this.previousLogicalScroll[e.dimension] = this.wrapLogicalCoordinate(e.coordinate, params);
|
|
65
|
+
const physicalCoordinate = this.toPhysicalCoordinate(e.coordinate, params);
|
|
66
|
+
this.previousScroll[e.dimension] = this.wrapPhysicalCoordinate(physicalCoordinate, params);
|
|
67
|
+
this.preventArtificialScroll[e.dimension] = null;
|
|
68
|
+
this.cfg.applyScroll(Object.assign(Object.assign({}, e), { coordinate: physicalCoordinate }));
|
|
69
|
+
} catch (id) {
|
|
70
|
+
window.cancelAnimationFrame(id);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async setScrollByDelta(e, currentPhysicalCoordinate) {
|
|
74
|
+
var _a;
|
|
75
|
+
const params = this.getParams(e.dimension);
|
|
76
|
+
const baseCoordinate = this.previousScroll[e.dimension] === NO_COORDINATE ? this.toLogicalCoordinate(currentPhysicalCoordinate, params) : this.previousLogicalScroll[e.dimension];
|
|
77
|
+
const coordinate = this.wrapLogicalCoordinate(baseCoordinate + ((_a = e.delta) !== null && _a !== void 0 ? _a : 0), params);
|
|
78
|
+
const nextEvent = Object.assign(Object.assign({}, e), { coordinate });
|
|
79
|
+
await this.setScroll(nextEvent);
|
|
80
|
+
return nextEvent;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* On scroll event started
|
|
84
|
+
*/
|
|
85
|
+
scroll(coordinate, dimension, force = false, delta, outside = false) {
|
|
86
|
+
this.cancelScroll(dimension);
|
|
87
|
+
if (!force && this.previousScroll[dimension] === coordinate) {
|
|
88
|
+
this.previousScroll[dimension] = NO_COORDINATE;
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const param = this.getParams(dimension);
|
|
92
|
+
const logicalCoordinate = this.toLogicalScrollCoordinate(coordinate, dimension, param, delta);
|
|
93
|
+
this.cfg.runScroll({
|
|
94
|
+
dimension,
|
|
95
|
+
coordinate: logicalCoordinate,
|
|
96
|
+
delta,
|
|
97
|
+
outside
|
|
98
|
+
});
|
|
99
|
+
this.previousLogicalScroll[dimension] = logicalCoordinate;
|
|
100
|
+
}
|
|
101
|
+
getParams(dimension) {
|
|
102
|
+
return this.params[dimension];
|
|
103
|
+
}
|
|
104
|
+
// check if scroll outside of region to avoid looping
|
|
105
|
+
wrapPhysicalCoordinate(c, param) {
|
|
106
|
+
if (c < 0) {
|
|
107
|
+
return NO_COORDINATE;
|
|
108
|
+
}
|
|
109
|
+
if (typeof param.maxSize === "number" && c > param.maxSize) {
|
|
110
|
+
return param.maxSize;
|
|
111
|
+
}
|
|
112
|
+
return c;
|
|
113
|
+
}
|
|
114
|
+
wrapLogicalCoordinate(c, param) {
|
|
115
|
+
var _a, _b;
|
|
116
|
+
if (c < 0) {
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
return Math.min(c, (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.logicalScrollSize) !== null && _b !== void 0 ? _b : c);
|
|
120
|
+
}
|
|
121
|
+
// prevent already started scroll, performance optimization
|
|
122
|
+
cancelScroll(dimension) {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
(_b = (_a = this.preventArtificialScroll)[dimension]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
125
|
+
this.preventArtificialScroll[dimension] = null;
|
|
126
|
+
}
|
|
127
|
+
toLogicalScrollCoordinate(coordinate, dimension, param, delta) {
|
|
128
|
+
const scrollDimension = param.scrollDimension;
|
|
129
|
+
if (!scrollDimension) {
|
|
130
|
+
return coordinate;
|
|
131
|
+
}
|
|
132
|
+
if (typeof delta === "number" && scrollDimension.isCompressed) {
|
|
133
|
+
const base = this.previousScroll[dimension] === NO_COORDINATE ? scrollDimension.toLogicalCoordinate(coordinate - delta) : this.previousLogicalScroll[dimension];
|
|
134
|
+
return scrollDimension.toLogicalCoordinate(scrollDimension.toPhysicalCoordinate(base + delta));
|
|
135
|
+
}
|
|
136
|
+
return scrollDimension.toLogicalCoordinate(coordinate);
|
|
137
|
+
}
|
|
138
|
+
toPhysicalCoordinate(coordinate, param) {
|
|
139
|
+
var _a, _b;
|
|
140
|
+
return (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.toPhysicalCoordinate(coordinate)) !== null && _b !== void 0 ? _b : coordinate;
|
|
141
|
+
}
|
|
142
|
+
toLogicalCoordinate(coordinate, param) {
|
|
143
|
+
var _a, _b;
|
|
144
|
+
return (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.toLogicalCoordinate(coordinate)) !== null && _b !== void 0 ? _b : coordinate;
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
var LocalScrollTimer = class {
|
|
148
|
+
constructor(scrollThrottling = 10) {
|
|
149
|
+
this.scrollThrottling = scrollThrottling;
|
|
150
|
+
this.mouseWheelScrollTimestamp = {
|
|
151
|
+
rgCol: 0,
|
|
152
|
+
rgRow: 0
|
|
153
|
+
};
|
|
154
|
+
this.lastKnownScrollCoordinate = {
|
|
155
|
+
rgCol: 0,
|
|
156
|
+
rgRow: 0
|
|
157
|
+
};
|
|
158
|
+
this.lastScrollUpdateCallbacks = {};
|
|
159
|
+
}
|
|
160
|
+
setCoordinate(e) {
|
|
161
|
+
this.lastKnownScrollCoordinate[e.dimension] = e.coordinate;
|
|
162
|
+
}
|
|
163
|
+
setCoordinateFromScroll(e) {
|
|
164
|
+
this.setCoordinate(e);
|
|
165
|
+
this.mouseWheelScrollTimestamp[e.dimension] = 0;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Remember last mw event time
|
|
169
|
+
*/
|
|
170
|
+
latestScrollUpdate(dimension) {
|
|
171
|
+
this.mouseWheelScrollTimestamp[dimension] = (/* @__PURE__ */ new Date()).getTime();
|
|
172
|
+
}
|
|
173
|
+
isReady(type, coordinate) {
|
|
174
|
+
if (this.lastScrollUpdateCallbacks[type]) {
|
|
175
|
+
this.clearLastScrollUpdate(type);
|
|
176
|
+
}
|
|
177
|
+
return this.verifyChange(type, coordinate);
|
|
178
|
+
}
|
|
179
|
+
verifyChange(type, coordinate) {
|
|
180
|
+
const now = (/* @__PURE__ */ new Date()).getTime();
|
|
181
|
+
const change = now - this.mouseWheelScrollTimestamp[type];
|
|
182
|
+
return change > this.scrollThrottling && coordinate !== this.lastKnownScrollCoordinate[type];
|
|
183
|
+
}
|
|
184
|
+
clearLastScrollUpdate(type) {
|
|
185
|
+
var _a, _b;
|
|
186
|
+
clearTimeout((_b = (_a = this.lastScrollUpdateCallbacks[type]) === null || _a === void 0 ? void 0 : _a.timeout) !== null && _b !== void 0 ? _b : 0);
|
|
187
|
+
delete this.lastScrollUpdateCallbacks[type];
|
|
188
|
+
}
|
|
189
|
+
throttleLastScrollUpdate(type, coordinate, lastScrollUpdate) {
|
|
190
|
+
if (this.scrollThrottling) {
|
|
191
|
+
this.clearLastScrollUpdate(type);
|
|
192
|
+
const callback = this.lastScrollUpdateCallbacks[type] = {
|
|
193
|
+
callback: lastScrollUpdate,
|
|
194
|
+
timestamp: (/* @__PURE__ */ new Date()).getTime(),
|
|
195
|
+
coordinate,
|
|
196
|
+
timeout: 0
|
|
197
|
+
};
|
|
198
|
+
callback.timeout = setTimeout(() => {
|
|
199
|
+
this.clearLastScrollUpdate(type);
|
|
200
|
+
if (this.mouseWheelScrollTimestamp[type] < callback.timestamp && this.verifyChange(type, callback.coordinate)) {
|
|
201
|
+
callback.callback();
|
|
202
|
+
}
|
|
203
|
+
}, this.scrollThrottling + 50);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
var FUNC_ERROR_TEXT = "Expected a function";
|
|
208
|
+
function throttle(func, wait, options) {
|
|
209
|
+
var leading = true, trailing = true;
|
|
210
|
+
if (typeof func != "function") {
|
|
211
|
+
throw new TypeError(FUNC_ERROR_TEXT);
|
|
212
|
+
}
|
|
213
|
+
if (isObject(options)) {
|
|
214
|
+
leading = "leading" in options ? !!options.leading : leading;
|
|
215
|
+
trailing = "trailing" in options ? !!options.trailing : trailing;
|
|
216
|
+
}
|
|
217
|
+
return debounce(func, wait, {
|
|
218
|
+
"leading": leading,
|
|
219
|
+
"maxWait": wait,
|
|
220
|
+
"trailing": trailing
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
/*! Bundled license information:
|
|
224
|
+
|
|
225
|
+
@revolist/revogrid/dist/esm/throttle-Cpk1LoGk.js:
|
|
226
|
+
(*!
|
|
227
|
+
* Built by Revolist OU ❤️
|
|
228
|
+
*)
|
|
229
|
+
*/
|
|
230
|
+
|
|
231
|
+
export { LocalScrollService, LocalScrollTimer, getContentSize, throttle };
|
|
232
|
+
//# sourceMappingURL=chunk-ZI3RYCAR.js.map
|
|
233
|
+
//# sourceMappingURL=chunk-ZI3RYCAR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/@revolist+revogrid@4.25.2/node_modules/@revolist/revogrid/dist/esm/throttle-Cpk1LoGk.js"],"names":[],"mappings":"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","file":"chunk-ZI3RYCAR.js","sourcesContent":["/*!\n * Built by Revolist OU ❤️\n */\nimport { g as getScrollDimension } from './viewport.helpers-CoCAvmZs.js';\nimport { d as debounce, i as isObject } from './debounce-PCRWZliA.js';\n\nconst initialParams = {\n contentSize: 0,\n clientSize: 0,\n virtualSize: 0,\n maxSize: 0,\n};\nconst NO_COORDINATE = -1;\n/**\n * Based on content size, client size and virtual size\n * return full size\n */\nfunction getContentSize(contentSize, clientSize, virtualSize = 0) {\n return getScrollDimension({\n contentSize,\n clientSize,\n virtualSize,\n }).physicalContentSize;\n}\nclass LocalScrollService {\n constructor(cfg) {\n this.cfg = cfg;\n this.preventArtificialScroll = {\n rgRow: null,\n rgCol: null,\n };\n // to check if scroll changed\n this.previousScroll = {\n rgRow: NO_COORDINATE,\n rgCol: NO_COORDINATE,\n };\n this.previousLogicalScroll = {\n rgRow: 0,\n rgCol: 0,\n };\n this.params = {\n rgRow: Object.assign({}, initialParams),\n rgCol: Object.assign({}, initialParams),\n };\n }\n setParams(params, dimension) {\n const scrollDimension = getScrollDimension(params);\n const virtualContentSize = scrollDimension.physicalContentSize;\n this.params[dimension] = Object.assign(Object.assign({}, params), { maxSize: virtualContentSize - params.clientSize, virtualContentSize,\n scrollDimension });\n }\n // apply scroll values after scroll done\n async setScroll(e) {\n this.cancelScroll(e.dimension);\n // start frame animation\n const frameAnimation = new Promise((resolve, reject) => {\n // for example safari desktop has issues with animation frame\n if (this.cfg.skipAnimationFrame) {\n return resolve();\n }\n const animationId = window.requestAnimationFrame(() => {\n resolve();\n });\n this.preventArtificialScroll[e.dimension] = reject.bind(null, animationId);\n });\n try {\n await frameAnimation;\n const params = this.getParams(e.dimension);\n e.coordinate = Math.ceil(e.coordinate);\n this.previousLogicalScroll[e.dimension] = this.wrapLogicalCoordinate(e.coordinate, params);\n const physicalCoordinate = this.toPhysicalCoordinate(e.coordinate, params);\n this.previousScroll[e.dimension] = this.wrapPhysicalCoordinate(physicalCoordinate, params);\n this.preventArtificialScroll[e.dimension] = null;\n this.cfg.applyScroll(Object.assign(Object.assign({}, e), { coordinate: physicalCoordinate }));\n }\n catch (id) {\n window.cancelAnimationFrame(id);\n }\n }\n async setScrollByDelta(e, currentPhysicalCoordinate) {\n var _a;\n const params = this.getParams(e.dimension);\n const baseCoordinate = this.previousScroll[e.dimension] === NO_COORDINATE\n ? this.toLogicalCoordinate(currentPhysicalCoordinate, params)\n : this.previousLogicalScroll[e.dimension];\n const coordinate = this.wrapLogicalCoordinate(baseCoordinate + ((_a = e.delta) !== null && _a !== void 0 ? _a : 0), params);\n const nextEvent = Object.assign(Object.assign({}, e), { coordinate });\n await this.setScroll(nextEvent);\n return nextEvent;\n }\n /**\n * On scroll event started\n */\n scroll(coordinate, dimension, force = false, delta, outside = false) {\n // cancel all previous scrolls for same dimension\n this.cancelScroll(dimension);\n // drop if no change\n if (!force && this.previousScroll[dimension] === coordinate) {\n this.previousScroll[dimension] = NO_COORDINATE;\n return;\n }\n const param = this.getParams(dimension);\n const logicalCoordinate = this.toLogicalScrollCoordinate(coordinate, dimension, param, delta);\n // let component know about scroll event started\n this.cfg.runScroll({\n dimension: dimension,\n coordinate: logicalCoordinate,\n delta,\n outside,\n });\n this.previousLogicalScroll[dimension] = logicalCoordinate;\n }\n getParams(dimension) {\n return this.params[dimension];\n }\n // check if scroll outside of region to avoid looping\n wrapPhysicalCoordinate(c, param) {\n if (c < 0) {\n return NO_COORDINATE;\n }\n if (typeof param.maxSize === 'number' && c > param.maxSize) {\n return param.maxSize;\n }\n return c;\n }\n wrapLogicalCoordinate(c, param) {\n var _a, _b;\n if (c < 0) {\n return 0;\n }\n return Math.min(c, (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.logicalScrollSize) !== null && _b !== void 0 ? _b : c);\n }\n // prevent already started scroll, performance optimization\n cancelScroll(dimension) {\n var _a, _b;\n (_b = (_a = this.preventArtificialScroll)[dimension]) === null || _b === void 0 ? void 0 : _b.call(_a);\n this.preventArtificialScroll[dimension] = null;\n }\n toLogicalScrollCoordinate(coordinate, dimension, param, delta) {\n const scrollDimension = param.scrollDimension;\n if (!scrollDimension) {\n return coordinate;\n }\n if (typeof delta === 'number' && scrollDimension.isCompressed) {\n const base = this.previousScroll[dimension] === NO_COORDINATE\n ? scrollDimension.toLogicalCoordinate(coordinate - delta)\n : this.previousLogicalScroll[dimension];\n return scrollDimension.toLogicalCoordinate(scrollDimension.toPhysicalCoordinate(base + delta));\n }\n return scrollDimension.toLogicalCoordinate(coordinate);\n }\n toPhysicalCoordinate(coordinate, param) {\n var _a, _b;\n return (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.toPhysicalCoordinate(coordinate)) !== null && _b !== void 0 ? _b : coordinate;\n }\n toLogicalCoordinate(coordinate, param) {\n var _a, _b;\n return (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.toLogicalCoordinate(coordinate)) !== null && _b !== void 0 ? _b : coordinate;\n }\n}\n\n/**\n * Apply changes only if mousewheel event happened some time ago (scrollThrottling)\n */\nclass LocalScrollTimer {\n constructor(scrollThrottling = 10) {\n this.scrollThrottling = scrollThrottling;\n /**\n * Last mw event time for trigger scroll function below\n * If mousewheel function was ignored we still need to trigger render\n */\n this.mouseWheelScrollTimestamp = {\n rgCol: 0,\n rgRow: 0,\n };\n this.lastKnownScrollCoordinate = {\n rgCol: 0,\n rgRow: 0,\n };\n /**\n * Check if scroll is ready to accept new value\n * this is an edge case for scroll events\n * when we need to apply scroll after throttling\n */\n this.lastScrollUpdateCallbacks = {};\n }\n setCoordinate(e) {\n this.lastKnownScrollCoordinate[e.dimension] = e.coordinate;\n }\n setCoordinateFromScroll(e) {\n this.setCoordinate(e);\n this.mouseWheelScrollTimestamp[e.dimension] = 0;\n }\n /**\n * Remember last mw event time\n */\n latestScrollUpdate(dimension) {\n this.mouseWheelScrollTimestamp[dimension] = new Date().getTime();\n }\n isReady(type, coordinate) {\n // if there is a callback, clear it\n if (this.lastScrollUpdateCallbacks[type]) {\n this.clearLastScrollUpdate(type);\n }\n // apply after throttling\n return this.verifyChange(type, coordinate);\n }\n verifyChange(type, coordinate) {\n const now = new Date().getTime();\n const change = now - this.mouseWheelScrollTimestamp[type];\n return change > this.scrollThrottling &&\n coordinate !== this.lastKnownScrollCoordinate[type];\n }\n clearLastScrollUpdate(type) {\n var _a, _b;\n clearTimeout((_b = (_a = this.lastScrollUpdateCallbacks[type]) === null || _a === void 0 ? void 0 : _a.timeout) !== null && _b !== void 0 ? _b : 0);\n delete this.lastScrollUpdateCallbacks[type];\n }\n throttleLastScrollUpdate(type, coordinate, lastScrollUpdate) {\n // if scrollThrottling is set\n // we need to throttle the last scroll event\n if (this.scrollThrottling) {\n this.clearLastScrollUpdate(type);\n // save lastScrollUpdate callback\n const callback = this.lastScrollUpdateCallbacks[type] = {\n callback: lastScrollUpdate,\n timestamp: new Date().getTime(),\n coordinate,\n timeout: 0,\n };\n callback.timeout = setTimeout(() => {\n // clear timeout\n this.clearLastScrollUpdate(type);\n // if scrollThrottling is set, and the last scroll event happened before the timeout started\n // we need to throttle the last scroll event\n if (this.mouseWheelScrollTimestamp[type] < callback.timestamp && this.verifyChange(type, callback.coordinate)) {\n callback.callback();\n }\n }, this.scrollThrottling + 50);\n }\n }\n}\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport { LocalScrollTimer as L, LocalScrollService as a, getContentSize as g, throttle as t };\n"]}
|