@revolist/revogrid 4.8.15 → 4.8.16

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.
@@ -5,7 +5,7 @@
5
5
 
6
6
  const dimension_helpers = require('./dimension.helpers-75de0b84.js');
7
7
  require('./toNumber-838e6ff5.js');
8
- require('./index-a2370c46.js');
8
+ const index = require('./index-a2370c46.js');
9
9
 
10
10
  /**
11
11
  * Storing pre-calculated
@@ -133,6 +133,7 @@ class BasePlugin {
133
133
  constructor(revogrid, providers) {
134
134
  this.revogrid = revogrid;
135
135
  this.providers = providers;
136
+ this.h = index.h;
136
137
  this.subscriptions = {};
137
138
  }
138
139
  /**
@@ -215,4 +216,4 @@ exports.columnTypes = columnTypes;
215
216
  exports.isRowType = isRowType;
216
217
  exports.rowTypes = rowTypes;
217
218
 
218
- //# sourceMappingURL=base.plugin-a323e377.js.map
219
+ //# sourceMappingURL=base.plugin-20638e28.js.map
@@ -0,0 +1 @@
1
+ {"file":"base.plugin-20638e28.js","mappings":";;;;;;;;;AAAA;;;;AAuBA,MAAM,aAAa,GAAG,CACpB,KAAqB;IAErB,IAAI,WAAW,GAAoC,EAAE,CAAC;IAEtD,MAAM,UAAU,GAAG,CACjB,KAAsC,EACtC,OAA0C;QAE1C,MAAM,OAAO,qBAAQ,KAAK,CAAE,CAAC;QAC7B,WAAW,GAAG,EAAE,CAAC;QACjBA,sBAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK;YACrB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;gBACvB,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;aACvB;SACF,CAAC,CAAC;QACH,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,OAAO;QACL,GAAG,CAAC,GAAG,EAAE,GAAG;YACV,QAAQ,GAAG;gBACT,KAAK,SAAS;oBACZ,MAAM,IAAI,GAAG,GAAwC,CAAC;oBACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;;oBAEvC,UAAU,iCAAM,KAAK,GAAK,WAAW,GAAI,IAAI,CAAC,CAAC;oBAC/C,MAAM;aACT;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,KAAqB;IAErB,OAAO;QACL,GAAG,CAAC,CAAC;YACH,QAAQ,CAAC;gBACP,KAAK,OAAO,CAAC;gBACb,KAAK,OAAO,CAAC;gBACb,KAAK,gBAAgB;oBACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;wBAC9B,QAAQ;4BACN,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;qBACpE;oBACD,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;aAChC;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,WAAW;IAClB,OAAO;QACL,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,CAAC;;QAGR,OAAO,EAAE,EAAE;;;;QAKX,KAAK,EAAE,EAAE;;QAET,mBAAmB,EAAE,EAAE;;QAEvB,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,uCACK,WAAW,EAAE;;QAEhB,QAAQ,EAAE,CAAC;;QAGX,cAAc,EAAE,CAAC,IACjB;AACJ,CAAC;MAEY,cAAc;IAEzB;QACE,IAAI,CAAC,KAAK,GAAGC,6BAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;KACtC;IAED,eAAe;QACb,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,OAAOC,0BAAM,CACX,IAAI,EACJ,CAAC,CAAyB,EAAE,CAAO;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAa,CAAC;YACrB,OAAO,CAAC,CAAC;SACV,EACD,KAAK,CACN,CAAC;KACH;IAED,OAAO;QACLC,0BAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;KACtC;IAED,QAAQ,CAAgC,IAAgB;QACtDA,0BAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KAC5B;IAED,IAAI;QACFA,0BAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;KACrC;;;;;;IAOD,gBAAgB,CAAC,KAA0B;QACzC,MAAM,aAAa,GAAGC,wCAAsB,CAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAChC,KAAK,CACN,CAAC;QACFD,0BAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;KACrC;;;MClJU,QAAQ,GAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE;MAClE,WAAW,GAAoB;IAC1C,aAAa;IACb,OAAO;IACP,WAAW;EACX;SAEc,SAAS,CAAC,IAAyB;IACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC;;ACXA;;;;;MAKa,UAAU;IAGrB,YAAmB,QAA6B,EAAS,SAA0B;QAAhE,aAAQ,GAAR,QAAQ,CAAqB;QAAS,cAAS,GAAT,SAAS,CAAiB;QAF1E,MAAC,GAAGE,OAAC,CAAC;QACN,kBAAa,GAA6C,EAAE,CAAC;KACiB;;;;;;IAMvF,gBAAgB,CACd,SAAiB,EACjB,QAAkC;QAElC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;KAC1C;;;;;;;;;IAUD,KAAK,CACH,IAAY,EACZ,QAAoC,EACpC,EAAE,SAAS,KAA2B,EAAE,SAAS,EAAE,KAAK,EAAE;QAE1D,MAAM,eAAe,GACnB,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACpD,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;;QAG7E,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;YACzC,GAAG,CAAC,GAAM;;gBACR,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,WAAW,KAAK,KAAK,EAAE;oBACzB,OAAO;iBACR;;gBAED,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,0CAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC9C;YACD,GAAG;;;gBAED,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aACzC;SACF,CAAC,CAAC;QACH,IAAI,SAAS,EAAE;YACb,QAAQ,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,CAAC,CAAC;SAClC;KACF;;;;;IAMD,mBAAmB,CAAC,SAAiB;QACnC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;KACtC;;;;;IAMD,IAAI,CAAU,SAAiB,EAAE,MAAU;QACzC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAI,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;KACd;;;;IAKD,kBAAkB;QAChB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;YACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAChC;KACF;;;;IAKD,OAAO;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;;;;;;;;;","names":["each","createStore","reduce","setStore","calculateDimensionData","h"],"sources":["src/store/dimension/dimension.store.ts","src/store/index.ts","src/plugins/base.plugin.ts"],"sourcesContent":["/**\n * Storing pre-calculated\n * Dimension information and sizes\n */\nimport reduce from 'lodash/reduce';\nimport { createStore } from '@stencil/store';\n\nimport { setStore, Observable, PluginSubscribe } from '../../utils/store.utils';\nimport { calculateDimensionData } from './dimension.helpers';\nimport each from 'lodash/each';\nimport {\n DimensionCalc,\n DimensionSettingsState,\n ViewSettingSizeProp,\n MultiDimensionType,\n} from '@type';\n\nexport type DimensionStoreCollection = {\n [T in MultiDimensionType]: DimensionStore;\n};\n\ntype Item = keyof DimensionSettingsState;\n\nconst trimmedPlugin = (\n store: DimensionStore,\n): PluginSubscribe<DimensionSettingsState> => {\n let trimmedSize: DimensionSettingsState['sizes'] = {};\n\n const setTrimmed = (\n sizes: DimensionSettingsState['sizes'],\n trimmed: DimensionSettingsState['trimmed'],\n ) => {\n const newSize = { ...sizes };\n trimmedSize = {};\n each(trimmed, (v, index) => {\n if (v && newSize[index]) {\n trimmedSize[index] = newSize[index];\n delete newSize[index];\n }\n });\n store.setDimensionSize(newSize);\n };\n return {\n set(key, val) {\n switch (key) {\n case 'trimmed':\n const trim = val as DimensionSettingsState['trimmed'];\n const sizes = store.store.get('sizes');\n // recover trimmed, apply new trim\n setTrimmed({ ...sizes, ...trimmedSize }, trim);\n break;\n }\n },\n };\n};\n\nconst realSizePlugin = (\n store: DimensionStore,\n): PluginSubscribe<DimensionSettingsState> => {\n return {\n set(k) {\n switch (k) {\n case 'count':\n case 'sizes':\n case 'originItemSize':\n let realSize = 0;\n const count = store.store.get('count');\n for (let i = 0; i < count; i++) {\n realSize +=\n store.store.get('sizes')[i] || store.store.get('originItemSize');\n }\n store.setStore({ realSize });\n }\n },\n };\n};\n\nfunction initialBase(): DimensionCalc {\n return {\n indexes: [],\n count: 0,\n\n // plugin support\n trimmed: {},\n\n // size operations, this provider stores only changed sizes, not all of them\n // same as indexes but for sizes and positions\n // item index to size\n sizes: {},\n // order in indexes[] to coordinate\n positionIndexToItem: {},\n // initial element to coordinate ^\n indexToItem: {},\n positionIndexes: [],\n };\n}\n\nfunction initialState(): DimensionSettingsState {\n return {\n ...initialBase(),\n // size which all items can take\n realSize: 0,\n\n // initial item size if it wasn't changed\n originItemSize: 0,\n };\n}\n\nexport class DimensionStore {\n readonly store: Observable<DimensionSettingsState>;\n constructor() {\n this.store = createStore(initialState());\n this.store.use(trimmedPlugin(this));\n this.store.use(realSizePlugin(this));\n }\n\n getCurrentState(): DimensionSettingsState {\n const state = initialState();\n const keys = Object.keys(state);\n return reduce(\n keys,\n (r: DimensionSettingsState, k: Item) => {\n const data = this.store.get(k);\n r[k] = data as never;\n return r;\n },\n state,\n );\n }\n\n dispose() {\n setStore(this.store, initialState());\n }\n\n setStore<T extends Record<string, any>>(data: Partial<T>) {\n setStore(this.store, data);\n }\n\n drop() {\n setStore(this.store, initialBase());\n }\n\n /**\n * Set custom dimension sizes and overwrite old\n * Generates new indexes based on sizes\n * @param sizes - sizes to set\n */\n setDimensionSize(sizes: ViewSettingSizeProp) {\n const dimensionData = calculateDimensionData(\n this.store.get('originItemSize'),\n sizes,\n );\n setStore(this.store, dimensionData);\n }\n}\n","import type { DimensionCols, DimensionRows } from '@type';\n\nexport * from './dataSource';\nexport * from './dimension';\nexport * from './selection';\nexport * from './vp';\n\nexport const rowTypes: DimensionRows[] = ['rowPinStart', 'rgRow', 'rowPinEnd'];\nexport const columnTypes: DimensionCols[] = [\n 'colPinStart',\n 'rgCol',\n 'colPinEnd',\n];\n\nexport function isRowType(type: DimensionRows | any): type is DimensionRows {\n return rowTypes.indexOf(type) > -1;\n}\n","import { h } from '@stencil/core';\nimport { PluginProviders, PluginBaseComponent } from '..';\n\ntype WatchConfig = { immediate: boolean };\n\n/**\n * Base layer for plugins\n * Provide minimal starting core for plugins to work\n * Extend this class to create plugin\n */\nexport class BasePlugin implements PluginBaseComponent {\n readonly h = h;\n readonly subscriptions: Record<string, (...args: any[]) => void> = {};\n constructor(public revogrid: HTMLRevoGridElement, public providers: PluginProviders) {}\n /**\n *\n * @param eventName - event name to subscribe to in revo-grid component (e.g. 'beforeheaderclick')\n * @param callback - callback function for event\n */\n addEventListener(\n eventName: string,\n callback: (e: CustomEvent) => void,\n ) {\n this.revogrid.addEventListener(eventName, callback);\n this.subscriptions[eventName] = callback;\n }\n\n /**\n * Subscribe to property change in revo-grid component\n * You can return false in callback to prevent default value set\n *\n * @param prop - property name\n * @param callback - callback function\n * @param immediate - trigger callback immediately with current value\n */\n watch<T extends any>(\n prop: string,\n callback: (arg: T) => boolean | void,\n { immediate }: Partial<WatchConfig> = { immediate: false },\n ) {\n const nativeValueDesc =\n Object.getOwnPropertyDescriptor(this.revogrid, prop) ||\n Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);\n\n // Overwrite property descriptor for this instance\n Object.defineProperty(this.revogrid, prop, {\n set(val: T) {\n const keepDefault = callback(val);\n if (keepDefault === false) {\n return;\n }\n // Continue with native behavior\n return nativeValueDesc?.set?.call(this, val);\n },\n get() {\n // Continue with native behavior\n return nativeValueDesc?.get?.call(this);\n },\n });\n if (immediate) {\n callback(nativeValueDesc?.value);\n }\n }\n\n /**\n * Remove event listener\n * @param eventName\n */\n removeEventListener(eventName: string) {\n this.revogrid.removeEventListener(eventName, this.subscriptions[eventName]);\n delete this.subscriptions[eventName];\n }\n\n /**\n * Emit event from revo-grid component\n * Event can be cancelled by calling event.preventDefault() in callback\n */\n emit<T = any>(eventName: string, detail?: T) {\n const event = new CustomEvent<T>(eventName, { detail, cancelable: true });\n this.revogrid.dispatchEvent(event);\n return event;\n }\n\n /**\n * Clear all subscriptions\n */\n clearSubscriptions() {\n for (let type in this.subscriptions) {\n this.removeEventListener(type);\n }\n }\n\n /**\n * Destroy plugin and clear all subscriptions\n */\n destroy() {\n this.clearSubscriptions();\n }\n}\n"],"version":3}
@@ -5,13 +5,13 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const base_plugin = require('./base.plugin-a323e377.js');
8
+ const base_plugin = require('./base.plugin-20638e28.js');
9
9
  const dispatcher = require('./dispatcher-998aa470.js');
10
10
  const dimension_helpers = require('./dimension.helpers-75de0b84.js');
11
+ const index = require('./index-a2370c46.js');
11
12
  const selection_helpers = require('./selection.helpers-4982680f.js');
12
13
  const viewport_store = require('./viewport.store-aa91fe75.js');
13
14
  require('./toNumber-838e6ff5.js');
14
- require('./index-a2370c46.js');
15
15
 
16
16
 
17
17
 
@@ -37,6 +37,7 @@ exports.setSourceByPhysicalIndex = dimension_helpers.setSourceByPhysicalIndex;
37
37
  exports.setSourceByVirtualIndex = dimension_helpers.setSourceByVirtualIndex;
38
38
  exports.setStore = dimension_helpers.setStore;
39
39
  exports.trimmedPlugin = dimension_helpers.trimmedPlugin;
40
+ exports.h = index.h;
40
41
  exports.SelectionStore = selection_helpers.SelectionStore;
41
42
  exports.cropCellToMax = selection_helpers.cropCellToMax;
42
43
  exports.getRange = selection_helpers.getRange;
@@ -1 +1 @@
1
- {"file":"index.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
1
+ {"file":"index.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index$1 = require('./index-a2370c46.js');
9
9
  const dimension_helpers = require('./dimension.helpers-75de0b84.js');
10
- const base_plugin = require('./base.plugin-a323e377.js');
10
+ const base_plugin = require('./base.plugin-20638e28.js');
11
11
  const toNumber = require('./toNumber-838e6ff5.js');
12
12
  const selection_helpers = require('./selection.helpers-4982680f.js');
13
13
  const debounce = require('./debounce-e2b7c6fb.js');
@@ -7,4 +7,5 @@ export * from './plugins/base.plugin';
7
7
  export * from './plugins/dispatcher';
8
8
  export * from './components';
9
9
  export * from './utils/store.utils';
10
+ export { h } from '@stencil/core';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './types';\nexport * from './store';\nexport * from './plugins/base.plugin';\nexport * from './plugins/dispatcher';\nexport * from './components';\nexport * from './utils/store.utils';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export * from './types';\nexport * from './store';\nexport * from './plugins/base.plugin';\nexport * from './plugins/dispatcher';\nexport * from './components';\nexport * from './utils/store.utils';\nexport { h } from '@stencil/core';\n"]}
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
+ import { h } from "@stencil/core";
4
5
  /**
5
6
  * Base layer for plugins
6
7
  * Provide minimal starting core for plugins to work
@@ -10,6 +11,7 @@ export class BasePlugin {
10
11
  constructor(revogrid, providers) {
11
12
  this.revogrid = revogrid;
12
13
  this.providers = providers;
14
+ this.h = h;
13
15
  this.subscriptions = {};
14
16
  }
15
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"base.plugin.js","sourceRoot":"","sources":["../../src/plugins/base.plugin.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAErB,YAAmB,QAA6B,EAAS,SAA0B;QAAhE,aAAQ,GAAR,QAAQ,CAAqB;QAAS,cAAS,GAAT,SAAS,CAAiB;QAD1E,kBAAa,GAA6C,EAAE,CAAC;IACgB,CAAC;IACvF;;;;OAIG;IACH,gBAAgB,CACd,SAAiB,EACjB,QAAkC;QAElC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACH,IAAY,EACZ,QAAoC,EACpC,EAAE,SAAS,KAA2B,EAAE,SAAS,EAAE,KAAK,EAAE;QAE1D,MAAM,eAAe,GACnB,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACpD,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE7E,kDAAkD;QAClD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;YACzC,GAAG,CAAC,GAAM;;gBACR,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC1B,OAAO;gBACT,CAAC;gBACD,gCAAgC;gBAChC,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,0CAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;YACD,GAAG;;gBACD,gCAAgC;gBAChC,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,SAAiB;QACnC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,IAAI,CAAU,SAAiB,EAAE,MAAU;QACzC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAI,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;CACF","sourcesContent":["import { PluginProviders, PluginBaseComponent } from '..';\n\ntype WatchConfig = { immediate: boolean };\n\n/**\n * Base layer for plugins\n * Provide minimal starting core for plugins to work\n * Extend this class to create plugin\n */\nexport class BasePlugin implements PluginBaseComponent {\n readonly subscriptions: Record<string, (...args: any[]) => void> = {};\n constructor(public revogrid: HTMLRevoGridElement, public providers: PluginProviders) {}\n /**\n *\n * @param eventName - event name to subscribe to in revo-grid component (e.g. 'beforeheaderclick')\n * @param callback - callback function for event\n */\n addEventListener(\n eventName: string,\n callback: (e: CustomEvent) => void,\n ) {\n this.revogrid.addEventListener(eventName, callback);\n this.subscriptions[eventName] = callback;\n }\n\n /**\n * Subscribe to property change in revo-grid component\n * You can return false in callback to prevent default value set\n *\n * @param prop - property name\n * @param callback - callback function\n * @param immediate - trigger callback immediately with current value\n */\n watch<T extends any>(\n prop: string,\n callback: (arg: T) => boolean | void,\n { immediate }: Partial<WatchConfig> = { immediate: false },\n ) {\n const nativeValueDesc =\n Object.getOwnPropertyDescriptor(this.revogrid, prop) ||\n Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);\n\n // Overwrite property descriptor for this instance\n Object.defineProperty(this.revogrid, prop, {\n set(val: T) {\n const keepDefault = callback(val);\n if (keepDefault === false) {\n return;\n }\n // Continue with native behavior\n return nativeValueDesc?.set?.call(this, val);\n },\n get() {\n // Continue with native behavior\n return nativeValueDesc?.get?.call(this);\n },\n });\n if (immediate) {\n callback(nativeValueDesc?.value);\n }\n }\n\n /**\n * Remove event listener\n * @param eventName\n */\n removeEventListener(eventName: string) {\n this.revogrid.removeEventListener(eventName, this.subscriptions[eventName]);\n delete this.subscriptions[eventName];\n }\n\n /**\n * Emit event from revo-grid component\n * Event can be cancelled by calling event.preventDefault() in callback\n */\n emit<T = any>(eventName: string, detail?: T) {\n const event = new CustomEvent<T>(eventName, { detail, cancelable: true });\n this.revogrid.dispatchEvent(event);\n return event;\n }\n\n /**\n * Clear all subscriptions\n */\n clearSubscriptions() {\n for (let type in this.subscriptions) {\n this.removeEventListener(type);\n }\n }\n\n /**\n * Destroy plugin and clear all subscriptions\n */\n destroy() {\n this.clearSubscriptions();\n }\n}\n"]}
1
+ {"version":3,"file":"base.plugin.js","sourceRoot":"","sources":["../../src/plugins/base.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAKlC;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAGrB,YAAmB,QAA6B,EAAS,SAA0B;QAAhE,aAAQ,GAAR,QAAQ,CAAqB;QAAS,cAAS,GAAT,SAAS,CAAiB;QAF1E,MAAC,GAAG,CAAC,CAAC;QACN,kBAAa,GAA6C,EAAE,CAAC;IACgB,CAAC;IACvF;;;;OAIG;IACH,gBAAgB,CACd,SAAiB,EACjB,QAAkC;QAElC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACH,IAAY,EACZ,QAAoC,EACpC,EAAE,SAAS,KAA2B,EAAE,SAAS,EAAE,KAAK,EAAE;QAE1D,MAAM,eAAe,GACnB,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACpD,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE7E,kDAAkD;QAClD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;YACzC,GAAG,CAAC,GAAM;;gBACR,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC1B,OAAO;gBACT,CAAC;gBACD,gCAAgC;gBAChC,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,0CAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;YACD,GAAG;;gBACD,gCAAgC;gBAChC,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,SAAiB;QACnC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,IAAI,CAAU,SAAiB,EAAE,MAAU;QACzC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAI,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;CACF","sourcesContent":["import { h } from '@stencil/core';\nimport { PluginProviders, PluginBaseComponent } from '..';\n\ntype WatchConfig = { immediate: boolean };\n\n/**\n * Base layer for plugins\n * Provide minimal starting core for plugins to work\n * Extend this class to create plugin\n */\nexport class BasePlugin implements PluginBaseComponent {\n readonly h = h;\n readonly subscriptions: Record<string, (...args: any[]) => void> = {};\n constructor(public revogrid: HTMLRevoGridElement, public providers: PluginProviders) {}\n /**\n *\n * @param eventName - event name to subscribe to in revo-grid component (e.g. 'beforeheaderclick')\n * @param callback - callback function for event\n */\n addEventListener(\n eventName: string,\n callback: (e: CustomEvent) => void,\n ) {\n this.revogrid.addEventListener(eventName, callback);\n this.subscriptions[eventName] = callback;\n }\n\n /**\n * Subscribe to property change in revo-grid component\n * You can return false in callback to prevent default value set\n *\n * @param prop - property name\n * @param callback - callback function\n * @param immediate - trigger callback immediately with current value\n */\n watch<T extends any>(\n prop: string,\n callback: (arg: T) => boolean | void,\n { immediate }: Partial<WatchConfig> = { immediate: false },\n ) {\n const nativeValueDesc =\n Object.getOwnPropertyDescriptor(this.revogrid, prop) ||\n Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);\n\n // Overwrite property descriptor for this instance\n Object.defineProperty(this.revogrid, prop, {\n set(val: T) {\n const keepDefault = callback(val);\n if (keepDefault === false) {\n return;\n }\n // Continue with native behavior\n return nativeValueDesc?.set?.call(this, val);\n },\n get() {\n // Continue with native behavior\n return nativeValueDesc?.get?.call(this);\n },\n });\n if (immediate) {\n callback(nativeValueDesc?.value);\n }\n }\n\n /**\n * Remove event listener\n * @param eventName\n */\n removeEventListener(eventName: string) {\n this.revogrid.removeEventListener(eventName, this.subscriptions[eventName]);\n delete this.subscriptions[eventName];\n }\n\n /**\n * Emit event from revo-grid component\n * Event can be cancelled by calling event.preventDefault() in callback\n */\n emit<T = any>(eventName: string, detail?: T) {\n const event = new CustomEvent<T>(eventName, { detail, cancelable: true });\n this.revogrid.dispatchEvent(event);\n return event;\n }\n\n /**\n * Clear all subscriptions\n */\n clearSubscriptions() {\n for (let type in this.subscriptions) {\n this.removeEventListener(type);\n }\n }\n\n /**\n * Destroy plugin and clear all subscriptions\n */\n destroy() {\n this.clearSubscriptions();\n }\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { l as createStore, r as reduce_1, k as setStore, h as calculateDimensionData, m as each } from './dimension.helpers-beca689b.js';
5
5
  import './toNumber-8de324a7.js';
6
- import './index-8b791a74.js';
6
+ import { h } from './index-8b791a74.js';
7
7
 
8
8
  /**
9
9
  * Storing pre-calculated
@@ -131,6 +131,7 @@ class BasePlugin {
131
131
  constructor(revogrid, providers) {
132
132
  this.revogrid = revogrid;
133
133
  this.providers = providers;
134
+ this.h = h;
134
135
  this.subscriptions = {};
135
136
  }
136
137
  /**
@@ -209,4 +210,4 @@ class BasePlugin {
209
210
 
210
211
  export { BasePlugin as B, DimensionStore as D, columnTypes as c, isRowType as i, rowTypes as r };
211
212
 
212
- //# sourceMappingURL=base.plugin-5eec30ac.js.map
213
+ //# sourceMappingURL=base.plugin-be5554eb.js.map
@@ -0,0 +1 @@
1
+ {"file":"base.plugin-be5554eb.js","mappings":"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","names":["reduce"],"sources":["src/store/dimension/dimension.store.ts","src/store/index.ts","src/plugins/base.plugin.ts"],"sourcesContent":["/**\n * Storing pre-calculated\n * Dimension information and sizes\n */\nimport reduce from 'lodash/reduce';\nimport { createStore } from '@stencil/store';\n\nimport { setStore, Observable, PluginSubscribe } from '../../utils/store.utils';\nimport { calculateDimensionData } from './dimension.helpers';\nimport each from 'lodash/each';\nimport {\n DimensionCalc,\n DimensionSettingsState,\n ViewSettingSizeProp,\n MultiDimensionType,\n} from '@type';\n\nexport type DimensionStoreCollection = {\n [T in MultiDimensionType]: DimensionStore;\n};\n\ntype Item = keyof DimensionSettingsState;\n\nconst trimmedPlugin = (\n store: DimensionStore,\n): PluginSubscribe<DimensionSettingsState> => {\n let trimmedSize: DimensionSettingsState['sizes'] = {};\n\n const setTrimmed = (\n sizes: DimensionSettingsState['sizes'],\n trimmed: DimensionSettingsState['trimmed'],\n ) => {\n const newSize = { ...sizes };\n trimmedSize = {};\n each(trimmed, (v, index) => {\n if (v && newSize[index]) {\n trimmedSize[index] = newSize[index];\n delete newSize[index];\n }\n });\n store.setDimensionSize(newSize);\n };\n return {\n set(key, val) {\n switch (key) {\n case 'trimmed':\n const trim = val as DimensionSettingsState['trimmed'];\n const sizes = store.store.get('sizes');\n // recover trimmed, apply new trim\n setTrimmed({ ...sizes, ...trimmedSize }, trim);\n break;\n }\n },\n };\n};\n\nconst realSizePlugin = (\n store: DimensionStore,\n): PluginSubscribe<DimensionSettingsState> => {\n return {\n set(k) {\n switch (k) {\n case 'count':\n case 'sizes':\n case 'originItemSize':\n let realSize = 0;\n const count = store.store.get('count');\n for (let i = 0; i < count; i++) {\n realSize +=\n store.store.get('sizes')[i] || store.store.get('originItemSize');\n }\n store.setStore({ realSize });\n }\n },\n };\n};\n\nfunction initialBase(): DimensionCalc {\n return {\n indexes: [],\n count: 0,\n\n // plugin support\n trimmed: {},\n\n // size operations, this provider stores only changed sizes, not all of them\n // same as indexes but for sizes and positions\n // item index to size\n sizes: {},\n // order in indexes[] to coordinate\n positionIndexToItem: {},\n // initial element to coordinate ^\n indexToItem: {},\n positionIndexes: [],\n };\n}\n\nfunction initialState(): DimensionSettingsState {\n return {\n ...initialBase(),\n // size which all items can take\n realSize: 0,\n\n // initial item size if it wasn't changed\n originItemSize: 0,\n };\n}\n\nexport class DimensionStore {\n readonly store: Observable<DimensionSettingsState>;\n constructor() {\n this.store = createStore(initialState());\n this.store.use(trimmedPlugin(this));\n this.store.use(realSizePlugin(this));\n }\n\n getCurrentState(): DimensionSettingsState {\n const state = initialState();\n const keys = Object.keys(state);\n return reduce(\n keys,\n (r: DimensionSettingsState, k: Item) => {\n const data = this.store.get(k);\n r[k] = data as never;\n return r;\n },\n state,\n );\n }\n\n dispose() {\n setStore(this.store, initialState());\n }\n\n setStore<T extends Record<string, any>>(data: Partial<T>) {\n setStore(this.store, data);\n }\n\n drop() {\n setStore(this.store, initialBase());\n }\n\n /**\n * Set custom dimension sizes and overwrite old\n * Generates new indexes based on sizes\n * @param sizes - sizes to set\n */\n setDimensionSize(sizes: ViewSettingSizeProp) {\n const dimensionData = calculateDimensionData(\n this.store.get('originItemSize'),\n sizes,\n );\n setStore(this.store, dimensionData);\n }\n}\n","import type { DimensionCols, DimensionRows } from '@type';\n\nexport * from './dataSource';\nexport * from './dimension';\nexport * from './selection';\nexport * from './vp';\n\nexport const rowTypes: DimensionRows[] = ['rowPinStart', 'rgRow', 'rowPinEnd'];\nexport const columnTypes: DimensionCols[] = [\n 'colPinStart',\n 'rgCol',\n 'colPinEnd',\n];\n\nexport function isRowType(type: DimensionRows | any): type is DimensionRows {\n return rowTypes.indexOf(type) > -1;\n}\n","import { h } from '@stencil/core';\nimport { PluginProviders, PluginBaseComponent } from '..';\n\ntype WatchConfig = { immediate: boolean };\n\n/**\n * Base layer for plugins\n * Provide minimal starting core for plugins to work\n * Extend this class to create plugin\n */\nexport class BasePlugin implements PluginBaseComponent {\n readonly h = h;\n readonly subscriptions: Record<string, (...args: any[]) => void> = {};\n constructor(public revogrid: HTMLRevoGridElement, public providers: PluginProviders) {}\n /**\n *\n * @param eventName - event name to subscribe to in revo-grid component (e.g. 'beforeheaderclick')\n * @param callback - callback function for event\n */\n addEventListener(\n eventName: string,\n callback: (e: CustomEvent) => void,\n ) {\n this.revogrid.addEventListener(eventName, callback);\n this.subscriptions[eventName] = callback;\n }\n\n /**\n * Subscribe to property change in revo-grid component\n * You can return false in callback to prevent default value set\n *\n * @param prop - property name\n * @param callback - callback function\n * @param immediate - trigger callback immediately with current value\n */\n watch<T extends any>(\n prop: string,\n callback: (arg: T) => boolean | void,\n { immediate }: Partial<WatchConfig> = { immediate: false },\n ) {\n const nativeValueDesc =\n Object.getOwnPropertyDescriptor(this.revogrid, prop) ||\n Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);\n\n // Overwrite property descriptor for this instance\n Object.defineProperty(this.revogrid, prop, {\n set(val: T) {\n const keepDefault = callback(val);\n if (keepDefault === false) {\n return;\n }\n // Continue with native behavior\n return nativeValueDesc?.set?.call(this, val);\n },\n get() {\n // Continue with native behavior\n return nativeValueDesc?.get?.call(this);\n },\n });\n if (immediate) {\n callback(nativeValueDesc?.value);\n }\n }\n\n /**\n * Remove event listener\n * @param eventName\n */\n removeEventListener(eventName: string) {\n this.revogrid.removeEventListener(eventName, this.subscriptions[eventName]);\n delete this.subscriptions[eventName];\n }\n\n /**\n * Emit event from revo-grid component\n * Event can be cancelled by calling event.preventDefault() in callback\n */\n emit<T = any>(eventName: string, detail?: T) {\n const event = new CustomEvent<T>(eventName, { detail, cancelable: true });\n this.revogrid.dispatchEvent(event);\n return event;\n }\n\n /**\n * Clear all subscriptions\n */\n clearSubscriptions() {\n for (let type in this.subscriptions) {\n this.removeEventListener(type);\n }\n }\n\n /**\n * Destroy plugin and clear all subscriptions\n */\n destroy() {\n this.clearSubscriptions();\n }\n}\n"],"version":3}
package/dist/esm/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- export { B as BasePlugin, D as DimensionStore, c as columnTypes, i as isRowType, r as rowTypes } from './base.plugin-5eec30ac.js';
4
+ export { B as BasePlugin, D as DimensionStore, c as columnTypes, i as isRowType, r as rowTypes } from './base.plugin-be5554eb.js';
5
5
  export { d as dispatch, a as dispatchByEvent } from './dispatcher-ea08404f.js';
6
6
  export { D as DataStore, h as calculateDimensionData, f as gatherTrimmedItems, j as getItemByIndex, i as getItemByPosition, g as getPhysical, b as getSourceItem, e as getSourceItemVirtualIndexByProp, a as getVisibleSourceItem, p as proxyPlugin, d as setItems, c as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, k as setStore, t as trimmedPlugin } from './dimension.helpers-beca689b.js';
7
+ export { h } from './index-8b791a74.js';
7
8
  export { S as SelectionStore, c as cropCellToMax, g as getRange, i as isHiddenStore, a as isRangeSingleCell, n as nextCell } from './selection.helpers-7ab1d0f9.js';
8
9
  export { V as ViewportStore, a as addMissingItems, d as getFirstItem, b as getItems, e as getLastItem, g as getUpdatedItemsByPosition, i as isActiveRange, c as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-3ff983a5.js';
9
10
  import './toNumber-8de324a7.js';
10
- import './index-8b791a74.js';
11
11
 
12
12
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { h, r as registerInstance, c as createEvent, H as Host, a as getElement } from './index-8b791a74.js';
5
5
  import { _ as _baseIteratee, n as isArrayLike_1, o as keys_1, q as findIndex_1, u as _baseEach, v as _arrayMap, w as isArray_1, r as reduce_1, D as DataStore, b as getSourceItem, e as getSourceItemVirtualIndexByProp, m as each, s as setSourceByVirtualIndex, a as getVisibleSourceItem, f as gatherTrimmedItems, j as getItemByIndex, x as _baseProperty, y as _baseKeys, z as _getTag, A as range_1, k as setStore, B as toInteger_1, C as _isIterateeCall, g as getPhysical, d as setItems, i as getItemByPosition } from './dimension.helpers-beca689b.js';
6
- import { B as BasePlugin, c as columnTypes, r as rowTypes, i as isRowType, D as DimensionStore } from './base.plugin-5eec30ac.js';
6
+ import { B as BasePlugin, c as columnTypes, r as rowTypes, i as isRowType, D as DimensionStore } from './base.plugin-be5554eb.js';
7
7
  import { _ as _baseGetTag, c as isObjectLike_1 } from './toNumber-8de324a7.js';
8
8
  import { E as EMPTY_INDEX, b as SelectionStoreConnector } from './selection.helpers-7ab1d0f9.js';
9
9
  import { d as debounce_1 } from './debounce-7781346d.js';
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Built by Revolist OU ❤️
3
+ */
4
+ import{l as t,r as e,k as s,h as i,m as n}from"./dimension.helpers-beca689b.js";import"./toNumber-8de324a7.js";import{h as o}from"./index-8b791a74.js";const r=t=>{let e={};const s=(s,i)=>{const o=Object.assign({},s);e={};n(i,((t,s)=>{if(t&&o[s]){e[s]=o[s];delete o[s]}}));t.setDimensionSize(o)};return{set(i,n){switch(i){case"trimmed":const i=n;const o=t.store.get("sizes");s(Object.assign(Object.assign({},o),e),i);break}}}};const c=t=>({set(e){switch(e){case"count":case"sizes":case"originItemSize":let e=0;const s=t.store.get("count");for(let i=0;i<s;i++){e+=t.store.get("sizes")[i]||t.store.get("originItemSize")}t.setStore({realSize:e})}}});function a(){return{indexes:[],count:0,trimmed:{},sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]}}function h(){return Object.assign(Object.assign({},a()),{realSize:0,originItemSize:0})}class d{constructor(){this.store=t(h());this.store.use(r(this));this.store.use(c(this))}getCurrentState(){const t=h();const s=Object.keys(t);return e(s,((t,e)=>{const s=this.store.get(e);t[e]=s;return t}),t)}dispose(){s(this.store,h())}setStore(t){s(this.store,t)}drop(){s(this.store,a())}setDimensionSize(t){const e=i(this.store.get("originItemSize"),t);s(this.store,e)}}const l=["rowPinStart","rgRow","rowPinEnd"];const u=["colPinStart","rgCol","colPinEnd"];function m(t){return l.indexOf(t)>-1}class b{constructor(t,e){this.revogrid=t;this.providers=e;this.h=o;this.subscriptions={}}addEventListener(t,e){this.revogrid.addEventListener(t,e);this.subscriptions[t]=e}watch(t,e,{immediate:s}={immediate:false}){const i=Object.getOwnPropertyDescriptor(this.revogrid,t)||Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype,t);Object.defineProperty(this.revogrid,t,{set(t){var s;const n=e(t);if(n===false){return}return(s=i===null||i===void 0?void 0:i.set)===null||s===void 0?void 0:s.call(this,t)},get(){var t;return(t=i===null||i===void 0?void 0:i.get)===null||t===void 0?void 0:t.call(this)}});if(s){e(i===null||i===void 0?void 0:i.value)}}removeEventListener(t){this.revogrid.removeEventListener(t,this.subscriptions[t]);delete this.subscriptions[t]}emit(t,e){const s=new CustomEvent(t,{detail:e,cancelable:true});this.revogrid.dispatchEvent(s);return s}clearSubscriptions(){for(let t in this.subscriptions){this.removeEventListener(t)}}destroy(){this.clearSubscriptions()}}export{b as B,d as D,u as c,m as i,l as r};
5
+ //# sourceMappingURL=base.plugin-be5554eb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["trimmedPlugin","store","trimmedSize","setTrimmed","sizes","trimmed","newSize","Object","assign","each","v","index","setDimensionSize","set","key","val","trim","get","realSizePlugin","k","realSize","count","i","setStore","initialBase","indexes","positionIndexToItem","indexToItem","positionIndexes","initialState","originItemSize","DimensionStore","constructor","this","createStore","use","getCurrentState","state","keys","reduce","r","data","dispose","drop","dimensionData","calculateDimensionData","rowTypes","columnTypes","isRowType","type","indexOf","BasePlugin","revogrid","providers","h","subscriptions","addEventListener","eventName","callback","watch","prop","immediate","nativeValueDesc","getOwnPropertyDescriptor","prototype","defineProperty","keepDefault","_a","call","value","removeEventListener","emit","detail","event","CustomEvent","cancelable","dispatchEvent","clearSubscriptions","destroy"],"sources":["src/store/dimension/dimension.store.ts","src/store/index.ts","src/plugins/base.plugin.ts"],"sourcesContent":["/**\n * Storing pre-calculated\n * Dimension information and sizes\n */\nimport reduce from 'lodash/reduce';\nimport { createStore } from '@stencil/store';\n\nimport { setStore, Observable, PluginSubscribe } from '../../utils/store.utils';\nimport { calculateDimensionData } from './dimension.helpers';\nimport each from 'lodash/each';\nimport {\n DimensionCalc,\n DimensionSettingsState,\n ViewSettingSizeProp,\n MultiDimensionType,\n} from '@type';\n\nexport type DimensionStoreCollection = {\n [T in MultiDimensionType]: DimensionStore;\n};\n\ntype Item = keyof DimensionSettingsState;\n\nconst trimmedPlugin = (\n store: DimensionStore,\n): PluginSubscribe<DimensionSettingsState> => {\n let trimmedSize: DimensionSettingsState['sizes'] = {};\n\n const setTrimmed = (\n sizes: DimensionSettingsState['sizes'],\n trimmed: DimensionSettingsState['trimmed'],\n ) => {\n const newSize = { ...sizes };\n trimmedSize = {};\n each(trimmed, (v, index) => {\n if (v && newSize[index]) {\n trimmedSize[index] = newSize[index];\n delete newSize[index];\n }\n });\n store.setDimensionSize(newSize);\n };\n return {\n set(key, val) {\n switch (key) {\n case 'trimmed':\n const trim = val as DimensionSettingsState['trimmed'];\n const sizes = store.store.get('sizes');\n // recover trimmed, apply new trim\n setTrimmed({ ...sizes, ...trimmedSize }, trim);\n break;\n }\n },\n };\n};\n\nconst realSizePlugin = (\n store: DimensionStore,\n): PluginSubscribe<DimensionSettingsState> => {\n return {\n set(k) {\n switch (k) {\n case 'count':\n case 'sizes':\n case 'originItemSize':\n let realSize = 0;\n const count = store.store.get('count');\n for (let i = 0; i < count; i++) {\n realSize +=\n store.store.get('sizes')[i] || store.store.get('originItemSize');\n }\n store.setStore({ realSize });\n }\n },\n };\n};\n\nfunction initialBase(): DimensionCalc {\n return {\n indexes: [],\n count: 0,\n\n // plugin support\n trimmed: {},\n\n // size operations, this provider stores only changed sizes, not all of them\n // same as indexes but for sizes and positions\n // item index to size\n sizes: {},\n // order in indexes[] to coordinate\n positionIndexToItem: {},\n // initial element to coordinate ^\n indexToItem: {},\n positionIndexes: [],\n };\n}\n\nfunction initialState(): DimensionSettingsState {\n return {\n ...initialBase(),\n // size which all items can take\n realSize: 0,\n\n // initial item size if it wasn't changed\n originItemSize: 0,\n };\n}\n\nexport class DimensionStore {\n readonly store: Observable<DimensionSettingsState>;\n constructor() {\n this.store = createStore(initialState());\n this.store.use(trimmedPlugin(this));\n this.store.use(realSizePlugin(this));\n }\n\n getCurrentState(): DimensionSettingsState {\n const state = initialState();\n const keys = Object.keys(state);\n return reduce(\n keys,\n (r: DimensionSettingsState, k: Item) => {\n const data = this.store.get(k);\n r[k] = data as never;\n return r;\n },\n state,\n );\n }\n\n dispose() {\n setStore(this.store, initialState());\n }\n\n setStore<T extends Record<string, any>>(data: Partial<T>) {\n setStore(this.store, data);\n }\n\n drop() {\n setStore(this.store, initialBase());\n }\n\n /**\n * Set custom dimension sizes and overwrite old\n * Generates new indexes based on sizes\n * @param sizes - sizes to set\n */\n setDimensionSize(sizes: ViewSettingSizeProp) {\n const dimensionData = calculateDimensionData(\n this.store.get('originItemSize'),\n sizes,\n );\n setStore(this.store, dimensionData);\n }\n}\n","import type { DimensionCols, DimensionRows } from '@type';\n\nexport * from './dataSource';\nexport * from './dimension';\nexport * from './selection';\nexport * from './vp';\n\nexport const rowTypes: DimensionRows[] = ['rowPinStart', 'rgRow', 'rowPinEnd'];\nexport const columnTypes: DimensionCols[] = [\n 'colPinStart',\n 'rgCol',\n 'colPinEnd',\n];\n\nexport function isRowType(type: DimensionRows | any): type is DimensionRows {\n return rowTypes.indexOf(type) > -1;\n}\n","import { h } from '@stencil/core';\nimport { PluginProviders, PluginBaseComponent } from '..';\n\ntype WatchConfig = { immediate: boolean };\n\n/**\n * Base layer for plugins\n * Provide minimal starting core for plugins to work\n * Extend this class to create plugin\n */\nexport class BasePlugin implements PluginBaseComponent {\n readonly h = h;\n readonly subscriptions: Record<string, (...args: any[]) => void> = {};\n constructor(public revogrid: HTMLRevoGridElement, public providers: PluginProviders) {}\n /**\n *\n * @param eventName - event name to subscribe to in revo-grid component (e.g. 'beforeheaderclick')\n * @param callback - callback function for event\n */\n addEventListener(\n eventName: string,\n callback: (e: CustomEvent) => void,\n ) {\n this.revogrid.addEventListener(eventName, callback);\n this.subscriptions[eventName] = callback;\n }\n\n /**\n * Subscribe to property change in revo-grid component\n * You can return false in callback to prevent default value set\n *\n * @param prop - property name\n * @param callback - callback function\n * @param immediate - trigger callback immediately with current value\n */\n watch<T extends any>(\n prop: string,\n callback: (arg: T) => boolean | void,\n { immediate }: Partial<WatchConfig> = { immediate: false },\n ) {\n const nativeValueDesc =\n Object.getOwnPropertyDescriptor(this.revogrid, prop) ||\n Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype, prop);\n\n // Overwrite property descriptor for this instance\n Object.defineProperty(this.revogrid, prop, {\n set(val: T) {\n const keepDefault = callback(val);\n if (keepDefault === false) {\n return;\n }\n // Continue with native behavior\n return nativeValueDesc?.set?.call(this, val);\n },\n get() {\n // Continue with native behavior\n return nativeValueDesc?.get?.call(this);\n },\n });\n if (immediate) {\n callback(nativeValueDesc?.value);\n }\n }\n\n /**\n * Remove event listener\n * @param eventName\n */\n removeEventListener(eventName: string) {\n this.revogrid.removeEventListener(eventName, this.subscriptions[eventName]);\n delete this.subscriptions[eventName];\n }\n\n /**\n * Emit event from revo-grid component\n * Event can be cancelled by calling event.preventDefault() in callback\n */\n emit<T = any>(eventName: string, detail?: T) {\n const event = new CustomEvent<T>(eventName, { detail, cancelable: true });\n this.revogrid.dispatchEvent(event);\n return event;\n }\n\n /**\n * Clear all subscriptions\n */\n clearSubscriptions() {\n for (let type in this.subscriptions) {\n this.removeEventListener(type);\n }\n }\n\n /**\n * Destroy plugin and clear all subscriptions\n */\n destroy() {\n this.clearSubscriptions();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- export{B as BasePlugin,D as DimensionStore,c as columnTypes,i as isRowType,r as rowTypes}from"./base.plugin-5eec30ac.js";export{d as dispatch,a as dispatchByEvent}from"./dispatcher-ea08404f.js";export{D as DataStore,h as calculateDimensionData,f as gatherTrimmedItems,j as getItemByIndex,i as getItemByPosition,g as getPhysical,b as getSourceItem,e as getSourceItemVirtualIndexByProp,a as getVisibleSourceItem,p as proxyPlugin,d as setItems,c as setSourceByPhysicalIndex,s as setSourceByVirtualIndex,k as setStore,t as trimmedPlugin}from"./dimension.helpers-beca689b.js";export{S as SelectionStore,c as cropCellToMax,g as getRange,i as isHiddenStore,a as isRangeSingleCell,n as nextCell}from"./selection.helpers-7ab1d0f9.js";export{V as ViewportStore,a as addMissingItems,d as getFirstItem,b as getItems,e as getLastItem,g as getUpdatedItemsByPosition,i as isActiveRange,c as isActiveRangeOutsideLastItem,r as recombineByOffset,s as setItemSizes,u as updateMissingAndRange}from"./viewport.store-3ff983a5.js";import"./toNumber-8de324a7.js";import"./index-8b791a74.js";
4
+ export{B as BasePlugin,D as DimensionStore,c as columnTypes,i as isRowType,r as rowTypes}from"./base.plugin-be5554eb.js";export{d as dispatch,a as dispatchByEvent}from"./dispatcher-ea08404f.js";export{D as DataStore,h as calculateDimensionData,f as gatherTrimmedItems,j as getItemByIndex,i as getItemByPosition,g as getPhysical,b as getSourceItem,e as getSourceItemVirtualIndexByProp,a as getVisibleSourceItem,p as proxyPlugin,d as setItems,c as setSourceByPhysicalIndex,s as setSourceByVirtualIndex,k as setStore,t as trimmedPlugin}from"./dimension.helpers-beca689b.js";export{h}from"./index-8b791a74.js";export{S as SelectionStore,c as cropCellToMax,g as getRange,i as isHiddenStore,a as isRangeSingleCell,n as nextCell}from"./selection.helpers-7ab1d0f9.js";export{V as ViewportStore,a as addMissingItems,d as getFirstItem,b as getItems,e as getLastItem,g as getUpdatedItemsByPosition,i as isActiveRange,c as isActiveRangeOutsideLastItem,r as recombineByOffset,s as setItemSizes,u as updateMissingAndRange}from"./viewport.store-3ff983a5.js";import"./toNumber-8de324a7.js";
5
5
  //# sourceMappingURL=index.esm.js.map