@revolist/angular-datagrid 4.17.1 → 4.19.3

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.
@@ -1,7 +1,7 @@
1
1
  import { defineCustomElement as defineCustomElement$2 } from '@revolist/revogrid/standalone/revogr-filter-panel.js';
2
2
  export * from '@revolist/revogrid';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, ChangeDetectionStrategy, ApplicationRef, EnvironmentInjector, createComponent, inject, Injector } from '@angular/core';
4
+ import { EventEmitter, Output, ChangeDetectionStrategy, Component, ApplicationRef, EnvironmentInjector, createComponent, inject, Injector } from '@angular/core';
5
5
  import { fromEvent } from 'rxjs';
6
6
  import { defineCustomElement as defineCustomElement$1 } from '@revolist/revogrid/standalone/revo-grid.js';
7
7
 
@@ -72,12 +72,51 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
72
72
  let RevoGrid = class RevoGrid {
73
73
  constructor(c, r, z) {
74
74
  this.z = z;
75
+ this.contentsizechanged = new EventEmitter();
76
+ this.beforeedit = new EventEmitter();
77
+ this.beforerangeedit = new EventEmitter();
78
+ this.afteredit = new EventEmitter();
79
+ this.beforeautofill = new EventEmitter();
80
+ this.beforerange = new EventEmitter();
81
+ this.afterfocus = new EventEmitter();
82
+ this.roworderchanged = new EventEmitter();
83
+ this.beforesorting = new EventEmitter();
84
+ this.beforesourcesortingapply = new EventEmitter();
85
+ this.beforesortingapply = new EventEmitter();
86
+ this.rowdragstart = new EventEmitter();
87
+ this.headerclick = new EventEmitter();
88
+ this.beforecellfocus = new EventEmitter();
89
+ this.beforefocuslost = new EventEmitter();
90
+ this.beforesourceset = new EventEmitter();
91
+ this.beforeanysource = new EventEmitter();
92
+ this.aftersourceset = new EventEmitter();
93
+ this.afteranysource = new EventEmitter();
94
+ this.beforecolumnsset = new EventEmitter();
95
+ this.beforecolumnapplied = new EventEmitter();
96
+ this.aftercolumnsset = new EventEmitter();
97
+ this.beforefilterapply = new EventEmitter();
98
+ this.beforefiltertrimmed = new EventEmitter();
99
+ this.beforetrimmed = new EventEmitter();
100
+ this.aftertrimmed = new EventEmitter();
101
+ this.viewportscroll = new EventEmitter();
102
+ this.beforeexport = new EventEmitter();
103
+ this.beforeeditstart = new EventEmitter();
104
+ this.aftercolumnresize = new EventEmitter();
105
+ this.beforerowdefinition = new EventEmitter();
106
+ this.filterconfigchanged = new EventEmitter();
107
+ this.sortingconfigchanged = new EventEmitter();
108
+ this.rowheaderschanged = new EventEmitter();
109
+ this.beforegridrender = new EventEmitter();
110
+ this.aftergridrender = new EventEmitter();
111
+ this.aftergridinit = new EventEmitter();
112
+ this.additionaldatachanged = new EventEmitter();
113
+ this.afterthemechanged = new EventEmitter();
114
+ this.created = new EventEmitter();
75
115
  c.detach();
76
116
  this.el = r.nativeElement;
77
- proxyOutputs(this, this.el, ['contentsizechanged', 'beforeedit', 'beforerangeedit', 'afteredit', 'beforeautofill', 'beforerange', 'afterfocus', 'roworderchanged', 'beforesorting', 'beforesourcesortingapply', 'beforesortingapply', 'rowdragstart', 'headerclick', 'beforecellfocus', 'beforefocuslost', 'beforesourceset', 'beforeanysource', 'aftersourceset', 'afteranysource', 'beforecolumnsset', 'beforecolumnapplied', 'aftercolumnsset', 'beforefilterapply', 'beforefiltertrimmed', 'beforetrimmed', 'aftertrimmed', 'viewportscroll', 'beforeexport', 'beforeeditstart', 'aftercolumnresize', 'beforerowdefinition', 'filterconfigchanged', 'sortingconfigchanged', 'rowheaderschanged', 'beforegridrender', 'aftergridrender', 'aftergridinit', 'additionaldatachanged', 'afterthemechanged', 'created']);
78
117
  }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RevoGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: RevoGrid, isStandalone: true, selector: "revo-grid", inputs: { accessible: "accessible", additionalData: "additionalData", applyOnClose: "applyOnClose", autoSizeColumn: "autoSizeColumn", canDrag: "canDrag", canFocus: "canFocus", canMoveColumns: "canMoveColumns", colSize: "colSize", columnTypes: "columnTypes", columns: "columns", disableVirtualX: "disableVirtualX", disableVirtualY: "disableVirtualY", editors: "editors", exporting: "exporting", filter: "filter", focusTemplate: "focusTemplate", frameSize: "frameSize", grouping: "grouping", hideAttribution: "hideAttribution", jobsBeforeRender: "jobsBeforeRender", pinnedBottomSource: "pinnedBottomSource", pinnedTopSource: "pinnedTopSource", plugins: "plugins", range: "range", readonly: "readonly", registerVNode: "registerVNode", resize: "resize", rowClass: "rowClass", rowDefinitions: "rowDefinitions", rowHeaders: "rowHeaders", rowSize: "rowSize", rtl: "rtl", sorting: "sorting", source: "source", stretch: "stretch", theme: "theme", trimmedRows: "trimmedRows", useClipboard: "useClipboard" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: RevoGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: RevoGrid, isStandalone: true, selector: "revo-grid", inputs: { accessible: "accessible", additionalData: "additionalData", applyOnClose: "applyOnClose", autoSizeColumn: "autoSizeColumn", canDrag: "canDrag", canFocus: "canFocus", canMoveColumns: "canMoveColumns", colSize: "colSize", columnTypes: "columnTypes", columns: "columns", disableVirtualX: "disableVirtualX", disableVirtualY: "disableVirtualY", editors: "editors", exporting: "exporting", filter: "filter", focusTemplate: "focusTemplate", frameSize: "frameSize", grouping: "grouping", hideAttribution: "hideAttribution", jobsBeforeRender: "jobsBeforeRender", pinnedBottomSource: "pinnedBottomSource", pinnedTopSource: "pinnedTopSource", plugins: "plugins", range: "range", readonly: "readonly", registerVNode: "registerVNode", resize: "resize", rowClass: "rowClass", rowDefinitions: "rowDefinitions", rowHeaders: "rowHeaders", rowSize: "rowSize", rtl: "rtl", sorting: "sorting", source: "source", stretch: "stretch", theme: "theme", trimmedRows: "trimmedRows", useClipboard: "useClipboard" }, outputs: { contentsizechanged: "contentsizechanged", beforeedit: "beforeedit", beforerangeedit: "beforerangeedit", afteredit: "afteredit", beforeautofill: "beforeautofill", beforerange: "beforerange", afterfocus: "afterfocus", roworderchanged: "roworderchanged", beforesorting: "beforesorting", beforesourcesortingapply: "beforesourcesortingapply", beforesortingapply: "beforesortingapply", rowdragstart: "rowdragstart", headerclick: "headerclick", beforecellfocus: "beforecellfocus", beforefocuslost: "beforefocuslost", beforesourceset: "beforesourceset", beforeanysource: "beforeanysource", aftersourceset: "aftersourceset", afteranysource: "afteranysource", beforecolumnsset: "beforecolumnsset", beforecolumnapplied: "beforecolumnapplied", aftercolumnsset: "aftercolumnsset", beforefilterapply: "beforefilterapply", beforefiltertrimmed: "beforefiltertrimmed", beforetrimmed: "beforetrimmed", aftertrimmed: "aftertrimmed", viewportscroll: "viewportscroll", beforeexport: "beforeexport", beforeeditstart: "beforeeditstart", aftercolumnresize: "aftercolumnresize", beforerowdefinition: "beforerowdefinition", filterconfigchanged: "filterconfigchanged", sortingconfigchanged: "sortingconfigchanged", rowheaderschanged: "rowheaderschanged", beforegridrender: "beforegridrender", aftergridrender: "aftergridrender", aftergridinit: "aftergridinit", additionaldatachanged: "additionaldatachanged", afterthemechanged: "afterthemechanged", created: "created" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
120
  };
82
121
  RevoGrid = __decorate([
83
122
  ProxyCmp({
@@ -86,7 +125,7 @@ RevoGrid = __decorate([
86
125
  methods: ['refresh', 'setDataAt', 'scrollToRow', 'scrollToColumnIndex', 'scrollToColumnProp', 'updateColumns', 'addTrimmed', 'scrollToCoordinate', 'setCellEdit', 'setCellsFocus', 'getSource', 'getVisibleSource', 'getSourceStore', 'getColumnStore', 'updateColumnSorting', 'clearSorting', 'getColumns', 'clearFocus', 'getPlugins', 'getFocused', 'getContentSize', 'getSelectedRange', 'refreshExtraElements', 'getProviders']
87
126
  })
88
127
  ], RevoGrid);
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RevoGrid, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: RevoGrid, decorators: [{
90
129
  type: Component,
91
130
  args: [{
92
131
  selector: 'revo-grid',
@@ -94,9 +133,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
94
133
  template: '<ng-content></ng-content>',
95
134
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
96
135
  inputs: ['accessible', 'additionalData', 'applyOnClose', 'autoSizeColumn', 'canDrag', 'canFocus', 'canMoveColumns', 'colSize', 'columnTypes', 'columns', 'disableVirtualX', 'disableVirtualY', 'editors', 'exporting', 'filter', 'focusTemplate', 'frameSize', 'grouping', 'hideAttribution', 'jobsBeforeRender', 'pinnedBottomSource', 'pinnedTopSource', 'plugins', 'range', 'readonly', 'registerVNode', 'resize', 'rowClass', 'rowDefinitions', 'rowHeaders', 'rowSize', 'rtl', 'sorting', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],
97
- standalone: true
136
+ outputs: ['contentsizechanged', 'beforeedit', 'beforerangeedit', 'afteredit', 'beforeautofill', 'beforerange', 'afterfocus', 'roworderchanged', 'beforesorting', 'beforesourcesortingapply', 'beforesortingapply', 'rowdragstart', 'headerclick', 'beforecellfocus', 'beforefocuslost', 'beforesourceset', 'beforeanysource', 'aftersourceset', 'afteranysource', 'beforecolumnsset', 'beforecolumnapplied', 'aftercolumnsset', 'beforefilterapply', 'beforefiltertrimmed', 'beforetrimmed', 'aftertrimmed', 'viewportscroll', 'beforeexport', 'beforeeditstart', 'aftercolumnresize', 'beforerowdefinition', 'filterconfigchanged', 'sortingconfigchanged', 'rowheaderschanged', 'beforegridrender', 'aftergridrender', 'aftergridinit', 'additionaldatachanged', 'afterthemechanged', 'created'],
98
137
  }]
99
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
138
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { contentsizechanged: [{
139
+ type: Output
140
+ }], beforeedit: [{
141
+ type: Output
142
+ }], beforerangeedit: [{
143
+ type: Output
144
+ }], afteredit: [{
145
+ type: Output
146
+ }], beforeautofill: [{
147
+ type: Output
148
+ }], beforerange: [{
149
+ type: Output
150
+ }], afterfocus: [{
151
+ type: Output
152
+ }], roworderchanged: [{
153
+ type: Output
154
+ }], beforesorting: [{
155
+ type: Output
156
+ }], beforesourcesortingapply: [{
157
+ type: Output
158
+ }], beforesortingapply: [{
159
+ type: Output
160
+ }], rowdragstart: [{
161
+ type: Output
162
+ }], headerclick: [{
163
+ type: Output
164
+ }], beforecellfocus: [{
165
+ type: Output
166
+ }], beforefocuslost: [{
167
+ type: Output
168
+ }], beforesourceset: [{
169
+ type: Output
170
+ }], beforeanysource: [{
171
+ type: Output
172
+ }], aftersourceset: [{
173
+ type: Output
174
+ }], afteranysource: [{
175
+ type: Output
176
+ }], beforecolumnsset: [{
177
+ type: Output
178
+ }], beforecolumnapplied: [{
179
+ type: Output
180
+ }], aftercolumnsset: [{
181
+ type: Output
182
+ }], beforefilterapply: [{
183
+ type: Output
184
+ }], beforefiltertrimmed: [{
185
+ type: Output
186
+ }], beforetrimmed: [{
187
+ type: Output
188
+ }], aftertrimmed: [{
189
+ type: Output
190
+ }], viewportscroll: [{
191
+ type: Output
192
+ }], beforeexport: [{
193
+ type: Output
194
+ }], beforeeditstart: [{
195
+ type: Output
196
+ }], aftercolumnresize: [{
197
+ type: Output
198
+ }], beforerowdefinition: [{
199
+ type: Output
200
+ }], filterconfigchanged: [{
201
+ type: Output
202
+ }], sortingconfigchanged: [{
203
+ type: Output
204
+ }], rowheaderschanged: [{
205
+ type: Output
206
+ }], beforegridrender: [{
207
+ type: Output
208
+ }], aftergridrender: [{
209
+ type: Output
210
+ }], aftergridinit: [{
211
+ type: Output
212
+ }], additionaldatachanged: [{
213
+ type: Output
214
+ }], afterthemechanged: [{
215
+ type: Output
216
+ }], created: [{
217
+ type: Output
218
+ }] } });
100
219
 
101
220
  /**
102
221
  * Angular Adapter Function:
@@ -1 +1 @@
1
- {"version":3,"file":"revolist-angular-datagrid.mjs","sources":["../../../projects/angular-datagrid/src/lib/angular-component-lib/utils.ts","../../../projects/angular-datagrid/src/lib/components.ts","../../../projects/angular-datagrid/src/lib/renderer.ts","../../../projects/angular-datagrid/src/lib/editor.adapter.ts","../../../projects/angular-datagrid/src/lib/editor.ts","../../../projects/angular-datagrid/src/public-api.ts","../../../projects/angular-datagrid/src/revolist-angular-datagrid.ts"],"sourcesContent":["/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\n\nexport const proxyInputs = (Cmp: any, inputs: string[]) => {\n const Prototype = Cmp.prototype;\n inputs.forEach((item) => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val: any) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n },\n /**\n * In the event that proxyInputs is called\n * multiple times re-defining these inputs\n * will cause an error to be thrown. As a result\n * we set configurable: true to indicate these\n * properties can be changed.\n */\n configurable: true,\n });\n });\n};\n\nexport const proxyMethods = (Cmp: any, methods: string[]) => {\n const Prototype = Cmp.prototype;\n methods.forEach((methodName) => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\n\nexport const proxyOutputs = (instance: any, el: any, events: string[]) => {\n events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n\n// tslint:disable-next-line: only-arrow-functions\nexport function ProxyCmp(opts: { defineCustomElementFn?: () => void; inputs?: any; methods?: any }) {\n const decorator = function (cls: any) {\n const { defineCustomElementFn, inputs, methods } = opts;\n\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n","/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from '@angular/core';\n\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nimport type { Components } from '@revolist/revogrid/standalone';\n\nimport { defineCustomElement as defineRevoGrid } from '@revolist/revogrid/standalone/revo-grid.js';\n@ProxyCmp({\n defineCustomElementFn: defineRevoGrid,\n inputs: ['accessible', 'additionalData', 'applyOnClose', 'autoSizeColumn', 'canDrag', 'canFocus', 'canMoveColumns', 'colSize', 'columnTypes', 'columns', 'disableVirtualX', 'disableVirtualY', 'editors', 'exporting', 'filter', 'focusTemplate', 'frameSize', 'grouping', 'hideAttribution', 'jobsBeforeRender', 'pinnedBottomSource', 'pinnedTopSource', 'plugins', 'range', 'readonly', 'registerVNode', 'resize', 'rowClass', 'rowDefinitions', 'rowHeaders', 'rowSize', 'rtl', 'sorting', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],\n methods: ['refresh', 'setDataAt', 'scrollToRow', 'scrollToColumnIndex', 'scrollToColumnProp', 'updateColumns', 'addTrimmed', 'scrollToCoordinate', 'setCellEdit', 'setCellsFocus', 'getSource', 'getVisibleSource', 'getSourceStore', 'getColumnStore', 'updateColumnSorting', 'clearSorting', 'getColumns', 'clearFocus', 'getPlugins', 'getFocused', 'getContentSize', 'getSelectedRange', 'refreshExtraElements', 'getProviders']\n})\n@Component({\n selector: 'revo-grid',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['accessible', 'additionalData', 'applyOnClose', 'autoSizeColumn', 'canDrag', 'canFocus', 'canMoveColumns', 'colSize', 'columnTypes', 'columns', 'disableVirtualX', 'disableVirtualY', 'editors', 'exporting', 'filter', 'focusTemplate', 'frameSize', 'grouping', 'hideAttribution', 'jobsBeforeRender', 'pinnedBottomSource', 'pinnedTopSource', 'plugins', 'range', 'readonly', 'registerVNode', 'resize', 'rowClass', 'rowDefinitions', 'rowHeaders', 'rowSize', 'rtl', 'sorting', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],\n standalone: true\n})\nexport class RevoGrid {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['contentsizechanged', 'beforeedit', 'beforerangeedit', 'afteredit', 'beforeautofill', 'beforerange', 'afterfocus', 'roworderchanged', 'beforesorting', 'beforesourcesortingapply', 'beforesortingapply', 'rowdragstart', 'headerclick', 'beforecellfocus', 'beforefocuslost', 'beforesourceset', 'beforeanysource', 'aftersourceset', 'afteranysource', 'beforecolumnsset', 'beforecolumnapplied', 'aftercolumnsset', 'beforefilterapply', 'beforefiltertrimmed', 'beforetrimmed', 'aftertrimmed', 'viewportscroll', 'beforeexport', 'beforeeditstart', 'aftercolumnresize', 'beforerowdefinition', 'filterconfigchanged', 'sortingconfigchanged', 'rowheaderschanged', 'beforegridrender', 'aftergridrender', 'aftergridinit', 'additionaldatachanged', 'afterthemechanged', 'created']);\n }\n}\n\n\nimport type { MultiDimensionType as IRevoGridMultiDimensionType } from '@revolist/revogrid/standalone';\nimport type { BeforeSaveDataDetails as IRevoGridBeforeSaveDataDetails } from '@revolist/revogrid/standalone';\nimport type { BeforeRangeSaveDataDetails as IRevoGridBeforeRangeSaveDataDetails } from '@revolist/revogrid/standalone';\nimport type { AfterEditEvent as IRevoGridAfterEditEvent } from '@revolist/revogrid/standalone';\nimport type { ChangedRange as IRevoGridChangedRange } from '@revolist/revogrid/standalone';\nimport type { FocusAfterRenderEvent as IRevoGridFocusAfterRenderEvent } from '@revolist/revogrid/standalone';\nimport type { ColumnRegular as IRevoGridColumnRegular } from '@revolist/revogrid/standalone';\nimport type { DimensionRows as IRevoGridDimensionRows } from '@revolist/revogrid/standalone';\nimport type { SortingOrder as IRevoGridSortingOrder } from '@revolist/revogrid/standalone';\nimport type { RowDragStartDetails as IRevoGridRowDragStartDetails } from '@revolist/revogrid/standalone';\nimport type { FocusedData as IRevoGridFocusedData } from '@revolist/revogrid/standalone';\nimport type { DataType as IRevoGridDataType } from '@revolist/revogrid/standalone';\nimport type { ColumnCollection as IRevoGridColumnCollection } from '@revolist/revogrid/standalone';\nimport type { ColumnProp as IRevoGridColumnProp } from '@revolist/revogrid/standalone';\nimport type { FilterCollectionItem as IRevoGridFilterCollectionItem } from '@revolist/revogrid/standalone';\nimport type { ViewPortScrollEvent as IRevoGridViewPortScrollEvent } from '@revolist/revogrid/standalone';\nimport type { DataInput as IRevoGridDataInput } from '@revolist/revogrid/standalone';\nimport type { SortingConfig as IRevoGridSortingConfig } from '@revolist/revogrid/standalone';\nimport type { Theme as IRevoGridTheme } from '@revolist/revogrid/standalone';\n\nexport declare interface RevoGrid extends Components.RevoGrid {\n /**\n * New content size has been applied. The size excludes the header.\nCurrently, the event responsible for applying the new content size does not provide the actual size.\nTo retrieve the actual content size, you can utilize the `getContentSize` function after the event has been triggered.\n */\n contentsizechanged: EventEmitter<CustomEvent<IRevoGridMultiDimensionType>>;\n /**\n * Before the data is edited.\nTo prevent the default behavior of editing data and use your own implementation, call `e.preventDefault()`.\nTo override the edit result with your own value, set the `e.val` property to your desired value.\n */\n beforeedit: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;\n /**\n * Before applying range data, specifically when a range selection occurs.\nTo customize the data and prevent the default edit data from being set, you can call `e.preventDefault()`.\n */\n beforerangeedit: EventEmitter<CustomEvent<IRevoGridBeforeRangeSaveDataDetails>>;\n /**\n * After data applied or range changed.\n */\n afteredit: EventEmitter<CustomEvent<IRevoGridAfterEditEvent>>;\n /**\n * Before autofill is applied.\nTo prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.\n */\n beforeautofill: EventEmitter<CustomEvent<IRevoGridChangedRange>>;\n /**\n * Before autofill is applied. Runs before beforeautofill event.\nUse e.preventDefault() to prevent range.\n */\n beforerange: EventEmitter<CustomEvent<IRevoGridChangedRange>>;\n /**\n * After focus render finished.\nCan be used to access a focus element through `event.target`.\nThis is just a duplicate of `afterfocus` from `revogr-focus.tsx`.\n */\n afterfocus: EventEmitter<CustomEvent<IRevoGridFocusAfterRenderEvent>>;\n /**\n * Before the order of `rgRow` is applied.\nTo prevent the default behavior of changing the order of `rgRow`, you can call `e.preventDefault()`.\n */\n roworderchanged: EventEmitter<CustomEvent<{ from: number; to: number }>>;\n /**\n * By `SortingPlugin`\n<br>Triggered immediately after header click.\n<br>First in sorting event sequence. Ff this event stops no other event called.\n<br>Use `e.preventDefault()` to prevent sorting.\n */\n beforesorting: EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: 'desc' | 'asc'; additive: boolean; }>>;\n /**\n * By `SortingPlugin`\n<br>Same as `beforesorting` but triggered after `beforeanysource` (when source is changed).\n<br>Use `e.preventDefault()` to prevent sorting data change.\n */\n beforesourcesortingapply: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; sorting?: IRevoGridSortingOrder; }>>;\n /**\n * By `SortingPlugin`\n<br> After `beforesorting`\n<br>Triggered after column data updated with new sorting order.\n<br>Use `e.preventDefault()` to prevent sorting data change.\n */\n beforesortingapply: EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: 'desc' | 'asc'; additive: boolean; }>>;\n /**\n * This event is triggered when the row order change is started.\nTo prevent the default behavior of changing the row order, you can call `e.preventDefault()`.\nTo change the item name at the start of the row order change, you can set `e.text` to the desired new name.\n */\n rowdragstart: EventEmitter<CustomEvent<IRevoGridRowDragStartDetails>>;\n /**\n * On header click.\n */\n headerclick: EventEmitter<CustomEvent<IRevoGridColumnRegular>>;\n /**\n * Before the cell focus is changed.\nTo prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.\n */\n beforecellfocus: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;\n /**\n * Before the grid focus is lost.\nTo prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.\n */\n beforefocuslost: EventEmitter<CustomEvent<IRevoGridFocusedData | null>>;\n /**\n * Before main source/rows data apply.\nYou can override data source here\n */\n beforesourceset: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>;\n /**\n * Before data apply on any source type. Can be source from pinned and main viewport.\nYou can override data source here\n */\n beforeanysource: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>;\n /**\n * After main source/rows updated\n */\n aftersourceset: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>;\n /**\n * Emitted after each source update, whether from the pinned or main viewport.\nUseful for tracking all changes originating from sources in both the pinned and main viewports.\n */\n afteranysource: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>;\n /**\n * Emitted before a column update is applied.\nListeners can use this event to perform any necessary actions or modifications before the column update is finalized.\n */\n beforecolumnsset: EventEmitter<CustomEvent<IRevoGridColumnCollection>>;\n /**\n * Emitted before a column update is applied, after the column set is gathered and the viewport is updated.\nUseful for performing actions or modifications before the final application of the column update.\n */\n beforecolumnapplied: EventEmitter<CustomEvent<IRevoGridColumnCollection>>;\n /**\n * Column updated\n */\n aftercolumnsset: EventEmitter<CustomEvent<{ columns: IRevoGridColumnCollection; order: IRevoGridSortingOrder; }>>;\n /**\n * Emitted before applying a filter to the data source.\nUse e.preventDefault() to prevent cell focus change.\nModify if you need to change filters.\n */\n beforefilterapply: EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem> }>>;\n /**\n * Emitted before applying a filter to the data source.\nUse e.preventDefault() to prevent the default behavior of trimming values and applying the filter.\nModify the `collection` property if you want to change the filters.\nModify the `itemsToFilter` property if you want to filter the indexes for trimming.\n */\n beforefiltertrimmed: EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>; itemsToFilter: Record<number, boolean>; }>>;\n /**\n * Emitted before trimming values.\nUse e.preventDefault() to prevent the default behavior of trimming values.\nModify the `trimmed` property if you want to filter the indexes for trimming.\n */\n beforetrimmed: EventEmitter<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>;\n /**\n * Emitted after trimmed values have been applied.\nUseful for notifying when trimming of values has taken place.\n */\n aftertrimmed: EventEmitter<CustomEvent<any>>;\n /**\n * Emitted when the viewport is scrolled.\nUseful for tracking viewport scrolling events.\n */\n viewportscroll: EventEmitter<CustomEvent<IRevoGridViewPortScrollEvent>>;\n /**\n * Before export\nUse e.preventDefault() to prevent export\nReplace data in Event in case you want to modify it in export\n */\n beforeexport: EventEmitter<CustomEvent<IRevoGridDataInput>>;\n /**\n * Emitted before editing starts.\nUse e.preventDefault() to prevent the default edit behavior.\n */\n beforeeditstart: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;\n /**\n * Emitted after column resizing.\nUseful for retrieving the resized columns.\n */\n aftercolumnresize: EventEmitter<CustomEvent<{ [index: number]: IRevoGridColumnRegular; }>>;\n /**\n * Emitted before the row definition is applied.\nUseful for modifying or preventing the default row definition behavior.\n */\n beforerowdefinition: EventEmitter<CustomEvent<{ vals: any; oldVals: any }>>;\n /**\n * Emitted when the filter configuration is changed\n */\n filterconfigchanged: EventEmitter<CustomEvent<any>>;\n /**\n * Emitted when the sorting configuration is changed\nSortingPlugin subsribed to this event\n */\n sortingconfigchanged: EventEmitter<CustomEvent<IRevoGridSortingConfig>>;\n /**\n * Emmited when the row headers are changed.\n */\n rowheaderschanged: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited before the grid is rendered.\n */\n beforegridrender: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited after the grid is rendered.\n */\n aftergridrender: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited after the grid is initialized. Connected to the DOM.\n */\n aftergridinit: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited after the additional data is changed\n */\n additionaldatachanged: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited after the theme is changed\n */\n afterthemechanged: EventEmitter<CustomEvent<IRevoGridTheme>>;\n /**\n * Emmited after grid created\n */\n created: EventEmitter<CustomEvent<any>>;\n}\n\n\n","/**\n * Angular Adapter Function:\n * Handles the rendering and lifecycle of Angular components within StencilJS using updated Angular APIs.\n */\nimport { Injector, ComponentRef, Type, ApplicationRef, createComponent, EnvironmentInjector, inject } from '@angular/core';\nimport { ColumnDataSchemaModel, ColumnTemplateProp } from '@revolist/revogrid';\n\nexport interface AngularElement extends HTMLElement {\n componentRef?: ComponentRef<any>; // Reference to the Angular component\n}\n\nexport interface RenderedComponent<T> {\n update: (newProps: T) => void; // Function to update component with new props\n destroy: () => void; // Function to destroy the component\n}\n\nfunction updateProps<T extends object>(el: AngularElement, newProps: T) {\n if (!el.componentRef?.instance) {\n return;\n }\n \n \n // Update both ways to ensure it works with different component implementations\n el.componentRef.instance.props = newProps;\n el.componentRef.setInput('props', newProps);\n \n // Handle ngOnChanges if component implements it\n if (el.componentRef.instance.ngOnChanges) {\n const previousValue = el.componentRef.instance.props;\n const simpleChanges = {\n props: {\n previousValue,\n currentValue: newProps,\n firstChange: previousValue === undefined,\n isFirstChange: () => previousValue === undefined\n }\n };\n el.componentRef.instance.ngOnChanges(simpleChanges);\n }\n \n // Force component to check for updates\n el.componentRef.changeDetectorRef.markForCheck();\n el.componentRef.changeDetectorRef.detectChanges();\n}\n\nexport function TemplateConstructor<T extends Object>(\n el: AngularElement | null,\n AngularComponent: Type<any>,\n initialProps: T = {} as T,\n injector: Injector,\n lastEl: RenderedComponent<T> | null = null,\n): RenderedComponent<T> | null {\n if (!el) {\n lastEl?.destroy?.(); // Destroy last component if element is null\n return null;\n }\n\n if (!el.componentRef) {\n const applicationRef = injector.get(ApplicationRef);\n const environmentInjector = injector.get(EnvironmentInjector);\n const componentRef = createComponent(AngularComponent, { environmentInjector });\n applicationRef.attachView(componentRef.hostView);\n componentRef.instance.props = initialProps;\n componentRef.changeDetectorRef.detectChanges();\n el.componentRef = componentRef; // Store the component reference\n el.appendChild(componentRef.location.nativeElement);\n } else if (el.componentRef.instance) {\n updateProps(el, initialProps);\n }\n\n // Function to update component props\n const update = (newProps: T) => updateProps(el, newProps);\n\n // Function to destroy the component\n const destroy = () => {\n el.componentRef?.destroy();\n el.componentRef = undefined;\n };\n\n return { update, destroy };\n}\n\n// Function to create template for Angular component\nexport const Template = (\n AngularComponent: Type<any>,\n customProps?: any,\n injector = inject(Injector)\n) => {\n return (h: any, p: ColumnDataSchemaModel | ColumnTemplateProp, addition?: any) => {\n const props = customProps ? { ...customProps, ...p } : p;\n props.addition = addition;\n let lastEl: RenderedComponent<any> | null = null;\n return h('span', {\n key: `${p.prop}-${p.rowIndex || 0}`,\n ref: (el: AngularElement | null) => {\n lastEl = TemplateConstructor(el, AngularComponent, props, injector, lastEl);\n }\n });\n };\n};\n","import type { EditCell, ColumnDataSchemaModel, HyperFunc, VNode, EditorBase } from '@revolist/revogrid';\nimport { Injector, Type } from '@angular/core';\nimport { TemplateConstructor, RenderedComponent, AngularElement } from './renderer';\n/**\n * Data passed to editor\n */\nexport type EditorType = {\n column: ColumnDataSchemaModel;\n save: (value: any, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n} & Partial<EditCell>;\n\nexport class EditorAdapter implements EditorBase {\n public element: AngularElement | null = null;\n public editCell?: EditCell;\n private renderedComponent: RenderedComponent<any> | null = null;\n\n constructor(\n private EditorComponent: Type<any>,\n private injector: Injector,\n public column: ColumnDataSchemaModel,\n private save: (value: any, preventFocus?: boolean) => void,\n private close: (focusNext?: boolean) => void,\n ) {}\n\n // optional, called after editor rendered\n componentDidRender() {}\n\n // optional, called after editor destroyed\n disconnectedCallback() {\n this.renderedComponent?.destroy();\n this.renderedComponent = null;\n }\n\n render(h: HyperFunc<VNode>) {\n return h('span', {\n key: `${this.column.prop}-${this.editCell?.rowIndex || 0}`,\n ref: (el: AngularElement) => \n this.renderedComponent = TemplateConstructor(\n el,\n this.EditorComponent,\n {\n ...this.editCell,\n column: this.column,\n save: this.save,\n close: this.close,\n },\n this.injector,\n ),\n });\n }\n}\n","import type { ColumnDataSchemaModel, EditorCtr } from '@revolist/revogrid';\nimport { Injector, Type, inject } from '@angular/core';\nimport { EditorAdapter } from './editor.adapter';\n/**\n * Create editor constructor.\n * This function creates editor constructor by wrapping it with EditorAdapter\n * which is responsible for connecting editor with grid.\n */\nexport const Editor = (\n EditorComponent: Type<any>,\n injector = inject(Injector),\n): EditorCtr => {\n /**\n * Editor constructor wrapper\n * @param column column data to which editor is bound\n * @param save function to save data\n * @param close function to close editor\n * @returns editor instance\n */\n return function (\n column: ColumnDataSchemaModel,\n save: (value: any, preventFocus?: boolean) => void,\n close: (focusNext?: boolean) => void,\n ) {\n return new EditorAdapter(EditorComponent, injector, column, save, close);\n };\n};\n","/*\n * Public API Surface of angular-datagrid\n */\nimport { defineCustomElement as defineFilterPanel } from '@revolist/revogrid/standalone/revogr-filter-panel.js';\n// Filter is defined as a standalone component plugin and should be imported here\ndefineFilterPanel?.();\n\nexport * from '@revolist/revogrid';\nexport * from './lib/components';\nexport * from './lib/editor.adapter';\nexport * from './lib/editor';\nexport * from './lib/renderer';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defineRevoGrid","defineFilterPanel"],"mappings":"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"}
1
+ {"version":3,"file":"revolist-angular-datagrid.mjs","sources":["../../../projects/angular-datagrid/src/lib/angular-component-lib/utils.ts","../../../projects/angular-datagrid/src/lib/components.ts","../../../projects/angular-datagrid/src/lib/renderer.ts","../../../projects/angular-datagrid/src/lib/editor.adapter.ts","../../../projects/angular-datagrid/src/lib/editor.ts","../../../projects/angular-datagrid/src/public-api.ts","../../../projects/angular-datagrid/src/revolist-angular-datagrid.ts"],"sourcesContent":["/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\n\nexport const proxyInputs = (Cmp: any, inputs: string[]) => {\n const Prototype = Cmp.prototype;\n inputs.forEach((item) => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val: any) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n },\n /**\n * In the event that proxyInputs is called\n * multiple times re-defining these inputs\n * will cause an error to be thrown. As a result\n * we set configurable: true to indicate these\n * properties can be changed.\n */\n configurable: true,\n });\n });\n};\n\nexport const proxyMethods = (Cmp: any, methods: string[]) => {\n const Prototype = Cmp.prototype;\n methods.forEach((methodName) => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\n\nexport const proxyOutputs = (instance: any, el: any, events: string[]) => {\n events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n\n// tslint:disable-next-line: only-arrow-functions\nexport function ProxyCmp(opts: { defineCustomElementFn?: () => void; inputs?: any; methods?: any }) {\n const decorator = function (cls: any) {\n const { defineCustomElementFn, inputs, methods } = opts;\n\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n","/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, NgZone } from '@angular/core';\n\nimport { ProxyCmp } from './angular-component-lib/utils';\n\nimport type { Components } from '@revolist/revogrid/standalone';\n\nimport { defineCustomElement as defineRevoGrid } from '@revolist/revogrid/standalone/revo-grid.js';\n@ProxyCmp({\n defineCustomElementFn: defineRevoGrid,\n inputs: ['accessible', 'additionalData', 'applyOnClose', 'autoSizeColumn', 'canDrag', 'canFocus', 'canMoveColumns', 'colSize', 'columnTypes', 'columns', 'disableVirtualX', 'disableVirtualY', 'editors', 'exporting', 'filter', 'focusTemplate', 'frameSize', 'grouping', 'hideAttribution', 'jobsBeforeRender', 'pinnedBottomSource', 'pinnedTopSource', 'plugins', 'range', 'readonly', 'registerVNode', 'resize', 'rowClass', 'rowDefinitions', 'rowHeaders', 'rowSize', 'rtl', 'sorting', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],\n methods: ['refresh', 'setDataAt', 'scrollToRow', 'scrollToColumnIndex', 'scrollToColumnProp', 'updateColumns', 'addTrimmed', 'scrollToCoordinate', 'setCellEdit', 'setCellsFocus', 'getSource', 'getVisibleSource', 'getSourceStore', 'getColumnStore', 'updateColumnSorting', 'clearSorting', 'getColumns', 'clearFocus', 'getPlugins', 'getFocused', 'getContentSize', 'getSelectedRange', 'refreshExtraElements', 'getProviders']\n})\n@Component({\n selector: 'revo-grid',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['accessible', 'additionalData', 'applyOnClose', 'autoSizeColumn', 'canDrag', 'canFocus', 'canMoveColumns', 'colSize', 'columnTypes', 'columns', 'disableVirtualX', 'disableVirtualY', 'editors', 'exporting', 'filter', 'focusTemplate', 'frameSize', 'grouping', 'hideAttribution', 'jobsBeforeRender', 'pinnedBottomSource', 'pinnedTopSource', 'plugins', 'range', 'readonly', 'registerVNode', 'resize', 'rowClass', 'rowDefinitions', 'rowHeaders', 'rowSize', 'rtl', 'sorting', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],\n outputs: ['contentsizechanged', 'beforeedit', 'beforerangeedit', 'afteredit', 'beforeautofill', 'beforerange', 'afterfocus', 'roworderchanged', 'beforesorting', 'beforesourcesortingapply', 'beforesortingapply', 'rowdragstart', 'headerclick', 'beforecellfocus', 'beforefocuslost', 'beforesourceset', 'beforeanysource', 'aftersourceset', 'afteranysource', 'beforecolumnsset', 'beforecolumnapplied', 'aftercolumnsset', 'beforefilterapply', 'beforefiltertrimmed', 'beforetrimmed', 'aftertrimmed', 'viewportscroll', 'beforeexport', 'beforeeditstart', 'aftercolumnresize', 'beforerowdefinition', 'filterconfigchanged', 'sortingconfigchanged', 'rowheaderschanged', 'beforegridrender', 'aftergridrender', 'aftergridinit', 'additionaldatachanged', 'afterthemechanged', 'created'],\n})\nexport class RevoGrid {\n protected el: HTMLRevoGridElement;\n @Output() contentsizechanged = new EventEmitter<CustomEvent<IRevoGridMultiDimensionType>>();\n @Output() beforeedit = new EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>();\n @Output() beforerangeedit = new EventEmitter<CustomEvent<IRevoGridBeforeRangeSaveDataDetails>>();\n @Output() afteredit = new EventEmitter<CustomEvent<IRevoGridAfterEditEvent>>();\n @Output() beforeautofill = new EventEmitter<CustomEvent<IRevoGridChangedRange>>();\n @Output() beforerange = new EventEmitter<CustomEvent<IRevoGridChangedRange>>();\n @Output() afterfocus = new EventEmitter<CustomEvent<IRevoGridFocusAfterRenderEvent>>();\n @Output() roworderchanged = new EventEmitter<CustomEvent<{ from: number; to: number }>>();\n @Output() beforesorting = new EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: 'desc' | 'asc'; additive: boolean; }>>();\n @Output() beforesourcesortingapply = new EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; sorting?: IRevoGridSortingOrder; }>>();\n @Output() beforesortingapply = new EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: 'desc' | 'asc'; additive: boolean; }>>();\n @Output() rowdragstart = new EventEmitter<CustomEvent<IRevoGridRowDragStartDetails>>();\n @Output() headerclick = new EventEmitter<CustomEvent<IRevoGridColumnRegular>>();\n @Output() beforecellfocus = new EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>();\n @Output() beforefocuslost = new EventEmitter<CustomEvent<IRevoGridFocusedData | null>>();\n @Output() beforesourceset = new EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>();\n @Output() beforeanysource = new EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>();\n @Output() aftersourceset = new EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>();\n @Output() afteranysource = new EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>();\n @Output() beforecolumnsset = new EventEmitter<CustomEvent<IRevoGridColumnCollection>>();\n @Output() beforecolumnapplied = new EventEmitter<CustomEvent<IRevoGridColumnCollection>>();\n @Output() aftercolumnsset = new EventEmitter<CustomEvent<{ columns: IRevoGridColumnCollection; order: IRevoGridSortingOrder; }>>();\n @Output() beforefilterapply = new EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem> }>>();\n @Output() beforefiltertrimmed = new EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>; itemsToFilter: Record<number, boolean>; }>>();\n @Output() beforetrimmed = new EventEmitter<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>();\n @Output() aftertrimmed = new EventEmitter<CustomEvent<any>>();\n @Output() viewportscroll = new EventEmitter<CustomEvent<IRevoGridViewPortScrollEvent>>();\n @Output() beforeexport = new EventEmitter<CustomEvent<IRevoGridDataInput>>();\n @Output() beforeeditstart = new EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>();\n @Output() aftercolumnresize = new EventEmitter<CustomEvent<{ [index: number]: IRevoGridColumnRegular; }>>();\n @Output() beforerowdefinition = new EventEmitter<CustomEvent<{ vals: any; oldVals: any }>>();\n @Output() filterconfigchanged = new EventEmitter<CustomEvent<any>>();\n @Output() sortingconfigchanged = new EventEmitter<CustomEvent<IRevoGridSortingConfig>>();\n @Output() rowheaderschanged = new EventEmitter<CustomEvent<any>>();\n @Output() beforegridrender = new EventEmitter<CustomEvent<any>>();\n @Output() aftergridrender = new EventEmitter<CustomEvent<any>>();\n @Output() aftergridinit = new EventEmitter<CustomEvent<any>>();\n @Output() additionaldatachanged = new EventEmitter<CustomEvent<any>>();\n @Output() afterthemechanged = new EventEmitter<CustomEvent<IRevoGridTheme>>();\n @Output() created = new EventEmitter<CustomEvent<any>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { MultiDimensionType as IRevoGridMultiDimensionType } from '@revolist/revogrid/standalone';\nimport type { BeforeSaveDataDetails as IRevoGridBeforeSaveDataDetails } from '@revolist/revogrid/standalone';\nimport type { BeforeRangeSaveDataDetails as IRevoGridBeforeRangeSaveDataDetails } from '@revolist/revogrid/standalone';\nimport type { AfterEditEvent as IRevoGridAfterEditEvent } from '@revolist/revogrid/standalone';\nimport type { ChangedRange as IRevoGridChangedRange } from '@revolist/revogrid/standalone';\nimport type { FocusAfterRenderEvent as IRevoGridFocusAfterRenderEvent } from '@revolist/revogrid/standalone';\nimport type { ColumnRegular as IRevoGridColumnRegular } from '@revolist/revogrid/standalone';\nimport type { DimensionRows as IRevoGridDimensionRows } from '@revolist/revogrid/standalone';\nimport type { SortingOrder as IRevoGridSortingOrder } from '@revolist/revogrid/standalone';\nimport type { RowDragStartDetails as IRevoGridRowDragStartDetails } from '@revolist/revogrid/standalone';\nimport type { FocusedData as IRevoGridFocusedData } from '@revolist/revogrid/standalone';\nimport type { DataType as IRevoGridDataType } from '@revolist/revogrid/standalone';\nimport type { ColumnCollection as IRevoGridColumnCollection } from '@revolist/revogrid/standalone';\nimport type { ColumnProp as IRevoGridColumnProp } from '@revolist/revogrid/standalone';\nimport type { FilterCollectionItem as IRevoGridFilterCollectionItem } from '@revolist/revogrid/standalone';\nimport type { ViewPortScrollEvent as IRevoGridViewPortScrollEvent } from '@revolist/revogrid/standalone';\nimport type { DataInput as IRevoGridDataInput } from '@revolist/revogrid/standalone';\nimport type { SortingConfig as IRevoGridSortingConfig } from '@revolist/revogrid/standalone';\nimport type { Theme as IRevoGridTheme } from '@revolist/revogrid/standalone';\n\nexport declare interface RevoGrid extends Components.RevoGrid {\n /**\n * New content size has been applied. The size excludes the header.\nCurrently, the event responsible for applying the new content size does not provide the actual size.\nTo retrieve the actual content size, you can utilize the `getContentSize` function after the event has been triggered.\n */\n contentsizechanged: EventEmitter<CustomEvent<IRevoGridMultiDimensionType>>;\n /**\n * Before the data is edited.\nTo prevent the default behavior of editing data and use your own implementation, call `e.preventDefault()`.\nTo override the edit result with your own value, set the `e.val` property to your desired value.\n */\n beforeedit: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;\n /**\n * Before applying range data, specifically when a range selection occurs.\nTo customize the data and prevent the default edit data from being set, you can call `e.preventDefault()`.\n */\n beforerangeedit: EventEmitter<CustomEvent<IRevoGridBeforeRangeSaveDataDetails>>;\n /**\n * After data applied or range changed.\n */\n afteredit: EventEmitter<CustomEvent<IRevoGridAfterEditEvent>>;\n /**\n * Before autofill is applied.\nTo prevent the default behavior of applying the edit data, you can call `e.preventDefault()`.\n */\n beforeautofill: EventEmitter<CustomEvent<IRevoGridChangedRange>>;\n /**\n * Before autofill is applied. Runs before beforeautofill event.\nUse e.preventDefault() to prevent range.\n */\n beforerange: EventEmitter<CustomEvent<IRevoGridChangedRange>>;\n /**\n * After focus render finished.\nCan be used to access a focus element through `event.target`.\nThis is just a duplicate of `afterfocus` from `revogr-focus.tsx`.\n */\n afterfocus: EventEmitter<CustomEvent<IRevoGridFocusAfterRenderEvent>>;\n /**\n * Before the order of `rgRow` is applied.\nTo prevent the default behavior of changing the order of `rgRow`, you can call `e.preventDefault()`.\n */\n roworderchanged: EventEmitter<CustomEvent<{ from: number; to: number }>>;\n /**\n * By `SortingPlugin`\n<br>Triggered immediately after header click.\n<br>First in sorting event sequence. Ff this event stops no other event called.\n<br>Use `e.preventDefault()` to prevent sorting.\n */\n beforesorting: EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: 'desc' | 'asc'; additive: boolean; }>>;\n /**\n * By `SortingPlugin`\n<br>Same as `beforesorting` but triggered after `beforeanysource` (when source is changed).\n<br>Use `e.preventDefault()` to prevent sorting data change.\n */\n beforesourcesortingapply: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; sorting?: IRevoGridSortingOrder; }>>;\n /**\n * By `SortingPlugin`\n<br> After `beforesorting`\n<br>Triggered after column data updated with new sorting order.\n<br>Use `e.preventDefault()` to prevent sorting data change.\n */\n beforesortingapply: EventEmitter<CustomEvent<{ column: IRevoGridColumnRegular; order: 'desc' | 'asc'; additive: boolean; }>>;\n /**\n * This event is triggered when the row order change is started.\nTo prevent the default behavior of changing the row order, you can call `e.preventDefault()`.\nTo change the item name at the start of the row order change, you can set `e.text` to the desired new name.\n */\n rowdragstart: EventEmitter<CustomEvent<IRevoGridRowDragStartDetails>>;\n /**\n * On header click.\n */\n headerclick: EventEmitter<CustomEvent<IRevoGridColumnRegular>>;\n /**\n * Before the cell focus is changed.\nTo prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.\n */\n beforecellfocus: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;\n /**\n * Before the grid focus is lost.\nTo prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`.\n */\n beforefocuslost: EventEmitter<CustomEvent<IRevoGridFocusedData | null>>;\n /**\n * Before main source/rows data apply.\nYou can override data source here\n */\n beforesourceset: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>;\n /**\n * Before data apply on any source type. Can be source from pinned and main viewport.\nYou can override data source here\n */\n beforeanysource: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>;\n /**\n * After main source/rows updated\n */\n aftersourceset: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>;\n /**\n * Emitted after each source update, whether from the pinned or main viewport.\nUseful for tracking all changes originating from sources in both the pinned and main viewports.\n */\n afteranysource: EventEmitter<CustomEvent<{ type: IRevoGridDimensionRows; source: IRevoGridDataType[]; }>>;\n /**\n * Emitted before a column update is applied.\nListeners can use this event to perform any necessary actions or modifications before the column update is finalized.\n */\n beforecolumnsset: EventEmitter<CustomEvent<IRevoGridColumnCollection>>;\n /**\n * Emitted before a column update is applied, after the column set is gathered and the viewport is updated.\nUseful for performing actions or modifications before the final application of the column update.\n */\n beforecolumnapplied: EventEmitter<CustomEvent<IRevoGridColumnCollection>>;\n /**\n * Column updated\n */\n aftercolumnsset: EventEmitter<CustomEvent<{ columns: IRevoGridColumnCollection; order: IRevoGridSortingOrder; }>>;\n /**\n * Emitted before applying a filter to the data source.\nUse e.preventDefault() to prevent cell focus change.\nModify if you need to change filters.\n */\n beforefilterapply: EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem> }>>;\n /**\n * Emitted before applying a filter to the data source.\nUse e.preventDefault() to prevent the default behavior of trimming values and applying the filter.\nModify the `collection` property if you want to change the filters.\nModify the `itemsToFilter` property if you want to filter the indexes for trimming.\n */\n beforefiltertrimmed: EventEmitter<CustomEvent<{ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>; itemsToFilter: Record<number, boolean>; }>>;\n /**\n * Emitted before trimming values.\nUse e.preventDefault() to prevent the default behavior of trimming values.\nModify the `trimmed` property if you want to filter the indexes for trimming.\n */\n beforetrimmed: EventEmitter<CustomEvent<{ trimmed: Record<number, boolean>; trimmedType: string; type: string; }>>;\n /**\n * Emitted after trimmed values have been applied.\nUseful for notifying when trimming of values has taken place.\n */\n aftertrimmed: EventEmitter<CustomEvent<any>>;\n /**\n * Emitted when the viewport is scrolled.\nUseful for tracking viewport scrolling events.\n */\n viewportscroll: EventEmitter<CustomEvent<IRevoGridViewPortScrollEvent>>;\n /**\n * Before export\nUse e.preventDefault() to prevent export\nReplace data in Event in case you want to modify it in export\n */\n beforeexport: EventEmitter<CustomEvent<IRevoGridDataInput>>;\n /**\n * Emitted before editing starts.\nUse e.preventDefault() to prevent the default edit behavior.\n */\n beforeeditstart: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;\n /**\n * Emitted after column resizing.\nUseful for retrieving the resized columns.\n */\n aftercolumnresize: EventEmitter<CustomEvent<{ [index: number]: IRevoGridColumnRegular; }>>;\n /**\n * Emitted before the row definition is applied.\nUseful for modifying or preventing the default row definition behavior.\n */\n beforerowdefinition: EventEmitter<CustomEvent<{ vals: any; oldVals: any }>>;\n /**\n * Emitted when the filter configuration is changed\n */\n filterconfigchanged: EventEmitter<CustomEvent<any>>;\n /**\n * Emitted when the sorting configuration is changed\nSortingPlugin subsribed to this event\n */\n sortingconfigchanged: EventEmitter<CustomEvent<IRevoGridSortingConfig>>;\n /**\n * Emmited when the row headers are changed.\n */\n rowheaderschanged: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited before the grid is rendered.\n */\n beforegridrender: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited after the grid is rendered.\n */\n aftergridrender: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited after the grid is initialized. Connected to the DOM.\n */\n aftergridinit: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited after the additional data is changed\n */\n additionaldatachanged: EventEmitter<CustomEvent<any>>;\n /**\n * Emmited after the theme is changed\n */\n afterthemechanged: EventEmitter<CustomEvent<IRevoGridTheme>>;\n /**\n * Emmited after grid created\n */\n created: EventEmitter<CustomEvent<any>>;\n}\n\n\n","/**\n * Angular Adapter Function:\n * Handles the rendering and lifecycle of Angular components within StencilJS using updated Angular APIs.\n */\nimport { Injector, ComponentRef, Type, ApplicationRef, createComponent, EnvironmentInjector, inject } from '@angular/core';\nimport { ColumnDataSchemaModel, ColumnTemplateProp } from '@revolist/revogrid';\n\nexport interface AngularElement extends HTMLElement {\n componentRef?: ComponentRef<any>; // Reference to the Angular component\n}\n\nexport interface RenderedComponent<T> {\n update: (newProps: T) => void; // Function to update component with new props\n destroy: () => void; // Function to destroy the component\n}\n\nfunction updateProps<T extends object>(el: AngularElement, newProps: T) {\n if (!el.componentRef?.instance) {\n return;\n }\n \n \n // Update both ways to ensure it works with different component implementations\n el.componentRef.instance.props = newProps;\n el.componentRef.setInput('props', newProps);\n \n // Handle ngOnChanges if component implements it\n if (el.componentRef.instance.ngOnChanges) {\n const previousValue = el.componentRef.instance.props;\n const simpleChanges = {\n props: {\n previousValue,\n currentValue: newProps,\n firstChange: previousValue === undefined,\n isFirstChange: () => previousValue === undefined\n }\n };\n el.componentRef.instance.ngOnChanges(simpleChanges);\n }\n \n // Force component to check for updates\n el.componentRef.changeDetectorRef.markForCheck();\n el.componentRef.changeDetectorRef.detectChanges();\n}\n\nexport function TemplateConstructor<T extends Object>(\n el: AngularElement | null,\n AngularComponent: Type<any>,\n initialProps: T = {} as T,\n injector: Injector,\n lastEl: RenderedComponent<T> | null = null,\n): RenderedComponent<T> | null {\n if (!el) {\n lastEl?.destroy?.(); // Destroy last component if element is null\n return null;\n }\n\n if (!el.componentRef) {\n const applicationRef = injector.get(ApplicationRef);\n const environmentInjector = injector.get(EnvironmentInjector);\n const componentRef = createComponent(AngularComponent, { environmentInjector });\n applicationRef.attachView(componentRef.hostView);\n componentRef.instance.props = initialProps;\n componentRef.changeDetectorRef.detectChanges();\n el.componentRef = componentRef; // Store the component reference\n el.appendChild(componentRef.location.nativeElement);\n } else if (el.componentRef.instance) {\n updateProps(el, initialProps);\n }\n\n // Function to update component props\n const update = (newProps: T) => updateProps(el, newProps);\n\n // Function to destroy the component\n const destroy = () => {\n el.componentRef?.destroy();\n el.componentRef = undefined;\n };\n\n return { update, destroy };\n}\n\n// Function to create template for Angular component\nexport const Template = (\n AngularComponent: Type<any>,\n customProps?: any,\n injector = inject(Injector)\n) => {\n return (h: any, p: ColumnDataSchemaModel | ColumnTemplateProp, addition?: any) => {\n const props = customProps ? { ...customProps, ...p } : p;\n props.addition = addition;\n let lastEl: RenderedComponent<any> | null = null;\n return h('span', {\n key: `${p.prop}-${p.rowIndex || 0}`,\n ref: (el: AngularElement | null) => {\n lastEl = TemplateConstructor(el, AngularComponent, props, injector, lastEl);\n }\n });\n };\n};\n","import type { EditCell, ColumnDataSchemaModel, HyperFunc, VNode, EditorBase } from '@revolist/revogrid';\nimport { Injector, Type } from '@angular/core';\nimport { TemplateConstructor, RenderedComponent, AngularElement } from './renderer';\n/**\n * Data passed to editor\n */\nexport type EditorType = {\n column: ColumnDataSchemaModel;\n save: (value: any, preventFocus?: boolean) => void;\n close: (focusNext?: boolean) => void;\n} & Partial<EditCell>;\n\nexport class EditorAdapter implements EditorBase {\n public element: AngularElement | null = null;\n public editCell?: EditCell;\n private renderedComponent: RenderedComponent<any> | null = null;\n\n constructor(\n private EditorComponent: Type<any>,\n private injector: Injector,\n public column: ColumnDataSchemaModel,\n private save: (value: any, preventFocus?: boolean) => void,\n private close: (focusNext?: boolean) => void,\n ) {}\n\n // optional, called after editor rendered\n componentDidRender() {}\n\n // optional, called after editor destroyed\n disconnectedCallback() {\n this.renderedComponent?.destroy();\n this.renderedComponent = null;\n }\n\n render(h: HyperFunc<VNode>) {\n return h('span', {\n key: `${this.column.prop}-${this.editCell?.rowIndex || 0}`,\n ref: (el: AngularElement) => \n this.renderedComponent = TemplateConstructor(\n el,\n this.EditorComponent,\n {\n ...this.editCell,\n column: this.column,\n save: this.save,\n close: this.close,\n },\n this.injector,\n ),\n });\n }\n}\n","import type { ColumnDataSchemaModel, EditorCtr } from '@revolist/revogrid';\nimport { Injector, Type, inject } from '@angular/core';\nimport { EditorAdapter } from './editor.adapter';\n/**\n * Create editor constructor.\n * This function creates editor constructor by wrapping it with EditorAdapter\n * which is responsible for connecting editor with grid.\n */\nexport const Editor = (\n EditorComponent: Type<any>,\n injector = inject(Injector),\n): EditorCtr => {\n /**\n * Editor constructor wrapper\n * @param column column data to which editor is bound\n * @param save function to save data\n * @param close function to close editor\n * @returns editor instance\n */\n return function (\n column: ColumnDataSchemaModel,\n save: (value: any, preventFocus?: boolean) => void,\n close: (focusNext?: boolean) => void,\n ) {\n return new EditorAdapter(EditorComponent, injector, column, save, close);\n };\n};\n","/*\n * Public API Surface of angular-datagrid\n */\nimport { defineCustomElement as defineFilterPanel } from '@revolist/revogrid/standalone/revogr-filter-panel.js';\n// Filter is defined as a standalone component plugin and should be imported here\ndefineFilterPanel?.();\n\nexport * from '@revolist/revogrid';\nexport * from './lib/components';\nexport * from './lib/editor.adapter';\nexport * from './lib/editor';\nexport * from './lib/renderer';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defineRevoGrid","defineFilterPanel"],"mappings":"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"}
@@ -22,10 +22,93 @@ import type { Theme as IRevoGridTheme } from '@revolist/revogrid/standalone';
22
22
  import * as i0 from "@angular/core";
23
23
  export declare class RevoGrid {
24
24
  protected z: NgZone;
25
- protected el: HTMLElement;
25
+ protected el: HTMLRevoGridElement;
26
+ contentsizechanged: EventEmitter<CustomEvent<IRevoGridMultiDimensionType>>;
27
+ beforeedit: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;
28
+ beforerangeedit: EventEmitter<CustomEvent<IRevoGridBeforeRangeSaveDataDetails>>;
29
+ afteredit: EventEmitter<CustomEvent<IRevoGridAfterEditEvent>>;
30
+ beforeautofill: EventEmitter<CustomEvent<IRevoGridChangedRange>>;
31
+ beforerange: EventEmitter<CustomEvent<IRevoGridChangedRange>>;
32
+ afterfocus: EventEmitter<CustomEvent<IRevoGridFocusAfterRenderEvent>>;
33
+ roworderchanged: EventEmitter<CustomEvent<{
34
+ from: number;
35
+ to: number;
36
+ }>>;
37
+ beforesorting: EventEmitter<CustomEvent<{
38
+ column: IRevoGridColumnRegular;
39
+ order: "desc" | "asc";
40
+ additive: boolean;
41
+ }>>;
42
+ beforesourcesortingapply: EventEmitter<CustomEvent<{
43
+ type: IRevoGridDimensionRows;
44
+ sorting?: IRevoGridSortingOrder;
45
+ }>>;
46
+ beforesortingapply: EventEmitter<CustomEvent<{
47
+ column: IRevoGridColumnRegular;
48
+ order: "desc" | "asc";
49
+ additive: boolean;
50
+ }>>;
51
+ rowdragstart: EventEmitter<CustomEvent<IRevoGridRowDragStartDetails>>;
52
+ headerclick: EventEmitter<CustomEvent<IRevoGridColumnRegular>>;
53
+ beforecellfocus: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;
54
+ beforefocuslost: EventEmitter<CustomEvent<IRevoGridFocusedData | null>>;
55
+ beforesourceset: EventEmitter<CustomEvent<{
56
+ type: IRevoGridDimensionRows;
57
+ source: IRevoGridDataType[];
58
+ }>>;
59
+ beforeanysource: EventEmitter<CustomEvent<{
60
+ type: IRevoGridDimensionRows;
61
+ source: IRevoGridDataType[];
62
+ }>>;
63
+ aftersourceset: EventEmitter<CustomEvent<{
64
+ type: IRevoGridDimensionRows;
65
+ source: IRevoGridDataType[];
66
+ }>>;
67
+ afteranysource: EventEmitter<CustomEvent<{
68
+ type: IRevoGridDimensionRows;
69
+ source: IRevoGridDataType[];
70
+ }>>;
71
+ beforecolumnsset: EventEmitter<CustomEvent<IRevoGridColumnCollection>>;
72
+ beforecolumnapplied: EventEmitter<CustomEvent<IRevoGridColumnCollection>>;
73
+ aftercolumnsset: EventEmitter<CustomEvent<{
74
+ columns: IRevoGridColumnCollection;
75
+ order: IRevoGridSortingOrder;
76
+ }>>;
77
+ beforefilterapply: EventEmitter<CustomEvent<{
78
+ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>;
79
+ }>>;
80
+ beforefiltertrimmed: EventEmitter<CustomEvent<{
81
+ collection: Record<IRevoGridColumnProp, IRevoGridFilterCollectionItem>;
82
+ itemsToFilter: Record<number, boolean>;
83
+ }>>;
84
+ beforetrimmed: EventEmitter<CustomEvent<{
85
+ trimmed: Record<number, boolean>;
86
+ trimmedType: string;
87
+ type: string;
88
+ }>>;
89
+ aftertrimmed: EventEmitter<CustomEvent<any>>;
90
+ viewportscroll: EventEmitter<CustomEvent<IRevoGridViewPortScrollEvent>>;
91
+ beforeexport: EventEmitter<CustomEvent<IRevoGridDataInput>>;
92
+ beforeeditstart: EventEmitter<CustomEvent<IRevoGridBeforeSaveDataDetails>>;
93
+ aftercolumnresize: EventEmitter<CustomEvent<{
94
+ [index: number]: IRevoGridColumnRegular;
95
+ }>>;
96
+ beforerowdefinition: EventEmitter<CustomEvent<{
97
+ vals: any;
98
+ oldVals: any;
99
+ }>>;
100
+ filterconfigchanged: EventEmitter<CustomEvent<any>>;
101
+ sortingconfigchanged: EventEmitter<CustomEvent<IRevoGridSortingConfig>>;
102
+ rowheaderschanged: EventEmitter<CustomEvent<any>>;
103
+ beforegridrender: EventEmitter<CustomEvent<any>>;
104
+ aftergridrender: EventEmitter<CustomEvent<any>>;
105
+ aftergridinit: EventEmitter<CustomEvent<any>>;
106
+ additionaldatachanged: EventEmitter<CustomEvent<any>>;
107
+ afterthemechanged: EventEmitter<CustomEvent<IRevoGridTheme>>;
108
+ created: EventEmitter<CustomEvent<any>>;
26
109
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
27
110
  static ɵfac: i0.ɵɵFactoryDeclaration<RevoGrid, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<RevoGrid, "revo-grid", never, { "accessible": { "alias": "accessible"; "required": false; }; "additionalData": { "alias": "additionalData"; "required": false; }; "applyOnClose": { "alias": "applyOnClose"; "required": false; }; "autoSizeColumn": { "alias": "autoSizeColumn"; "required": false; }; "canDrag": { "alias": "canDrag"; "required": false; }; "canFocus": { "alias": "canFocus"; "required": false; }; "canMoveColumns": { "alias": "canMoveColumns"; "required": false; }; "colSize": { "alias": "colSize"; "required": false; }; "columnTypes": { "alias": "columnTypes"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "disableVirtualX": { "alias": "disableVirtualX"; "required": false; }; "disableVirtualY": { "alias": "disableVirtualY"; "required": false; }; "editors": { "alias": "editors"; "required": false; }; "exporting": { "alias": "exporting"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "focusTemplate": { "alias": "focusTemplate"; "required": false; }; "frameSize": { "alias": "frameSize"; "required": false; }; "grouping": { "alias": "grouping"; "required": false; }; "hideAttribution": { "alias": "hideAttribution"; "required": false; }; "jobsBeforeRender": { "alias": "jobsBeforeRender"; "required": false; }; "pinnedBottomSource": { "alias": "pinnedBottomSource"; "required": false; }; "pinnedTopSource": { "alias": "pinnedTopSource"; "required": false; }; "plugins": { "alias": "plugins"; "required": false; }; "range": { "alias": "range"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "registerVNode": { "alias": "registerVNode"; "required": false; }; "resize": { "alias": "resize"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "rowDefinitions": { "alias": "rowDefinitions"; "required": false; }; "rowHeaders": { "alias": "rowHeaders"; "required": false; }; "rowSize": { "alias": "rowSize"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "sorting": { "alias": "sorting"; "required": false; }; "source": { "alias": "source"; "required": false; }; "stretch": { "alias": "stretch"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "trimmedRows": { "alias": "trimmedRows"; "required": false; }; "useClipboard": { "alias": "useClipboard"; "required": false; }; }, {}, never, ["*"], true, never>;
111
+ static ɵcmp: i0.ɵɵComponentDeclaration<RevoGrid, "revo-grid", never, { "accessible": { "alias": "accessible"; "required": false; }; "additionalData": { "alias": "additionalData"; "required": false; }; "applyOnClose": { "alias": "applyOnClose"; "required": false; }; "autoSizeColumn": { "alias": "autoSizeColumn"; "required": false; }; "canDrag": { "alias": "canDrag"; "required": false; }; "canFocus": { "alias": "canFocus"; "required": false; }; "canMoveColumns": { "alias": "canMoveColumns"; "required": false; }; "colSize": { "alias": "colSize"; "required": false; }; "columnTypes": { "alias": "columnTypes"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "disableVirtualX": { "alias": "disableVirtualX"; "required": false; }; "disableVirtualY": { "alias": "disableVirtualY"; "required": false; }; "editors": { "alias": "editors"; "required": false; }; "exporting": { "alias": "exporting"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "focusTemplate": { "alias": "focusTemplate"; "required": false; }; "frameSize": { "alias": "frameSize"; "required": false; }; "grouping": { "alias": "grouping"; "required": false; }; "hideAttribution": { "alias": "hideAttribution"; "required": false; }; "jobsBeforeRender": { "alias": "jobsBeforeRender"; "required": false; }; "pinnedBottomSource": { "alias": "pinnedBottomSource"; "required": false; }; "pinnedTopSource": { "alias": "pinnedTopSource"; "required": false; }; "plugins": { "alias": "plugins"; "required": false; }; "range": { "alias": "range"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "registerVNode": { "alias": "registerVNode"; "required": false; }; "resize": { "alias": "resize"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "rowDefinitions": { "alias": "rowDefinitions"; "required": false; }; "rowHeaders": { "alias": "rowHeaders"; "required": false; }; "rowSize": { "alias": "rowSize"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "sorting": { "alias": "sorting"; "required": false; }; "source": { "alias": "source"; "required": false; }; "stretch": { "alias": "stretch"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "trimmedRows": { "alias": "trimmedRows"; "required": false; }; "useClipboard": { "alias": "useClipboard"; "required": false; }; }, { "contentsizechanged": "contentsizechanged"; "beforeedit": "beforeedit"; "beforerangeedit": "beforerangeedit"; "afteredit": "afteredit"; "beforeautofill": "beforeautofill"; "beforerange": "beforerange"; "afterfocus": "afterfocus"; "roworderchanged": "roworderchanged"; "beforesorting": "beforesorting"; "beforesourcesortingapply": "beforesourcesortingapply"; "beforesortingapply": "beforesortingapply"; "rowdragstart": "rowdragstart"; "headerclick": "headerclick"; "beforecellfocus": "beforecellfocus"; "beforefocuslost": "beforefocuslost"; "beforesourceset": "beforesourceset"; "beforeanysource": "beforeanysource"; "aftersourceset": "aftersourceset"; "afteranysource": "afteranysource"; "beforecolumnsset": "beforecolumnsset"; "beforecolumnapplied": "beforecolumnapplied"; "aftercolumnsset": "aftercolumnsset"; "beforefilterapply": "beforefilterapply"; "beforefiltertrimmed": "beforefiltertrimmed"; "beforetrimmed": "beforetrimmed"; "aftertrimmed": "aftertrimmed"; "viewportscroll": "viewportscroll"; "beforeexport": "beforeexport"; "beforeeditstart": "beforeeditstart"; "aftercolumnresize": "aftercolumnresize"; "beforerowdefinition": "beforerowdefinition"; "filterconfigchanged": "filterconfigchanged"; "sortingconfigchanged": "sortingconfigchanged"; "rowheaderschanged": "rowheaderschanged"; "beforegridrender": "beforegridrender"; "aftergridrender": "aftergridrender"; "aftergridinit": "aftergridinit"; "additionaldatachanged": "additionaldatachanged"; "afterthemechanged": "afterthemechanged"; "created": "created"; }, never, ["*"], true, never>;
29
112
  }
30
113
  export declare interface RevoGrid extends Components.RevoGrid {
31
114
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revolist/angular-datagrid",
3
- "version": "4.17.1",
3
+ "version": "4.19.3",
4
4
  "description": "Angular DataGrid Spreadsheet component with native cell render support",
5
5
  "keywords": [
6
6
  "revo-grid",
@@ -43,7 +43,7 @@
43
43
  "homepage": "https://github.com/revolist/revogrid#readme",
44
44
  "license": "MIT",
45
45
  "dependencies": {
46
- "@revolist/revogrid": "4.17.1",
46
+ "@revolist/revogrid": "4.19.3",
47
47
  "@stencil/core": "^4.19.2",
48
48
  "tslib": "^2.6.3"
49
49
  },
@@ -59,8 +59,6 @@
59
59
  },
60
60
  ".": {
61
61
  "types": "./index.d.ts",
62
- "esm2022": "./esm2022/revolist-angular-datagrid.mjs",
63
- "esm": "./esm2022/revolist-angular-datagrid.mjs",
64
62
  "default": "./fesm2022/revolist-angular-datagrid.mjs"
65
63
  }
66
64
  }
@@ -1,59 +0,0 @@
1
- /* eslint-disable */
2
- /* tslint:disable */
3
- import { fromEvent } from 'rxjs';
4
- export const proxyInputs = (Cmp, inputs) => {
5
- const Prototype = Cmp.prototype;
6
- inputs.forEach((item) => {
7
- Object.defineProperty(Prototype, item, {
8
- get() {
9
- return this.el[item];
10
- },
11
- set(val) {
12
- this.z.runOutsideAngular(() => (this.el[item] = val));
13
- },
14
- /**
15
- * In the event that proxyInputs is called
16
- * multiple times re-defining these inputs
17
- * will cause an error to be thrown. As a result
18
- * we set configurable: true to indicate these
19
- * properties can be changed.
20
- */
21
- configurable: true,
22
- });
23
- });
24
- };
25
- export const proxyMethods = (Cmp, methods) => {
26
- const Prototype = Cmp.prototype;
27
- methods.forEach((methodName) => {
28
- Prototype[methodName] = function () {
29
- const args = arguments;
30
- return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
31
- };
32
- });
33
- };
34
- export const proxyOutputs = (instance, el, events) => {
35
- events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
36
- };
37
- export const defineCustomElement = (tagName, customElement) => {
38
- if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
39
- customElements.define(tagName, customElement);
40
- }
41
- };
42
- // tslint:disable-next-line: only-arrow-functions
43
- export function ProxyCmp(opts) {
44
- const decorator = function (cls) {
45
- const { defineCustomElementFn, inputs, methods } = opts;
46
- if (defineCustomElementFn !== undefined) {
47
- defineCustomElementFn();
48
- }
49
- if (inputs) {
50
- proxyInputs(cls, inputs);
51
- }
52
- if (methods) {
53
- proxyMethods(cls, methods);
54
- }
55
- return cls;
56
- };
57
- return decorator;
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWRhdGFncmlkL3NyYy9saWIvYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFRLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO0lBQ3hELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3RCLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRTtZQUNyQyxHQUFHO2dCQUNELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixDQUFDO1lBQ0QsR0FBRyxDQUFDLEdBQVE7Z0JBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDO1lBQ0Q7Ozs7OztlQU1HO1lBQ0gsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFRLEVBQUUsT0FBaUIsRUFBRSxFQUFFO0lBQzFELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFDaEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQzdCLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRztZQUN0QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLFFBQWEsRUFBRSxFQUFPLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO0lBQ3ZFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBZSxFQUFFLGFBQWtCLEVBQUUsRUFBRTtJQUN6RSxJQUFJLGFBQWEsS0FBSyxTQUFTLElBQUksT0FBTyxjQUFjLEtBQUssV0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pHLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUF5RTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQVE7UUFDbEMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEQsSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxxQkFBcUIsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLFlBQVksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBwcm94eUlucHV0cyA9IChDbXA6IGFueSwgaW5wdXRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBpbnB1dHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm90b3R5cGUsIGl0ZW0sIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxbaXRlbV07XG4gICAgICB9LFxuICAgICAgc2V0KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiAodGhpcy5lbFtpdGVtXSA9IHZhbCkpO1xuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogSW4gdGhlIGV2ZW50IHRoYXQgcHJveHlJbnB1dHMgaXMgY2FsbGVkXG4gICAgICAgKiBtdWx0aXBsZSB0aW1lcyByZS1kZWZpbmluZyB0aGVzZSBpbnB1dHNcbiAgICAgICAqIHdpbGwgY2F1c2UgYW4gZXJyb3IgdG8gYmUgdGhyb3duLiBBcyBhIHJlc3VsdFxuICAgICAgICogd2Ugc2V0IGNvbmZpZ3VyYWJsZTogdHJ1ZSB0byBpbmRpY2F0ZSB0aGVzZVxuICAgICAgICogcHJvcGVydGllcyBjYW4gYmUgY2hhbmdlZC5cbiAgICAgICAqL1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm94eU1ldGhvZHMgPSAoQ21wOiBhbnksIG1ldGhvZHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICAgIFByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICByZXR1cm4gdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuZWxbbWV0aG9kTmFtZV0uYXBwbHkodGhpcy5lbCwgYXJncykpO1xuICAgIH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3h5T3V0cHV0cyA9IChpbnN0YW5jZTogYW55LCBlbDogYW55LCBldmVudHM6IHN0cmluZ1tdKSA9PiB7XG4gIGV2ZW50cy5mb3JFYWNoKChldmVudE5hbWUpID0+IChpbnN0YW5jZVtldmVudE5hbWVdID0gZnJvbUV2ZW50KGVsLCBldmVudE5hbWUpKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQ3VzdG9tRWxlbWVudCA9ICh0YWdOYW1lOiBzdHJpbmcsIGN1c3RvbUVsZW1lbnQ6IGFueSkgPT4ge1xuICBpZiAoY3VzdG9tRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBjdXN0b21FbGVtZW50cyAhPT0gJ3VuZGVmaW5lZCcgJiYgIWN1c3RvbUVsZW1lbnRzLmdldCh0YWdOYW1lKSkge1xuICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0YWdOYW1lLCBjdXN0b21FbGVtZW50KTtcbiAgfVxufTtcblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIFByb3h5Q21wKG9wdHM6IHsgZGVmaW5lQ3VzdG9tRWxlbWVudEZuPzogKCkgPT4gdm9pZDsgaW5wdXRzPzogYW55OyBtZXRob2RzPzogYW55IH0pIHtcbiAgY29uc3QgZGVjb3JhdG9yID0gZnVuY3Rpb24gKGNsczogYW55KSB7XG4gICAgY29uc3QgeyBkZWZpbmVDdXN0b21FbGVtZW50Rm4sIGlucHV0cywgbWV0aG9kcyB9ID0gb3B0cztcblxuICAgIGlmIChkZWZpbmVDdXN0b21FbGVtZW50Rm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuKCk7XG4gICAgfVxuXG4gICAgaWYgKGlucHV0cykge1xuICAgICAgcHJveHlJbnB1dHMoY2xzLCBpbnB1dHMpO1xuICAgIH1cbiAgICBpZiAobWV0aG9kcykge1xuICAgICAgcHJveHlNZXRob2RzKGNscywgbWV0aG9kcyk7XG4gICAgfVxuICAgIHJldHVybiBjbHM7XG4gIH07XG4gIHJldHVybiBkZWNvcmF0b3I7XG59XG4iXX0=
@@ -1,42 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- /* tslint:disable */
8
- /* auto-generated angular directive proxies */
9
- import { ChangeDetectionStrategy, Component } from '@angular/core';
10
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
11
- import { defineCustomElement as defineRevoGrid } from '@revolist/revogrid/standalone/revo-grid.js';
12
- import * as i0 from "@angular/core";
13
- let RevoGrid = class RevoGrid {
14
- constructor(c, r, z) {
15
- this.z = z;
16
- c.detach();
17
- this.el = r.nativeElement;
18
- proxyOutputs(this, this.el, ['contentsizechanged', 'beforeedit', 'beforerangeedit', 'afteredit', 'beforeautofill', 'beforerange', 'afterfocus', 'roworderchanged', 'beforesorting', 'beforesourcesortingapply', 'beforesortingapply', 'rowdragstart', 'headerclick', 'beforecellfocus', 'beforefocuslost', 'beforesourceset', 'beforeanysource', 'aftersourceset', 'afteranysource', 'beforecolumnsset', 'beforecolumnapplied', 'aftercolumnsset', 'beforefilterapply', 'beforefiltertrimmed', 'beforetrimmed', 'aftertrimmed', 'viewportscroll', 'beforeexport', 'beforeeditstart', 'aftercolumnresize', 'beforerowdefinition', 'filterconfigchanged', 'sortingconfigchanged', 'rowheaderschanged', 'beforegridrender', 'aftergridrender', 'aftergridinit', 'additionaldatachanged', 'afterthemechanged', 'created']);
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RevoGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: RevoGrid, isStandalone: true, selector: "revo-grid", inputs: { accessible: "accessible", additionalData: "additionalData", applyOnClose: "applyOnClose", autoSizeColumn: "autoSizeColumn", canDrag: "canDrag", canFocus: "canFocus", canMoveColumns: "canMoveColumns", colSize: "colSize", columnTypes: "columnTypes", columns: "columns", disableVirtualX: "disableVirtualX", disableVirtualY: "disableVirtualY", editors: "editors", exporting: "exporting", filter: "filter", focusTemplate: "focusTemplate", frameSize: "frameSize", grouping: "grouping", hideAttribution: "hideAttribution", jobsBeforeRender: "jobsBeforeRender", pinnedBottomSource: "pinnedBottomSource", pinnedTopSource: "pinnedTopSource", plugins: "plugins", range: "range", readonly: "readonly", registerVNode: "registerVNode", resize: "resize", rowClass: "rowClass", rowDefinitions: "rowDefinitions", rowHeaders: "rowHeaders", rowSize: "rowSize", rtl: "rtl", sorting: "sorting", source: "source", stretch: "stretch", theme: "theme", trimmedRows: "trimmedRows", useClipboard: "useClipboard" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
- };
23
- RevoGrid = __decorate([
24
- ProxyCmp({
25
- defineCustomElementFn: defineRevoGrid,
26
- inputs: ['accessible', 'additionalData', 'applyOnClose', 'autoSizeColumn', 'canDrag', 'canFocus', 'canMoveColumns', 'colSize', 'columnTypes', 'columns', 'disableVirtualX', 'disableVirtualY', 'editors', 'exporting', 'filter', 'focusTemplate', 'frameSize', 'grouping', 'hideAttribution', 'jobsBeforeRender', 'pinnedBottomSource', 'pinnedTopSource', 'plugins', 'range', 'readonly', 'registerVNode', 'resize', 'rowClass', 'rowDefinitions', 'rowHeaders', 'rowSize', 'rtl', 'sorting', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],
27
- methods: ['refresh', 'setDataAt', 'scrollToRow', 'scrollToColumnIndex', 'scrollToColumnProp', 'updateColumns', 'addTrimmed', 'scrollToCoordinate', 'setCellEdit', 'setCellsFocus', 'getSource', 'getVisibleSource', 'getSourceStore', 'getColumnStore', 'updateColumnSorting', 'clearSorting', 'getColumns', 'clearFocus', 'getPlugins', 'getFocused', 'getContentSize', 'getSelectedRange', 'refreshExtraElements', 'getProviders']
28
- })
29
- ], RevoGrid);
30
- export { RevoGrid };
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: RevoGrid, decorators: [{
32
- type: Component,
33
- args: [{
34
- selector: 'revo-grid',
35
- changeDetection: ChangeDetectionStrategy.OnPush,
36
- template: '<ng-content></ng-content>',
37
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
38
- inputs: ['accessible', 'additionalData', 'applyOnClose', 'autoSizeColumn', 'canDrag', 'canFocus', 'canMoveColumns', 'colSize', 'columnTypes', 'columns', 'disableVirtualX', 'disableVirtualY', 'editors', 'exporting', 'filter', 'focusTemplate', 'frameSize', 'grouping', 'hideAttribution', 'jobsBeforeRender', 'pinnedBottomSource', 'pinnedTopSource', 'plugins', 'range', 'readonly', 'registerVNode', 'resize', 'rowClass', 'rowDefinitions', 'rowHeaders', 'rowSize', 'rtl', 'sorting', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],
39
- standalone: true
40
- }]
41
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZGF0YWdyaWQvc3JjL2xpYi9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJdkUsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQWM1RixJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVE7SUFFbkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3p4QixDQUFDOzhHQU5VLFFBQVE7a0dBQVIsUUFBUSwyaUNBTFQsMkJBQTJCOztBQUsxQixRQUFRO0lBYnBCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLGNBQWM7UUFDckMsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDO1FBQzNoQixPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxDQUFDO0tBQ3JhLENBQUM7R0FTVyxRQUFRLENBT3BCOzsyRkFQWSxRQUFRO2tCQVJwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUM7b0JBQzNoQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50cyB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lJztcblxuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVSZXZvR3JpZCB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lL3Jldm8tZ3JpZC5qcyc7XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZVJldm9HcmlkLFxuICBpbnB1dHM6IFsnYWNjZXNzaWJsZScsICdhZGRpdGlvbmFsRGF0YScsICdhcHBseU9uQ2xvc2UnLCAnYXV0b1NpemVDb2x1bW4nLCAnY2FuRHJhZycsICdjYW5Gb2N1cycsICdjYW5Nb3ZlQ29sdW1ucycsICdjb2xTaXplJywgJ2NvbHVtblR5cGVzJywgJ2NvbHVtbnMnLCAnZGlzYWJsZVZpcnR1YWxYJywgJ2Rpc2FibGVWaXJ0dWFsWScsICdlZGl0b3JzJywgJ2V4cG9ydGluZycsICdmaWx0ZXInLCAnZm9jdXNUZW1wbGF0ZScsICdmcmFtZVNpemUnLCAnZ3JvdXBpbmcnLCAnaGlkZUF0dHJpYnV0aW9uJywgJ2pvYnNCZWZvcmVSZW5kZXInLCAncGlubmVkQm90dG9tU291cmNlJywgJ3Bpbm5lZFRvcFNvdXJjZScsICdwbHVnaW5zJywgJ3JhbmdlJywgJ3JlYWRvbmx5JywgJ3JlZ2lzdGVyVk5vZGUnLCAncmVzaXplJywgJ3Jvd0NsYXNzJywgJ3Jvd0RlZmluaXRpb25zJywgJ3Jvd0hlYWRlcnMnLCAncm93U2l6ZScsICdydGwnLCAnc29ydGluZycsICdzb3VyY2UnLCAnc3RyZXRjaCcsICd0aGVtZScsICd0cmltbWVkUm93cycsICd1c2VDbGlwYm9hcmQnXSxcbiAgbWV0aG9kczogWydyZWZyZXNoJywgJ3NldERhdGFBdCcsICdzY3JvbGxUb1JvdycsICdzY3JvbGxUb0NvbHVtbkluZGV4JywgJ3Njcm9sbFRvQ29sdW1uUHJvcCcsICd1cGRhdGVDb2x1bW5zJywgJ2FkZFRyaW1tZWQnLCAnc2Nyb2xsVG9Db29yZGluYXRlJywgJ3NldENlbGxFZGl0JywgJ3NldENlbGxzRm9jdXMnLCAnZ2V0U291cmNlJywgJ2dldFZpc2libGVTb3VyY2UnLCAnZ2V0U291cmNlU3RvcmUnLCAnZ2V0Q29sdW1uU3RvcmUnLCAndXBkYXRlQ29sdW1uU29ydGluZycsICdjbGVhclNvcnRpbmcnLCAnZ2V0Q29sdW1ucycsICdjbGVhckZvY3VzJywgJ2dldFBsdWdpbnMnLCAnZ2V0Rm9jdXNlZCcsICdnZXRDb250ZW50U2l6ZScsICdnZXRTZWxlY3RlZFJhbmdlJywgJ3JlZnJlc2hFeHRyYUVsZW1lbnRzJywgJ2dldFByb3ZpZGVycyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncmV2by1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmxlJywgJ2FkZGl0aW9uYWxEYXRhJywgJ2FwcGx5T25DbG9zZScsICdhdXRvU2l6ZUNvbHVtbicsICdjYW5EcmFnJywgJ2NhbkZvY3VzJywgJ2Nhbk1vdmVDb2x1bW5zJywgJ2NvbFNpemUnLCAnY29sdW1uVHlwZXMnLCAnY29sdW1ucycsICdkaXNhYmxlVmlydHVhbFgnLCAnZGlzYWJsZVZpcnR1YWxZJywgJ2VkaXRvcnMnLCAnZXhwb3J0aW5nJywgJ2ZpbHRlcicsICdmb2N1c1RlbXBsYXRlJywgJ2ZyYW1lU2l6ZScsICdncm91cGluZycsICdoaWRlQXR0cmlidXRpb24nLCAnam9ic0JlZm9yZVJlbmRlcicsICdwaW5uZWRCb3R0b21Tb3VyY2UnLCAncGlubmVkVG9wU291cmNlJywgJ3BsdWdpbnMnLCAncmFuZ2UnLCAncmVhZG9ubHknLCAncmVnaXN0ZXJWTm9kZScsICdyZXNpemUnLCAncm93Q2xhc3MnLCAncm93RGVmaW5pdGlvbnMnLCAncm93SGVhZGVycycsICdyb3dTaXplJywgJ3J0bCcsICdzb3J0aW5nJywgJ3NvdXJjZScsICdzdHJldGNoJywgJ3RoZW1lJywgJ3RyaW1tZWRSb3dzJywgJ3VzZUNsaXBib2FyZCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJldm9HcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY29udGVudHNpemVjaGFuZ2VkJywgJ2JlZm9yZWVkaXQnLCAnYmVmb3JlcmFuZ2VlZGl0JywgJ2FmdGVyZWRpdCcsICdiZWZvcmVhdXRvZmlsbCcsICdiZWZvcmVyYW5nZScsICdhZnRlcmZvY3VzJywgJ3Jvd29yZGVyY2hhbmdlZCcsICdiZWZvcmVzb3J0aW5nJywgJ2JlZm9yZXNvdXJjZXNvcnRpbmdhcHBseScsICdiZWZvcmVzb3J0aW5nYXBwbHknLCAncm93ZHJhZ3N0YXJ0JywgJ2hlYWRlcmNsaWNrJywgJ2JlZm9yZWNlbGxmb2N1cycsICdiZWZvcmVmb2N1c2xvc3QnLCAnYmVmb3Jlc291cmNlc2V0JywgJ2JlZm9yZWFueXNvdXJjZScsICdhZnRlcnNvdXJjZXNldCcsICdhZnRlcmFueXNvdXJjZScsICdiZWZvcmVjb2x1bW5zc2V0JywgJ2JlZm9yZWNvbHVtbmFwcGxpZWQnLCAnYWZ0ZXJjb2x1bW5zc2V0JywgJ2JlZm9yZWZpbHRlcmFwcGx5JywgJ2JlZm9yZWZpbHRlcnRyaW1tZWQnLCAnYmVmb3JldHJpbW1lZCcsICdhZnRlcnRyaW1tZWQnLCAndmlld3BvcnRzY3JvbGwnLCAnYmVmb3JlZXhwb3J0JywgJ2JlZm9yZWVkaXRzdGFydCcsICdhZnRlcmNvbHVtbnJlc2l6ZScsICdiZWZvcmVyb3dkZWZpbml0aW9uJywgJ2ZpbHRlcmNvbmZpZ2NoYW5nZWQnLCAnc29ydGluZ2NvbmZpZ2NoYW5nZWQnLCAncm93aGVhZGVyc2NoYW5nZWQnLCAnYmVmb3JlZ3JpZHJlbmRlcicsICdhZnRlcmdyaWRyZW5kZXInLCAnYWZ0ZXJncmlkaW5pdCcsICdhZGRpdGlvbmFsZGF0YWNoYW5nZWQnLCAnYWZ0ZXJ0aGVtZWNoYW5nZWQnLCAnY3JlYXRlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTXVsdGlEaW1lbnNpb25UeXBlIGFzIElSZXZvR3JpZE11bHRpRGltZW5zaW9uVHlwZSB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lJztcbmltcG9ydCB0eXBlIHsgQmVmb3JlU2F2ZURhdGFEZXRhaWxzIGFzIElSZXZvR3JpZEJlZm9yZVNhdmVEYXRhRGV0YWlscyB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lJztcbmltcG9ydCB0eXBlIHsgQmVmb3JlUmFuZ2VTYXZlRGF0YURldGFpbHMgYXMgSVJldm9HcmlkQmVmb3JlUmFuZ2VTYXZlRGF0YURldGFpbHMgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQvc3RhbmRhbG9uZSc7XG5pbXBvcnQgdHlwZSB7IEFmdGVyRWRpdEV2ZW50IGFzIElSZXZvR3JpZEFmdGVyRWRpdEV2ZW50IH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHR5cGUgeyBDaGFuZ2VkUmFuZ2UgYXMgSVJldm9HcmlkQ2hhbmdlZFJhbmdlIH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHR5cGUgeyBGb2N1c0FmdGVyUmVuZGVyRXZlbnQgYXMgSVJldm9HcmlkRm9jdXNBZnRlclJlbmRlckV2ZW50IH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHR5cGUgeyBDb2x1bW5SZWd1bGFyIGFzIElSZXZvR3JpZENvbHVtblJlZ3VsYXIgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQvc3RhbmRhbG9uZSc7XG5pbXBvcnQgdHlwZSB7IERpbWVuc2lvblJvd3MgYXMgSVJldm9HcmlkRGltZW5zaW9uUm93cyB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lJztcbmltcG9ydCB0eXBlIHsgU29ydGluZ09yZGVyIGFzIElSZXZvR3JpZFNvcnRpbmdPcmRlciB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lJztcbmltcG9ydCB0eXBlIHsgUm93RHJhZ1N0YXJ0RGV0YWlscyBhcyBJUmV2b0dyaWRSb3dEcmFnU3RhcnREZXRhaWxzIH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHR5cGUgeyBGb2N1c2VkRGF0YSBhcyBJUmV2b0dyaWRGb2N1c2VkRGF0YSB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lJztcbmltcG9ydCB0eXBlIHsgRGF0YVR5cGUgYXMgSVJldm9HcmlkRGF0YVR5cGUgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQvc3RhbmRhbG9uZSc7XG5pbXBvcnQgdHlwZSB7IENvbHVtbkNvbGxlY3Rpb24gYXMgSVJldm9HcmlkQ29sdW1uQ29sbGVjdGlvbiB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lJztcbmltcG9ydCB0eXBlIHsgQ29sdW1uUHJvcCBhcyBJUmV2b0dyaWRDb2x1bW5Qcm9wIH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb2xsZWN0aW9uSXRlbSBhcyBJUmV2b0dyaWRGaWx0ZXJDb2xsZWN0aW9uSXRlbSB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lJztcbmltcG9ydCB0eXBlIHsgVmlld1BvcnRTY3JvbGxFdmVudCBhcyBJUmV2b0dyaWRWaWV3UG9ydFNjcm9sbEV2ZW50IH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHR5cGUgeyBEYXRhSW5wdXQgYXMgSVJldm9HcmlkRGF0YUlucHV0IH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHR5cGUgeyBTb3J0aW5nQ29uZmlnIGFzIElSZXZvR3JpZFNvcnRpbmdDb25maWcgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQvc3RhbmRhbG9uZSc7XG5pbXBvcnQgdHlwZSB7IFRoZW1lIGFzIElSZXZvR3JpZFRoZW1lIH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkL3N0YW5kYWxvbmUnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUmV2b0dyaWQgZXh0ZW5kcyBDb21wb25lbnRzLlJldm9HcmlkIHtcbiAgLyoqXG4gICAqIE5ldyBjb250ZW50IHNpemUgaGFzIGJlZW4gYXBwbGllZC4gVGhlIHNpemUgZXhjbHVkZXMgdGhlIGhlYWRlci5cbkN1cnJlbnRseSwgdGhlIGV2ZW50IHJlc3BvbnNpYmxlIGZvciBhcHBseWluZyB0aGUgbmV3IGNvbnRlbnQgc2l6ZSBkb2VzIG5vdCBwcm92aWRlIHRoZSBhY3R1YWwgc2l6ZS5cblRvIHJldHJpZXZlIHRoZSBhY3R1YWwgY29udGVudCBzaXplLCB5b3UgY2FuIHV0aWxpemUgdGhlIGBnZXRDb250ZW50U2l6ZWAgZnVuY3Rpb24gYWZ0ZXIgdGhlIGV2ZW50IGhhcyBiZWVuIHRyaWdnZXJlZC5cbiAgICovXG4gIGNvbnRlbnRzaXplY2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZE11bHRpRGltZW5zaW9uVHlwZT4+O1xuICAvKipcbiAgICogQmVmb3JlIHRoZSBkYXRhIGlzIGVkaXRlZC5cblRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgZWRpdGluZyBkYXRhIGFuZCB1c2UgeW91ciBvd24gaW1wbGVtZW50YXRpb24sIGNhbGwgYGUucHJldmVudERlZmF1bHQoKWAuXG5UbyBvdmVycmlkZSB0aGUgZWRpdCByZXN1bHQgd2l0aCB5b3VyIG93biB2YWx1ZSwgc2V0IHRoZSBgZS52YWxgIHByb3BlcnR5IHRvIHlvdXIgZGVzaXJlZCB2YWx1ZS5cbiAgICovXG4gIGJlZm9yZWVkaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRCZWZvcmVTYXZlRGF0YURldGFpbHM+PjtcbiAgLyoqXG4gICAqIEJlZm9yZSBhcHBseWluZyByYW5nZSBkYXRhLCBzcGVjaWZpY2FsbHkgd2hlbiBhIHJhbmdlIHNlbGVjdGlvbiBvY2N1cnMuXG5UbyBjdXN0b21pemUgdGhlIGRhdGEgYW5kIHByZXZlbnQgdGhlIGRlZmF1bHQgZWRpdCBkYXRhIGZyb20gYmVpbmcgc2V0LCB5b3UgY2FuIGNhbGwgYGUucHJldmVudERlZmF1bHQoKWAuXG4gICAqL1xuICBiZWZvcmVyYW5nZWVkaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRCZWZvcmVSYW5nZVNhdmVEYXRhRGV0YWlscz4+O1xuICAvKipcbiAgICogQWZ0ZXIgZGF0YSBhcHBsaWVkIG9yIHJhbmdlIGNoYW5nZWQuXG4gICAqL1xuICBhZnRlcmVkaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRBZnRlckVkaXRFdmVudD4+O1xuICAvKipcbiAgICogQmVmb3JlIGF1dG9maWxsIGlzIGFwcGxpZWQuXG5UbyBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGFwcGx5aW5nIHRoZSBlZGl0IGRhdGEsIHlvdSBjYW4gY2FsbCBgZS5wcmV2ZW50RGVmYXVsdCgpYC5cbiAgICovXG4gIGJlZm9yZWF1dG9maWxsOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVJldm9HcmlkQ2hhbmdlZFJhbmdlPj47XG4gIC8qKlxuICAgKiBCZWZvcmUgYXV0b2ZpbGwgaXMgYXBwbGllZC4gUnVucyBiZWZvcmUgYmVmb3JlYXV0b2ZpbGwgZXZlbnQuXG5Vc2UgZS5wcmV2ZW50RGVmYXVsdCgpIHRvIHByZXZlbnQgcmFuZ2UuXG4gICAqL1xuICBiZWZvcmVyYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZENoYW5nZWRSYW5nZT4+O1xuICAvKipcbiAgICogQWZ0ZXIgZm9jdXMgcmVuZGVyIGZpbmlzaGVkLlxuQ2FuIGJlIHVzZWQgdG8gYWNjZXNzIGEgZm9jdXMgZWxlbWVudCB0aHJvdWdoIGBldmVudC50YXJnZXRgLlxuVGhpcyBpcyBqdXN0IGEgZHVwbGljYXRlIG9mIGBhZnRlcmZvY3VzYCBmcm9tIGByZXZvZ3ItZm9jdXMudHN4YC5cbiAgICovXG4gIGFmdGVyZm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRGb2N1c0FmdGVyUmVuZGVyRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJlZm9yZSB0aGUgb3JkZXIgb2YgYHJnUm93YCBpcyBhcHBsaWVkLlxuVG8gcHJldmVudCB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBjaGFuZ2luZyB0aGUgb3JkZXIgb2YgYHJnUm93YCwgeW91IGNhbiBjYWxsIGBlLnByZXZlbnREZWZhdWx0KClgLlxuICAgKi9cbiAgcm93b3JkZXJjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBmcm9tOiBudW1iZXI7IHRvOiBudW1iZXIgfT4+O1xuICAvKipcbiAgICogQnkgYFNvcnRpbmdQbHVnaW5gXG48YnI+VHJpZ2dlcmVkIGltbWVkaWF0ZWx5IGFmdGVyIGhlYWRlciBjbGljay5cbjxicj5GaXJzdCBpbiBzb3J0aW5nIGV2ZW50IHNlcXVlbmNlLiBGZiB0aGlzIGV2ZW50IHN0b3BzIG5vIG90aGVyIGV2ZW50IGNhbGxlZC5cbjxicj5Vc2UgYGUucHJldmVudERlZmF1bHQoKWAgdG8gcHJldmVudCBzb3J0aW5nLlxuICAgKi9cbiAgYmVmb3Jlc29ydGluZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY29sdW1uOiBJUmV2b0dyaWRDb2x1bW5SZWd1bGFyOyBvcmRlcjogJ2Rlc2MnIHwgJ2FzYyc7IGFkZGl0aXZlOiBib29sZWFuOyB9Pj47XG4gIC8qKlxuICAgKiBCeSBgU29ydGluZ1BsdWdpbmBcbjxicj5TYW1lIGFzIGBiZWZvcmVzb3J0aW5nYCBidXQgdHJpZ2dlcmVkIGFmdGVyIGBiZWZvcmVhbnlzb3VyY2VgICh3aGVuIHNvdXJjZSBpcyBjaGFuZ2VkKS5cbjxicj5Vc2UgYGUucHJldmVudERlZmF1bHQoKWAgdG8gcHJldmVudCBzb3J0aW5nIGRhdGEgY2hhbmdlLlxuICAgKi9cbiAgYmVmb3Jlc291cmNlc29ydGluZ2FwcGx5OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0eXBlOiBJUmV2b0dyaWREaW1lbnNpb25Sb3dzOyBzb3J0aW5nPzogSVJldm9HcmlkU29ydGluZ09yZGVyOyB9Pj47XG4gIC8qKlxuICAgKiBCeSBgU29ydGluZ1BsdWdpbmBcbjxicj4gQWZ0ZXIgYGJlZm9yZXNvcnRpbmdgXG48YnI+VHJpZ2dlcmVkIGFmdGVyIGNvbHVtbiBkYXRhIHVwZGF0ZWQgd2l0aCBuZXcgc29ydGluZyBvcmRlci5cbjxicj5Vc2UgYGUucHJldmVudERlZmF1bHQoKWAgdG8gcHJldmVudCBzb3J0aW5nIGRhdGEgY2hhbmdlLlxuICAgKi9cbiAgYmVmb3Jlc29ydGluZ2FwcGx5OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjb2x1bW46IElSZXZvR3JpZENvbHVtblJlZ3VsYXI7IG9yZGVyOiAnZGVzYycgfCAnYXNjJzsgYWRkaXRpdmU6IGJvb2xlYW47IH0+PjtcbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHJvdyBvcmRlciBjaGFuZ2UgaXMgc3RhcnRlZC5cblRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgY2hhbmdpbmcgdGhlIHJvdyBvcmRlciwgeW91IGNhbiBjYWxsIGBlLnByZXZlbnREZWZhdWx0KClgLlxuVG8gY2hhbmdlIHRoZSBpdGVtIG5hbWUgYXQgdGhlIHN0YXJ0IG9mIHRoZSByb3cgb3JkZXIgY2hhbmdlLCB5b3UgY2FuIHNldCBgZS50ZXh0YCB0byB0aGUgZGVzaXJlZCBuZXcgbmFtZS5cbiAgICovXG4gIHJvd2RyYWdzdGFydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZFJvd0RyYWdTdGFydERldGFpbHM+PjtcbiAgLyoqXG4gICAqIE9uIGhlYWRlciBjbGljay5cbiAgICovXG4gIGhlYWRlcmNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVJldm9HcmlkQ29sdW1uUmVndWxhcj4+O1xuICAvKipcbiAgICogQmVmb3JlIHRoZSBjZWxsIGZvY3VzIGlzIGNoYW5nZWQuXG5UbyBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGNoYW5naW5nIHRoZSBjZWxsIGZvY3VzLCB5b3UgY2FuIGNhbGwgYGUucHJldmVudERlZmF1bHQoKWAuXG4gICAqL1xuICBiZWZvcmVjZWxsZm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRCZWZvcmVTYXZlRGF0YURldGFpbHM+PjtcbiAgLyoqXG4gICAqIEJlZm9yZSB0aGUgZ3JpZCBmb2N1cyBpcyBsb3N0LlxuVG8gcHJldmVudCB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBjaGFuZ2luZyB0aGUgY2VsbCBmb2N1cywgeW91IGNhbiBjYWxsIGBlLnByZXZlbnREZWZhdWx0KClgLlxuICAgKi9cbiAgYmVmb3JlZm9jdXNsb3N0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVJldm9HcmlkRm9jdXNlZERhdGEgfCBudWxsPj47XG4gIC8qKlxuICAgKiBCZWZvcmUgbWFpbiBzb3VyY2Uvcm93cyBkYXRhIGFwcGx5LlxuWW91IGNhbiBvdmVycmlkZSBkYXRhIHNvdXJjZSBoZXJlXG4gICAqL1xuICBiZWZvcmVzb3VyY2VzZXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHR5cGU6IElSZXZvR3JpZERpbWVuc2lvblJvd3M7IHNvdXJjZTogSVJldm9HcmlkRGF0YVR5cGVbXTsgfT4+O1xuICAvKipcbiAgICogQmVmb3JlIGRhdGEgYXBwbHkgb24gYW55IHNvdXJjZSB0eXBlLiBDYW4gYmUgc291cmNlIGZyb20gcGlubmVkIGFuZCBtYWluIHZpZXdwb3J0LlxuWW91IGNhbiBvdmVycmlkZSBkYXRhIHNvdXJjZSBoZXJlXG4gICAqL1xuICBiZWZvcmVhbnlzb3VyY2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHR5cGU6IElSZXZvR3JpZERpbWVuc2lvblJvd3M7IHNvdXJjZTogSVJldm9HcmlkRGF0YVR5cGVbXTsgfT4+O1xuICAvKipcbiAgICogQWZ0ZXIgbWFpbiBzb3VyY2Uvcm93cyB1cGRhdGVkXG4gICAqL1xuICBhZnRlcnNvdXJjZXNldDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdHlwZTogSVJldm9HcmlkRGltZW5zaW9uUm93czsgc291cmNlOiBJUmV2b0dyaWREYXRhVHlwZVtdOyB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIGVhY2ggc291cmNlIHVwZGF0ZSwgd2hldGhlciBmcm9tIHRoZSBwaW5uZWQgb3IgbWFpbiB2aWV3cG9ydC5cblVzZWZ1bCBmb3IgdHJhY2tpbmcgYWxsIGNoYW5nZXMgb3JpZ2luYXRpbmcgZnJvbSBzb3VyY2VzIGluIGJvdGggdGhlIHBpbm5lZCBhbmQgbWFpbiB2aWV3cG9ydHMuXG4gICAqL1xuICBhZnRlcmFueXNvdXJjZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdHlwZTogSVJldm9HcmlkRGltZW5zaW9uUm93czsgc291cmNlOiBJUmV2b0dyaWREYXRhVHlwZVtdOyB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGJlZm9yZSBhIGNvbHVtbiB1cGRhdGUgaXMgYXBwbGllZC5cbkxpc3RlbmVycyBjYW4gdXNlIHRoaXMgZXZlbnQgdG8gcGVyZm9ybSBhbnkgbmVjZXNzYXJ5IGFjdGlvbnMgb3IgbW9kaWZpY2F0aW9ucyBiZWZvcmUgdGhlIGNvbHVtbiB1cGRhdGUgaXMgZmluYWxpemVkLlxuICAgKi9cbiAgYmVmb3JlY29sdW1uc3NldDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZENvbHVtbkNvbGxlY3Rpb24+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYmVmb3JlIGEgY29sdW1uIHVwZGF0ZSBpcyBhcHBsaWVkLCBhZnRlciB0aGUgY29sdW1uIHNldCBpcyBnYXRoZXJlZCBhbmQgdGhlIHZpZXdwb3J0IGlzIHVwZGF0ZWQuXG5Vc2VmdWwgZm9yIHBlcmZvcm1pbmcgYWN0aW9ucyBvciBtb2RpZmljYXRpb25zIGJlZm9yZSB0aGUgZmluYWwgYXBwbGljYXRpb24gb2YgdGhlIGNvbHVtbiB1cGRhdGUuXG4gICAqL1xuICBiZWZvcmVjb2x1bW5hcHBsaWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVJldm9HcmlkQ29sdW1uQ29sbGVjdGlvbj4+O1xuICAvKipcbiAgICogQ29sdW1uIHVwZGF0ZWRcbiAgICovXG4gIGFmdGVyY29sdW1uc3NldDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY29sdW1uczogSVJldm9HcmlkQ29sdW1uQ29sbGVjdGlvbjsgb3JkZXI6IElSZXZvR3JpZFNvcnRpbmdPcmRlcjsgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCBiZWZvcmUgYXBwbHlpbmcgYSBmaWx0ZXIgdG8gdGhlIGRhdGEgc291cmNlLlxuVXNlIGUucHJldmVudERlZmF1bHQoKSB0byBwcmV2ZW50IGNlbGwgZm9jdXMgY2hhbmdlLlxuTW9kaWZ5IGlmIHlvdSBuZWVkIHRvIGNoYW5nZSBmaWx0ZXJzLlxuICAgKi9cbiAgYmVmb3JlZmlsdGVyYXBwbHk6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNvbGxlY3Rpb246IFJlY29yZDxJUmV2b0dyaWRDb2x1bW5Qcm9wLCBJUmV2b0dyaWRGaWx0ZXJDb2xsZWN0aW9uSXRlbT4gfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCBiZWZvcmUgYXBwbHlpbmcgYSBmaWx0ZXIgdG8gdGhlIGRhdGEgc291cmNlLlxuVXNlIGUucHJldmVudERlZmF1bHQoKSB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRyaW1taW5nIHZhbHVlcyBhbmQgYXBwbHlpbmcgdGhlIGZpbHRlci5cbk1vZGlmeSB0aGUgYGNvbGxlY3Rpb25gIHByb3BlcnR5IGlmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgZmlsdGVycy5cbk1vZGlmeSB0aGUgYGl0ZW1zVG9GaWx0ZXJgIHByb3BlcnR5IGlmIHlvdSB3YW50IHRvIGZpbHRlciB0aGUgaW5kZXhlcyBmb3IgdHJpbW1pbmcuXG4gICAqL1xuICBiZWZvcmVmaWx0ZXJ0cmltbWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjb2xsZWN0aW9uOiBSZWNvcmQ8SVJldm9HcmlkQ29sdW1uUHJvcCwgSVJldm9HcmlkRmlsdGVyQ29sbGVjdGlvbkl0ZW0+OyBpdGVtc1RvRmlsdGVyOiBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPjsgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCBiZWZvcmUgdHJpbW1pbmcgdmFsdWVzLlxuVXNlIGUucHJldmVudERlZmF1bHQoKSB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRyaW1taW5nIHZhbHVlcy5cbk1vZGlmeSB0aGUgYHRyaW1tZWRgIHByb3BlcnR5IGlmIHlvdSB3YW50IHRvIGZpbHRlciB0aGUgaW5kZXhlcyBmb3IgdHJpbW1pbmcuXG4gICAqL1xuICBiZWZvcmV0cmltbWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0cmltbWVkOiBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPjsgdHJpbW1lZFR5cGU6IHN0cmluZzsgdHlwZTogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRyaW1tZWQgdmFsdWVzIGhhdmUgYmVlbiBhcHBsaWVkLlxuVXNlZnVsIGZvciBub3RpZnlpbmcgd2hlbiB0cmltbWluZyBvZiB2YWx1ZXMgaGFzIHRha2VuIHBsYWNlLlxuICAgKi9cbiAgYWZ0ZXJ0cmltbWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHZpZXdwb3J0IGlzIHNjcm9sbGVkLlxuVXNlZnVsIGZvciB0cmFja2luZyB2aWV3cG9ydCBzY3JvbGxpbmcgZXZlbnRzLlxuICAgKi9cbiAgdmlld3BvcnRzY3JvbGw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRWaWV3UG9ydFNjcm9sbEV2ZW50Pj47XG4gIC8qKlxuICAgKiBCZWZvcmUgZXhwb3J0XG5Vc2UgZS5wcmV2ZW50RGVmYXVsdCgpIHRvIHByZXZlbnQgZXhwb3J0XG5SZXBsYWNlIGRhdGEgaW4gRXZlbnQgaW4gY2FzZSB5b3Ugd2FudCB0byBtb2RpZnkgaXQgaW4gZXhwb3J0XG4gICAqL1xuICBiZWZvcmVleHBvcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWREYXRhSW5wdXQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYmVmb3JlIGVkaXRpbmcgc3RhcnRzLlxuVXNlIGUucHJldmVudERlZmF1bHQoKSB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGVkaXQgYmVoYXZpb3IuXG4gICAqL1xuICBiZWZvcmVlZGl0c3RhcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRCZWZvcmVTYXZlRGF0YURldGFpbHM+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgY29sdW1uIHJlc2l6aW5nLlxuVXNlZnVsIGZvciByZXRyaWV2aW5nIHRoZSByZXNpemVkIGNvbHVtbnMuXG4gICAqL1xuICBhZnRlcmNvbHVtbnJlc2l6ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgW2luZGV4OiBudW1iZXJdOiBJUmV2b0dyaWRDb2x1bW5SZWd1bGFyOyB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGJlZm9yZSB0aGUgcm93IGRlZmluaXRpb24gaXMgYXBwbGllZC5cblVzZWZ1bCBmb3IgbW9kaWZ5aW5nIG9yIHByZXZlbnRpbmcgdGhlIGRlZmF1bHQgcm93IGRlZmluaXRpb24gYmVoYXZpb3IuXG4gICAqL1xuICBiZWZvcmVyb3dkZWZpbml0aW9uOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWxzOiBhbnk7IG9sZFZhbHM6IGFueSB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGZpbHRlciBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWRcbiAgICovXG4gIGZpbHRlcmNvbmZpZ2NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc29ydGluZyBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWRcblNvcnRpbmdQbHVnaW4gc3Vic3JpYmVkIHRvIHRoaXMgZXZlbnRcbiAgICovXG4gIHNvcnRpbmdjb25maWdjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVJldm9HcmlkU29ydGluZ0NvbmZpZz4+O1xuICAvKipcbiAgICogRW1taXRlZCB3aGVuIHRoZSByb3cgaGVhZGVycyBhcmUgY2hhbmdlZC5cbiAgICovXG4gIHJvd2hlYWRlcnNjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBFbW1pdGVkIGJlZm9yZSB0aGUgZ3JpZCBpcyByZW5kZXJlZC5cbiAgICovXG4gIGJlZm9yZWdyaWRyZW5kZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEVtbWl0ZWQgYWZ0ZXIgdGhlIGdyaWQgaXMgcmVuZGVyZWQuXG4gICAqL1xuICBhZnRlcmdyaWRyZW5kZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEVtbWl0ZWQgYWZ0ZXIgdGhlIGdyaWQgaXMgaW5pdGlhbGl6ZWQuIENvbm5lY3RlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgYWZ0ZXJncmlkaW5pdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogRW1taXRlZCBhZnRlciB0aGUgYWRkaXRpb25hbCBkYXRhIGlzIGNoYW5nZWRcbiAgICovXG4gIGFkZGl0aW9uYWxkYXRhY2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogRW1taXRlZCBhZnRlciB0aGUgdGhlbWUgaXMgY2hhbmdlZFxuICAgKi9cbiAgYWZ0ZXJ0aGVtZWNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRUaGVtZT4+O1xuICAvKipcbiAgICogRW1taXRlZCBhZnRlciBncmlkIGNyZWF0ZWRcbiAgICovXG4gIGNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG4iXX0=
@@ -1,31 +0,0 @@
1
- import { TemplateConstructor } from './renderer';
2
- export class EditorAdapter {
3
- constructor(EditorComponent, injector, column, save, close) {
4
- this.EditorComponent = EditorComponent;
5
- this.injector = injector;
6
- this.column = column;
7
- this.save = save;
8
- this.close = close;
9
- this.element = null;
10
- this.renderedComponent = null;
11
- }
12
- // optional, called after editor rendered
13
- componentDidRender() { }
14
- // optional, called after editor destroyed
15
- disconnectedCallback() {
16
- this.renderedComponent?.destroy();
17
- this.renderedComponent = null;
18
- }
19
- render(h) {
20
- return h('span', {
21
- key: `${this.column.prop}-${this.editCell?.rowIndex || 0}`,
22
- ref: (el) => this.renderedComponent = TemplateConstructor(el, this.EditorComponent, {
23
- ...this.editCell,
24
- column: this.column,
25
- save: this.save,
26
- close: this.close,
27
- }, this.injector),
28
- });
29
- }
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWRhdGFncmlkL3NyYy9saWIvZWRpdG9yLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFxQyxNQUFNLFlBQVksQ0FBQztBQVVwRixNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUNVLGVBQTBCLEVBQzFCLFFBQWtCLEVBQ25CLE1BQTZCLEVBQzVCLElBQWtELEVBQ2xELEtBQW9DO1FBSnBDLG9CQUFlLEdBQWYsZUFBZSxDQUFXO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBOEM7UUFDbEQsVUFBSyxHQUFMLEtBQUssQ0FBK0I7UUFUdkMsWUFBTyxHQUEwQixJQUFJLENBQUM7UUFFckMsc0JBQWlCLEdBQWtDLElBQUksQ0FBQztJQVE3RCxDQUFDO0lBRUoseUNBQXlDO0lBQ3pDLGtCQUFrQixLQUFJLENBQUM7SUFFdkIsMENBQTBDO0lBQzFDLG9CQUFvQjtRQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLENBQW1CO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNmLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxJQUFJLENBQUMsRUFBRTtZQUMxRCxHQUFHLEVBQUUsQ0FBQyxFQUFrQixFQUFFLEVBQUUsQ0FDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLG1CQUFtQixDQUMxQyxFQUFFLEVBQ0YsSUFBSSxDQUFDLGVBQWUsRUFDcEI7Z0JBQ0UsR0FBRyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ2xCLEVBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FDZDtTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRWRpdENlbGwsIENvbHVtbkRhdGFTY2hlbWFNb2RlbCwgSHlwZXJGdW5jLCBWTm9kZSwgRWRpdG9yQmFzZSB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZCc7XG5pbXBvcnQgeyBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVDb25zdHJ1Y3RvciwgUmVuZGVyZWRDb21wb25lbnQsIEFuZ3VsYXJFbGVtZW50IH0gZnJvbSAnLi9yZW5kZXJlcic7XG4vKipcbiAqIERhdGEgcGFzc2VkIHRvIGVkaXRvclxuICovXG5leHBvcnQgdHlwZSBFZGl0b3JUeXBlID0ge1xuICBjb2x1bW46IENvbHVtbkRhdGFTY2hlbWFNb2RlbDtcbiAgc2F2ZTogKHZhbHVlOiBhbnksIHByZXZlbnRGb2N1cz86IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGNsb3NlOiAoZm9jdXNOZXh0PzogYm9vbGVhbikgPT4gdm9pZDtcbn0gJiBQYXJ0aWFsPEVkaXRDZWxsPjtcblxuZXhwb3J0IGNsYXNzIEVkaXRvckFkYXB0ZXIgaW1wbGVtZW50cyBFZGl0b3JCYXNlICB7XG4gIHB1YmxpYyBlbGVtZW50OiBBbmd1bGFyRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgZWRpdENlbGw/OiBFZGl0Q2VsbDtcbiAgcHJpdmF0ZSByZW5kZXJlZENvbXBvbmVudDogUmVuZGVyZWRDb21wb25lbnQ8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgRWRpdG9yQ29tcG9uZW50OiBUeXBlPGFueT4sXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHVibGljIGNvbHVtbjogQ29sdW1uRGF0YVNjaGVtYU1vZGVsLFxuICAgIHByaXZhdGUgc2F2ZTogKHZhbHVlOiBhbnksIHByZXZlbnRGb2N1cz86IGJvb2xlYW4pID0+IHZvaWQsXG4gICAgcHJpdmF0ZSBjbG9zZTogKGZvY3VzTmV4dD86IGJvb2xlYW4pID0+IHZvaWQsXG4gICkge31cblxuICAvLyBvcHRpb25hbCwgY2FsbGVkIGFmdGVyIGVkaXRvciByZW5kZXJlZFxuICBjb21wb25lbnREaWRSZW5kZXIoKSB7fVxuXG4gIC8vIG9wdGlvbmFsLCBjYWxsZWQgYWZ0ZXIgZWRpdG9yIGRlc3Ryb3llZFxuICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICB0aGlzLnJlbmRlcmVkQ29tcG9uZW50Py5kZXN0cm95KCk7XG4gICAgdGhpcy5yZW5kZXJlZENvbXBvbmVudCA9IG51bGw7XG4gIH1cblxuICByZW5kZXIoaDogSHlwZXJGdW5jPFZOb2RlPikge1xuICAgIHJldHVybiBoKCdzcGFuJywge1xuICAgICAga2V5OiBgJHt0aGlzLmNvbHVtbi5wcm9wfS0ke3RoaXMuZWRpdENlbGw/LnJvd0luZGV4IHx8IDB9YCxcbiAgICAgIHJlZjogKGVsOiBBbmd1bGFyRWxlbWVudCkgPT4gXG4gICAgICAgIHRoaXMucmVuZGVyZWRDb21wb25lbnQgPSBUZW1wbGF0ZUNvbnN0cnVjdG9yKFxuICAgICAgICAgIGVsLFxuICAgICAgICAgIHRoaXMuRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLnRoaXMuZWRpdENlbGwsXG4gICAgICAgICAgICBjb2x1bW46IHRoaXMuY29sdW1uLFxuICAgICAgICAgICAgc2F2ZTogdGhpcy5zYXZlLFxuICAgICAgICAgICAgY2xvc2U6IHRoaXMuY2xvc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgICApLFxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Injector, inject } from '@angular/core';
2
- import { EditorAdapter } from './editor.adapter';
3
- /**
4
- * Create editor constructor.
5
- * This function creates editor constructor by wrapping it with EditorAdapter
6
- * which is responsible for connecting editor with grid.
7
- */
8
- export const Editor = (EditorComponent, injector = inject(Injector)) => {
9
- /**
10
- * Editor constructor wrapper
11
- * @param column column data to which editor is bound
12
- * @param save function to save data
13
- * @param close function to close editor
14
- * @returns editor instance
15
- */
16
- return function (column, save, close) {
17
- return new EditorAdapter(EditorComponent, injector, column, save, close);
18
- };
19
- };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kYXRhZ3JpZC9zcmMvbGliL2VkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUNwQixlQUEwQixFQUMxQixRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUNoQixFQUFFO0lBQ2I7Ozs7OztPQU1HO0lBQ0gsT0FBTyxVQUNMLE1BQTZCLEVBQzdCLElBQWtELEVBQ2xELEtBQW9DO1FBRXBDLE9BQU8sSUFBSSxhQUFhLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNFLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sdW1uRGF0YVNjaGVtYU1vZGVsLCBFZGl0b3JDdHIgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuaW1wb3J0IHsgSW5qZWN0b3IsIFR5cGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yQWRhcHRlciB9IGZyb20gJy4vZWRpdG9yLmFkYXB0ZXInO1xuLyoqXG4gKiBDcmVhdGUgZWRpdG9yIGNvbnN0cnVjdG9yLlxuICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGVkaXRvciBjb25zdHJ1Y3RvciBieSB3cmFwcGluZyBpdCB3aXRoIEVkaXRvckFkYXB0ZXJcbiAqIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBjb25uZWN0aW5nIGVkaXRvciB3aXRoIGdyaWQuXG4gKi9cbmV4cG9ydCBjb25zdCBFZGl0b3IgPSAoXG4gIEVkaXRvckNvbXBvbmVudDogVHlwZTxhbnk+LFxuICBpbmplY3RvciA9IGluamVjdChJbmplY3RvciksXG4pOiBFZGl0b3JDdHIgPT4ge1xuICAvKipcbiAgICogRWRpdG9yIGNvbnN0cnVjdG9yIHdyYXBwZXJcbiAgICogQHBhcmFtIGNvbHVtbiBjb2x1bW4gZGF0YSB0byB3aGljaCBlZGl0b3IgaXMgYm91bmRcbiAgICogQHBhcmFtIHNhdmUgZnVuY3Rpb24gdG8gc2F2ZSBkYXRhXG4gICAqIEBwYXJhbSBjbG9zZSBmdW5jdGlvbiB0byBjbG9zZSBlZGl0b3JcbiAgICogQHJldHVybnMgZWRpdG9yIGluc3RhbmNlXG4gICAqL1xuICByZXR1cm4gZnVuY3Rpb24gKFxuICAgIGNvbHVtbjogQ29sdW1uRGF0YVNjaGVtYU1vZGVsLFxuICAgIHNhdmU6ICh2YWx1ZTogYW55LCBwcmV2ZW50Rm9jdXM/OiBib29sZWFuKSA9PiB2b2lkLFxuICAgIGNsb3NlOiAoZm9jdXNOZXh0PzogYm9vbGVhbikgPT4gdm9pZCxcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBFZGl0b3JBZGFwdGVyKEVkaXRvckNvbXBvbmVudCwgaW5qZWN0b3IsIGNvbHVtbiwgc2F2ZSwgY2xvc2UpO1xuICB9O1xufTtcbiJdfQ==
@@ -1,71 +0,0 @@
1
- /**
2
- * Angular Adapter Function:
3
- * Handles the rendering and lifecycle of Angular components within StencilJS using updated Angular APIs.
4
- */
5
- import { Injector, ApplicationRef, createComponent, EnvironmentInjector, inject } from '@angular/core';
6
- function updateProps(el, newProps) {
7
- if (!el.componentRef?.instance) {
8
- return;
9
- }
10
- // Update both ways to ensure it works with different component implementations
11
- el.componentRef.instance.props = newProps;
12
- el.componentRef.setInput('props', newProps);
13
- // Handle ngOnChanges if component implements it
14
- if (el.componentRef.instance.ngOnChanges) {
15
- const previousValue = el.componentRef.instance.props;
16
- const simpleChanges = {
17
- props: {
18
- previousValue,
19
- currentValue: newProps,
20
- firstChange: previousValue === undefined,
21
- isFirstChange: () => previousValue === undefined
22
- }
23
- };
24
- el.componentRef.instance.ngOnChanges(simpleChanges);
25
- }
26
- // Force component to check for updates
27
- el.componentRef.changeDetectorRef.markForCheck();
28
- el.componentRef.changeDetectorRef.detectChanges();
29
- }
30
- export function TemplateConstructor(el, AngularComponent, initialProps = {}, injector, lastEl = null) {
31
- if (!el) {
32
- lastEl?.destroy?.(); // Destroy last component if element is null
33
- return null;
34
- }
35
- if (!el.componentRef) {
36
- const applicationRef = injector.get(ApplicationRef);
37
- const environmentInjector = injector.get(EnvironmentInjector);
38
- const componentRef = createComponent(AngularComponent, { environmentInjector });
39
- applicationRef.attachView(componentRef.hostView);
40
- componentRef.instance.props = initialProps;
41
- componentRef.changeDetectorRef.detectChanges();
42
- el.componentRef = componentRef; // Store the component reference
43
- el.appendChild(componentRef.location.nativeElement);
44
- }
45
- else if (el.componentRef.instance) {
46
- updateProps(el, initialProps);
47
- }
48
- // Function to update component props
49
- const update = (newProps) => updateProps(el, newProps);
50
- // Function to destroy the component
51
- const destroy = () => {
52
- el.componentRef?.destroy();
53
- el.componentRef = undefined;
54
- };
55
- return { update, destroy };
56
- }
57
- // Function to create template for Angular component
58
- export const Template = (AngularComponent, customProps, injector = inject(Injector)) => {
59
- return (h, p, addition) => {
60
- const props = customProps ? { ...customProps, ...p } : p;
61
- props.addition = addition;
62
- let lastEl = null;
63
- return h('span', {
64
- key: `${p.prop}-${p.rowIndex || 0}`,
65
- ref: (el) => {
66
- lastEl = TemplateConstructor(el, AngularComponent, props, injector, lastEl);
67
- }
68
- });
69
- };
70
- };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWRhdGFncmlkL3NyYy9saWIvcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFFBQVEsRUFBc0IsY0FBYyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZM0gsU0FBUyxXQUFXLENBQW1CLEVBQWtCLEVBQUUsUUFBVztJQUNwRSxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMvQixPQUFPO0lBQ1QsQ0FBQztJQUdELCtFQUErRTtJQUMvRSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQzFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUU1QyxnREFBZ0Q7SUFDaEQsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDckQsTUFBTSxhQUFhLEdBQUc7WUFDcEIsS0FBSyxFQUFFO2dCQUNMLGFBQWE7Z0JBQ2IsWUFBWSxFQUFFLFFBQVE7Z0JBQ3RCLFdBQVcsRUFBRSxhQUFhLEtBQUssU0FBUztnQkFDeEMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsS0FBSyxTQUFTO2FBQ2pEO1NBQ0YsQ0FBQztRQUNGLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLEVBQUUsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsWUFBWSxF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bmN0aW9uOlxuICogSGFuZGxlcyB0aGUgcmVuZGVyaW5nIGFuZCBsaWZlY3ljbGUgb2YgQW5ndWxhciBjb21wb25lbnRzIHdpdGhpbiBTdGVuY2lsSlMgdXNpbmcgdXBkYXRlZCBBbmd1bGFyIEFQSXMuXG4gKi9cbmltcG9ydCB7IEluamVjdG9yLCBDb21wb25lbnRSZWYsIFR5cGUsIEFwcGxpY2F0aW9uUmVmLCBjcmVhdGVDb21wb25lbnQsIEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sdW1uRGF0YVNjaGVtYU1vZGVsLCBDb2x1bW5UZW1wbGF0ZVByb3AgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBjb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8YW55PjsgIC8vIFJlZmVyZW5jZSB0byB0aGUgQW5ndWxhciBjb21wb25lbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJlZENvbXBvbmVudDxUPiB7XG4gIHVwZGF0ZTogKG5ld1Byb3BzOiBUKSA9PiB2b2lkOyAgICAgLy8gRnVuY3Rpb24gdG8gdXBkYXRlIGNvbXBvbmVudCB3aXRoIG5ldyBwcm9wc1xuICBkZXN0cm95OiAoKSA9PiB2b2lkOyAgICAgICAgICAgICAgIC8vIEZ1bmN0aW9uIHRvIGRlc3Ryb3kgdGhlIGNvbXBvbmVudFxufVxuXG5mdW5jdGlvbiB1cGRhdGVQcm9wczxUIGV4dGVuZHMgb2JqZWN0PihlbDogQW5ndWxhckVsZW1lbnQsIG5ld1Byb3BzOiBUKSB7XG4gIGlmICghZWwuY29tcG9uZW50UmVmPy5pbnN0YW5jZSkge1xuICAgIHJldHVybjtcbiAgfVxuICBcbiAgXG4gIC8vIFVwZGF0ZSBib3RoIHdheXMgdG8gZW5zdXJlIGl0IHdvcmtzIHdpdGggZGlmZmVyZW50IGNvbXBvbmVudCBpbXBsZW1lbnRhdGlvbnNcbiAgZWwuY29tcG9uZW50UmVmLmluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGVsLmNvbXBvbmVudFJlZi5zZXRJbnB1dCgncHJvcHMnLCBuZXdQcm9wcyk7XG4gIFxuICAvLyBIYW5kbGUgbmdPbkNoYW5nZXMgaWYgY29tcG9uZW50IGltcGxlbWVudHMgaXRcbiAgaWYgKGVsLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5uZ09uQ2hhbmdlcykge1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBlbC5jb21wb25lbnRSZWYuaW5zdGFuY2UucHJvcHM7XG4gICAgY29uc3Qgc2ltcGxlQ2hhbmdlcyA9IHtcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIHByZXZpb3VzVmFsdWUsXG4gICAgICAgIGN1cnJlbnRWYWx1ZTogbmV3UHJvcHMsXG4gICAgICAgIGZpcnN0Q2hhbmdlOiBwcmV2aW91c1ZhbHVlID09PSB1bmRlZmluZWQsXG4gICAgICAgIGlzRmlyc3RDaGFuZ2U6ICgpID0+IHByZXZpb3VzVmFsdWUgPT09IHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH07XG4gICAgZWwuY29tcG9uZW50UmVmLmluc3RhbmNlLm5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXMpO1xuICB9XG4gIFxuICAvLyBGb3JjZSBjb21wb25lbnQgdG8gY2hlY2sgZm9yIHVwZGF0ZXNcbiAgZWwuY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICBlbC5jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVGVtcGxhdGVDb25zdHJ1Y3RvcjxUIGV4dGVuZHMgT2JqZWN0PihcbiAgZWw6IEFuZ3VsYXJFbGVtZW50IHwgbnVsbCxcbiAgQW5ndWxhckNvbXBvbmVudDogVHlwZTxhbnk+LFxuICBpbml0aWFsUHJvcHM6IFQgPSB7fSBhcyBULFxuICBpbmplY3RvcjogSW5qZWN0b3IsXG4gIGxhc3RFbDogUmVuZGVyZWRDb21wb25lbnQ8VD4gfCBudWxsID0gbnVsbCxcbik6IFJlbmRlcmVkQ29tcG9uZW50PFQ+IHwgbnVsbCB7XG4gIGlmICghZWwpIHtcbiAgICBsYXN0RWw/LmRlc3Ryb3k/LigpOyAgLy8gRGVzdHJveSBsYXN0IGNvbXBvbmVudCBpZiBlbGVtZW50IGlzIG51bGxcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICghZWwuY29tcG9uZW50UmVmKSB7XG4gICAgY29uc3QgYXBwbGljYXRpb25SZWYgPSBpbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xuICAgIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KEFuZ3VsYXJDb21wb25lbnQsIHsgZW52aXJvbm1lbnRJbmplY3RvciB9KTtcbiAgICBhcHBsaWNhdGlvblJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnByb3BzID0gaW5pdGlhbFByb3BzO1xuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgZWwuY29tcG9uZW50UmVmID0gY29tcG9uZW50UmVmOyAgLy8gU3RvcmUgdGhlIGNvbXBvbmVudCByZWZlcmVuY2VcbiAgICBlbC5hcHBlbmRDaGlsZChjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gIH0gZWxzZSBpZiAoZWwuY29tcG9uZW50UmVmLmluc3RhbmNlKSB7XG4gICAgdXBkYXRlUHJvcHMoZWwsIGluaXRpYWxQcm9wcyk7XG4gIH1cblxuICAvLyBGdW5jdGlvbiB0byB1cGRhdGUgY29tcG9uZW50IHByb3BzXG4gIGNvbnN0IHVwZGF0ZSA9IChuZXdQcm9wczogVCkgPT4gdXBkYXRlUHJvcHMoZWwsIG5ld1Byb3BzKTtcblxuICAvLyBGdW5jdGlvbiB0byBkZXN0cm95IHRoZSBjb21wb25lbnRcbiAgY29uc3QgZGVzdHJveSA9ICgpID0+IHtcbiAgICBlbC5jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcbiAgICBlbC5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XG4gIH07XG5cbiAgcmV0dXJuIHsgdXBkYXRlLCBkZXN0cm95IH07XG59XG5cbi8vIEZ1bmN0aW9uIHRvIGNyZWF0ZSB0ZW1wbGF0ZSBmb3IgQW5ndWxhciBjb21wb25lbnRcbmV4cG9ydCBjb25zdCBUZW1wbGF0ZSA9IChcbiAgQW5ndWxhckNvbXBvbmVudDogVHlwZTxhbnk+LFxuICBjdXN0b21Qcm9wcz86IGFueSxcbiAgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpXG4pID0+IHtcbiAgcmV0dXJuIChoOiBhbnksIHA6IENvbHVtbkRhdGFTY2hlbWFNb2RlbCB8IENvbHVtblRlbXBsYXRlUHJvcCwgYWRkaXRpb24/OiBhbnkpID0+IHtcbiAgICBjb25zdCBwcm9wcyA9IGN1c3RvbVByb3BzID8geyAuLi5jdXN0b21Qcm9wcywgLi4ucCB9IDogcDtcbiAgICBwcm9wcy5hZGRpdGlvbiA9IGFkZGl0aW9uO1xuICAgIGxldCBsYXN0RWw6IFJlbmRlcmVkQ29tcG9uZW50PGFueT4gfCBudWxsID0gbnVsbDtcbiAgICByZXR1cm4gaCgnc3BhbicsIHtcbiAgICAgIGtleTogYCR7cC5wcm9wfS0ke3Aucm93SW5kZXggfHwgMH1gLFxuICAgICAgcmVmOiAoZWw6IEFuZ3VsYXJFbGVtZW50IHwgbnVsbCkgPT4ge1xuICAgICAgICBsYXN0RWwgPSBUZW1wbGF0ZUNvbnN0cnVjdG9yKGVsLCBBbmd1bGFyQ29tcG9uZW50LCBwcm9wcywgaW5qZWN0b3IsIGxhc3RFbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59O1xuIl19
@@ -1,12 +0,0 @@
1
- /*
2
- * Public API Surface of angular-datagrid
3
- */
4
- import { defineCustomElement as defineFilterPanel } from '@revolist/revogrid/standalone/revogr-filter-panel.js';
5
- // Filter is defined as a standalone component plugin and should be imported here
6
- defineFilterPanel?.();
7
- export * from '@revolist/revogrid';
8
- export * from './lib/components';
9
- export * from './lib/editor.adapter';
10
- export * from './lib/editor';
11
- export * from './lib/renderer';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZGF0YWdyaWQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQUUsbUJBQW1CLElBQUksaUJBQWlCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoSCxpRkFBaUY7QUFDakYsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO0FBRXRCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFuZ3VsYXItZGF0YWdyaWRcbiAqL1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVGaWx0ZXJQYW5lbCB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZC9zdGFuZGFsb25lL3Jldm9nci1maWx0ZXItcGFuZWwuanMnO1xuLy8gRmlsdGVyIGlzIGRlZmluZWQgYXMgYSBzdGFuZGFsb25lIGNvbXBvbmVudCBwbHVnaW4gYW5kIHNob3VsZCBiZSBpbXBvcnRlZCBoZXJlXG5kZWZpbmVGaWx0ZXJQYW5lbD8uKCk7XG5cbmV4cG9ydCAqIGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VkaXRvci5hZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZW5kZXJlcic7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2b2xpc3QtYW5ndWxhci1kYXRhZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZGF0YWdyaWQvc3JjL3Jldm9saXN0LWFuZ3VsYXItZGF0YWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==