@revolist/revogrid 4.4.0-next.2 → 4.4.0-next.21
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/custom-element/columnService.js +1 -1
- package/custom-element/consts.js +2 -1
- package/custom-element/consts.js.map +1 -1
- package/custom-element/localScrollService.js +1 -1
- package/custom-element/localScrollService.js.map +1 -1
- package/custom-element/revo-grid.js +163 -97
- package/custom-element/revo-grid.js.map +1 -1
- package/custom-element/revogr-clipboard.js +24 -5
- package/custom-element/revogr-clipboard.js.map +1 -1
- package/custom-element/revogr-edit2.js +12 -6
- package/custom-element/revogr-edit2.js.map +1 -1
- package/custom-element/revogr-focus2.js +1 -1
- package/custom-element/revogr-focus2.js.map +1 -1
- package/custom-element/revogr-header2.js +25 -11
- package/custom-element/revogr-header2.js.map +1 -1
- package/custom-element/revogr-overlay-selection2.js +99 -32
- package/custom-element/revogr-overlay-selection2.js.map +1 -1
- package/custom-element/revogr-row-headers2.js +1 -2
- package/custom-element/revogr-row-headers2.js.map +1 -1
- package/custom-element/revogr-viewport-scroll2.js +39 -6
- package/custom-element/revogr-viewport-scroll2.js.map +1 -1
- package/dist/cjs/{debounce-525dd66c.js → debounce-f50730b6.js} +1 -38
- package/dist/cjs/debounce-f50730b6.js.map +1 -0
- package/dist/cjs/dispatcher-20520c70.js +21 -0
- package/dist/cjs/dispatcher-20520c70.js.map +1 -0
- package/dist/cjs/events-030618fc.js +459 -0
- package/dist/cjs/events-030618fc.js.map +1 -0
- package/dist/cjs/filter.button-6badec7a.js +44 -0
- package/dist/cjs/filter.button-6badec7a.js.map +1 -0
- package/dist/cjs/{index-aad39b7b.js → index-ee2ef5ae.js} +96 -36
- package/dist/cjs/index-ee2ef5ae.js.map +1 -0
- package/dist/cjs/index-effc94b9.js +3944 -0
- package/dist/cjs/index-effc94b9.js.map +1 -0
- package/dist/cjs/isString-3dde8d95.js +38 -0
- package/dist/cjs/isString-3dde8d95.js.map +1 -0
- package/dist/cjs/keyCodes.utils-d665ebed.js +271 -0
- package/dist/cjs/keyCodes.utils-d665ebed.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/localScrollService-a81823c5.js +403 -0
- package/dist/cjs/localScrollService-a81823c5.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.entry.js +3858 -0
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/revo-grid.cjs.js +3 -3
- package/dist/cjs/revo-grid.cjs.js.map +1 -1
- package/dist/cjs/revogr-clipboard.cjs.entry.js +24 -6
- package/dist/cjs/revogr-clipboard.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-data_3.cjs.entry.js +1138 -0
- package/dist/cjs/revogr-data_3.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-edit_2.cjs.entry.js +325 -0
- package/dist/cjs/revogr-edit_2.cjs.entry.js.map +1 -0
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +6 -5
- package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-focus_5.cjs.entry.js +1231 -0
- package/dist/cjs/revogr-focus_5.cjs.entry.js.map +1 -0
- package/dist/cjs/{revo-grid_11.cjs.entry.js → viewport.helpers-70ccec8f.js} +13978 -25269
- package/dist/cjs/viewport.helpers-70ccec8f.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/clipboard/revogr-clipboard.d.ts +6 -2
- package/dist/collection/components/clipboard/revogr-clipboard.js +46 -5
- package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
- package/dist/collection/components/header/headerCellRenderer.d.ts +2 -1
- package/dist/collection/components/header/headerCellRenderer.js +1 -1
- package/dist/collection/components/header/headerCellRenderer.js.map +1 -1
- package/dist/collection/components/header/headerRenderer.d.ts +2 -2
- package/dist/collection/components/header/headerRenderer.js +1 -1
- package/dist/collection/components/header/headerRenderer.js.map +1 -1
- package/dist/collection/components/header/revogr-header.d.ts +15 -1
- package/dist/collection/components/header/revogr-header.js +34 -8
- package/dist/collection/components/header/revogr-header.js.map +1 -1
- package/dist/collection/components/overlay/autofill.service.d.ts +7 -3
- package/dist/collection/components/overlay/autofill.service.js +32 -12
- package/dist/collection/components/overlay/autofill.service.js.map +1 -1
- package/dist/collection/components/overlay/clipboard.service.d.ts +1 -1
- package/dist/collection/components/overlay/clipboard.service.js +2 -2
- package/dist/collection/components/overlay/clipboard.service.js.map +1 -1
- package/dist/collection/components/overlay/keyboard.service.js +2 -6
- package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
- package/dist/collection/components/overlay/revogr-edit.d.ts +8 -0
- package/dist/collection/components/overlay/revogr-edit.js +34 -9
- package/dist/collection/components/overlay/revogr-edit.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-selection.d.ts +32 -10
- package/dist/collection/components/overlay/revogr-overlay-selection.js +80 -12
- package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
- package/dist/collection/components/overlay/revogr-overlay-style.css +71 -4
- package/dist/collection/components/revoGrid/revo-grid.d.ts +15 -4
- package/dist/collection/components/revoGrid/revo-grid.js +60 -19
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.scrolling.service.d.ts +6 -2
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js +26 -4
- package/dist/collection/components/revoGrid/viewport.scrolling.service.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.section.d.ts +3 -2
- package/dist/collection/components/revoGrid/viewport.section.js +8 -4
- package/dist/collection/components/revoGrid/viewport.section.js.map +1 -1
- package/dist/collection/components/revoGrid/viewport.service.d.ts +4 -0
- package/dist/collection/components/revoGrid/viewport.service.js +15 -3
- package/dist/collection/components/revoGrid/viewport.service.js.map +1 -1
- package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +3 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.d.ts +16 -5
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +64 -9
- package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
- package/dist/collection/components/selectionFocus/revogr-focus-style.css +1 -1
- package/dist/collection/components.d.ts +110 -6
- package/dist/collection/interfaces.d.ts +4 -1
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.d.ts +3 -2
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +2 -2
- package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js.map +1 -1
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +1 -1
- package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.d.ts +21 -13
- package/dist/collection/plugins/sorting/sorting.plugin.js +77 -70
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/collection/serve/controller.js +183 -0
- package/dist/collection/services/localScrollService.js +1 -1
- package/dist/collection/services/localScrollService.js.map +1 -1
- package/dist/collection/services/resizable.directive.d.ts +8 -7
- package/dist/collection/services/resizable.directive.js +13 -36
- package/dist/collection/services/resizable.directive.js.map +1 -1
- package/dist/collection/services/resizable.element.d.ts +4 -0
- package/dist/collection/services/resizable.element.js +39 -0
- package/dist/collection/services/resizable.element.js.map +1 -0
- package/dist/collection/stencil-public-runtime.d.ts +1 -0
- package/dist/collection/store/viewPort/viewport.store.js +0 -1
- package/dist/collection/store/viewPort/viewport.store.js.map +1 -1
- package/dist/collection/utils/consts.d.ts +1 -0
- package/dist/collection/utils/consts.js +1 -0
- package/dist/collection/utils/consts.js.map +1 -1
- package/dist/collection/utils/events.d.ts +2 -1
- package/dist/collection/utils/events.js +18 -2
- package/dist/collection/utils/events.js.map +1 -1
- package/dist/collection/utils/mobile.d.ts +1 -0
- package/dist/collection/utils/mobile.js +7 -0
- package/dist/collection/utils/mobile.js.map +1 -0
- package/dist/esm/{debounce-301fd4d2.js → debounce-820b5a8b.js} +2 -34
- package/dist/esm/debounce-820b5a8b.js.map +1 -0
- package/dist/esm/dispatcher-9e9c0233.js +19 -0
- package/dist/esm/dispatcher-9e9c0233.js.map +1 -0
- package/dist/esm/events-31272e5e.js +454 -0
- package/dist/esm/events-31272e5e.js.map +1 -0
- package/dist/esm/filter.button-21ce90ef.js +38 -0
- package/dist/esm/filter.button-21ce90ef.js.map +1 -0
- package/dist/esm/{index-5e90b19b.js → index-05947c5f.js} +97 -37
- package/dist/esm/index-05947c5f.js.map +1 -0
- package/dist/esm/index-728bf6e3.js +3889 -0
- package/dist/esm/index-728bf6e3.js.map +1 -0
- package/dist/esm/isString-d539060a.js +36 -0
- package/dist/esm/isString-d539060a.js.map +1 -0
- package/dist/esm/keyCodes.utils-c0064460.js +265 -0
- package/dist/esm/keyCodes.utils-c0064460.js.map +1 -0
- package/dist/esm/loader.js +4 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/localScrollService-884d8952.js +400 -0
- package/dist/esm/localScrollService-884d8952.js.map +1 -0
- package/dist/esm/revo-grid.entry.js +3854 -0
- package/dist/esm/revo-grid.entry.js.map +1 -0
- package/dist/esm/revo-grid.js +4 -4
- package/dist/esm/revo-grid.js.map +1 -1
- package/dist/esm/revogr-clipboard.entry.js +24 -6
- package/dist/esm/revogr-clipboard.entry.js.map +1 -1
- package/dist/esm/revogr-data_3.entry.js +1132 -0
- package/dist/esm/revogr-data_3.entry.js.map +1 -0
- package/dist/esm/revogr-edit_2.entry.js +320 -0
- package/dist/esm/revogr-edit_2.entry.js.map +1 -0
- package/dist/esm/revogr-filter-panel.entry.js +3 -2
- package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
- package/dist/esm/revogr-focus_5.entry.js +1223 -0
- package/dist/esm/revogr-focus_5.entry.js.map +1 -0
- package/dist/esm/{revo-grid_11.entry.js → viewport.helpers-c08e729e.js} +13790 -25093
- package/dist/esm/viewport.helpers-c08e729e.js.map +1 -0
- package/dist/revo-grid/debounce-820b5a8b.js +5 -0
- package/dist/revo-grid/debounce-820b5a8b.js.map +1 -0
- package/dist/revo-grid/dispatcher-9e9c0233.js +5 -0
- package/dist/revo-grid/dispatcher-9e9c0233.js.map +1 -0
- package/dist/revo-grid/events-31272e5e.js +5 -0
- package/dist/revo-grid/events-31272e5e.js.map +1 -0
- package/dist/revo-grid/filter.button-21ce90ef.js +5 -0
- package/dist/revo-grid/filter.button-21ce90ef.js.map +1 -0
- package/dist/revo-grid/index-05947c5f.js +6 -0
- package/dist/revo-grid/index-05947c5f.js.map +1 -0
- package/dist/revo-grid/index-728bf6e3.js +5 -0
- package/dist/revo-grid/index-728bf6e3.js.map +1 -0
- package/dist/revo-grid/isString-d539060a.js +5 -0
- package/dist/revo-grid/isString-d539060a.js.map +1 -0
- package/dist/revo-grid/keyCodes.utils-c0064460.js +5 -0
- package/dist/revo-grid/keyCodes.utils-c0064460.js.map +1 -0
- package/dist/revo-grid/localScrollService-884d8952.js +5 -0
- package/dist/revo-grid/localScrollService-884d8952.js.map +1 -0
- package/dist/revo-grid/revo-grid.entry.js +5 -0
- package/dist/revo-grid/revo-grid.entry.js.map +1 -0
- package/dist/revo-grid/revo-grid.esm.js +1 -1
- package/dist/revo-grid/revo-grid.esm.js.map +1 -1
- package/dist/revo-grid/revogr-clipboard.entry.js +1 -1
- package/dist/revo-grid/revogr-clipboard.entry.js.map +1 -1
- package/dist/revo-grid/revogr-data_3.entry.js +5 -0
- package/dist/revo-grid/revogr-data_3.entry.js.map +1 -0
- package/dist/revo-grid/revogr-edit_2.entry.js +5 -0
- package/dist/revo-grid/revogr-edit_2.entry.js.map +1 -0
- package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
- package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
- package/dist/revo-grid/revogr-focus_5.entry.js +5 -0
- package/dist/revo-grid/revogr-focus_5.entry.js.map +1 -0
- package/dist/revo-grid/viewport.helpers-c08e729e.js +5 -0
- package/dist/revo-grid/viewport.helpers-c08e729e.js.map +1 -0
- package/dist/types/components/clipboard/revogr-clipboard.d.ts +6 -2
- package/dist/types/components/header/headerCellRenderer.d.ts +2 -1
- package/dist/types/components/header/headerRenderer.d.ts +2 -2
- package/dist/types/components/header/revogr-header.d.ts +15 -1
- package/dist/types/components/overlay/autofill.service.d.ts +7 -3
- package/dist/types/components/overlay/clipboard.service.d.ts +1 -1
- package/dist/types/components/overlay/revogr-edit.d.ts +8 -0
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +32 -10
- package/dist/types/components/revoGrid/revo-grid.d.ts +15 -4
- package/dist/types/components/revoGrid/viewport.scrolling.service.d.ts +6 -2
- package/dist/types/components/revoGrid/viewport.section.d.ts +3 -2
- package/dist/types/components/revoGrid/viewport.service.d.ts +4 -0
- package/dist/types/components/scroll/revogr-viewport-scroll.d.ts +16 -5
- package/dist/types/components.d.ts +110 -6
- package/dist/types/interfaces.d.ts +4 -1
- package/dist/types/plugins/groupingColumn/columnGroupsRenderer.d.ts +3 -2
- package/dist/types/plugins/groupingColumn/headerGroupRenderer.d.ts +2 -2
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +21 -13
- package/dist/types/services/resizable.directive.d.ts +8 -7
- package/dist/types/services/resizable.element.d.ts +4 -0
- package/dist/types/stencil-public-runtime.d.ts +1 -0
- package/dist/types/utils/consts.d.ts +1 -0
- package/dist/types/utils/events.d.ts +2 -1
- package/dist/types/utils/mobile.d.ts +1 -0
- package/package.json +4 -3
- package/dist/cjs/debounce-525dd66c.js.map +0 -1
- package/dist/cjs/index-aad39b7b.js.map +0 -1
- package/dist/cjs/revo-grid_11.cjs.entry.js.map +0 -1
- package/dist/esm/debounce-301fd4d2.js.map +0 -1
- package/dist/esm/index-5e90b19b.js.map +0 -1
- package/dist/esm/revo-grid_11.entry.js.map +0 -1
- package/dist/revo-grid/debounce-301fd4d2.js +0 -5
- package/dist/revo-grid/debounce-301fd4d2.js.map +0 -1
- package/dist/revo-grid/index-5e90b19b.js +0 -6
- package/dist/revo-grid/index-5e90b19b.js.map +0 -1
- package/dist/revo-grid/revo-grid_11.entry.js +0 -5
- package/dist/revo-grid/revo-grid_11.entry.js.map +0 -1
- /package/dist/collection/{utilsExternal/generate-data.js → serve/data.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ColumnService","columns","getVisibleSourceItem","this","source","constructor","dataStore","unsubscribe","hasGrouping","push","onChange","s","checkGrouping","get","type","cols","rgCol","isGroupingColumn","isReadOnly","r","c","readOnly","_a","readonly","data","rowDataModel","static","existing","extra","props","Object","assign","class","style","mergeProperties","defaultProps","cellClass","CELL_CLASS","DISABLED_CLASS","extraPropsFunc","cellProperties","doMerge","customRenderer","model","providers","additionalData","tpl","cellTemplate","h","getRowClass","prop","getSourceItem","getCellData","getData","getSaveData","rowIndex","val","getCellEditor","_r","editors","editor","undefined","column","getRangeData","d","changed","copyColLength","oldRange","x1","x","copyRowLength","y1","y","mapping","newRange","i","oldRowIndex","copyRow","colIndex","j","copyColIndex","copyColumnProp","colProp","getTransformedDataToApply","start","length","colLength","rowLength","maxCol","p","currentCol","Math","max","range","getRange","applyRangeData","items","oldModel","parseInt","setSourceByVirtualIndex","getRangeStaticData","value","getRangeTransformedToProps","store","area","copyRangeArray","slice","map","v","toCopy","rgRow","item","destroy","forEach","f","initialParams","contentSize","clientSize","virtualSize","maxSize","NO_COORDINATE","LocalScrollService","cfg","preventArtificialScroll","previousScroll","params","setParams","dimension","virtualContentSize","getVirtualContentSize","async","e","cancelScroll","frameAnimation","Promise","resolve","reject","animationId","window","requestAnimationFrame","bind","getParams","coordinate","ceil","wrapCoordinate","afterScroll","convert","id","cancelAnimationFrame","scroll","force","delta","outside","param","beforeScroll","canceler","pos","toReal","minRange","from","to","scaleValue"],"sources":["./src/components/data/columnService.ts","./src/services/localScrollService.ts"],"sourcesContent":["import { h, VNode } from '@stencil/core';\nimport { DataSourceState, getSourceItem, getVisibleSourceItem, setSourceByVirtualIndex } from '../../store/dataSource/data.store';\nimport { CELL_CLASS, DISABLED_CLASS } from '../../utils/consts';\nimport { Edition, Observable, RevoGrid, Selection } from '../../interfaces';\nimport { getRange } from '../../store/selection/selection.helpers';\n\nimport { isGroupingColumn } from '../../plugins/groupingRow/grouping.service';\nimport { slice } from 'lodash';\n\nexport type ColumnSource = Observable<DataSourceState<RevoGrid.ColumnRegular, RevoGrid.DimensionCols>>;\nexport type RowSource = Observable<DataSourceState<RevoGrid.DataType, RevoGrid.DimensionRows>>;\n\nexport type ColumnStores = {\n [T in RevoGrid.DimensionCols]: ColumnSource;\n};\nexport type RowStores = {\n [T in RevoGrid.DimensionRows]: RowSource;\n};\n\nexport default class ColumnService {\n private unsubscribe: { (): void }[] = [];\n get columns(): RevoGrid.ColumnRegular[] {\n return getVisibleSourceItem(this.source);\n }\n\n hasGrouping = false;\n type: RevoGrid.DimensionCols;\n\n constructor(private dataStore: RowSource, private source: ColumnSource) {\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\n private checkGrouping(cols: RevoGrid.ColumnRegular[]) {\n for (let rgCol of cols) {\n if (isGroupingColumn(rgCol)) {\n this.hasGrouping = true;\n return;\n }\n this.hasGrouping = false;\n }\n }\n\n isReadOnly(r: number, c: number): boolean {\n const readOnly: RevoGrid.ReadOnlyFormat = this.columns[c]?.readonly;\n if (typeof readOnly === 'function') {\n const data = this.rowDataModel(r, c);\n return readOnly(data);\n }\n return readOnly;\n }\n\n static doMerge(existing: RevoGrid.CellProps, extra: RevoGrid.CellProps) {\n let props: RevoGrid.CellProps = { ...extra, ...existing };\n // extend existing props\n if (extra.class) {\n if (typeof extra.class === 'object' && typeof props.class === 'object') {\n props.class = { ...extra.class, ...props.class };\n } else if (typeof extra.class === 'string' && typeof props.class === 'object') {\n props.class[extra.class] = true;\n } else if (typeof props.class === 'string') {\n props.class += ' ' + extra.class;\n }\n }\n if (extra.style) {\n props.style = { ...extra.style, ...props.style };\n }\n return props;\n }\n\n mergeProperties(r: number, c: number, defaultProps: RevoGrid.CellProps): RevoGrid.CellProps {\n const cellClass: { [key: string]: boolean } = {\n [CELL_CLASS]: true,\n [DISABLED_CLASS]: this.isReadOnly(r, c),\n };\n let props: RevoGrid.CellProps = {\n ...defaultProps,\n class: cellClass,\n };\n const extraPropsFunc = this.columns[c]?.cellProperties;\n if (extraPropsFunc) {\n const data = this.rowDataModel(r, c);\n const extra = extraPropsFunc(data);\n if (!extra) {\n return props;\n }\n return ColumnService.doMerge(props, extra);\n }\n return props;\n }\n\n customRenderer(\n c: number, model: RevoGrid.ColumnDataSchemaModel, providers: RevoGrid.Providers, additionalData: any\n ): VNode | string | void {\n const tpl = this.columns[c]?.cellTemplate;\n if (tpl) {\n return tpl(h, { ...model, providers }, additionalData);\n }\n return;\n }\n\n getRowClass(r: number, prop: string): string {\n const model = getSourceItem(this.dataStore, r) || {};\n return model[prop] || '';\n }\n\n getCellData(r: number, c: number): string {\n const data = this.rowDataModel(r, c);\n return ColumnService.getData(data.model[data.prop as number]);\n }\n\n getSaveData(rowIndex: number, c: number, val?: string): Edition.BeforeSaveDataDetails {\n if (typeof val === 'undefined') {\n val = this.getCellData(rowIndex, c);\n }\n const data = this.rowDataModel(rowIndex, c);\n return {\n prop: data.prop,\n rowIndex,\n val,\n model: data.model,\n type: this.dataStore.get('type'),\n };\n }\n\n getCellEditor(_r: number, c: number, editors: Edition.Editors): Edition.EditorCtr | undefined {\n const editor = this.columns[c]?.editor;\n if (!editor) {\n return undefined;\n }\n // reference\n if (typeof editor === 'string') {\n return editors[editor];\n }\n return editor;\n }\n\n rowDataModel(rowIndex: number, c: number): RevoGrid.ColumnDataSchemaModel {\n const column = this.columns[c];\n const prop: RevoGrid.ColumnProp | undefined = column?.prop;\n const model = getSourceItem(this.dataStore, rowIndex) || {};\n return {\n prop,\n model,\n data: this.dataStore.get('source'),\n column,\n rowIndex,\n };\n }\n\n getRangeData(d: Selection.ChangedRange, columns: RevoGrid.ColumnRegular[]): {\n changed: RevoGrid.DataLookup,\n mapping: Selection.OldNewRangeMapping,\n } {\n const changed: RevoGrid.DataLookup = {};\n\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: Selection.OldNewRangeMapping = {};\n\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\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 && rowIndex <= d.oldRange.y1 && colIndex >= d.oldRange.x && colIndex <= d.oldRange.x1) {\n continue;\n }\n\n // requested column beyond range\n if (!this.columns[colIndex]) {\n continue;\n }\n const prop = this.columns[colIndex]?.prop;\n const copyColIndex = d.oldRange.x + j % copyColLength;\n const copyColumnProp = columns[copyColIndex].prop;\n\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 colProp: copyColumnProp,\n rowIndex: oldRowIndex\n };\n }\n }\n }\n return {\n changed,\n mapping,\n };\n }\n\n getTransformedDataToApply(\n start: Selection.Cell,\n data: RevoGrid.DataFormat[][],\n ): {\n changed: RevoGrid.DataLookup;\n range: Selection.RangeArea;\n } {\n const changed: RevoGrid.DataLookup = {};\n const copyRowLength = data.length;\n const colLength = this.columns.length;\n const rowLength = this.dataStore.get('items').length;\n // rows\n let rowIndex = start.y;\n let maxCol = 0;\n for (let i = 0; rowIndex < rowLength && i < copyRowLength; rowIndex++, i++) {\n // copy original data link\n const copyRow = data[i % copyRowLength];\n const copyColLength = copyRow?.length || 0;\n // columns\n let colIndex = start.x;\n for (let j = 0; colIndex < colLength && j < copyColLength; colIndex++, j++) {\n const p = this.columns[colIndex].prop;\n const currentCol = j % colLength;\n\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] = copyRow[currentCol];\n }\n }\n maxCol = Math.max(maxCol, colIndex - 1);\n }\n const range = getRange(start, {\n y: rowIndex - 1,\n x: maxCol,\n });\n return {\n changed,\n range,\n };\n }\n\n applyRangeData(data: RevoGrid.DataLookup) {\n const items: Record<number, RevoGrid.DataType> = {};\n for (let rowIndex in data) {\n const oldModel = (items[rowIndex] = getSourceItem(this.dataStore, parseInt(rowIndex, 10)));\n if (!oldModel) {\n continue;\n }\n for (let prop in data[rowIndex]) {\n oldModel[prop] = data[rowIndex][prop];\n }\n }\n setSourceByVirtualIndex(this.dataStore, items);\n }\n\n getRangeStaticData(d: Selection.RangeArea, value: RevoGrid.DataFormat): RevoGrid.DataLookup {\n const changed: RevoGrid.DataLookup = {};\n\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\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\n getRangeTransformedToProps(\n d: Selection.RangeArea,\n store: Observable<DataSourceState<RevoGrid.DataType, RevoGrid.DimensionRows>>,\n ) {\n const area: {\n prop: RevoGrid.ColumnProp,\n rowIndex: number,\n model: RevoGrid.DataSource,\n type: RevoGrid.MultiDimensionType,\n }[] = [];\n\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 = this.columns[colIndex]?.prop;\n area.push({\n prop,\n rowIndex,\n model: getSourceItem(store, rowIndex),\n type,\n });\n }\n }\n return area;\n }\n\n copyRangeArray(\n range: Selection.RangeArea,\n store: Observable<DataSourceState<RevoGrid.DataType, RevoGrid.DimensionRows>>,\n ) {\n const cols = [...this.columns];\n const props = slice(cols, range.x, range.x1 + 1).map(v => v.prop);\n const toCopy: RevoGrid.DataFormat[][] = [];\n const mapping: { [rowIndex: number]: { [colProp: RevoGrid.ColumnProp]: any } } = {};\n\n // rows indexes\n for (let i = range.y; i <= range.y1; i++) {\n const rgRow: RevoGrid.DataFormat[] = [];\n mapping[i] = {};\n\n // columns indexes\n for (let prop of props) {\n const item = getSourceItem(store, i);\n\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\n toCopy.push(rgRow);\n }\n return {\n data: toCopy,\n mapping\n };\n }\n\n static getData(val?: any) {\n if (typeof val === 'undefined' || val === null) {\n return '';\n }\n return val;\n }\n\n destroy() {\n this.unsubscribe.forEach(f => f());\n }\n}\n","import { scaleValue } from '../utils';\nimport { RevoGrid } from '../interfaces';\n\ninterface Config {\n beforeScroll(e: RevoGrid.ViewPortScrollEvent): void;\n afterScroll(e: RevoGrid.ViewPortScrollEvent): void;\n}\n\ntype Params = {\n contentSize: number;\n virtualContentSize?: number;\n clientSize: number;\n virtualSize: number;\n maxSize?: number;\n};\n\nconst initialParams: Params = {\n contentSize: 0,\n clientSize: 0,\n virtualSize: 0,\n maxSize: 0,\n};\nconst NO_COORDINATE = -1;\nexport default class LocalScrollService {\n private preventArtificialScroll: Record<RevoGrid.DimensionType, () => void | null> = { rgRow: null, rgCol: null };\n // to check if scroll changed\n private previousScroll: Record<RevoGrid.DimensionType, number> = { rgRow: NO_COORDINATE, rgCol: NO_COORDINATE };\n private params: Record<RevoGrid.DimensionType, Params> = { rgRow: { ...initialParams }, rgCol: { ...initialParams } };\n\n constructor(private cfg: Config) {}\n\n static getVirtualContentSize(contentSize: number, clientSize: number, virtualSize: number = 0): number {\n return contentSize + (virtualSize ? clientSize - virtualSize : 0);\n }\n\n setParams(params: Params, dimension: RevoGrid.DimensionType) {\n const virtualContentSize = LocalScrollService.getVirtualContentSize(params.contentSize, params.clientSize, params.virtualSize);\n this.params[dimension] = {\n ...params,\n maxSize: virtualContentSize - params.clientSize,\n virtualContentSize,\n };\n }\n\n // apply scroll values after scroll done\n async setScroll(e: RevoGrid.ViewPortScrollEvent) {\n this.cancelScroll(e.dimension);\n\n const frameAnimation = new Promise<void>((resolve, reject) => {\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.previousScroll[e.dimension] = this.wrapCoordinate(e.coordinate, params);\n this.preventArtificialScroll[e.dimension] = null;\n this.cfg.afterScroll({\n ...e,\n coordinate: params.virtualSize ? this.convert(e.coordinate, params, false) : e.coordinate,\n });\n\n } catch (id) {\n window.cancelAnimationFrame(id);\n }\n }\n\n // initiate scrolling event\n scroll(\n coordinate: number,\n dimension: RevoGrid.DimensionType,\n force = false,\n delta?: number,\n outside = false\n ) {\n this.cancelScroll(dimension);\n if (!force && this.previousScroll[dimension] === coordinate) {\n this.previousScroll[dimension] = NO_COORDINATE;\n return;\n }\n\n const param = this.getParams(dimension);\n this.cfg.beforeScroll({\n dimension: dimension,\n coordinate: param.virtualSize ? this.convert(coordinate, param) : coordinate,\n delta,\n outside\n });\n }\n\n private getParams(dimension: RevoGrid.DimensionType): Params {\n return this.params[dimension];\n }\n\n // check if scroll outside of region to avoid looping\n private wrapCoordinate(c: number, param: Params): number {\n if (c < 0) {\n return NO_COORDINATE;\n }\n\n if (c > param.maxSize) {\n return param.maxSize;\n }\n return c;\n }\n\n // prevent already started scroll, performance optimization\n private cancelScroll(dimension: RevoGrid.DimensionType) {\n const canceler = this.preventArtificialScroll[dimension];\n if (canceler) {\n canceler();\n this.preventArtificialScroll[dimension] = null;\n }\n }\n\n /* convert virtual to real and back, scale range */\n private convert(pos: number, param: Params, toReal: boolean = true): number {\n const minRange: number = param.clientSize;\n const from: [number, number] = [0, param.virtualContentSize - minRange];\n const to: [number, number] = [0, param.contentSize - param.virtualSize];\n if (toReal) {\n return scaleValue(pos, from, to);\n }\n return scaleValue(pos, to, from);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist
|
|
3
|
+
*/
|
|
4
|
+
import{h as t,r as e,c as r,H as i,g as o}from"./index-05947c5f.js";import{i as s,_ as n,k as a,f as l,a as h,b as c,c as d,r as u,g,d as f,e as v,s as p,D as m,h as w,j as b,l as C,m as x,R as y,n as S,o as k,p as L,q as E,t as R,u as j,v as O,w as P,x as z,y as M,U as I,z as H,A as F}from"./index-728bf6e3.js";import{l as T,i as D,g as N,G as B,a as $,b as A,c as U,P as V,d as q,e as G,f as Z,h as J,j as W,k as X,E as Y,m as K,H as _,C as Q,F as tt,D as et,S as rt}from"./viewport.helpers-c08e729e.js";import{V as it,c as ot,g as st}from"./events-31272e5e.js";import{F as nt,i as at}from"./filter.button-21ce90ef.js";import{i as lt}from"./isString-d539060a.js";import{d as ht}from"./debounce-820b5a8b.js";import{d as ct}from"./dispatcher-9e9c0233.js";class dt{constructor(){this.defaultRowSize=32}}class ut{constructor(){this.defaultRowSize=27}}class gt{constructor(){this.defaultRowSize=42}}const ft="default";const vt=[ft,"material","compact","darkMaterial","darkCompact"];class pt{get theme(){return this.currentTheme}get rowSize(){return this.customRowSize||this.currentTheme.defaultRowSize}set rowSize(t){this.customRowSize=t}constructor(t){this.customRowSize=0;this.customRowSize=t.rowSize;this.register("default")}register(t){const e=pt.getTheme(t);switch(e){case"material":case"darkMaterial":this.currentTheme=new gt;break;case"compact":case"darkCompact":this.currentTheme=new dt;break;default:this.currentTheme=new ut;break}}static getTheme(t){if(vt.indexOf(t)>-1){return t}return ft}}function mt(t){return function(e,r,i){var o=Object(e);if(!s(e)){var l=n(r);e=a(e);r=function(t){return l(o[t],t,o)}}var h=t(e,r,i);return h>-1?o[l?e[h]:h]:undefined}}var wt=mt;var bt=wt(l);var Ct=bt;const xt=["rowPinStart","rgRow","rowPinEnd"];const yt=["colPinStart","rgCol","colPinEnd"];function St(t){return xt.indexOf(t)>-1}function kt(t,e){var r=-1,i=s(t)?Array(t.length):[];h(t,(function(t,o,s){i[++r]=e(t,o,s)}));return i}var Lt=kt;function Et(t,e){var r=c(t)?d:Lt;return r(t,n(e))}var Rt=Et;class jt{constructor(t){this.revogrid=t;this.subscriptions={}}addEventListener(t,e){this.revogrid.addEventListener(t,e);this.subscriptions[t]=e}watch(t,e,{immediate:r}={immediate:false}){var i;const o=Object.getOwnPropertyDescriptor(this.revogrid,t)||Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype,t);Object.defineProperty(this.revogrid,t,{set(t){var r;const i=e(t);if(i===false){return}return(r=o===null||o===void 0?void 0:o.set)===null||r===void 0?void 0:r.call(this,t)},get(){var t;return(t=o===null||o===void 0?void 0:o.get)===null||t===void 0?void 0:t.call(this)}});if(r){e((i=o===null||o===void 0?void 0:o.get)===null||i===void 0?void 0:i.call(this.revogrid))}}removeEventListener(t){this.revogrid.removeEventListener(t,this.subscriptions[t]);delete this.subscriptions[t]}emit(t,e){const r=new CustomEvent(t,{detail:e,cancelable:true});this.revogrid.dispatchEvent(r);return r}clearSubscriptions(){for(let t in this.subscriptions){this.removeEventListener(t)}}destroy(){this.clearSubscriptions()}}class Ot extends jt{static gatherGroup(t,e,r,i=0){const o=Object.assign(Object.assign({},e),{level:i,ids:[]});for(let e in r.columns){const i=e;const s=t.columns[i];const n=r.columns[i];if(c(s)&&c(n)){s.push(...n);if(n.length){t.columnGrouping[i].push(Object.assign(Object.assign({},o),{ids:Rt(n,"prop")}))}}}for(let e in r.columnGrouping){const i=e;const o=r.columnGrouping[i];t.columnGrouping[i].push(...o)}t.maxLevel=Math.max(t.maxLevel,r.maxLevel);t.sort=Object.assign(Object.assign({},t.sort),r.sort);return t}}function Pt(t){return!!t.children}class zt{get order(){return u(this.sorting,((t,e,r)=>{t[r]=e.order;return t}),{})}get stores(){return this.dataSources}constructor(){this.sorting=null;this.dataSources=u(yt,((t,e)=>{t[e]=new m(e);return t}),{})}column(t,e){return this.getColumn(t,e||"rgCol")}getColumn(t,e){return g(this.dataSources[e].store,t)}getRawColumns(){return u(this.dataSources,((t,e,r)=>{t[r]=e.store.get("source");return t}),{rgCol:[],colPinStart:[],colPinEnd:[]})}getColumns(t="all"){if(t!=="all"){return this.dataSources[t].store.get("source")}return yt.reduce(((t,e)=>{t.push(...this.dataSources[e].store.get("source"));return t}),[])}getColumnIndexByProp(t,e){return f(this.dataSources[e].store,t)}getColumnByProp(t,e){const r=this.dataSources[e].store.get("source");return Ct(r,{prop:t})}refreshByType(t){this.dataSources[t].refresh()}setColumns(t){v(yt,(e=>{this.dataSources[e].updateData(t.columns[e],{depth:t.maxLevel,groups:u(t.columnGrouping[e],((t,e)=>{if(!t[e.level]){t[e.level]=[]}t[e.level].push(e);return t}),{})})}));this.sorting=t.sort;return t}updateColumns(t){const e=t.reduce(((t,e)=>{const r=zt.getColumnType(e);if(!t[r]){t[r]={}}t[r][e.prop]=e;return t}),{});const r={};v(e,((t,e)=>{const i=this.dataSources[e].store.get("source");r[e]=i.reduce(((e,r,i)=>{const o=t[r.prop];if(o){e[i]=o}return e}),{})}));v(r,((t,e)=>p(this.dataSources[e].store,t)))}updateColumn(t,e){const r=zt.getColumnType(t);p(this.dataSources[r].store,{[e]:t})}updateColumnSorting(t,e,r,i){if(!i){this.clearSorting()}t.order=r;this.sorting[t.prop]=t;this.updateColumn(t,e);return t}clearSorting(){const t=u(this.sorting,((t,e)=>{const r=zt.getColumnType(e);t[r]=true;return t}),{});v(t,((t,e)=>{const r=this.dataSources[e].store.get("source");v(r,(t=>t.order=undefined));this.dataSources[e].setData({source:[...r]})}));this.sorting={}}static getSizes(t){return u(t,((t,e,r)=>{if(e.size){t[r]=e.size}return t}),{})}static getColumnByProp(t,e){return Ct(t,(t=>{if(Pt(t)){return zt.getColumnByProp(t.children,e)}return t.prop===e}))}static getColumns(t,e=0,r){const i={columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},maxLevel:e,sort:{}};return u(t,((t,i)=>{if(Pt(i)){return Ot.gatherGroup(t,i,zt.getColumns(i.children,e+1,r),e)}const o=Object.assign(Object.assign({},i.columnType&&r&&r[i.columnType]),i);if(!o.pin){t.columns.rgCol.push(o)}else{t.columns[o.pin].push(o)}if(o.order){t.sort[o.prop]=o}o.beforeSetup&&o.beforeSetup(o);return t}),i)}static getColumnType(t){if(t.pin){return t.pin}return"rgCol"}}class Mt{constructor(t){this.dimensionProvider=t;this.stores=u(xt,((t,e)=>{t[e]=new m(e);return t}),{})}setData(t,e="rgRow",r,i=false){this.stores[e].updateData([...t],r,i);this.dimensionProvider.setData(t.length,e,e!=="rgRow");return t}getModel(t,e="rgRow"){const r=this.stores[e].store;return g(r,t)}setCellData({type:t,rowIndex:e,prop:r,val:i}){const o=this.getModel(e,t);o[r]=i;p(this.stores[t].store,{[e]:o})}refresh(t="all"){if(St(t)){this.refreshItems(t)}xt.forEach((t=>this.refreshItems(t)))}refreshItems(t="rgRow"){const e=this.stores[t].store.get("items");this.stores[t].setData({items:[...e]})}setGrouping({depth:t},e="rgRow"){this.stores[e].setData({groupingDepth:t})}setTrimmed(t,e="rgRow"){const r=this.stores[e];r.addTrimmed(t);this.dimensionProvider.setTrimmed(t,e);if(e==="rgRow"){this.dimensionProvider.setData(w(r.store).length,e)}}}const It=t=>{let e={};const r=(r,i)=>{const o=Object.assign({},r);e={};v(i,((t,r)=>{if(t&&o[r]){e[r]=o[r];delete o[r]}}));t.setDimensionSize(o)};return{set(i,o){switch(i){case"trimmed":const i=o;const s=t.store.get("sizes");r(Object.assign(Object.assign({},s),e),i);break}}}};const Ht=t=>({set(e){switch(e){case"count":case"sizes":case"originItemSize":let e=0;const r=t.store.get("count");for(let i=0;i<r;i++){e+=t.store.get("sizes")[i]||t.store.get("originItemSize")}t.setStore({realSize:e})}}});function Ft(){return{indexes:[],count:0,trimmed:{},sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]}}function Tt(){return Object.assign(Object.assign({},Ft()),{realSize:0,originItemSize:0})}class Dt{constructor(){this.store=b(Tt());this.store.use(It(this));this.store.use(Ht(this))}getCurrentState(){const t=Tt();const e=Object.keys(t);return u(e,((t,e)=>{const r=this.store.get(e);t[e]=r;return t}),t)}dispose(){C(this.store,Tt())}setStore(t){C(this.store,t)}drop(){C(this.store,Ft())}setDimensionSize(t){const e=x(this.store.get("originItemSize"),t);C(this.store,e);return e}}class Nt{constructor(t,e){this.viewports=t;const r=T.debounce((t=>e.realSizeChanged(t)),y);this.stores=u([...xt,...yt],((t,e)=>{t[e]=new Dt;t[e].store.onChange("realSize",(()=>r(e)));return t}),{})}clearSize(t,e){this.stores[t].drop();this.viewports.stores[t].setOriginalSizes(this.stores[t].store.get("originItemSize"));this.setItemCount(e,t)}setCustomSizes(t,e,r=false){let i=e;if(r){const r=this.stores[t].store.get("sizes");i=Object.assign(Object.assign({},r),e)}this.stores[t].setDimensionSize(i);this.viewports.stores[t].setViewPortDimensionSizes(i,!r?this.stores[t].store.get("originItemSize"):undefined)}setItemCount(t,e){this.viewports.stores[e].setViewport({realCount:t});this.stores[e].setStore({count:t})}setTrimmed(t,e){const r=k(t);const i=this.stores[e];i.setStore({trimmed:r});this.viewports.stores[e].setViewPortDimensionSizes(i.store.get("sizes"))}setData(t,e,r=false){this.setItemCount(t,e);if(r){this.setNoVirtual(e)}this.updateViewport(e)}setNoVirtual(t){const e=this.stores[t].getCurrentState();this.viewports.stores[t].setViewport({virtualSize:e.realSize})}dropColumns(t=yt){for(let e of t){this.stores[e].drop();this.viewports.stores[e].clearItems()}}getFullSize(){var t,e;let r=0;let i=0;for(let e of yt){r+=((t=this.stores[e])===null||t===void 0?void 0:t.store.get("realSize"))||0}for(let t of xt){i+=((e=this.stores[t])===null||e===void 0?void 0:e.store.get("realSize"))||0}return{y:i,x:r}}setNewColumns(t,e,r,i=false){this.setItemCount(e,t);this.setCustomSizes(t,r);if(i){this.setNoVirtual(t)}this.updateViewport(t)}updateViewport(t){this.setViewPortCoordinate({coordinate:this.viewports.stores[t].lastCoordinate,type:t})}setViewPortCoordinate({coordinate:t,type:e}){const r=this.stores[e].getCurrentState();this.viewports.stores[e].setViewPortCoordinate(t,r)}getViewPortPos(t){const e=this.stores[t.dimension].getCurrentState();const r=S(e,t.coordinate);return r.start}setSettings(t,e){let r=[];switch(e){case"rgCol":r=yt;break;case"rgRow":r=xt;break}for(let e of r){this.stores[e].setStore(t)}}}class Bt{constructor(){this.stores=u([...xt,...yt],((t,e)=>{t[e]=new it(e);return t}),{})}setViewport(t,e){this.stores[t].setViewport(e)}}const $t=7;var At;(function(t){t["headerClickAutosize"]="headerClickAutoSize";t["autoSizeOnTextOverlap"]="autoSizeOnTextOverlap";t["autoSizeAll"]="autoSizeAll"})(At||(At={}));class Ut extends jt{constructor(t,e,r){super(t);this.providers=e;this.config=r;this.autoSizeColumns=null;this.dataResolve=null;this.dataReject=null;this.letterBlockSize=(r===null||r===void 0?void 0:r.letterBlockSize)||$t;if(r===null||r===void 0?void 0:r.preciseSize){this.precsizeCalculationArea=this.initiatePresizeElement();t.appendChild(this.precsizeCalculationArea)}const i=({detail:{source:t}})=>{this.setSource(t)};const o=({detail:t})=>{this.afteredit(t)};const s=({detail:t})=>{this.afterEditAll(t)};const n=({detail:{columns:t}})=>{this.columnSet(t)};const a=({detail:t})=>{const e=zt.getColumnType(t.column);const r=this.getColumnSize(t.index,e);if(r){this.providers.dimensionProvider.setCustomSizes(e,{[t.index]:r},true)}};this.addEventListener("beforecolumnsset",n);switch(r===null||r===void 0?void 0:r.mode){case At.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",o);break;case At.autoSizeAll:this.addEventListener("aftersourceset",i);this.addEventListener("afteredit",s);break;default:this.addEventListener("headerdblClick",a);break}}async setSource(t){let e=this.autoSizeColumns;if(this.dataReject){this.dataReject();this.clearPromise()}if(!e){const t=new Promise(((t,e)=>{this.dataResolve=t;this.dataReject=e}));try{e=await t}catch(t){return}}v(e,((r,i)=>{const o={};v(e[i],(e=>{e.size=o[e.index]=t.reduce(((t,r)=>Math.max(t,this.getLength(r[e.prop]))),this.getLength(e.name||""))}));this.providers.dimensionProvider.setCustomSizes(i,o,true)}))}getLength(t){var e;const r=15;if(!t){return 0}try{const i=t.toString();if((e=this.config)===null||e===void 0?void 0:e.preciseSize){this.precsizeCalculationArea.innerText=i;return this.precsizeCalculationArea.scrollWidth+r*2}return i.length*this.letterBlockSize+r*2}catch(t){return 0}}afteredit(t){let e;if(this.isRangeEdit(t)){e=t.data}else{e={0:{[t.prop]:t.val}}}v(this.autoSizeColumns,((t,r)=>{const i={};v(t,(t=>{const r=u(e,((e,r)=>{if(typeof r[t.prop]==="undefined"){return e}return Math.max(e||0,this.getLength(r[t.prop]))}),undefined);if(r&&t.size<r){t.size=i[t.index]=r}}));this.providers.dimensionProvider.setCustomSizes(r,i,true)}))}afterEditAll(t){const e={};if(this.isRangeEdit(t)){v(t.data,(t=>v(t,((t,r)=>e[r]=true))))}else{e[t.prop]=true}v(this.autoSizeColumns,((t,r)=>{const i={};v(t,(t=>{if(e[t.prop]){const e=this.getColumnSize(t.index,r);if(e){i[t.index]=e}}}));this.providers.dimensionProvider.setCustomSizes(r,i,true)}))}getColumnSize(t,e){const r=this.autoSizeColumns[e][t];if(!r){return 0}return u(this.providers.dataProvider.stores,((t,e)=>{const i=u(e.store.get("items"),((t,i,o)=>{const s=g(e.store,o);return Math.max(t||0,this.getLength(s[r.prop]))}),0);return Math.max(t,i)}),r.size||0)}columnSet(t){var e;for(let r of yt){const i=r;const o=t[i];for(let t in o){if(o[t].autoSize||((e=this.config)===null||e===void 0?void 0:e.allColumns)){if(!this.autoSizeColumns){this.autoSizeColumns={}}if(!this.autoSizeColumns[i]){this.autoSizeColumns[i]={}}this.autoSizeColumns[i][t]=Object.assign(Object.assign({},o[t]),{index:parseInt(t,10)})}}}if(this.dataResolve){this.dataResolve(this.autoSizeColumns);this.clearPromise()}}clearPromise(){this.dataResolve=null;this.dataReject=null}isRangeEdit(t){return!!t.data}initiatePresizeElement(){const t={position:"absolute",fontSize:"14px",height:"0",width:"0",whiteSpace:"nowrap",top:"0",overflowX:"scroll"};const e=document.createElement("div");for(let r in t){e.style[r]=t[r]}e.classList.add("revo-test-container");return e}destroy(){var t;super.destroy();(t=this.precsizeCalculationArea)===null||t===void 0?void 0:t.remove()}}const Vt=(t,e)=>{if(typeof t==="undefined"||t===null&&!e){return true}if(typeof t!=="string"){t=JSON.stringify(t)}const r=e.toString().toLocaleLowerCase();if(r.length===0){return true}return t.toLocaleLowerCase()===r};const qt=(t,e)=>!Vt(t,e);qt.extra="input";Vt.extra="input";const Gt=function(t,e){let r;if(typeof t==="number"){r=parseFloat(e===null||e===void 0?void 0:e.toString());return t>r}return false};Gt.extra="input";const Zt=function(t,e){return Vt(t,e)||Gt(t,e)};Zt.extra="input";const Jt=function(t,e){let r;if(typeof t==="number"){r=parseFloat(e===null||e===void 0?void 0:e.toString());return t<r}else{return false}};Jt.extra="input";const Wt=function(t,e){return Vt(t,e)||Jt(t,e)};Wt.extra="input";const Xt=t=>!(t===""||t===null||t===void 0);const Yt=t=>!Xt(t);const Kt=(t,e)=>{if(!t){return false}if(!e){return true}if(typeof t!=="string"){t=JSON.stringify(t)}if(typeof e!=="string"){e=JSON.stringify(e)}return t.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())===0};Kt.extra="input";const _t=(t,e)=>{if(!e){return true}if(!t){return false}if(e){if(typeof t!=="string"){t=JSON.stringify(t)}return t.toLocaleLowerCase().indexOf(e.toString().toLowerCase())>-1}return true};const Qt=(t,e)=>!_t(t,e);Qt.extra="input";_t.extra="input";const te={none:"None",empty:"Not set",notEmpty:"Set",eq:"Equal",notEq:"Not equal",begins:"Begins with",contains:"Contains",notContains:"Does not contain",eqN:"=",neqN:"!=",gt:">",gte:">=",lt:"<",lte:"<="};const ee={none:()=>true,empty:Yt,notEmpty:Xt,eq:Vt,notEq:qt,begins:Kt,contains:_t,notContains:Qt,eqN:Vt,neqN:qt,gt:Gt,gte:Zt,lt:Jt,lte:Wt};const re={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]};const ie="filter";const oe="filterconfigchanged";class se extends jt{constructor(e,r,i){var o;super(e);this.revogrid=e;this.filterCollection={};this.multiFilterItems={};this.possibleFilters=Object.assign({},re);this.possibleFilterNames=Object.assign({},te);this.possibleFilterEntities=Object.assign({},ee);this.filterProp=nt;if(i){this.initConfig(i)}const s=t=>this.headerclick(t);const n=async()=>{const t=Object.keys(this.filterCollection);if(t.length>0){t.forEach(((t,e)=>{if(!this.multiFilterItems[t]){this.multiFilterItems[t]=[{id:e,type:this.filterCollection[t].type,value:this.filterCollection[t].value,relation:"and"}]}}))}await this.runFiltering()};this.addEventListener("headerclick",s);this.addEventListener(oe,(({detail:t})=>{if(!t){this.clearFiltering();return}if(typeof t==="object"){this.initConfig(t)}n()}));this.addEventListener("aftersourceset",n);this.addEventListener("filter",(({detail:t})=>this.onFilterChange(t)));this.revogrid.registerVNode([t("revogr-filter-panel",{uuid:`filter-${r}`,filterItems:this.multiFilterItems,filterNames:this.possibleFilterNames,filterEntities:this.possibleFilterEntities,filterCaptions:(o=i===null||i===void 0?void 0:i.localization)===null||o===void 0?void 0:o.captions,onFilterChange:t=>this.onFilterChange(t.detail),disableDynamicFiltering:i===null||i===void 0?void 0:i.disableDynamicFiltering,ref:t=>this.pop=t})])}initConfig(t){if(t.multiFilterItems){this.multiFilterItems=Object.assign({},t.multiFilterItems)}if(t.customFilters){for(let e in t.customFilters){const r=t.customFilters[e];if(!this.possibleFilters[r.columnFilterType]){this.possibleFilters[r.columnFilterType]=[]}this.possibleFilters[r.columnFilterType].push(e);this.possibleFilterEntities[e]=r.func;this.possibleFilterNames[e]=r.name}}if(t.filterProp){this.filterProp=t.filterProp}if(t.include){const e={};for(let r in this.possibleFilters){const i=this.possibleFilters[r].filter((e=>t.include.indexOf(e)>-1));if(i.length){e[r]=i}}if(Object.keys(e).length>0){this.possibleFilters=e}}if(t.collection){this.filterCollection=T.reduce(t.collection,((t,e,r)=>{if(this.possibleFilterEntities[e.type]){t[r]=e}else{console.warn(`${e.type} type is not found.`)}return t}),{})}if(t.localization){if(t.localization.filterNames){Object.entries(t.localization.filterNames).forEach((([t,e])=>{if(this.possibleFilterNames[t]!=void 0){this.possibleFilterNames[t]=e}}))}}}async headerclick(t){var e;const r=(e=t.detail.originalEvent)===null||e===void 0?void 0:e.target;if(!at(r)){return}t.preventDefault();const i=await this.pop.getChanges();if(i&&(i===null||i===void 0?void 0:i.prop)===t.detail.prop){this.pop.show();return}const o=this.revogrid.getBoundingClientRect();const s=r.getBoundingClientRect();const n=t.detail.prop;this.pop.filterTypes=this.getColumnFilter(t.detail.filter);this.pop.show(Object.assign(Object.assign({},this.filterCollection[n]),{x:s.x-o.x,y:s.y-o.y+s.height,prop:n}))}getColumnFilter(t){let e="string";if(!t){return{[e]:this.possibleFilters[e]}}if(this.isValidType(t)){e=t}else if(typeof t==="object"&&t.length){return t.reduce(((t,e)=>{if(this.isValidType(e)){t[e]=this.possibleFilters[e]}return t}),{})}return{[e]:this.possibleFilters[e]}}isValidType(t){return!!(typeof t==="string"&&this.possibleFilters[t])}async onFilterChange(t){this.multiFilterItems=t;this.runFiltering()}async doFiltering(t,e,r,i){const o=[];r.forEach((t=>{const e=Object.assign({},t);const r=i[e.prop];if(e[this.filterProp]&&!r){delete e[this.filterProp];o.push(e)}if(!e[this.filterProp]&&r){o.push(e);e[this.filterProp]=true}}));const s=this.getRowFilter(e,i);const{defaultPrevented:n,detail:a}=this.emit("beforefiltertrimmed",{collection:t,itemsToFilter:s,source:e,filterItems:i});if(n){return}const l=await this.revogrid.addTrimmed(a.itemsToFilter,ie);if(l.defaultPrevented){return}await this.revogrid.updateColumns(o);this.emit("afterFilterApply")}async clearFiltering(){this.multiFilterItems={};await this.runFiltering()}async runFiltering(){const t={};const e=Object.keys(this.multiFilterItems);for(const r of e){if(this.multiFilterItems[r].length>0){const e=this.multiFilterItems[r][0];t[r]={filter:ee[e.type],type:e.type,value:e.value}}}this.filterCollection=t;const{source:r,columns:i}=await this.getData();const{defaultPrevented:o,detail:s}=this.emit("beforefilterapply",{collection:this.filterCollection,source:r,columns:i,filterItems:this.multiFilterItems});if(o){return}this.doFiltering(s.collection,s.source,s.columns,s.filterItems)}async getData(){return{source:await this.revogrid.getSource(),columns:await this.revogrid.getColumns()}}getRowFilter(t,e){const r=Object.keys(e);const i={};let o=0;let s=[];t.forEach(((t,n)=>{for(const a of r){const r=e[a];o=0;s=[];for(const[e,i]of r.entries()){const n=this.possibleFilterEntities[i.type];if(i.relation==="or"){s=[];if(n(t[a],i.value)){continue}o++}else{s.push(!n(t[a],i.value));const l=r[e+1];if(!l||l.relation!=="and"){if(s.indexOf(true)===-1){s=[];continue}o+=s.length;s=[]}}}if(o===r.length)i[n]=true}}));return i}}var ne=L("length");var ae=ne;var le="\\ud800-\\udfff",he="\\u0300-\\u036f",ce="\\ufe20-\\ufe2f",de="\\u20d0-\\u20ff",ue=he+ce+de,ge="\\ufe0e\\ufe0f";var fe="\\u200d";var ve=RegExp("["+fe+le+ue+ge+"]");function pe(t){return ve.test(t)}var me=pe;var we="\\ud800-\\udfff",be="\\u0300-\\u036f",Ce="\\ufe20-\\ufe2f",xe="\\u20d0-\\u20ff",ye=be+Ce+xe,Se="\\ufe0e\\ufe0f";var ke="["+we+"]",Le="["+ye+"]",Ee="\\ud83c[\\udffb-\\udfff]",Re="(?:"+Le+"|"+Ee+")",je="[^"+we+"]",Oe="(?:\\ud83c[\\udde6-\\uddff]){2}",Pe="[\\ud800-\\udbff][\\udc00-\\udfff]",ze="\\u200d";var Me=Re+"?",Ie="["+Se+"]?",He="(?:"+ze+"(?:"+[je,Oe,Pe].join("|")+")"+Ie+Me+")*",Fe=Ie+Me+He,Te="(?:"+[je+Le+"?",Le,Oe,Pe,ke].join("|")+")";var De=RegExp(Ee+"(?="+Ee+")|"+Te+Fe,"g");function Ne(t){var e=De.lastIndex=0;while(De.test(t)){++e}return e}var Be=Ne;function $e(t){return me(t)?Be(t):ae(t)}var Ae=$e;var Ue="[object Map]",Ve="[object Set]";function qe(t){if(t==null){return 0}if(s(t)){return lt(t)?Ae(t):t.length}var e=E(t);if(e==Ue||e==Ve){return t.size}return R(t).length}var Ge=qe;class Ze extends jt{constructor(t){super(t);this.revogrid=t;this.sorting=null;this.sortingFunc=null;this.doSort=ht(((t,e)=>this.sort(t,e)),50);const e=async({detail:{type:t}})=>{if(!!this.sorting&&this.sortingFunc){const e=this.emit("beforesorting",{type:t});if(e.defaultPrevented){return}this.doSort(this.sorting,this.sortingFunc)}};const r=async({detail:{order:t}})=>{const e=await this.revogrid.getColumns();const r={};for(let i in t){const o=this.getComparer(zt.getColumnByProp(e,i),t[i]);r[i]=o}this.doSort(t,r)};const i=async t=>{var e,r;if(t.defaultPrevented){return}if(!t.detail.column.sortable){return}this.headerclick(t.detail.column,t.detail.index,(r=(e=t.detail)===null||e===void 0?void 0:e.originalEvent)===null||r===void 0?void 0:r.shiftKey)};this.addEventListener("after-any-source",e);this.addEventListener("aftercolumnsset",r);this.addEventListener("initialHeaderClick",i)}getComparer(t,e){const r=(t===null||t===void 0?void 0:t.cellCompare.bind({order:e}))||this.defaultCellCompare;if(e=="asc"){return r}if(e=="desc"){return this.descCellCompare(r)}return undefined}async headerclick(t,e,r){let i=this.getNextOrder(t.order);const o=this.emit("beforesorting",{column:t,order:i,additive:r});if(o.defaultPrevented){return}i=o.detail.order;const s=await this.revogrid.updateColumnSorting(o.detail.column,e,i,r);const n=this.emit("beforesortingapply",{column:s,order:i,additive:r});if(n.defaultPrevented){return}i=n.detail.order;const a=this.getComparer(t,i);if(r&&this.sorting){const e={};const r={};this.sorting=Object.assign(Object.assign({},this.sorting),e);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),r);if(t.prop in e&&Ge(e)>1&&i===undefined){delete e[t.prop];delete r[t.prop]}else{e[t.prop]=i;r[t.prop]=a}}else{this.sorting={[t.prop]:i};this.sortingFunc={[t.prop]:a}}this.doSort(this.sorting,this.sortingFunc)}async sort(t,e,r=["rgRow","rowPinStart","rowPinEnd"]){if(!Ge(t)){this.sorting=null;this.sortingFunc=null;return}this.sorting=t;this.sortingFunc=e;for(let t of r){const r=await this.revogrid.getSourceStore(t);const i=r.get("source");const o=r.get("proxyItems");const s=this.sortIndexByItems([...o],i,e);C(r,{proxyItems:s,source:[...i]})}this.emit("afterSortingApply")}defaultCellCompare(t,e,r){var i,o;const s=(i=e[t])===null||i===void 0?void 0:i.toString().toLowerCase();const n=(o=r[t])===null||o===void 0?void 0:o.toString().toLowerCase();return s==n?0:s>n?1:-1}descCellCompare(t){return(e,r,i)=>-1*t(e,r,i)}sortIndexByItems(t,e,r){if(Object.entries(r).length===0){return[...Array(t.length).keys()]}return t.sort(((t,i)=>{for(const[o,s]of Object.entries(r)){const r=e[t];const n=e[i];const a=s(o,r,n);if(a){return a}}return 0}))}getNextOrder(t){switch(t){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}function Je(t,e,r){if(t===t){if(r!==undefined){t=t<=r?t:r}if(e!==undefined){t=t>=e?t:e}}return t}var We=Je;var Xe=4294967295;function Ye(t){return t?We(j(t),0,Xe):0}var Ke=Ye;function _e(t,e,r,i){var o=t.length;r=j(r);if(r<0){r=-r>o?0:o+r}i=i===undefined||i>o?o:j(i);if(i<0){i+=o}i=r>i?0:Ke(i);while(r<i){t[r++]=e}return t}var Qe=_e;function tr(t,e,r,i){var o=t==null?0:t.length;if(!o){return[]}if(r&&typeof r!="number"&&O(t,e,r)){r=0;i=o}return Qe(t,e,r,i)}var er=tr;const rr={mime:"text/csv",fileKind:"csv",bom:true,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""};const ir=String.fromCharCode(13);const or=String.fromCharCode(10);const sr=String.fromCharCode(34);const nr=String.fromCharCode(65279);const ar=new RegExp('"',"g");class lr{constructor(t={}){this.options=Object.assign(Object.assign({},rr),t)}doExport({data:t,headers:e,props:r}){let i=this.options.bom?nr:"";if((e===null||e===void 0?void 0:e.length)>0){e.forEach((t=>{if(!t.length){return}i+=this.prepareHeader(t,this.options.columnDelimiter);i+=this.options.rowDelimiter}))}t.forEach(((t,e)=>{if(e>0){i+=this.options.rowDelimiter}if(D(t)){i+=this.parseCell(N(t),this.options.columnDelimiter);return}i+=r.map((e=>this.parseCell(t[e],this.options.columnDelimiter))).join(this.options.columnDelimiter)}));return i}prepareHeader(t,e){let r="";const i=t.map((t=>this.parseCell(t,e,true)));r+=i.join(e);return r}parseCell(t,e,r=false){let i=t;if(typeof t!=="string"){i=JSON.stringify(t)}const o=[ir,sr,or,e];if(typeof i==="undefined"){return""}if(i!==""&&(r||o.some((t=>i.indexOf(t)>=0)))){return`"${i.replace(ar,'""')}"`}return i}}var hr;(function(t){t["csv"]="csv"})(hr||(hr={}));class cr extends jt{async exportString(t={},e=hr.csv){const r=await this.beforeexport();if(!r){return null}return this.formatter(e,t).doExport(r)}async exportBlob(t={},e=hr.csv){return await this.getBlob(this.formatter(e,t))}async exportFile(t={},e=hr.csv){const r=this.formatter(e,t);const i=await this.getBlob(r);const o=window.URL||window.webkitURL;const s=document.createElement("a");const{filename:n,fileKind:a}=r.options;const l=`${n}.${a}`;const h=o.createObjectURL(i);s.style.display="none";s.setAttribute("href",h);s.setAttribute("download",l);this.revogrid.appendChild(s);s.dispatchEvent(new MouseEvent("click"));this.revogrid.removeChild(s);await P(120);o.revokeObjectURL(h)}async getBlob(t){const e=`${t.options.mime};charset=${t.options.encoding}`;if(typeof Blob!=="undefined"){const r=await this.beforeexport();if(!r){return null}return new Blob([t.doExport(r)],{type:e})}return null}async beforeexport(){let t=await this.getData();const e=this.emit("beforeexport",{data:t});if(e.defaultPrevented){return null}return e.detail.data}async getData(){const t=await this.getSource();const e=[];const r=[];yt.forEach(((t,i)=>{r.push(this.getColPerSource(t).then((t=>e[i]=t)))}));await Promise.all(r);const i={headers:[],props:[]};for(let t of e){t.headers.forEach(((t,e)=>{if(!i.headers[e]){i.headers[e]=[]}i.headers[e].push(...t)}));i.props.push(...t.props)}return Object.assign({data:t},i)}async getColPerSource(t){const e=await this.revogrid.getColumnStore(t);const r=e.get("source");const i=e.get("items");const o=e.get("groupingDepth");const s=e.get("groups");const n=[];const a=[];const l=i.reduce(((t,e,i)=>{const o=r[e].prop;n.push(r[e].name||"");a.push(o);t[o]=i;return t}),{});const h=this.getGroupHeaders(o,s,i,l);h.push(n);return{headers:h,props:a}}getGroupHeaders(t,e,r,i){const o=[];const s=er(new Array(r.length),"");for(let r=0;r<t;r++){const t=[...s];o.push(t);if(!e[r]){continue}const n=e[r];n.forEach((e=>{const r=this.findGroupStartIndex(e.ids,i);if(typeof r==="number"){t[r]=e.name}}))}return o}findGroupStartIndex(t,e){let r;t.forEach((t=>{const i=e[t];if(typeof i==="number"){if(typeof r!=="number"||r>i){r=i}}}));return r}async getSource(){const t=[];const e=[];xt.forEach((r=>{const i=[];t.push(i);const o=this.revogrid.getVisibleSource(r).then((t=>i.push(...t)));e.push(o)}));await Promise.all(e);return t.reduce(((t,e)=>{t.push(...e);return t}),[])}formatter(t,e={}){switch(t){case hr.csv:return new lr(e);default:throw new Error("Unknown format")}}}function dr(t,e){const r=e[t];const i=r[V];const o={};let s=t+1;const n=e.length;while(s<n){const t=e[s];if(D(t)){const e=t[V];if(!e.length||!e.startsWith(i+",")){break}t[B]=false}o[s++]=true}r[B]=false;return{trimmed:o}}function ur(t,e,r){const i=r[t];const o=e[i];const s=$(o[q]);const n={};if(!s){return{trimmed:n}}const a=[];o[B]=true;let l=i+1;const h=e.length;let c=0;while(l<h){const t=e[l];const r=D(t);if(r){if(!A(s,o,t)){break}else if(!c){c=t[U]}}if(!c||r&&c===t[U]){n[l]=false;a.push(l)}l++}const d={trimmed:n};if(a.length){const e=[...r];e.splice(t+1,0,...a);d.items=e}return d}const gr="grouping";function fr(t,e,r){const i={};for(let o in t){if(o===gr){continue}const s=t[o];const n={};for(let t in s){let a=e[t];if(r){a=r[a]}if(s[t]){n[a]=true;if(a!==parseInt(t,10)){i[o]=n}}}}return i}class vr extends jt{get hasProps(){var t,e,r;return((t=this.options)===null||t===void 0?void 0:t.props)&&((r=(e=this.options)===null||e===void 0?void 0:e.props)===null||r===void 0?void 0:r.length)}get store(){return this.providers.dataProvider.stores[G].store}get rowItems(){return this.store.get("items")}get trimmed(){return this.store.get("trimmed")}constructor(t,e){super(t);this.revogrid=t;this.providers=e}onFocus(t){if(D(t.detail.model)){t.preventDefault()}}onExpand({virtualIndex:t}){const{source:e}=this.getSource();let r=this.trimmed[gr];let i=z(this.store,t);const o=e[i];const s=o[B];if(!s){const{trimmed:i,items:o}=ur(t,e,this.rowItems);r=Object.assign(Object.assign({},r),i);if(o){M(this.store,o)}}else{const{trimmed:t}=dr(i,e);r=Object.assign(Object.assign({},r),t);this.revogrid.clearFocus()}this.store.set("source",e);this.revogrid.addTrimmed(r,gr)}getSource(t=false){const e=this.store.get("source");const r=this.store.get("proxyItems");let i=0;return r.reduce(((r,o)=>{const s=e[o];if(!t){r.source.push(s);return r}if(!D(s)){r.source.push(s);r.oldNewIndexes[o]=i;i++}else{if(s[B]){r.prevExpanded[s[V]]=true}}return r}),{source:[],prevExpanded:{},oldNewIndexes:{}})}setColumnGrouping(t){if(t===null||t===void 0?void 0:t.length){t[0][Z]=true;return true}return false}setColumns({columns:t}){for(let e of yt){if(this.setColumnGrouping(t[e])){break}}}onDrag(t){const{from:e,to:r}=t.detail;const i=r-e>=0;const{source:o}=this.getSource();const s=this.rowItems;let n=i?e:r;const a=i?r:e;for(;n<a;n++){const e=o[s[n]];const r=D(e);if(r){t.preventDefault();return}}}beforeTrimmedApply(t,e){if(e===ie){const e=this.store.get("source");for(let r in t){if(t[r]&&D(e[r])){t[r]=false}}}}subscribe(){this.addEventListener("beforesourceset",(({detail:t})=>this.onDataSet(t)));this.addEventListener("beforecolumnsset",(({detail:t})=>this.setColumns(t)));this.addEventListener("beforetrimmed",(({detail:{trimmed:t,trimmedType:e}})=>this.beforeTrimmedApply(t,e)));this.addEventListener("afterSortingApply",(()=>this.doSourceUpdate(Object.assign({},this.options))));this.addEventListener("beforecellfocus",(t=>this.onFocus(t)));this.addEventListener("roworderchanged",(t=>this.onDrag(t)));this.addEventListener(J,(({detail:t})=>this.onExpand(t)))}doSourceUpdate(t){var e;if(!this.hasProps){return}const{source:r,prevExpanded:i,oldNewIndexes:o}=this.getSource(true);const{sourceWithGroups:s,depth:n,trimmed:a,oldNewIndexMap:l,childrenByGroup:h}=W(r,((e=this.options)===null||e===void 0?void 0:e.props)||[],Object.assign({prevExpanded:i},t));this.providers.dataProvider.setData(s,G,{depth:n,customRenderer:t===null||t===void 0?void 0:t.groupLabelTemplate},true);this.updateTrimmed(a,h,o,l)}onDataSet(t){var e;if(!this.hasProps||!(t===null||t===void 0?void 0:t.source)||!t.source.length){return}const r=t.source.filter((t=>!D(t)));const i=this.revogrid.grouping||{};const{sourceWithGroups:o,depth:s,trimmed:n,oldNewIndexMap:a,childrenByGroup:l}=W(r,((e=this.options)===null||e===void 0?void 0:e.props)||[],Object.assign({},i||{}));t.source=o;this.providers.dataProvider.setGrouping({depth:s});this.updateTrimmed(n,l,a)}setGrouping(t){this.clearSubscriptions();this.options=t;if(!t.props||!Object.keys(t.props).length){this.clearGrouping();return}const{source:e}=this.getSource();if(e.length){this.doSourceUpdate(Object.assign({},t))}for(let t of yt){if(this.setColumnGrouping(this.providers.columnProvider.getColumns(t))){this.providers.columnProvider.refreshByType(t);break}}this.subscribe()}clearGrouping(){yt.forEach((t=>{const e=this.providers.columnProvider.getColumns(t);let r=false;e.forEach((t=>{if(X(t)){delete t[Z];r=true}}));if(r){this.providers.columnProvider.refreshByType(t)}}));const{source:t,oldNewIndexes:e}=this.getSource(true);this.providers.dataProvider.setData(t,G,undefined,true);this.updateTrimmed(undefined,undefined,e)}updateTrimmed(t={},e={},r,i){const o=fr(this.trimmed,r,i);for(let t in o){this.revogrid.addTrimmed(o[t],t)}this.revogrid.addTrimmed(Object.assign({},t),gr)}}class pr{constructor(){this.parentY=0}start(t,{pos:e,text:r,event:i}){var o;const{top:s}=t.getBoundingClientRect();this.parentY=s;if(this.text){this.text.innerText=r}this.move(e);this.moveTip({x:i.x,y:i.y});(o=this.el)===null||o===void 0?void 0:o.classList.remove("hidden")}end(){var t;(t=this.el)===null||t===void 0?void 0:t.classList.add("hidden")}move(t){this.moveElement(t.end-this.parentY)}moveTip({x:t,y:e}){if(!this.draggable){return}this.draggable.style.left=`${t}px`;this.draggable.style.top=`${e}px`}moveElement(t){if(!this.rgRow){return}this.rgRow.style.transform=`translateY(${t}px)`}}const mr=({ref:e})=>{const r=new pr;e(r);return t("div",{class:"draggable-wrapper hidden",ref:t=>r.el=t},t("div",{class:"draggable",ref:t=>r.draggable=t},t("span",{class:"revo-alt-icon"}),t("span",{ref:t=>r.text=t})),t("div",{class:"drag-position",ref:t=>r.rgRow=t}))};const wr=({viewports:e,dimensions:r,orderRef:i,nakedClick:o,registerElement:s,onScroll:n},a)=>{const l=(t,e)=>{if(e===t.target){o(t)}};let h;const c="rgRow";const d="rgCol";return[t("div",{class:"main-viewport",ref:t=>h=t,onClick:t=>l(t,h)},t("div",{class:"viewports"},a,t("revogr-scroll-virtual",{class:"vertical",dimension:c,viewportStore:e[c].store,dimensionStore:r[c].store,ref:t=>s(t,"rowScroll"),onScrollVirtual:t=>n(t.detail)}),t(mr,{ref:i}))),t("revogr-scroll-virtual",{class:"horizontal",dimension:d,viewportStore:e[d].store,dimensionStore:r[d].store,ref:t=>s(t,"colScroll"),onScrollVirtual:t=>n(t.detail)})]};class br{constructor(t,e){var r,i;this.sv=t;(r=this.sv.selectionStoreConnector)===null||r===void 0?void 0:r.beforeUpdate();this.columns=this.getViewportColumnData(e);(i=this.sv.scrollingService)===null||i===void 0?void 0:i.unregister()}onColumnResize(t,{detail:e},r){var i;(i=this.sv.dimensionProvider)===null||i===void 0?void 0:i.setCustomSizes(t,e,true);const o=T.reduce(e||{},((t,e,i)=>{const o=parseInt(i,10);const s=g(r,o);if(s){t[o]=Object.assign(Object.assign({},s),{size:e})}return t}),{});this.sv.resize(o)}getViewportColumnData(t){const e=[];let r=0;yt.forEach((i=>{const o=this.sv.columnProvider.stores[i].store;if(!o.get("items").length){return}const s={colType:i,position:{x:r,y:1},contentHeight:t,fixWidth:i!=="rgCol",uuid:`${this.sv.uuid}-${r}`,viewports:this.sv.viewportProvider.stores,dimensions:this.sv.dimensionProvider.stores,rowStores:this.sv.dataProvider.stores,colStore:o,onHeaderresize:t=>this.onColumnResize(i,t,o)};if(i==="rgCol"){s.onResizeViewport=t=>{var e;return(e=this.sv.viewportProvider)===null||e===void 0?void 0:e.setViewport(t.detail.dimension,{virtualSize:t.detail.size})}}const n=this.gatherColumnData(s);const a=this.registerCol(n.position.x,i);const l=this.dataViewPort(s).reduce(((t,e)=>{const r=this.registerSegment(e.position);r.setLastCell(e.lastCell);const i=this.registerRow(e.position.y,e.type);const o=Object.assign(Object.assign({},e),{rowSelectionStore:i,segmentSelectionStore:r.store,ref:t=>this.sv.selectionStoreConnector.registerSection(t),onSetRange:t=>{r.setRangeArea(t.detail)},onSetTempRange:t=>{r.setTempArea(t.detail)},onFocusCell:t=>{r.clearFocus();this.sv.selectionStoreConnector.focus(r,t.detail)}});t.push(o);return t}),[]);e.push(Object.assign(Object.assign({},n),{columnSelectionStore:a,dataPorts:l}));r++}));return e}registerSegment(t){return this.sv.selectionStoreConnector.register(t)}registerRow(t,e){return this.sv.selectionStoreConnector.registerRow(t,e).store}registerCol(t,e){return this.sv.selectionStoreConnector.registerColumn(t,e).store}gatherColumnData(t){const e=t.uuid;const r=t.dimensions[t.colType].store.get("realSize");const i={contentWidth:r,class:t.colType,[`${I}`]:t.uuid,contentHeight:t.contentHeight,key:t.colType,onResizeViewport:t.onResizeViewport};if(t.fixWidth){i.style={minWidth:`${r}px`}}const o={parent:e,colData:w(t.colStore),dimensionCol:t.dimensions[t.colType].store,groups:t.colStore.get("groups"),groupingDepth:t.colStore.get("groupingDepth"),resizeHandler:t.colType==="colPinEnd"?["l"]:undefined,onHeaderresize:t.onHeaderresize};return{prop:i,type:t.colType,position:t.position,headerProp:o,parent:e,viewportCol:t.viewports[t.colType].store}}dataViewPort(t){const e={rowPinStart:_,rgRow:Q,rowPinEnd:tt};let r=0;return xt.reduce(((i,o)=>{const s=t.viewports[o].store.get("realCount")||o==="rgRow";const n=Object.assign(Object.assign({},t),{position:Object.assign(Object.assign({},t.position),{y:s?r:Y})});i.push(this.dataPartition(n,o,e[o],o!=="rgRow"));if(s){r++}return i}),[])}dataPartition(t,e,r,i){return{colData:t.colStore,viewportCol:t.viewports[t.colType].store,viewportRow:t.viewports[e].store,lastCell:K(t,e),slot:r,type:e,canDrag:!i,position:t.position,uuid:`${t.uuid}-${t.position.x}-${t.position.y}`,dataStore:t.rowStores[e].store,dimensionCol:t.dimensions[t.colType].store,dimensionRow:t.dimensions[e].store,style:i?{height:`${t.dimensions[e].store.get("realSize")}px`}:undefined}}scrollToCell(t){for(let e in t){const r=t[e];this.sv.scrollingService.scrollService({dimension:e==="x"?"rgCol":"rgRow",coordinate:r})}}clearFocused(){this.sv.selectionStoreConnector.clearAll()}clearEdit(){this.sv.selectionStoreConnector.setEdit(false)}getFocused(){const t=this.sv.selectionStoreConnector.focusedStore;if(!t){return null}const e=this.sv.selectionStoreConnector.storesXToType[t.position.x];const r=this.sv.columnProvider.getColumn(t.cell.x,e);const i=this.sv.selectionStoreConnector.storesYToType[t.position.y];const o=this.sv.dataProvider.getModel(t.cell.y,i);return{column:r,model:o,cell:t.cell,colType:e,rowType:i}}getStoreCoordinateByType(t,e){const r=this.sv.selectionStoreConnector.storesByType;const i={x:r[t],y:r[e]};return i}setFocus(t,e,r,i){var o;(o=this.sv.selectionStoreConnector)===null||o===void 0?void 0:o.focusByCell(this.getStoreCoordinateByType(t,e),r,i)}getSelectedRange(){return this.sv.selectionStoreConnector.selectedRange}setEdit(t,e,r,i){var o;(o=this.sv.selectionStoreConnector)===null||o===void 0?void 0:o.setEditByCell(this.getStoreCoordinateByType(r,i),{x:e,y:t})}}function Cr(){return/Mobi/i.test(navigator.userAgent)||/Android/i.test(navigator.userAgent)||navigator.maxTouchPoints>0}const xr=({resize:e,editors:r,rowClass:i,readonly:o,range:s,columns:n,useClipboard:a,columnFilter:l,applyEditorChangesOnClose:h,additionalData:c,onCancelEdit:d,registerElement:u,onEdit:g,scrollSection:f,focusTemplate:v,onSelectAll:p,scrollSectionSilent:m})=>{const w=Cr();const b=[];for(let C of n){const n=Object.assign(Object.assign({},C.headerProp),{type:C.type,additionalData:c,viewportCol:C.viewportCol,selectionStore:C.columnSelectionStore,canResize:e,columnFilter:l});const x=[t("revogr-header",Object.assign({},n,{slot:_}))];C.dataPorts.forEach(((e,n)=>{const l=C.prop.key+(n+1);const u=t("revogr-overlay-selection",Object.assign({},e,{isMobileDevice:w,selectionStore:e.segmentSelectionStore,onSelectall:()=>p(),editors:r,readonly:o,range:s,useClipboard:a,onCancelEdit:()=>d(),applyChangesOnClose:h,onSetEdit:({detail:t})=>g(t),additionalData:c,slot:e.slot}),t("revogr-data",Object.assign({},e,{[I]:e.uuid},{key:l,readonly:o,range:s,rowClass:i,rowSelectionStore:e.rowSelectionStore,additionalData:c,slot:et})),t("revogr-temp-range",{selectionStore:e.segmentSelectionStore,dimensionRow:e.dimensionRow,dimensionCol:e.dimensionCol}),t("revogr-focus",{colData:e.colData,dataStore:e.dataStore,focusTemplate:v,rowType:e.type,colType:C.type,selectionStore:e.segmentSelectionStore,dimensionRow:e.dimensionRow,dimensionCol:e.dimensionCol}));x.push(u)}));b.push(t("revogr-viewport-scroll",Object.assign({},C.prop,{ref:t=>u(t,C.prop.key),onScrollViewport:t=>f(t.detail,C.prop.key),onSilentScroll:t=>m(t.detail,C.prop.key)}),x))}return b};class yr{constructor(t){this.setViewport=t;this.elements={}}async scrollService(t,e){let r;let i=t;for(let i in this.elements){if(t.dimension==="rgCol"&&i==="headerRow"){continue}else if(this.isPinnedColumn(e)&&t.dimension==="rgCol"){if(i===e||!t.delta){continue}for(let e of this.elements[i]){if(e.changeScroll){r=e.changeScroll(t)}}}else{for(let e of this.elements[i]){await e.setScroll(t)}}}if(r){i=await r}this.setViewport(i)}async scrollSilentService(t,e){var r;for(let i in this.elements){if(i===e){continue}if(yt.includes(e)&&(i==="headerRow"||yt.includes(i))){for(let e of this.elements[i]){await((r=e.changeScroll)===null||r===void 0?void 0:r.call(e,t,true))}continue}}}isPinnedColumn(t){return["colPinStart","colPinEnd"].indexOf(t)>-1}registerElements(t){this.elements=t}registerElement(t,e){if(!this.elements[e]){this.elements[e]=[]}if(t){this.elements[e].push(t)}else if(this.elements[e]){delete this.elements[e]}}unregister(){delete this.elements;this.elements={}}}class Sr extends jt{constructor(t,e){super(t);this.providers=e;this.stretchedColumn=null;this.scrollSize=H(document);const r=({detail:{columns:t}})=>this.applyStretch(t);this.addEventListener("beforecolumnapplied",r)}setScroll({type:t,hasScroll:e}){var r;if(t==="rgRow"&&this.stretchedColumn&&((r=this.stretchedColumn)===null||r===void 0?void 0:r.initialSize)===this.stretchedColumn.size){if(e){this.stretchedColumn.size-=this.scrollSize;this.apply();this.dropChanges()}}}activateChanges(){const t=({detail:t})=>this.setScroll(t);this.addEventListener("scrollchange",t)}dropChanges(){this.stretchedColumn=null;this.removeEventListener("scrollchange")}apply(){if(!this.stretchedColumn){return}const t="rgCol";const e=this.providers.dimensionProvider.stores[t].store.get("sizes");this.providers.dimensionProvider.setCustomSizes(t,Object.assign(Object.assign({},e),{[this.stretchedColumn.index]:this.stretchedColumn.size}),true)}applyStretch(t){this.dropChanges();let e=this.revogrid.clientWidth-1;T.each(t,((t,r)=>{const i=this.providers.dimensionProvider.stores[r].store.get("realSize");e-=i}));if(this.revogrid.rowHeaders){const t=this.providers.dataProvider.stores.rgRow.store.get("source").length;const r=this.revogrid.rowHeaders;const i=ot(t,typeof r==="object"?r:undefined);if(i){e-=i}}if(e>0){const r=t.rgCol.length-1;const i=t.rgCol[r];const o=(i===null||i===void 0?void 0:i.size)||this.revogrid.colSize||0;const s=e+o-1;if(i&&!i.autoSize&&o<s){this.stretchedColumn={initialSize:s,index:r,size:s};this.apply();this.activateChanges()}}}}function kr(t){return!!t.applyStretch}const Lr=(t=[])=>u(t,((t,e)=>{if(!t[e.type]){t[e.type]={}}if(e.size){if(!t[e.type].sizes){t[e.type].sizes={}}t[e.type].sizes[e.index]=e.size}return t}),{});const Er=(t=[])=>u(t,((t,e)=>{if(!t[e.type]){t[e.type]=[]}if(e.size){t[e.type].push(e.index)}return t}),{});const Rr="column-drag-start";class jr{constructor(){this.offset=0}renderAutoscroll(t,e){if(!e){return}this.autoscrollEl=document.createElement("div");this.autoscrollEl.classList.add("drag-auto-scroll-y");e.appendChild(this.autoscrollEl)}autoscroll(t,e,r="translateX"){if(!this.autoscrollEl){return}const i=10;const o=Math.min(t+i,e-3);this.autoscrollEl.style.transform=`${r}(${o}px)`;this.autoscrollEl.scrollIntoView({block:"nearest",inline:"nearest"})}start(t,{dataEl:e,gridRect:r,scrollEl:i,gridEl:o},s="left"){o.classList.add(Rr);const n=i.getBoundingClientRect();if(n){this.offset=n[s]-r[s]}this.renderAutoscroll(t,e)}stop(t){var e;t.classList.remove(Rr);if(this.element){this.element.hidden=true}this.offset=0;(e=this.autoscrollEl)===null||e===void 0?void 0:e.remove();this.autoscrollEl=undefined}showHandler(t,e,r="translateX"){if(!this.element){return}if(this.offset){t=Math.max(t,this.offset)}t=Math.min(t,e);this.element.style.transform=`${r}(${t}px)`;this.element.hidden=false}render(){return t("div",{class:"drag-position-y",hidden:true,ref:t=>this.element=t})}}const Or="column-click";const Pr="column-mouse-move";const zr="column-drag-end";const Mr="before-column-drag-end";const Ir="column-drag-start";class Hr extends jt{constructor(t,e){super(t);this.revogrid=t;this.providers=e;this.moveFunc=ht((t=>this.doMove(t)),5);this.staticDragData=null;this.dragData=null;this.localSubscriptions={};this.orderUi=new jr;t.registerVNode([this.orderUi.render()]);t.classList.add("column-draggable");this.localSubscriptions["mouseleave"]={target:document,callback:t=>this.onMouseOut(t)};this.localSubscriptions["mouseup"]={target:document,callback:t=>this.onMouseUp(t)};this.localSubscriptions["mousemove"]={target:document,callback:t=>this.move(t)};this.addEventListener(Or,(({detail:t})=>this.dragStart(t)))}dragStart({event:t,data:e}){if(t.defaultPrevented){return}const{defaultPrevented:r}=ct(this.revogrid,Ir,e);if(r){return}this.clearOrder();const{mouseleave:i,mouseup:o,mousemove:s}=this.localSubscriptions;i.target.addEventListener("mouseleave",i.callback);o.target.addEventListener("mouseup",o.callback);const n=t.target.closest("revogr-header");const a=t.target.closest("revogr-viewport-scroll");if(!n||!a){return}if(Pt(e)){return}const l=this.getDimension(e.pin||"rgCol");const h=this.revogrid.getBoundingClientRect();const c=n.getBoundingClientRect();const d=F(l,Fr(t.x,h.left,c.left-h.left));this.staticDragData={startPos:t.x,startItem:d,data:e,dataEl:n,scrollEl:a,gridEl:this.revogrid,cols:l};this.dragData=this.getData(this.staticDragData);s.target.addEventListener("mousemove",s.callback);this.orderUi.start(t,Object.assign(Object.assign({},this.dragData),this.staticDragData))}doMove(t){if(!this.staticDragData){return}const e=this.dragData=this.getData(this.staticDragData);if(!e){return}const r=this.staticDragData.startPos;if(Math.abs(r-t.x)>10){const r=Fr(t.x,this.dragData.gridRect.left,this.dragData.scrollOffset);const i=F(this.staticDragData.cols,r);this.orderUi.autoscroll(r,e.elRect.width);this.orderUi.showHandler(i.end+e.scrollOffset,e.gridRect.width)}}move(t){ct(this.revogrid,Pr,t);this.moveFunc(t)}onMouseOut(t){this.clearOrder()}onMouseUp(t){if(this.dragData){let e=Fr(t.x,this.dragData.gridRect.left,this.dragData.scrollOffset);if(e<0){e=0}const r=F(this.staticDragData.cols,e);const i=this.providers.column.stores[this.dragData.type].store;const o=[...i.get("items")];const{defaultPrevented:s}=ct(this.revogrid,Mr,Object.assign(Object.assign({},this.staticDragData),{startPosition:this.staticDragData.startItem,newPosition:r,newItem:i.get("source")[o[this.staticDragData.startItem.itemIndex]]}));if(!s){const t=o.splice(this.staticDragData.startItem.itemIndex,1);o.splice(r.itemIndex,0,...t);i.set("items",o)}ct(this.revogrid,zr,this.dragData)}this.clearOrder()}clearLocalSubscriptions(){v(this.localSubscriptions,(({target:t,callback:e},r)=>t.removeEventListener(r,e)))}clearOrder(){this.staticDragData=null;this.dragData=null;this.clearLocalSubscriptions();this.orderUi.stop(this.revogrid)}clearSubscriptions(){super.clearSubscriptions();this.clearLocalSubscriptions()}getData({gridEl:t,dataEl:e,data:r}){const i=t.getBoundingClientRect();const o=e.getBoundingClientRect();const s=o.left-i.left;return{elRect:o,gridRect:i,type:r.pin||"rgCol",scrollOffset:s}}getDimension(t){return this.providers.dimension.stores[t].getCurrentState()}}function Fr(t,e,r){return t-e-r}const Tr=".revo-drag-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 438 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M421.875,70.40625 C426.432292,70.40625 430.175781,68.9414062 433.105469,66.0117188 C436.035156,63.0820312 437.5,59.3385417 437.5,54.78125 L437.5,54.78125 L437.5,15.71875 C437.5,11.1614583 436.035156,7.41796875 433.105469,4.48828125 C430.175781,1.55859375 426.432292,0.09375 421.875,0.09375 L421.875,0.09375 L15.625,0.09375 C11.0677083,0.09375 7.32421875,1.55859375 4.39453125,4.48828125 C1.46484375,7.41796875 0,11.1614583 0,15.71875 L0,15.71875 L0,54.78125 C0,59.3385417 1.46484375,63.0820312 4.39453125,66.0117188 C7.32421875,68.9414062 11.0677083,70.40625 15.625,70.40625 L15.625,70.40625 L421.875,70.40625 Z M421.875,226.65625 C426.432292,226.65625 430.175781,225.191406 433.105469,222.261719 C436.035156,219.332031 437.5,215.588542 437.5,211.03125 L437.5,211.03125 L437.5,171.96875 C437.5,167.411458 436.035156,163.667969 433.105469,160.738281 C430.175781,157.808594 426.432292,156.34375 421.875,156.34375 L421.875,156.34375 L15.625,156.34375 C11.0677083,156.34375 7.32421875,157.808594 4.39453125,160.738281 C1.46484375,163.667969 0,167.411458 0,171.96875 L0,171.96875 L0,211.03125 C0,215.588542 1.46484375,219.332031 4.39453125,222.261719 C7.32421875,225.191406 11.0677083,226.65625 15.625,226.65625 L15.625,226.65625 L421.875,226.65625 Z M421.875,382.90625 C426.432292,382.90625 430.175781,381.441406 433.105469,378.511719 C436.035156,375.582031 437.5,371.838542 437.5,367.28125 L437.5,367.28125 L437.5,328.21875 C437.5,323.661458 436.035156,319.917969 433.105469,316.988281 C430.175781,314.058594 426.432292,312.59375 421.875,312.59375 L421.875,312.59375 L15.625,312.59375 C11.0677083,312.59375 7.32421875,314.058594 4.39453125,316.988281 C1.46484375,319.917969 0,323.661458 0,328.21875 L0,328.21875 L0,367.28125 C0,371.838542 1.46484375,375.582031 4.39453125,378.511719 C7.32421875,381.441406 11.0677083,382.90625 15.625,382.90625 L15.625,382.90625 L421.875,382.90625 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 438 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M421.875,70.40625 C426.432292,70.40625 430.175781,68.9414062 433.105469,66.0117188 C436.035156,63.0820312 437.5,59.3385417 437.5,54.78125 L437.5,54.78125 L437.5,15.71875 C437.5,11.1614583 436.035156,7.41796875 433.105469,4.48828125 C430.175781,1.55859375 426.432292,0.09375 421.875,0.09375 L421.875,0.09375 L15.625,0.09375 C11.0677083,0.09375 7.32421875,1.55859375 4.39453125,4.48828125 C1.46484375,7.41796875 0,11.1614583 0,15.71875 L0,15.71875 L0,54.78125 C0,59.3385417 1.46484375,63.0820312 4.39453125,66.0117188 C7.32421875,68.9414062 11.0677083,70.40625 15.625,70.40625 L15.625,70.40625 L421.875,70.40625 Z M421.875,226.65625 C426.432292,226.65625 430.175781,225.191406 433.105469,222.261719 C436.035156,219.332031 437.5,215.588542 437.5,211.03125 L437.5,211.03125 L437.5,171.96875 C437.5,167.411458 436.035156,163.667969 433.105469,160.738281 C430.175781,157.808594 426.432292,156.34375 421.875,156.34375 L421.875,156.34375 L15.625,156.34375 C11.0677083,156.34375 7.32421875,157.808594 4.39453125,160.738281 C1.46484375,163.667969 0,167.411458 0,171.96875 L0,171.96875 L0,211.03125 C0,215.588542 1.46484375,219.332031 4.39453125,222.261719 C7.32421875,225.191406 11.0677083,226.65625 15.625,226.65625 L15.625,226.65625 L421.875,226.65625 Z M421.875,382.90625 C426.432292,382.90625 430.175781,381.441406 433.105469,378.511719 C436.035156,375.582031 437.5,371.838542 437.5,367.28125 L437.5,367.28125 L437.5,328.21875 C437.5,323.661458 436.035156,319.917969 433.105469,316.988281 C430.175781,314.058594 426.432292,312.59375 421.875,312.59375 L421.875,312.59375 L15.625,312.59375 C11.0677083,312.59375 7.32421875,314.058594 4.39453125,316.988281 C1.46484375,319.917969 0,323.661458 0,328.21875 L0,328.21875 L0,367.28125 C0,371.838542 1.46484375,375.582031 4.39453125,378.511719 C7.32421875,381.441406 11.0677083,382.90625 15.625,382.90625 L15.625,382.90625 L421.875,382.90625 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:7px;background-size:cover;background-repeat:no-repeat}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#2ee072;border:1px solid #20d565}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:2px solid #cedefa;line-height:32px;background:none;color:#4876ca;box-shadow:none}revo-grid[theme=default]{font-size:12px}revo-grid[theme=default] revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#61656a}revo-grid[theme=default] revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #c0c0c0, -1px 0 0 0 #c0c0c0 inset, 0 -1px 0 0 #c0c0c0, 0 -1px 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell{color:#61656a;box-shadow:0 -1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] .rowHeaders revogr-header{box-shadow:0 -1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #c0c0c0 inset, -1px 0 0 0 #c0c0c0 inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #c0c0c0 inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data{text-align:center}revo-grid[theme=default] revogr-data .rgRow{line-height:27px;box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .viewports{width:100%}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=material] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=material] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .viewports{width:100%}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkMaterial] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .viewports{width:100%}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-data .revo-draggable>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.5)}revo-grid[theme=darkCompact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:rgba(216, 216, 216, 0.7)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .viewports{width:100%}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revogr-data .revo-draggable>.revo-drag-icon{background-color:#d4d4d4}revo-grid[theme=compact] revogr-data .revo-draggable:hover>.revo-drag-icon{background-color:black}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-height:100%;display:flex;flex-direction:row;align-items:flex-start;max-width:100%}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}";const Dr=class{constructor(t){e(this,t);this.contentsizechanged=r(this,"contentsizechanged",7);this.beforeedit=r(this,"beforeedit",7);this.beforerangeedit=r(this,"beforerangeedit",7);this.afteredit=r(this,"afteredit",7);this.beforeautofill=r(this,"beforeautofill",7);this.beforeange=r(this,"beforeange",7);this.afterfocus=r(this,"afterfocus",7);this.roworderchanged=r(this,"roworderchanged",7);this.beforesourcesortingapply=r(this,"beforesourcesortingapply",7);this.beforesortingapply=r(this,"beforesortingapply",7);this.beforesorting=r(this,"beforesorting",7);this.rowdragstart=r(this,"rowdragstart",7);this.headerclick=r(this,"headerclick",7);this.beforecellfocus=r(this,"beforecellfocus",7);this.beforefocuslost=r(this,"beforefocuslost",7);this.beforesourceset=r(this,"beforesourceset",7);this.beforeAnySource=r(this,"before-any-source",7);this.aftersourceset=r(this,"aftersourceset",7);this.afterAnySource=r(this,"after-any-source",7);this.beforecolumnsset=r(this,"beforecolumnsset",7);this.beforecolumnapplied=r(this,"beforecolumnapplied",7);this.aftercolumnsset=r(this,"aftercolumnsset",7);this.beforefilterapply=r(this,"beforefilterapply",7);this.beforefiltertrimmed=r(this,"beforefiltertrimmed",7);this.beforetrimmed=r(this,"beforetrimmed",7);this.aftertrimmed=r(this,"aftertrimmed",7);this.viewportscroll=r(this,"viewportscroll",7);this.beforeexport=r(this,"beforeexport",7);this.beforeeditstart=r(this,"beforeeditstart",7);this.aftercolumnresize=r(this,"aftercolumnresize",7);this.beforerowdefinition=r(this,"beforerowdefinition",7);this.filterconfigchanged=r(this,"filterconfigchanged",7);this.rowheaderschanged=r(this,"rowheaderschanged",7);this.clickTrackForFocusClear=null;this.uuid=null;this.viewport=null;this.internalPlugins=[];this.rowHeaders=undefined;this.frameSize=1;this.rowSize=0;this.colSize=100;this.range=false;this.readonly=false;this.resize=false;this.canFocus=true;this.useClipboard=true;this.columns=[];this.source=[];this.pinnedTopSource=[];this.pinnedBottomSource=[];this.rowDefinitions=[];this.editors={};this.applyOnClose=false;this.plugins=undefined;this.columnTypes={};this.theme="default";this.rowClass="";this.autoSizeColumn=false;this.filter=false;this.focusTemplate=undefined;this.canMoveColumns=false;this.trimmedRows={};this.exporting=false;this.grouping=undefined;this.stretch=true;this.additionalData={};this.extraElements=[]}async refresh(t="all"){this.dataProvider.refresh(t)}async scrollToRow(t=0){const e=this.dimensionProvider.getViewPortPos({coordinate:t,dimension:"rgRow"});await this.scrollToCoordinate({y:e})}async scrollToColumnIndex(t=0){const e=this.dimensionProvider.getViewPortPos({coordinate:t,dimension:"rgCol"});await this.scrollToCoordinate({x:e})}async scrollToColumnProp(t){const e=this.columnProvider.getColumnIndexByProp(t,"rgCol");if(e<0){return}const r=this.dimensionProvider.getViewPortPos({coordinate:e,dimension:"rgCol"});await this.scrollToCoordinate({x:r})}async updateColumns(t){this.columnProvider.updateColumns(t)}async addTrimmed(t,e="external",r="rgRow"){const i=this.beforetrimmed.emit({trimmed:t,trimmedType:e,type:r});if(i.defaultPrevented){return i}this.dataProvider.setTrimmed({[e]:i.detail.trimmed},r);this.aftertrimmed.emit();return i}async scrollToCoordinate(t){var e;(e=this.viewport)===null||e===void 0?void 0:e.scrollToCell(t)}async setCellEdit(t,e,r="rgRow"){var i;const o=zt.getColumnByProp(this.columns,e);if(!o){return}await P();const s=o.pin||"rgCol";(i=this.viewport)===null||i===void 0?void 0:i.setEdit(t,this.columnProvider.getColumnIndexByProp(e,s),s,r)}async setCellsFocus(t={x:0,y:0},e={x:0,y:0},r="rgCol",i="rgRow"){var o;(o=this.viewport)===null||o===void 0?void 0:o.setFocus(r,i,t,e)}async registerVNode(t){this.extraElements.push(...t);this.extraElements=[...this.extraElements]}async getSource(t="rgRow"){return this.dataProvider.stores[t].store.get("source")}async getVisibleSource(t="rgRow"){return w(this.dataProvider.stores[t].store)}async getSourceStore(t="rgRow"){return this.dataProvider.stores[t].store}async getColumnStore(t="rgCol"){return this.columnProvider.stores[t].store}async updateColumnSorting(t,e,r,i){return this.columnProvider.updateColumnSorting(t,e,r,i)}async clearSorting(){this.columnProvider.clearSorting()}async getColumns(){return this.columnProvider.getColumns()}async clearFocus(){var t;const e=(t=this.viewport)===null||t===void 0?void 0:t.getFocused();const r=this.beforefocuslost.emit(e);if(r.defaultPrevented){return}this.selectionStoreConnector.clearAll()}async getPlugins(){return[...this.internalPlugins]}async getFocused(){var t;return(t=this.viewport)===null||t===void 0?void 0:t.getFocused()}async getContentSize(){var t;return(t=this.dimensionProvider)===null||t===void 0?void 0:t.getFullSize()}async getSelectedRange(){var t;return(t=this.viewport)===null||t===void 0?void 0:t.getSelectedRange()}mousedownHandle(t){const e=st(t,"screenX");const r=st(t,"screenY");if(e===null||r===null){return}this.clickTrackForFocusClear=e+r}mouseupHandle(t){const e=st(t,"screenX");const r=st(t,"screenY");if(e===null||r===null){return}if(t.defaultPrevented){return}const i=t.target;const o=e+r;if(Math.abs(this.clickTrackForFocusClear-o)>10){return}if(i===null||i===void 0?void 0:i.closest(`[${I}="${this.uuid}"]`)){return}this.clearFocus()}onRowDragStarted(t){var e;const r=this.rowdragstart.emit(t.detail);if(r.defaultPrevented){t.preventDefault();return}(e=this.orderService)===null||e===void 0?void 0:e.start(this.element,Object.assign(Object.assign({},t.detail),r.detail))}onRowDragEnd(){var t;(t=this.orderService)===null||t===void 0?void 0:t.end()}onRowDrag({detail:t}){var e;(e=this.orderService)===null||e===void 0?void 0:e.move(t)}onRowMouseMove(t){var e;(e=this.orderService)===null||e===void 0?void 0:e.moveTip(t.detail)}async onBeforeEdit(t){const{defaultPrevented:e,detail:r}=this.beforeedit.emit(t.detail);await P();if(!e){this.dataProvider.setCellData(r);this.afteredit.emit(r)}}onBeforeRangeEdit(t){const{defaultPrevented:e,detail:r}=this.beforerangeedit.emit(t.detail);if(e){t.preventDefault();return}this.afteredit.emit(r)}onRangeChanged(t){const e=this.beforeange.emit(t.detail);if(e.defaultPrevented){t.preventDefault()}const r=this.beforeautofill.emit(e.detail);if(r.defaultPrevented){t.preventDefault()}}onRowDropped(t){const{defaultPrevented:e}=this.roworderchanged.emit(t.detail);if(e){t.preventDefault()}}onHeaderClick(t){const{defaultPrevented:e}=this.headerclick.emit(Object.assign(Object.assign({},t.detail.column),{originalEvent:t.detail.originalEvent}));if(e){t.preventDefault()}}onCellFocus(t){const{defaultPrevented:e}=this.beforecellfocus.emit(t.detail);if(!this.canFocus||e){t.preventDefault()}}columnTypesChanged(){this.columnChanged(this.columns)}columnChanged(t=[]){this.dimensionProvider.dropColumns();const e=zt.getColumns(t,0,this.columnTypes);this.beforecolumnsset.emit(e);for(let t of yt){const r=e.columns[t];this.dimensionProvider.setNewColumns(t,r.length,zt.getSizes(r),t!=="rgCol")}this.beforecolumnapplied.emit(e);const r=this.columnProvider.setColumns(e);this.aftercolumnsset.emit({columns:r,order:this.columnProvider.order})}rowSizeChanged(t){this.dimensionProvider.setSettings({originItemSize:t},"rgRow");xt.forEach((t=>{this.dimensionProvider.clearSize(t,this.dataProvider.stores[t].store.get("source").length);this.dimensionProvider.setCustomSizes(t,{},true)}))}themeChanged(t){this.themeService.register(t);this.dimensionProvider.setSettings({originItemSize:this.themeService.rowSize},"rgRow");this.dimensionProvider.setSettings({originItemSize:this.colSize},"rgCol")}dataSourceChanged(t=[],e,r){let i="rgRow";switch(r){case"pinnedBottomSource":i="rowPinEnd";break;case"pinnedTopSource":i="rowPinStart";break;case"source":i="rgRow";const e=this.beforesourceset.emit({type:i,source:t});t=e.detail.source;break}const o=this.beforeAnySource.emit({type:i,source:t});const s=[...o.detail.source];this.dataProvider.setData(s,i);if(r==="source"){this.aftersourceset.emit({type:i,source:t})}this.afterAnySource.emit({type:i,source:t})}rowDefChanged(t,e){const{detail:{vals:r,oldVals:i}}=this.beforerowdefinition.emit({vals:t,oldVals:e});const o=Lr(r);if(i){const t=Er(i);v(t,((t,e)=>{this.dimensionProvider.clearSize(e,this.dataProvider.stores[e].store.get("source").length)}))}if(!r.length){return}v(o,((t,e)=>this.dimensionProvider.setCustomSizes(e,t.sizes||{})))}trimmedRowsChanged(t={}){this.addTrimmed(t)}groupingChanged(t={}){let e;for(let t of this.internalPlugins){const r=t;if(r.setGrouping){e=r;break}}if(!e){return}e.setGrouping(t||{})}applyStretch(t){if(t==="false"){t=false}let e=this.internalPlugins.filter((t=>kr(t)))[0];if(typeof t==="boolean"&&t||t==="true"){if(!e){this.internalPlugins.push(new Sr(this.element,{dataProvider:this.dataProvider,columnProvider:this.columnProvider,dimensionProvider:this.dimensionProvider}))}else if(kr(e)){e.applyStretch(this.columnProvider.getRawColumns())}}else if(e){const t=this.internalPlugins.indexOf(e);this.internalPlugins.splice(t,1)}}applyFilter(t){this.filterconfigchanged.emit(t)}rowHeadersChange(t){this.rowheaderschanged.emit(t)}connectedCallback(){this.viewportProvider=new Bt;this.themeService=new pt({rowSize:this.rowSize});const t={realSizeChanged:t=>this.contentsizechanged.emit(t)};this.dimensionProvider=new Nt(this.viewportProvider,t);this.columnProvider=new zt;this.selectionStoreConnector=new rt;this.dataProvider=new Mt(this.dimensionProvider);this.uuid=`${(new Date).getTime()}-rvgrid`;const e={data:this.dataProvider,column:this.columnProvider,dimension:this.dimensionProvider,viewport:this.viewportProvider,selection:this.selectionStoreConnector};if(this.autoSizeColumn){this.internalPlugins.push(new Ut(this.element,{dataProvider:this.dataProvider,columnProvider:this.columnProvider,dimensionProvider:this.dimensionProvider},typeof this.autoSizeColumn==="object"?this.autoSizeColumn:undefined))}if(this.filter){this.internalPlugins.push(new se(this.element,this.uuid,typeof this.filter==="object"?this.filter:undefined))}if(this.exporting){this.internalPlugins.push(new cr(this.element))}this.internalPlugins.push(new Ze(this.element));this.internalPlugins.push(new vr(this.element,{dataProvider:this.dataProvider,columnProvider:this.columnProvider}));if(this.canMoveColumns){this.internalPlugins.push(new Hr(this.element,e))}if(this.plugins){this.plugins.forEach((t=>{this.internalPlugins.push(new t(this.element,e))}))}this.applyStretch(this.stretch);this.themeChanged(this.theme);this.columnChanged(this.columns);this.dataSourceChanged(this.source,undefined,"source");this.dataSourceChanged(this.pinnedTopSource,undefined,"pinnedTopSource");this.dataSourceChanged(this.pinnedBottomSource,undefined,"pinnedBottomSource");this.trimmedRowsChanged(this.trimmedRows);this.rowDefChanged(this.rowDefinitions);this.groupingChanged(this.grouping);this.scrollingService=new yr((t=>{this.dimensionProvider.setViewPortCoordinate({coordinate:t.coordinate,type:t.dimension});this.viewportscroll.emit(t)}))}disconnectedCallback(){v(this.internalPlugins,(t=>t.destroy()));this.internalPlugins=[]}render(){const e=this.dimensionProvider.stores["rgRow"].store.get("realSize");this.viewport=new br({columnProvider:this.columnProvider,dataProvider:this.dataProvider,dimensionProvider:this.dimensionProvider,viewportProvider:this.viewportProvider,uuid:this.uuid,scrollingService:this.scrollingService,orderService:this.orderService,selectionStoreConnector:this.selectionStoreConnector,resize:t=>this.aftercolumnresize.emit(t)},e);const r=[];if(this.rowHeaders&&this.viewport.columns.length){const i=this.viewport.columns[0];r.push(t("revogr-row-headers",{additionalData:this.additionalData,height:e,rowClass:this.rowClass,resize:this.resize,dataPorts:i.dataPorts,headerProp:i.headerProp,uiid:i.prop[I],rowHeaderColumn:typeof this.rowHeaders==="object"?this.rowHeaders:undefined,onScrollViewport:({detail:t})=>this.scrollingService.scrollService(t,"headerRow"),onElementToScroll:({detail:t})=>this.scrollingService.registerElement(t,"headerRow")}))}r.push(t(xr,{additionalData:this.additionalData,columnFilter:!!this.filter,resize:this.resize,readonly:this.readonly,range:this.range,rowClass:this.rowClass,editors:this.editors,applyEditorChangesOnClose:this.applyOnClose,useClipboard:this.useClipboard,columns:this.viewport.columns,onSelectAll:()=>{this.selectionStoreConnector.selectAll()},onEdit:t=>{const e=this.beforeeditstart.emit(t);if(!e.defaultPrevented){this.selectionStoreConnector.setEdit(t.val)}},onCancelEdit:()=>{this.selectionStoreConnector.setEdit(false)},registerElement:(t,e)=>this.scrollingService.registerElement(t,e),scrollSection:(t,e)=>this.scrollingService.scrollService(t,e),scrollSectionSilent:(t,e)=>this.scrollingService.scrollSilentService(t,e),focusTemplate:this.focusTemplate}));return t(i,Object.assign({},{[`${I}`]:this.uuid}),t(wr,{viewports:this.viewportProvider.stores,dimensions:this.dimensionProvider.stores,orderRef:t=>this.orderService=t,registerElement:(t,e)=>this.scrollingService.registerElement(t,e),nakedClick:()=>this.viewport.clearEdit(),onScroll:t=>this.scrollingService.scrollService(t)},r),this.extraElements)}get element(){return o(this)}static get watchers(){return{columnTypes:["columnTypesChanged"],columns:["columnChanged"],rowSize:["rowSizeChanged"],theme:["themeChanged"],source:["dataSourceChanged"],pinnedBottomSource:["dataSourceChanged"],pinnedTopSource:["dataSourceChanged"],rowDefinitions:["rowDefChanged"],trimmedRows:["trimmedRowsChanged"],grouping:["groupingChanged"],stretch:["applyStretch"],filter:["applyFilter"],rowHeaders:["rowHeadersChange"]}}};Dr.style=Tr;export{Dr as revo_grid};
|
|
5
|
+
//# sourceMappingURL=revo-grid.entry.js.map
|