@revolist/angular-datagrid 3.0.52 → 4.0.28

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.
@@ -0,0 +1,59 @@
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=
@@ -0,0 +1,34 @@
1
+ import { __decorate } from "tslib";
2
+ /* tslint:disable */
3
+ /* auto-generated angular directive proxies */
4
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
5
+ import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
+ import * as i0 from "@angular/core";
7
+ let RevoGrid = class RevoGrid {
8
+ constructor(c, r, z) {
9
+ this.z = z;
10
+ c.detach();
11
+ this.el = r.nativeElement;
12
+ proxyOutputs(this, this.el, ['contentsizechanged', 'beforeedit', 'beforerangeedit', 'afteredit', 'beforeautofill', 'beforeange', 'afterfocus', 'roworderchanged', 'beforesortingapply', 'beforesorting', 'rowdragstart', 'headerclick', 'beforecellfocus', 'beforefocuslost', 'beforesourceset', 'beforeanysource', 'aftersourceset', 'afteranysource', 'beforecolumnsset', 'beforecolumnapplied', 'aftercolumnsset', 'beforefilterapply', 'beforefiltertrimmed', 'beforetrimmed', 'aftertrimmed', 'viewportscroll', 'beforeexport', 'beforeeditstart', 'aftercolumnresize', 'beforerowdefinition', 'filterconfigchanged', 'rowheaderschanged', 'beforegridrender', 'aftergridinit']);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevoGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: RevoGrid, selector: "revo-grid", inputs: { additionalData: "additionalData", applyOnClose: "applyOnClose", autoSizeColumn: "autoSizeColumn", 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", source: "source", stretch: "stretch", theme: "theme", trimmedRows: "trimmedRows", useClipboard: "useClipboard" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
+ };
17
+ RevoGrid = __decorate([
18
+ ProxyCmp({
19
+ inputs: ['additionalData', 'applyOnClose', 'autoSizeColumn', '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', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],
20
+ methods: ['refresh', 'setDataAt', 'scrollToRow', 'scrollToColumnIndex', 'scrollToColumnProp', 'updateColumns', 'addTrimmed', 'scrollToCoordinate', 'setCellEdit', 'setCellsFocus', 'getSource', 'getVisibleSource', 'getSourceStore', 'getColumnStore', 'updateColumnSorting', 'clearSorting', 'getColumns', 'clearFocus', 'getPlugins', 'getFocused', 'getContentSize', 'getSelectedRange']
21
+ })
22
+ ], RevoGrid);
23
+ export { RevoGrid };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevoGrid, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: 'revo-grid',
28
+ changeDetection: ChangeDetectionStrategy.OnPush,
29
+ template: '<ng-content></ng-content>',
30
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
31
+ inputs: ['additionalData', 'applyOnClose', 'autoSizeColumn', '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', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],
32
+ }]
33
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZGF0YWdyaWQvc3JjL2xpYi9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsSUFBTSxRQUFRLEdBQWQsTUFBTSxRQUFRO0lBRW5CLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3hwQixDQUFDOzhHQU5VLFFBQVE7a0dBQVIsUUFBUSx5OEJBSlQsMkJBQTJCOztBQUkxQixRQUFRO0lBWHBCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDO1FBQ2hmLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQztLQUM3WCxDQUFDO0dBUVcsUUFBUSxDQU9wQjs7MkZBUFksUUFBUTtrQkFQcEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUM7aUJBQ2pmIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRzIH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkaXRpb25hbERhdGEnLCAnYXBwbHlPbkNsb3NlJywgJ2F1dG9TaXplQ29sdW1uJywgJ2NhbkZvY3VzJywgJ2Nhbk1vdmVDb2x1bW5zJywgJ2NvbFNpemUnLCAnY29sdW1uVHlwZXMnLCAnY29sdW1ucycsICdkaXNhYmxlVmlydHVhbFgnLCAnZGlzYWJsZVZpcnR1YWxZJywgJ2VkaXRvcnMnLCAnZXhwb3J0aW5nJywgJ2ZpbHRlcicsICdmb2N1c1RlbXBsYXRlJywgJ2ZyYW1lU2l6ZScsICdncm91cGluZycsICdoaWRlQXR0cmlidXRpb24nLCAnam9ic0JlZm9yZVJlbmRlcicsICdwaW5uZWRCb3R0b21Tb3VyY2UnLCAncGlubmVkVG9wU291cmNlJywgJ3BsdWdpbnMnLCAncmFuZ2UnLCAncmVhZG9ubHknLCAncmVnaXN0ZXJWTm9kZScsICdyZXNpemUnLCAncm93Q2xhc3MnLCAncm93RGVmaW5pdGlvbnMnLCAncm93SGVhZGVycycsICdyb3dTaXplJywgJ3NvdXJjZScsICdzdHJldGNoJywgJ3RoZW1lJywgJ3RyaW1tZWRSb3dzJywgJ3VzZUNsaXBib2FyZCddLFxuICBtZXRob2RzOiBbJ3JlZnJlc2gnLCAnc2V0RGF0YUF0JywgJ3Njcm9sbFRvUm93JywgJ3Njcm9sbFRvQ29sdW1uSW5kZXgnLCAnc2Nyb2xsVG9Db2x1bW5Qcm9wJywgJ3VwZGF0ZUNvbHVtbnMnLCAnYWRkVHJpbW1lZCcsICdzY3JvbGxUb0Nvb3JkaW5hdGUnLCAnc2V0Q2VsbEVkaXQnLCAnc2V0Q2VsbHNGb2N1cycsICdnZXRTb3VyY2UnLCAnZ2V0VmlzaWJsZVNvdXJjZScsICdnZXRTb3VyY2VTdG9yZScsICdnZXRDb2x1bW5TdG9yZScsICd1cGRhdGVDb2x1bW5Tb3J0aW5nJywgJ2NsZWFyU29ydGluZycsICdnZXRDb2x1bW5zJywgJ2NsZWFyRm9jdXMnLCAnZ2V0UGx1Z2lucycsICdnZXRGb2N1c2VkJywgJ2dldENvbnRlbnRTaXplJywgJ2dldFNlbGVjdGVkUmFuZ2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jldm8tZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkaXRpb25hbERhdGEnLCAnYXBwbHlPbkNsb3NlJywgJ2F1dG9TaXplQ29sdW1uJywgJ2NhbkZvY3VzJywgJ2Nhbk1vdmVDb2x1bW5zJywgJ2NvbFNpemUnLCAnY29sdW1uVHlwZXMnLCAnY29sdW1ucycsICdkaXNhYmxlVmlydHVhbFgnLCAnZGlzYWJsZVZpcnR1YWxZJywgJ2VkaXRvcnMnLCAnZXhwb3J0aW5nJywgJ2ZpbHRlcicsICdmb2N1c1RlbXBsYXRlJywgJ2ZyYW1lU2l6ZScsICdncm91cGluZycsICdoaWRlQXR0cmlidXRpb24nLCAnam9ic0JlZm9yZVJlbmRlcicsICdwaW5uZWRCb3R0b21Tb3VyY2UnLCAncGlubmVkVG9wU291cmNlJywgJ3BsdWdpbnMnLCAncmFuZ2UnLCAncmVhZG9ubHknLCAncmVnaXN0ZXJWTm9kZScsICdyZXNpemUnLCAncm93Q2xhc3MnLCAncm93RGVmaW5pdGlvbnMnLCAncm93SGVhZGVycycsICdyb3dTaXplJywgJ3NvdXJjZScsICdzdHJldGNoJywgJ3RoZW1lJywgJ3RyaW1tZWRSb3dzJywgJ3VzZUNsaXBib2FyZCddLFxufSlcbmV4cG9ydCBjbGFzcyBSZXZvR3JpZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NvbnRlbnRzaXplY2hhbmdlZCcsICdiZWZvcmVlZGl0JywgJ2JlZm9yZXJhbmdlZWRpdCcsICdhZnRlcmVkaXQnLCAnYmVmb3JlYXV0b2ZpbGwnLCAnYmVmb3JlYW5nZScsICdhZnRlcmZvY3VzJywgJ3Jvd29yZGVyY2hhbmdlZCcsICdiZWZvcmVzb3J0aW5nYXBwbHknLCAnYmVmb3Jlc29ydGluZycsICdyb3dkcmFnc3RhcnQnLCAnaGVhZGVyY2xpY2snLCAnYmVmb3JlY2VsbGZvY3VzJywgJ2JlZm9yZWZvY3VzbG9zdCcsICdiZWZvcmVzb3VyY2VzZXQnLCAnYmVmb3JlYW55c291cmNlJywgJ2FmdGVyc291cmNlc2V0JywgJ2FmdGVyYW55c291cmNlJywgJ2JlZm9yZWNvbHVtbnNzZXQnLCAnYmVmb3JlY29sdW1uYXBwbGllZCcsICdhZnRlcmNvbHVtbnNzZXQnLCAnYmVmb3JlZmlsdGVyYXBwbHknLCAnYmVmb3JlZmlsdGVydHJpbW1lZCcsICdiZWZvcmV0cmltbWVkJywgJ2FmdGVydHJpbW1lZCcsICd2aWV3cG9ydHNjcm9sbCcsICdiZWZvcmVleHBvcnQnLCAnYmVmb3JlZWRpdHN0YXJ0JywgJ2FmdGVyY29sdW1ucmVzaXplJywgJ2JlZm9yZXJvd2RlZmluaXRpb24nLCAnZmlsdGVyY29uZmlnY2hhbmdlZCcsICdyb3doZWFkZXJzY2hhbmdlZCcsICdiZWZvcmVncmlkcmVuZGVyJywgJ2FmdGVyZ3JpZGluaXQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE11bHRpRGltZW5zaW9uVHlwZSBhcyBJUmV2b0dyaWRNdWx0aURpbWVuc2lvblR5cGUgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuaW1wb3J0IHR5cGUgeyBCZWZvcmVTYXZlRGF0YURldGFpbHMgYXMgSVJldm9HcmlkQmVmb3JlU2F2ZURhdGFEZXRhaWxzIH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkJztcbmltcG9ydCB0eXBlIHsgQmVmb3JlUmFuZ2VTYXZlRGF0YURldGFpbHMgYXMgSVJldm9HcmlkQmVmb3JlUmFuZ2VTYXZlRGF0YURldGFpbHMgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuaW1wb3J0IHR5cGUgeyBBZnRlckVkaXRFdmVudCBhcyBJUmV2b0dyaWRBZnRlckVkaXRFdmVudCB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZCc7XG5pbXBvcnQgdHlwZSB7IENoYW5nZWRSYW5nZSBhcyBJUmV2b0dyaWRDaGFuZ2VkUmFuZ2UgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuaW1wb3J0IHR5cGUgeyBDb2x1bW5SZWd1bGFyIGFzIElSZXZvR3JpZENvbHVtblJlZ3VsYXIgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuaW1wb3J0IHR5cGUgeyBQb3NpdGlvbkl0ZW0gYXMgSVJldm9HcmlkUG9zaXRpb25JdGVtIH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkJztcbmltcG9ydCB0eXBlIHsgRm9jdXNlZERhdGEgYXMgSVJldm9HcmlkRm9jdXNlZERhdGEgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuaW1wb3J0IHR5cGUgeyBEaW1lbnNpb25Sb3dzIGFzIElSZXZvR3JpZERpbWVuc2lvblJvd3MgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuaW1wb3J0IHR5cGUgeyBEYXRhVHlwZSBhcyBJUmV2b0dyaWREYXRhVHlwZSB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZCc7XG5pbXBvcnQgdHlwZSB7IENvbHVtbkNvbGxlY3Rpb24gYXMgSVJldm9HcmlkQ29sdW1uQ29sbGVjdGlvbiB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZCc7XG5pbXBvcnQgdHlwZSB7IENvbHVtblByb3AgYXMgSVJldm9HcmlkQ29sdW1uUHJvcCB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZCc7XG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbGxlY3Rpb24gYXMgSVJldm9HcmlkRmlsdGVyQ29sbGVjdGlvbiB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZCc7XG5pbXBvcnQgdHlwZSB7IFZpZXdQb3J0U2Nyb2xsRXZlbnQgYXMgSVJldm9HcmlkVmlld1BvcnRTY3JvbGxFdmVudCB9IGZyb20gJ0ByZXZvbGlzdC9yZXZvZ3JpZCc7XG5pbXBvcnQgdHlwZSB7IERhdGFJbnB1dCBhcyBJUmV2b0dyaWREYXRhSW5wdXQgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUmV2b0dyaWQgZXh0ZW5kcyBDb21wb25lbnRzLlJldm9HcmlkIHtcbiAgLyoqXG4gICAqIE5ldyBjb250ZW50IHNpemUgaGFzIGJlZW4gYXBwbGllZC4gVGhlIHNpemUgZXhjbHVkZXMgdGhlIGhlYWRlci5cbkN1cnJlbnRseSwgdGhlIGV2ZW50IHJlc3BvbnNpYmxlIGZvciBhcHBseWluZyB0aGUgbmV3IGNvbnRlbnQgc2l6ZSBkb2VzIG5vdCBwcm92aWRlIHRoZSBhY3R1YWwgc2l6ZS5cblRvIHJldHJpZXZlIHRoZSBhY3R1YWwgY29udGVudCBzaXplLCB5b3UgY2FuIHV0aWxpemUgdGhlIGBnZXRDb250ZW50U2l6ZWAgZnVuY3Rpb24gYWZ0ZXIgdGhlIGV2ZW50IGhhcyBiZWVuIHRyaWdnZXJlZC5cbiAgICovXG4gIGNvbnRlbnRzaXplY2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZE11bHRpRGltZW5zaW9uVHlwZT4+O1xuICAvKipcbiAgICogVGhpcyBldmVudCBpcyB0cmlnZ2VyZWQgYmVmb3JlIHRoZSBkYXRhIGlzIGVkaXRlZC5cblRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgZWRpdGluZyBkYXRhIGFuZCB1c2UgeW91ciBvd24gaW1wbGVtZW50YXRpb24sIGNhbGwgYGUucHJldmVudERlZmF1bHQoKWAuXG5UbyBvdmVycmlkZSB0aGUgZWRpdCByZXN1bHQgd2l0aCB5b3VyIG93biB2YWx1ZSwgc2V0IHRoZSBgZS52YWxgIHByb3BlcnR5IHRvIHlvdXIgZGVzaXJlZCB2YWx1ZS5cbiAgICovXG4gIGJlZm9yZWVkaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRCZWZvcmVTYXZlRGF0YURldGFpbHM+PjtcbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIGJlZm9yZSBhcHBseWluZyByYW5nZSBkYXRhLCBzcGVjaWZpY2FsbHkgd2hlbiBhIHJhbmdlIHNlbGVjdGlvbiBvY2N1cnMuXG5UbyBjdXN0b21pemUgdGhlIGRhdGEgYW5kIHByZXZlbnQgdGhlIGRlZmF1bHQgZWRpdCBkYXRhIGZyb20gYmVpbmcgc2V0LCB5b3UgY2FuIGNhbGwgYGUucHJldmVudERlZmF1bHQoKWAuXG4gICAqL1xuICBiZWZvcmVyYW5nZWVkaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRCZWZvcmVSYW5nZVNhdmVEYXRhRGV0YWlscz4+O1xuICAvKipcbiAgICogVHJpZ2dlcmVkIGFmdGVyIGRhdGEgYXBwbGllZCBvciByYW5nZSBjaGFuZ2VkLlxuICAgKi9cbiAgYWZ0ZXJlZGl0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVJldm9HcmlkQWZ0ZXJFZGl0RXZlbnQ+PjtcbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIGJlZm9yZSBhdXRvZmlsbCBpcyBhcHBsaWVkLlxuVG8gcHJldmVudCB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBhcHBseWluZyB0aGUgZWRpdCBkYXRhLCB5b3UgY2FuIGNhbGwgYGUucHJldmVudERlZmF1bHQoKWAuXG4gICAqL1xuICBiZWZvcmVhdXRvZmlsbDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZENoYW5nZWRSYW5nZT4+O1xuICAvKipcbiAgICogVHJpZ2dlcmVkIGJlZm9yZSByYW5nZSBhcHBsaWVkLlxuVXNlIGUucHJldmVudERlZmF1bHQoKSB0byBwcmV2ZW50IHJhbmdlLlxuICAgKi9cbiAgYmVmb3JlYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZENoYW5nZWRSYW5nZT4+O1xuICAvKipcbiAgICogVHJpZ2dlcmVkIGFmdGVyIGZvY3VzIHJlbmRlciBmaW5pc2hlZC5cbkNhbiBiZSB1c2VkIHRvIGFjY2VzcyBhIGZvY3VzIGVsZW1lbnQgdGhyb3VnaCBgZXZlbnQudGFyZ2V0YFxuICAgKi9cbiAgYWZ0ZXJmb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgbW9kZWw6IGFueTsgY29sdW1uOiBJUmV2b0dyaWRDb2x1bW5SZWd1bGFyOyB9Pj47XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCBiZWZvcmUgdGhlIG9yZGVyIG9mIGByZ1Jvd2AgaXMgYXBwbGllZC5cblRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgY2hhbmdpbmcgdGhlIG9yZGVyIG9mIGByZ1Jvd2AsIHlvdSBjYW4gY2FsbCBgZS5wcmV2ZW50RGVmYXVsdCgpYC5cbiAgICovXG4gIHJvd29yZGVyY2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZnJvbTogbnVtYmVyOyB0bzogbnVtYmVyIH0+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBieSBzb3J0aW5nLnBsdWdpbi50c1xuQmVmb3JlIHNvcnRpbmcgYXBwbHkuXG5Vc2UgZS5wcmV2ZW50RGVmYXVsdCgpIHRvIHByZXZlbnQgc29ydGluZyBkYXRhIGNoYW5nZS5cbiAgICovXG4gIGJlZm9yZXNvcnRpbmdhcHBseTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY29sdW1uOiBJUmV2b0dyaWRDb2x1bW5SZWd1bGFyOyBvcmRlcjogJ2Rlc2MnIHwgJ2FzYyc7IGFkZGl0aXZlOiBib29sZWFuOyB9Pj47XG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgYnkgc29ydGluZy5wbHVnaW4udHNcbkJlZm9yZSBzb3J0aW5nIGV2ZW50LlxuSW5pdGlhbCBzb3J0aW5nIHRyaWdnZXJlZCwgaWYgdGhpcyBldmVudCBzdG9wcyBubyBvdGhlciBldmVudCBjYWxsZWQuXG5Vc2UgZS5wcmV2ZW50RGVmYXVsdCgpIHRvIHByZXZlbnQgc29ydGluZy5cbiAgICovXG4gIGJlZm9yZXNvcnRpbmc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNvbHVtbjogSVJldm9HcmlkQ29sdW1uUmVndWxhcjsgb3JkZXI6ICdkZXNjJyB8ICdhc2MnOyBhZGRpdGl2ZTogYm9vbGVhbjsgfT4+O1xuICAvKipcbiAgICogVGhpcyBldmVudCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgcm93IG9yZGVyIGNoYW5nZSBpcyBzdGFydGVkLlxuVG8gcHJldmVudCB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBjaGFuZ2luZyB0aGUgcm93IG9yZGVyLCB5b3UgY2FuIGNhbGwgYGUucHJldmVudERlZmF1bHQoKWAuXG5UbyBjaGFuZ2UgdGhlIGl0ZW0gbmFtZSBhdCB0aGUgc3RhcnQgb2YgdGhlIHJvdyBvcmRlciBjaGFuZ2UsIHlvdSBjYW4gc2V0IGBlLnRleHRgIHRvIHRoZSBkZXNpcmVkIG5ldyBuYW1lLlxuICAgKi9cbiAgcm93ZHJhZ3N0YXJ0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBwb3M6IElSZXZvR3JpZFBvc2l0aW9uSXRlbTsgdGV4dDogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBPbiBoZWFkZXIgY2xpY2suXG4gICAqL1xuICBoZWFkZXJjbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZENvbHVtblJlZ3VsYXI+PjtcbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIGJlZm9yZSB0aGUgY2VsbCBmb2N1cyBpcyBjaGFuZ2VkLlxuVG8gcHJldmVudCB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBjaGFuZ2luZyB0aGUgY2VsbCBmb2N1cywgeW91IGNhbiBjYWxsIGBlLnByZXZlbnREZWZhdWx0KClgLlxuICAgKi9cbiAgYmVmb3JlY2VsbGZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVJldm9HcmlkQmVmb3JlU2F2ZURhdGFEZXRhaWxzPj47XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCBiZWZvcmUgdGhlIGdyaWQgZm9jdXMgaXMgbG9zdC5cblRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgY2hhbmdpbmcgdGhlIGNlbGwgZm9jdXMsIHlvdSBjYW4gY2FsbCBgZS5wcmV2ZW50RGVmYXVsdCgpYC5cbiAgICovXG4gIGJlZm9yZWZvY3VzbG9zdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZEZvY3VzZWREYXRhIHwgbnVsbD4+O1xuICAvKipcbiAgICogQmVmb3JlIG1haW4gc291cmNlL3Jvd3MgZGF0YSBhcHBseS5cbllvdSBjYW4gb3ZlcnJpZGUgZGF0YSBzb3VyY2UgaGVyZVxuICAgKi9cbiAgYmVmb3Jlc291cmNlc2V0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0eXBlOiBJUmV2b0dyaWREaW1lbnNpb25Sb3dzOyBzb3VyY2U6IElSZXZvR3JpZERhdGFUeXBlW107IH0+PjtcbiAgLyoqXG4gICAqIEJlZm9yZSBkYXRhIGFwcGx5IG9uIGFueSBzb3VyY2UgdHlwZS4gQ2FuIGJlIHNvdXJjZSBmcm9tIHBpbm5lZCBhbmQgbWFpbiB2aWV3cG9ydC5cbllvdSBjYW4gb3ZlcnJpZGUgZGF0YSBzb3VyY2UgaGVyZVxuICAgKi9cbiAgYmVmb3JlYW55c291cmNlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0eXBlOiBJUmV2b0dyaWREaW1lbnNpb25Sb3dzOyBzb3VyY2U6IElSZXZvR3JpZERhdGFUeXBlW107IH0+PjtcbiAgLyoqXG4gICAqIEFmdGVyIG1haW4gc291cmNlL3Jvd3MgdXBkYXRlZFxuICAgKi9cbiAgYWZ0ZXJzb3VyY2VzZXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHR5cGU6IElSZXZvR3JpZERpbWVuc2lvblJvd3M7IHNvdXJjZTogSVJldm9HcmlkRGF0YVR5cGVbXTsgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCBhZnRlciBlYWNoIHNvdXJjZSB1cGRhdGUsIHdoZXRoZXIgZnJvbSB0aGUgcGlubmVkIG9yIG1haW4gdmlld3BvcnQuXG5Vc2VmdWwgZm9yIHRyYWNraW5nIGFsbCBjaGFuZ2VzIG9yaWdpbmF0aW5nIGZyb20gc291cmNlcyBpbiBib3RoIHRoZSBwaW5uZWQgYW5kIG1haW4gdmlld3BvcnRzLlxuICAgKi9cbiAgYWZ0ZXJhbnlzb3VyY2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHR5cGU6IElSZXZvR3JpZERpbWVuc2lvblJvd3M7IHNvdXJjZTogSVJldm9HcmlkRGF0YVR5cGVbXTsgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCBiZWZvcmUgYSBjb2x1bW4gdXBkYXRlIGlzIGFwcGxpZWQuXG5MaXN0ZW5lcnMgY2FuIHVzZSB0aGlzIGV2ZW50IHRvIHBlcmZvcm0gYW55IG5lY2Vzc2FyeSBhY3Rpb25zIG9yIG1vZGlmaWNhdGlvbnMgYmVmb3JlIHRoZSBjb2x1bW4gdXBkYXRlIGlzIGZpbmFsaXplZC5cbiAgICovXG4gIGJlZm9yZWNvbHVtbnNzZXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRDb2x1bW5Db2xsZWN0aW9uPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGJlZm9yZSBhIGNvbHVtbiB1cGRhdGUgaXMgYXBwbGllZCwgYWZ0ZXIgdGhlIGNvbHVtbiBzZXQgaXMgZ2F0aGVyZWQgYW5kIHRoZSB2aWV3cG9ydCBpcyB1cGRhdGVkLlxuVXNlZnVsIGZvciBwZXJmb3JtaW5nIGFjdGlvbnMgb3IgbW9kaWZpY2F0aW9ucyBiZWZvcmUgdGhlIGZpbmFsIGFwcGxpY2F0aW9uIG9mIHRoZSBjb2x1bW4gdXBkYXRlLlxuICAgKi9cbiAgYmVmb3JlY29sdW1uYXBwbGllZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElSZXZvR3JpZENvbHVtbkNvbGxlY3Rpb24+PjtcbiAgLyoqXG4gICAqIENvbHVtbiB1cGRhdGVkXG4gICAqL1xuICBhZnRlcmNvbHVtbnNzZXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNvbHVtbnM6IElSZXZvR3JpZENvbHVtbkNvbGxlY3Rpb247IG9yZGVyOiBSZWNvcmQ8SVJldm9HcmlkQ29sdW1uUHJvcCwgJ2FzYycgfCAnZGVzYyc+OyB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGJlZm9yZSBhcHBseWluZyBhIGZpbHRlciB0byB0aGUgZGF0YSBzb3VyY2UuXG5Vc2UgZS5wcmV2ZW50RGVmYXVsdCgpIHRvIHByZXZlbnQgY2VsbCBmb2N1cyBjaGFuZ2UuXG5Nb2RpZnkgdGhlIEBjb2xsZWN0aW9uIGlmIHlvdSBuZWVkIHRvIGNoYW5nZSBmaWx0ZXJzLlxuICAgKi9cbiAgYmVmb3JlZmlsdGVyYXBwbHk6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNvbGxlY3Rpb246IElSZXZvR3JpZEZpbHRlckNvbGxlY3Rpb24gfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCBiZWZvcmUgYXBwbHlpbmcgYSBmaWx0ZXIgdG8gdGhlIGRhdGEgc291cmNlLlxuVXNlIGUucHJldmVudERlZmF1bHQoKSB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRyaW1taW5nIHZhbHVlcyBhbmQgYXBwbHlpbmcgdGhlIGZpbHRlci5cbk1vZGlmeSB0aGUgYGNvbGxlY3Rpb25gIHByb3BlcnR5IGlmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgZmlsdGVycy5cbk1vZGlmeSB0aGUgYGl0ZW1zVG9GaWx0ZXJgIHByb3BlcnR5IGlmIHlvdSB3YW50IHRvIGZpbHRlciB0aGUgaW5kZXhlcyBmb3IgdHJpbW1pbmcuXG4gICAqL1xuICBiZWZvcmVmaWx0ZXJ0cmltbWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjb2xsZWN0aW9uOiBJUmV2b0dyaWRGaWx0ZXJDb2xsZWN0aW9uOyBpdGVtc1RvRmlsdGVyOiBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPjsgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCBiZWZvcmUgdHJpbW1pbmcgdmFsdWVzLlxuVXNlIGUucHJldmVudERlZmF1bHQoKSB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRyaW1taW5nIHZhbHVlcy5cbk1vZGlmeSB0aGUgYHRyaW1tZWRgIHByb3BlcnR5IGlmIHlvdSB3YW50IHRvIGZpbHRlciB0aGUgaW5kZXhlcyBmb3IgdHJpbW1pbmcuXG4gICAqL1xuICBiZWZvcmV0cmltbWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0cmltbWVkOiBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPjsgdHJpbW1lZFR5cGU6IHN0cmluZzsgdHlwZTogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGFmdGVyIHRyaW1tZWQgdmFsdWVzIGhhdmUgYmVlbiBhcHBsaWVkLlxuVXNlZnVsIGZvciBub3RpZnlpbmcgd2hlbiB0cmltbWluZyBvZiB2YWx1ZXMgaGFzIHRha2VuIHBsYWNlLlxuICAgKi9cbiAgYWZ0ZXJ0cmltbWVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHZpZXdwb3J0IGlzIHNjcm9sbGVkLlxuVXNlZnVsIGZvciB0cmFja2luZyB2aWV3cG9ydCBzY3JvbGxpbmcgZXZlbnRzLlxuICAgKi9cbiAgdmlld3BvcnRzY3JvbGw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRWaWV3UG9ydFNjcm9sbEV2ZW50Pj47XG4gIC8qKlxuICAgKiBCZWZvcmUgZXhwb3J0XG5Vc2UgZS5wcmV2ZW50RGVmYXVsdCgpIHRvIHByZXZlbnQgZXhwb3J0XG5SZXBsYWNlIGRhdGEgaW4gRXZlbnQgaW4gY2FzZSB5b3Ugd2FudCB0byBtb2RpZnkgaXQgaW4gZXhwb3J0XG4gICAqL1xuICBiZWZvcmVleHBvcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWREYXRhSW5wdXQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYmVmb3JlIGVkaXRpbmcgc3RhcnRzLlxuVXNlIGUucHJldmVudERlZmF1bHQoKSB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGVkaXQgYmVoYXZpb3IuXG4gICAqL1xuICBiZWZvcmVlZGl0c3RhcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJUmV2b0dyaWRCZWZvcmVTYXZlRGF0YURldGFpbHM+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgY29sdW1uIHJlc2l6aW5nLlxuVXNlZnVsIGZvciByZXRyaWV2aW5nIHRoZSByZXNpemVkIGNvbHVtbnMuXG4gICAqL1xuICBhZnRlcmNvbHVtbnJlc2l6ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgW2luZGV4OiBudW1iZXJdOiBJUmV2b0dyaWRDb2x1bW5SZWd1bGFyOyB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIGJlZm9yZSB0aGUgcm93IGRlZmluaXRpb24gaXMgYXBwbGllZC5cblVzZWZ1bCBmb3IgbW9kaWZ5aW5nIG9yIHByZXZlbnRpbmcgdGhlIGRlZmF1bHQgcm93IGRlZmluaXRpb24gYmVoYXZpb3IuXG4gICAqL1xuICBiZWZvcmVyb3dkZWZpbml0aW9uOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWxzOiBhbnk7IG9sZFZhbHM6IGFueSB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGZpbHRlciBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWRcbiAgICovXG4gIGZpbHRlcmNvbmZpZ2NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEVtbWl0ZWQgd2hlbiB0aGUgcm93IGhlYWRlcnMgYXJlIGNoYW5nZWQuXG4gICAqL1xuICByb3doZWFkZXJzY2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogRW1taXRlZCBiZWZvcmUgdGhlIGdyaWQgaXMgcmVuZGVyZWQuXG4gICAqL1xuICBiZWZvcmVncmlkcmVuZGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBFbW1pdGVkIGFmdGVyIHRoZSBncmlkIGlzIGluaXRpYWxpemVkLiBDb25uZWN0ZWQgdG8gdGhlIERPTS5cbiAgICovXG4gIGFmdGVyZ3JpZGluaXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG4iXX0=
@@ -0,0 +1,30 @@
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
+ ref: (el) => this.renderedComponent = TemplateConstructor(el, this.EditorComponent, {
22
+ ...this.editCell,
23
+ column: this.column,
24
+ save: this.save,
25
+ close: this.close,
26
+ }, this.injector),
27
+ });
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWRhdGFncmlkL3NyYy9saWIvZWRpdG9yLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFxQyxNQUFNLFlBQVksQ0FBQztBQU9wRixNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUNVLGVBQTBCLEVBQzFCLFFBQWtCLEVBQ25CLE1BQTZCLEVBQzVCLElBQXVELEVBQ3ZELEtBQW9DO1FBSnBDLG9CQUFlLEdBQWYsZUFBZSxDQUFXO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBbUQ7UUFDdkQsVUFBSyxHQUFMLEtBQUssQ0FBK0I7UUFUdkMsWUFBTyxHQUEwQixJQUFJLENBQUM7UUFFckMsc0JBQWlCLEdBQWtDLElBQUksQ0FBQztJQVE3RCxDQUFDO0lBRUoseUNBQXlDO0lBQ3pDLGtCQUFrQixLQUFJLENBQUM7SUFFdkIsMENBQTBDO0lBQzFDLG9CQUFvQjtRQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLENBQW1CO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNmLEdBQUcsRUFBRSxDQUFDLEVBQWtCLEVBQUUsRUFBRSxDQUMxQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsbUJBQW1CLENBQzFDLEVBQUUsRUFDRixJQUFJLENBQUMsZUFBZSxFQUNwQjtnQkFDRSxHQUFHLElBQUksQ0FBQyxRQUFRO2dCQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDbEIsRUFDRCxJQUFJLENBQUMsUUFBUSxDQUNkO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdENlbGwsIENvbHVtbkRhdGFTY2hlbWFNb2RlbCwgSHlwZXJGdW5jLCBWTm9kZSwgU2F2ZURhdGEsIEVkaXRvckJhc2UgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuaW1wb3J0IHsgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlbXBsYXRlQ29uc3RydWN0b3IsIFJlbmRlcmVkQ29tcG9uZW50LCBBbmd1bGFyRWxlbWVudCB9IGZyb20gJy4vcmVuZGVyZXInO1xuZXhwb3J0IHR5cGUgRWRpdG9yVHlwZSA9IHtcbiAgc2F2ZTogKHZhbHVlOiBTYXZlRGF0YSwgcHJldmVudEZvY3VzPzogYm9vbGVhbikgPT4gdm9pZDtcbiAgY2xvc2U6IChmb2N1c05leHQ/OiBib29sZWFuKSA9PiB2b2lkO1xuICBjb2x1bW46IENvbHVtbkRhdGFTY2hlbWFNb2RlbDtcbn0gJiBQYXJ0aWFsPEVkaXRDZWxsPjtcblxuZXhwb3J0IGNsYXNzIEVkaXRvckFkYXB0ZXIgaW1wbGVtZW50cyBFZGl0b3JCYXNlICB7XG4gIHB1YmxpYyBlbGVtZW50OiBBbmd1bGFyRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgZWRpdENlbGw/OiBFZGl0Q2VsbDtcbiAgcHJpdmF0ZSByZW5kZXJlZENvbXBvbmVudDogUmVuZGVyZWRDb21wb25lbnQ8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgRWRpdG9yQ29tcG9uZW50OiBUeXBlPGFueT4sXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHVibGljIGNvbHVtbjogQ29sdW1uRGF0YVNjaGVtYU1vZGVsLFxuICAgIHByaXZhdGUgc2F2ZTogKHZhbHVlOiBTYXZlRGF0YSwgcHJldmVudEZvY3VzPzogYm9vbGVhbikgPT4gdm9pZCxcbiAgICBwcml2YXRlIGNsb3NlOiAoZm9jdXNOZXh0PzogYm9vbGVhbikgPT4gdm9pZCxcbiAgKSB7fVxuXG4gIC8vIG9wdGlvbmFsLCBjYWxsZWQgYWZ0ZXIgZWRpdG9yIHJlbmRlcmVkXG4gIGNvbXBvbmVudERpZFJlbmRlcigpIHt9XG5cbiAgLy8gb3B0aW9uYWwsIGNhbGxlZCBhZnRlciBlZGl0b3IgZGVzdHJveWVkXG4gIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHRoaXMucmVuZGVyZWRDb21wb25lbnQ/LmRlc3Ryb3koKTtcbiAgICB0aGlzLnJlbmRlcmVkQ29tcG9uZW50ID0gbnVsbDtcbiAgfVxuXG4gIHJlbmRlcihoOiBIeXBlckZ1bmM8Vk5vZGU+KSB7XG4gICAgcmV0dXJuIGgoJ3NwYW4nLCB7XG4gICAgICByZWY6IChlbDogQW5ndWxhckVsZW1lbnQpID0+IFxuICAgICAgICB0aGlzLnJlbmRlcmVkQ29tcG9uZW50ID0gVGVtcGxhdGVDb25zdHJ1Y3RvcihcbiAgICAgICAgICBlbCxcbiAgICAgICAgICB0aGlzLkVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi50aGlzLmVkaXRDZWxsLFxuICAgICAgICAgICAgY29sdW1uOiB0aGlzLmNvbHVtbixcbiAgICAgICAgICAgIHNhdmU6IHRoaXMuc2F2ZSxcbiAgICAgICAgICAgIGNsb3NlOiB0aGlzLmNsb3NlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { EditorAdapter } from './editor.adapter';
2
+ /**
3
+ * Create editor constructor.
4
+ * This function creates editor constructor by wrapping it with EditorAdapter
5
+ * which is responsible for connecting editor with grid.
6
+ */
7
+ export const Editor = (EditorComponent, injector) => {
8
+ /**
9
+ * Editor constructor wrapper
10
+ * @param column column data to which editor is bound
11
+ * @param save function to save data
12
+ * @param close function to close editor
13
+ * @returns editor instance
14
+ */
15
+ return function (column, save, close) {
16
+ return new EditorAdapter(EditorComponent, injector, column, save, close);
17
+ };
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kYXRhZ3JpZC9zcmMvbGliL2VkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUNwQixlQUEwQixFQUMxQixRQUFrQixFQUNQLEVBQUU7SUFDYjs7Ozs7O09BTUc7SUFDSCxPQUFPLFVBQ0wsTUFBNkIsRUFDN0IsSUFBdUQsRUFDdkQsS0FBb0M7UUFFcEMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0UsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uRGF0YVNjaGVtYU1vZGVsLCBFZGl0b3JDdHIsIFNhdmVEYXRhIH0gZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkJztcbmltcG9ydCB7IEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3JBZGFwdGVyIH0gZnJvbSAnLi9lZGl0b3IuYWRhcHRlcic7XG4vKipcbiAqIENyZWF0ZSBlZGl0b3IgY29uc3RydWN0b3IuXG4gKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgZWRpdG9yIGNvbnN0cnVjdG9yIGJ5IHdyYXBwaW5nIGl0IHdpdGggRWRpdG9yQWRhcHRlclxuICogd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGNvbm5lY3RpbmcgZWRpdG9yIHdpdGggZ3JpZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVkaXRvciA9IChcbiAgRWRpdG9yQ29tcG9uZW50OiBUeXBlPGFueT4sXG4gIGluamVjdG9yOiBJbmplY3Rvcixcbik6IEVkaXRvckN0ciA9PiB7XG4gIC8qKlxuICAgKiBFZGl0b3IgY29uc3RydWN0b3Igd3JhcHBlclxuICAgKiBAcGFyYW0gY29sdW1uIGNvbHVtbiBkYXRhIHRvIHdoaWNoIGVkaXRvciBpcyBib3VuZFxuICAgKiBAcGFyYW0gc2F2ZSBmdW5jdGlvbiB0byBzYXZlIGRhdGFcbiAgICogQHBhcmFtIGNsb3NlIGZ1bmN0aW9uIHRvIGNsb3NlIGVkaXRvclxuICAgKiBAcmV0dXJucyBlZGl0b3IgaW5zdGFuY2VcbiAgICovXG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgY29sdW1uOiBDb2x1bW5EYXRhU2NoZW1hTW9kZWwsXG4gICAgc2F2ZTogKHZhbHVlOiBTYXZlRGF0YSwgcHJldmVudEZvY3VzPzogYm9vbGVhbikgPT4gdm9pZCxcbiAgICBjbG9zZTogKGZvY3VzTmV4dD86IGJvb2xlYW4pID0+IHZvaWQsXG4gICkge1xuICAgIHJldHVybiBuZXcgRWRpdG9yQWRhcHRlcihFZGl0b3JDb21wb25lbnQsIGluamVjdG9yLCBjb2x1bW4sIHNhdmUsIGNsb3NlKTtcbiAgfTtcbn07XG4iXX0=
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Angular Adapter Function:
3
+ * Handles the rendering and lifecycle of Angular components within StencilJS using updated Angular APIs.
4
+ */
5
+ import { ApplicationRef, createComponent, EnvironmentInjector } from '@angular/core';
6
+ function updateProps(el, newProps) {
7
+ if (!el.componentRef?.instance) {
8
+ return;
9
+ }
10
+ el.componentRef.instance.props = newProps;
11
+ el.componentRef.instance.ngOnChanges({
12
+ props: {
13
+ currentValue: newProps,
14
+ previousValue: el.componentRef.instance.props,
15
+ firstChange: false,
16
+ isFirstChange: () => false,
17
+ },
18
+ });
19
+ }
20
+ export function TemplateConstructor(el, AngularComponent, initialProps = {}, injector, lastEl = null) {
21
+ if (!el) {
22
+ lastEl?.destroy?.(); // Destroy last component if element is null
23
+ return null;
24
+ }
25
+ if (!el.componentRef) {
26
+ const applicationRef = injector.get(ApplicationRef);
27
+ const environmentInjector = injector.get(EnvironmentInjector);
28
+ const componentRef = createComponent(AngularComponent, { environmentInjector });
29
+ el.appendChild(componentRef.location.nativeElement);
30
+ applicationRef.attachView(componentRef.hostView);
31
+ componentRef.instance.props = initialProps;
32
+ el.componentRef = componentRef; // Store the component reference
33
+ }
34
+ else if (el.componentRef.instance) {
35
+ updateProps(el, initialProps);
36
+ }
37
+ // Function to update component props
38
+ const update = (newProps) => updateProps(el, newProps);
39
+ // Function to destroy the component
40
+ const destroy = () => {
41
+ el.componentRef?.destroy();
42
+ el.componentRef = undefined;
43
+ };
44
+ return { update, destroy };
45
+ }
46
+ // Function to create template for Angular component
47
+ export const Template = (AngularComponent, injector, customProps) => {
48
+ return (h, p, addition) => {
49
+ const props = customProps ? { ...customProps, ...p } : p;
50
+ props.addition = addition;
51
+ let lastEl = null;
52
+ return h('span', {
53
+ ref: (el) => {
54
+ lastEl = TemplateConstructor(el, AngularComponent, props, injector, lastEl);
55
+ }
56
+ });
57
+ };
58
+ };
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWRhdGFncmlkL3NyYy9saWIvcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFnQyxjQUFjLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWW5ILFNBQVMsV0FBVyxDQUFJLEVBQWtCLEVBQUUsUUFBVztJQUNyRCxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMvQixPQUFPO0lBQ1QsQ0FBQztJQUNELEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7SUFDMUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ25DLEtBQUssRUFBRTtZQUNMLFlBQVksRUFBRSxRQUFRO1lBQ3RCLGFBQWEsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQzdDLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO1NBQzNCO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsRUFBeUIsRUFDekIsZ0JBQTJCLEVBQzNCLGVBQWtCLEVBQU8sRUFDekIsUUFBa0IsRUFDbEIsU0FBc0MsSUFBSTtJQUUxQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFFLDRDQUE0QztRQUNsRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDOUQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLEVBQUUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxjQUFjLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVqRCxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFDM0MsRUFBRSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsQ0FBRSxnQ0FBZ0M7SUFDbkUsQ0FBQztTQUFNLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQyxXQUFXLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxRQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFMUQsb0NBQW9DO0lBQ3BDLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUNuQixFQUFFLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzNCLEVBQUUsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUMsQ0FBQztJQUVGLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVELG9EQUFvRDtBQUNwRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FDdEIsZ0JBQTJCLEVBQzNCLFFBQWtCLEVBQ2xCLFdBQWlCLEVBQ2pCLEVBQUU7SUFDRixPQUFPLENBQUMsQ0FBTSxFQUFFLENBQXdCLEVBQUUsUUFBYyxFQUFFLEVBQUU7UUFDMUQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLE1BQU0sR0FBa0MsSUFBSSxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNmLEdBQUcsRUFBRSxDQUFDLEVBQXlCLEVBQUUsRUFBRTtnQkFDakMsTUFBTSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlFLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuZ3VsYXIgQWRhcHRlciBGdW5jdGlvbjpcbiAqIEhhbmRsZXMgdGhlIHJlbmRlcmluZyBhbmQgbGlmZWN5Y2xlIG9mIEFuZ3VsYXIgY29tcG9uZW50cyB3aXRoaW4gU3RlbmNpbEpTIHVzaW5nIHVwZGF0ZWQgQW5ndWxhciBBUElzLlxuICovXG5pbXBvcnQgeyBJbmplY3RvciwgQ29tcG9uZW50UmVmLCBUeXBlLCBBcHBsaWNhdGlvblJlZiwgY3JlYXRlQ29tcG9uZW50LCBFbnZpcm9ubWVudEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2x1bW5EYXRhU2NoZW1hTW9kZWwgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBjb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8YW55PjsgIC8vIFJlZmVyZW5jZSB0byB0aGUgQW5ndWxhciBjb21wb25lbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJlZENvbXBvbmVudDxUPiB7XG4gIHVwZGF0ZTogKG5ld1Byb3BzOiBUKSA9PiB2b2lkOyAgICAgLy8gRnVuY3Rpb24gdG8gdXBkYXRlIGNvbXBvbmVudCB3aXRoIG5ldyBwcm9wc1xuICBkZXN0cm95OiAoKSA9PiB2b2lkOyAgICAgICAgICAgICAgIC8vIEZ1bmN0aW9uIHRvIGRlc3Ryb3kgdGhlIGNvbXBvbmVudFxufVxuXG5mdW5jdGlvbiB1cGRhdGVQcm9wczxUPihlbDogQW5ndWxhckVsZW1lbnQsIG5ld1Byb3BzOiBUKSB7XG4gIGlmICghZWwuY29tcG9uZW50UmVmPy5pbnN0YW5jZSkge1xuICAgIHJldHVybjtcbiAgfVxuICBlbC5jb21wb25lbnRSZWYuaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcbiAgZWwuY29tcG9uZW50UmVmLmluc3RhbmNlLm5nT25DaGFuZ2VzKHtcbiAgICBwcm9wczoge1xuICAgICAgY3VycmVudFZhbHVlOiBuZXdQcm9wcyxcbiAgICAgIHByZXZpb3VzVmFsdWU6IGVsLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5wcm9wcyxcbiAgICAgIGZpcnN0Q2hhbmdlOiBmYWxzZSxcbiAgICAgIGlzRmlyc3RDaGFuZ2U6ICgpID0+IGZhbHNlLFxuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVGVtcGxhdGVDb25zdHJ1Y3RvcjxUIGV4dGVuZHMgT2JqZWN0PihcbiAgZWw6IEFuZ3VsYXJFbGVtZW50IHwgbnVsbCxcbiAgQW5ndWxhckNvbXBvbmVudDogVHlwZTxhbnk+LFxuICBpbml0aWFsUHJvcHM6IFQgPSB7fSBhcyBULFxuICBpbmplY3RvcjogSW5qZWN0b3IsXG4gIGxhc3RFbDogUmVuZGVyZWRDb21wb25lbnQ8VD4gfCBudWxsID0gbnVsbCxcbik6IFJlbmRlcmVkQ29tcG9uZW50PFQ+IHwgbnVsbCB7XG4gIGlmICghZWwpIHtcbiAgICBsYXN0RWw/LmRlc3Ryb3k/LigpOyAgLy8gRGVzdHJveSBsYXN0IGNvbXBvbmVudCBpZiBlbGVtZW50IGlzIG51bGxcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICghZWwuY29tcG9uZW50UmVmKSB7XG4gICAgY29uc3QgYXBwbGljYXRpb25SZWYgPSBpbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpO1xuICAgIGNvbnN0IGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3Rvci5nZXQoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KEFuZ3VsYXJDb21wb25lbnQsIHsgZW52aXJvbm1lbnRJbmplY3RvciB9KTtcbiAgICBlbC5hcHBlbmRDaGlsZChjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnByb3BzID0gaW5pdGlhbFByb3BzO1xuICAgIGVsLmNvbXBvbmVudFJlZiA9IGNvbXBvbmVudFJlZjsgIC8vIFN0b3JlIHRoZSBjb21wb25lbnQgcmVmZXJlbmNlXG4gIH0gZWxzZSBpZiAoZWwuY29tcG9uZW50UmVmLmluc3RhbmNlKSB7XG4gICAgdXBkYXRlUHJvcHMoZWwsIGluaXRpYWxQcm9wcyk7XG4gIH1cblxuICAvLyBGdW5jdGlvbiB0byB1cGRhdGUgY29tcG9uZW50IHByb3BzXG4gIGNvbnN0IHVwZGF0ZSA9IChuZXdQcm9wczogVCkgPT4gdXBkYXRlUHJvcHMoZWwsIG5ld1Byb3BzKTtcblxuICAvLyBGdW5jdGlvbiB0byBkZXN0cm95IHRoZSBjb21wb25lbnRcbiAgY29uc3QgZGVzdHJveSA9ICgpID0+IHtcbiAgICBlbC5jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcbiAgICBlbC5jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XG4gIH07XG5cbiAgcmV0dXJuIHsgdXBkYXRlLCBkZXN0cm95IH07XG59XG5cbi8vIEZ1bmN0aW9uIHRvIGNyZWF0ZSB0ZW1wbGF0ZSBmb3IgQW5ndWxhciBjb21wb25lbnRcbmV4cG9ydCBjb25zdCBUZW1wbGF0ZSA9IChcbiAgQW5ndWxhckNvbXBvbmVudDogVHlwZTxhbnk+LFxuICBpbmplY3RvcjogSW5qZWN0b3IsXG4gIGN1c3RvbVByb3BzPzogYW55LFxuKSA9PiB7XG4gIHJldHVybiAoaDogYW55LCBwOiBDb2x1bW5EYXRhU2NoZW1hTW9kZWwsIGFkZGl0aW9uPzogYW55KSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSBjdXN0b21Qcm9wcyA/IHsgLi4uY3VzdG9tUHJvcHMsIC4uLnAgfSA6IHA7XG4gICAgcHJvcHMuYWRkaXRpb24gPSBhZGRpdGlvbjtcbiAgICBsZXQgbGFzdEVsOiBSZW5kZXJlZENvbXBvbmVudDxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgcmV0dXJuIGgoJ3NwYW4nLCB7XG4gICAgICByZWY6IChlbDogQW5ndWxhckVsZW1lbnQgfCBudWxsKSA9PiB7XG4gICAgICAgIGxhc3RFbCA9IFRlbXBsYXRlQ29uc3RydWN0b3IoZWwsIEFuZ3VsYXJDb21wb25lbnQsIHByb3BzLCBpbmplY3RvciwgbGFzdEVsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbn07XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import * as d from './components';
2
+ export const DIRECTIVES = [
3
+ d.RevoGrid
4
+ ];
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2b2dyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWRhdGFncmlkL3NyYy9saWIvcmV2b2dyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLENBQUMsQ0FBQyxRQUFRO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0ICogYXMgZCBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgY29uc3QgRElSRUNUSVZFUyA9IFtcbiAgZC5SZXZvR3JpZFxuXTtcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { defineCustomElements } from '@revolist/revogrid/loader';
3
+ import { DIRECTIVES } from './revogrid';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./components";
6
+ export class RevogridModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevogridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: RevogridModule, declarations: [i1.RevoGrid], exports: [i1.RevoGrid] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevogridModule, providers: [
10
+ {
11
+ provide: APP_INITIALIZER,
12
+ useFactory: () => defineCustomElements,
13
+ multi: true
14
+ },
15
+ ] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevogridModule, decorators: [{
18
+ type: NgModule,
19
+ args: [{
20
+ declarations: [...DIRECTIVES],
21
+ exports: [...DIRECTIVES],
22
+ providers: [
23
+ {
24
+ provide: APP_INITIALIZER,
25
+ useFactory: () => defineCustomElements,
26
+ multi: true
27
+ },
28
+ ]
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2b2dyaWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1kYXRhZ3JpZC9zcmMvbGliL3Jldm9ncmlkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFheEMsTUFBTSxPQUFPLGNBQWM7OEdBQWQsY0FBYzsrR0FBZCxjQUFjOytHQUFkLGNBQWMsYUFSZDtZQUNUO2dCQUNFLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CO2dCQUN0QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLGNBQWM7a0JBWDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxvQkFBb0I7NEJBQ3RDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudHMgfSBmcm9tICdAcmV2b2xpc3QvcmV2b2dyaWQvbG9hZGVyJztcbmltcG9ydCB7IERJUkVDVElWRVMgfSBmcm9tICcuL3Jldm9ncmlkJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uRElSRUNUSVZFU10sXG4gIGV4cG9ydHM6IFsuLi5ESVJFQ1RJVkVTXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gZGVmaW5lQ3VzdG9tRWxlbWVudHMsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmV2b2dyaWRNb2R1bGUge30iXX0=
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Public API Surface of angular-datagrid
3
+ */
4
+ export * from './lib/revogrid.module';
5
+ export { DIRECTIVES } from './lib/revogrid';
6
+ export * from './lib/components';
7
+ export * from './lib/editor.adapter';
8
+ export * from './lib/editor';
9
+ export * from './lib/renderer';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZGF0YWdyaWQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFHSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYW5ndWxhci1kYXRhZ3JpZFxuICovXG5cbmV4cG9ydCB0eXBlICogZnJvbSAnQHJldm9saXN0L3Jldm9ncmlkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jldm9ncmlkLm1vZHVsZSc7XG5leHBvcnQgeyBESVJFQ1RJVkVTIH0gZnJvbSAnLi9saWIvcmV2b2dyaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0b3IuYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVuZGVyZXInO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2b2xpc3QtYW5ndWxhci1kYXRhZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZGF0YWdyaWQvc3JjL3Jldm9saXN0LWFuZ3VsYXItZGF0YWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,236 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, APP_INITIALIZER, NgModule, ApplicationRef, EnvironmentInjector, createComponent } from '@angular/core';
3
+ import { defineCustomElements } from '@revolist/revogrid/loader';
4
+ import { __decorate } from 'tslib';
5
+ import { fromEvent } from 'rxjs';
6
+
7
+ /* eslint-disable */
8
+ /* tslint:disable */
9
+ const proxyInputs = (Cmp, inputs) => {
10
+ const Prototype = Cmp.prototype;
11
+ inputs.forEach((item) => {
12
+ Object.defineProperty(Prototype, item, {
13
+ get() {
14
+ return this.el[item];
15
+ },
16
+ set(val) {
17
+ this.z.runOutsideAngular(() => (this.el[item] = val));
18
+ },
19
+ /**
20
+ * In the event that proxyInputs is called
21
+ * multiple times re-defining these inputs
22
+ * will cause an error to be thrown. As a result
23
+ * we set configurable: true to indicate these
24
+ * properties can be changed.
25
+ */
26
+ configurable: true,
27
+ });
28
+ });
29
+ };
30
+ const proxyMethods = (Cmp, methods) => {
31
+ const Prototype = Cmp.prototype;
32
+ methods.forEach((methodName) => {
33
+ Prototype[methodName] = function () {
34
+ const args = arguments;
35
+ return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));
36
+ };
37
+ });
38
+ };
39
+ const proxyOutputs = (instance, el, events) => {
40
+ events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));
41
+ };
42
+ const defineCustomElement = (tagName, customElement) => {
43
+ if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {
44
+ customElements.define(tagName, customElement);
45
+ }
46
+ };
47
+ // tslint:disable-next-line: only-arrow-functions
48
+ function ProxyCmp(opts) {
49
+ const decorator = function (cls) {
50
+ const { defineCustomElementFn, inputs, methods } = opts;
51
+ if (defineCustomElementFn !== undefined) {
52
+ defineCustomElementFn();
53
+ }
54
+ if (inputs) {
55
+ proxyInputs(cls, inputs);
56
+ }
57
+ if (methods) {
58
+ proxyMethods(cls, methods);
59
+ }
60
+ return cls;
61
+ };
62
+ return decorator;
63
+ }
64
+
65
+ let RevoGrid = class RevoGrid {
66
+ constructor(c, r, z) {
67
+ this.z = z;
68
+ c.detach();
69
+ this.el = r.nativeElement;
70
+ proxyOutputs(this, this.el, ['contentsizechanged', 'beforeedit', 'beforerangeedit', 'afteredit', 'beforeautofill', 'beforeange', 'afterfocus', 'roworderchanged', 'beforesortingapply', 'beforesorting', 'rowdragstart', 'headerclick', 'beforecellfocus', 'beforefocuslost', 'beforesourceset', 'beforeanysource', 'aftersourceset', 'afteranysource', 'beforecolumnsset', 'beforecolumnapplied', 'aftercolumnsset', 'beforefilterapply', 'beforefiltertrimmed', 'beforetrimmed', 'aftertrimmed', 'viewportscroll', 'beforeexport', 'beforeeditstart', 'aftercolumnresize', 'beforerowdefinition', 'filterconfigchanged', 'rowheaderschanged', 'beforegridrender', 'aftergridinit']);
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevoGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: RevoGrid, selector: "revo-grid", inputs: { additionalData: "additionalData", applyOnClose: "applyOnClose", autoSizeColumn: "autoSizeColumn", 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", source: "source", stretch: "stretch", theme: "theme", trimmedRows: "trimmedRows", useClipboard: "useClipboard" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
+ };
75
+ RevoGrid = __decorate([
76
+ ProxyCmp({
77
+ inputs: ['additionalData', 'applyOnClose', 'autoSizeColumn', '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', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],
78
+ methods: ['refresh', 'setDataAt', 'scrollToRow', 'scrollToColumnIndex', 'scrollToColumnProp', 'updateColumns', 'addTrimmed', 'scrollToCoordinate', 'setCellEdit', 'setCellsFocus', 'getSource', 'getVisibleSource', 'getSourceStore', 'getColumnStore', 'updateColumnSorting', 'clearSorting', 'getColumns', 'clearFocus', 'getPlugins', 'getFocused', 'getContentSize', 'getSelectedRange']
79
+ })
80
+ ], RevoGrid);
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevoGrid, decorators: [{
82
+ type: Component,
83
+ args: [{
84
+ selector: 'revo-grid',
85
+ changeDetection: ChangeDetectionStrategy.OnPush,
86
+ template: '<ng-content></ng-content>',
87
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
88
+ inputs: ['additionalData', 'applyOnClose', 'autoSizeColumn', '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', 'source', 'stretch', 'theme', 'trimmedRows', 'useClipboard'],
89
+ }]
90
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
91
+
92
+ const DIRECTIVES = [
93
+ RevoGrid
94
+ ];
95
+
96
+ class RevogridModule {
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevogridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
98
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: RevogridModule, declarations: [RevoGrid], exports: [RevoGrid] }); }
99
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevogridModule, providers: [
100
+ {
101
+ provide: APP_INITIALIZER,
102
+ useFactory: () => defineCustomElements,
103
+ multi: true
104
+ },
105
+ ] }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: RevogridModule, decorators: [{
108
+ type: NgModule,
109
+ args: [{
110
+ declarations: [...DIRECTIVES],
111
+ exports: [...DIRECTIVES],
112
+ providers: [
113
+ {
114
+ provide: APP_INITIALIZER,
115
+ useFactory: () => defineCustomElements,
116
+ multi: true
117
+ },
118
+ ]
119
+ }]
120
+ }] });
121
+
122
+ /**
123
+ * Angular Adapter Function:
124
+ * Handles the rendering and lifecycle of Angular components within StencilJS using updated Angular APIs.
125
+ */
126
+ function updateProps(el, newProps) {
127
+ if (!el.componentRef?.instance) {
128
+ return;
129
+ }
130
+ el.componentRef.instance.props = newProps;
131
+ el.componentRef.instance.ngOnChanges({
132
+ props: {
133
+ currentValue: newProps,
134
+ previousValue: el.componentRef.instance.props,
135
+ firstChange: false,
136
+ isFirstChange: () => false,
137
+ },
138
+ });
139
+ }
140
+ function TemplateConstructor(el, AngularComponent, initialProps = {}, injector, lastEl = null) {
141
+ if (!el) {
142
+ lastEl?.destroy?.(); // Destroy last component if element is null
143
+ return null;
144
+ }
145
+ if (!el.componentRef) {
146
+ const applicationRef = injector.get(ApplicationRef);
147
+ const environmentInjector = injector.get(EnvironmentInjector);
148
+ const componentRef = createComponent(AngularComponent, { environmentInjector });
149
+ el.appendChild(componentRef.location.nativeElement);
150
+ applicationRef.attachView(componentRef.hostView);
151
+ componentRef.instance.props = initialProps;
152
+ el.componentRef = componentRef; // Store the component reference
153
+ }
154
+ else if (el.componentRef.instance) {
155
+ updateProps(el, initialProps);
156
+ }
157
+ // Function to update component props
158
+ const update = (newProps) => updateProps(el, newProps);
159
+ // Function to destroy the component
160
+ const destroy = () => {
161
+ el.componentRef?.destroy();
162
+ el.componentRef = undefined;
163
+ };
164
+ return { update, destroy };
165
+ }
166
+ // Function to create template for Angular component
167
+ const Template = (AngularComponent, injector, customProps) => {
168
+ return (h, p, addition) => {
169
+ const props = customProps ? { ...customProps, ...p } : p;
170
+ props.addition = addition;
171
+ let lastEl = null;
172
+ return h('span', {
173
+ ref: (el) => {
174
+ lastEl = TemplateConstructor(el, AngularComponent, props, injector, lastEl);
175
+ }
176
+ });
177
+ };
178
+ };
179
+
180
+ class EditorAdapter {
181
+ constructor(EditorComponent, injector, column, save, close) {
182
+ this.EditorComponent = EditorComponent;
183
+ this.injector = injector;
184
+ this.column = column;
185
+ this.save = save;
186
+ this.close = close;
187
+ this.element = null;
188
+ this.renderedComponent = null;
189
+ }
190
+ // optional, called after editor rendered
191
+ componentDidRender() { }
192
+ // optional, called after editor destroyed
193
+ disconnectedCallback() {
194
+ this.renderedComponent?.destroy();
195
+ this.renderedComponent = null;
196
+ }
197
+ render(h) {
198
+ return h('span', {
199
+ ref: (el) => this.renderedComponent = TemplateConstructor(el, this.EditorComponent, {
200
+ ...this.editCell,
201
+ column: this.column,
202
+ save: this.save,
203
+ close: this.close,
204
+ }, this.injector),
205
+ });
206
+ }
207
+ }
208
+
209
+ /**
210
+ * Create editor constructor.
211
+ * This function creates editor constructor by wrapping it with EditorAdapter
212
+ * which is responsible for connecting editor with grid.
213
+ */
214
+ const Editor = (EditorComponent, injector) => {
215
+ /**
216
+ * Editor constructor wrapper
217
+ * @param column column data to which editor is bound
218
+ * @param save function to save data
219
+ * @param close function to close editor
220
+ * @returns editor instance
221
+ */
222
+ return function (column, save, close) {
223
+ return new EditorAdapter(EditorComponent, injector, column, save, close);
224
+ };
225
+ };
226
+
227
+ /*
228
+ * Public API Surface of angular-datagrid
229
+ */
230
+
231
+ /**
232
+ * Generated bundle index. Do not edit.
233
+ */
234
+
235
+ export { DIRECTIVES, Editor, EditorAdapter, RevoGrid, RevogridModule, Template, TemplateConstructor };
236
+ //# sourceMappingURL=revolist-angular-datagrid.mjs.map