@revolist/angular-datagrid 3.0.1 → 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.
- package/esm2022/lib/angular-component-lib/utils.mjs +59 -0
- package/esm2022/lib/components.mjs +34 -0
- package/esm2022/lib/editor.adapter.mjs +30 -0
- package/esm2022/lib/editor.mjs +19 -0
- package/esm2022/lib/renderer.mjs +59 -0
- package/esm2022/lib/revogrid.mjs +5 -0
- package/esm2022/lib/revogrid.module.mjs +31 -0
- package/esm2022/public-api.mjs +10 -0
- package/esm2022/revolist-angular-datagrid.mjs +5 -0
- package/fesm2022/revolist-angular-datagrid.mjs +236 -0
- package/fesm2022/revolist-angular-datagrid.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/{dist/proxies → lib}/angular-component-lib/utils.d.ts +2 -0
- package/lib/components.d.ts +246 -0
- package/lib/editor.adapter.d.ts +22 -0
- package/lib/editor.d.ts +8 -0
- package/lib/renderer.d.ts +15 -0
- package/lib/revogrid.d.ts +2 -0
- package/lib/revogrid.module.d.ts +7 -0
- package/package.json +49 -55
- package/public-api.d.ts +7 -0
- package/LICENSE +0 -21
- package/dist/component-library-module.d.ts +0 -2
- package/dist/core.d.ts +0 -5
- package/dist/core.metadata.json +0 -1
- package/dist/fesm2015.js +0 -542
- package/dist/fesm5.js +0 -499
- package/dist/index.d.ts +0 -2
- package/dist/proxies/revogrid.d.ts +0 -229
|
@@ -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
|