@adaptabletools/adaptable-angular-aggrid 12.2.3 → 13.0.0-canary.0
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/README.md +1 -1
- package/adaptabletools-adaptable-angular-aggrid.d.ts +1 -1
- package/base.css +2 -2
- package/esm2020/adaptabletools-adaptable-angular-aggrid.mjs +5 -0
- package/esm2020/lib/adaptable-angular-ag-grid-component.directive.mjs +80 -0
- package/esm2020/lib/adaptable-angular-aggrid.module.mjs +18 -0
- package/esm2020/lib/adaptable-angular-aggrid.token.mjs +3 -0
- package/esm2020/lib/adaptable-angular-framework-component.service.mjs +74 -0
- package/esm2020/public-api.mjs +10 -0
- package/fesm2020/adaptabletools-adaptable-angular-aggrid.mjs +180 -0
- package/fesm2020/adaptabletools-adaptable-angular-aggrid.mjs.map +1 -0
- package/index.css +2 -2
- package/lib/adaptable-angular-ag-grid-component.directive.d.ts +4 -1
- package/lib/adaptable-angular-aggrid.module.d.ts +5 -0
- package/lib/adaptable-angular-framework-component.service.d.ts +3 -0
- package/package.json +25 -11
- package/adaptabletools-adaptable-angular-aggrid.metadata.json +0 -1
- package/bundles/adaptabletools-adaptable-angular-aggrid.umd.js +0 -579
- package/bundles/adaptabletools-adaptable-angular-aggrid.umd.js.map +0 -1
- package/ngcc.config.js +0 -3
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ Please contact [`sales@adaptabletools.com`](mailto:sales@adaptabletools.com) or
|
|
|
28
28
|
|
|
29
29
|
## Other AdapTable Resources
|
|
30
30
|
|
|
31
|
-
General information about Adaptable Tools is available at our [Website](http://www.adaptabletools.com)
|
|
31
|
+
General information about Adaptable Tools is available at our [Website](http://www.adaptabletools.com)
|
|
32
32
|
|
|
33
33
|
## Support
|
|
34
34
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
|
+
/// <amd-module name="@adaptabletools/adaptable-angular-aggrid" />
|
|
4
5
|
export * from './public-api';
|
|
5
|
-
export { AdaptableAngularFrameworkComponentService as ɵa } from './lib/adaptable-angular-framework-component.service';
|
package/base.css
CHANGED
|
@@ -2216,8 +2216,8 @@
|
|
|
2216
2216
|
box-shadow: var(--ab-cmp-dropdownbutton-list__box-shadow);
|
|
2217
2217
|
overflow: auto;
|
|
2218
2218
|
border: var(--ab-cmp-dropdownbutton-list__border);
|
|
2219
|
-
|
|
2220
|
-
|
|
2219
|
+
border-radius: var(--ab-cmp-dropdownbutton-list__border-radius);
|
|
2220
|
+
z-index: var(--ab-cmp-dropdownbutton-list__z-index);
|
|
2221
2221
|
background: var(--ab-cmp-dropdownbutton-list__background); }
|
|
2222
2222
|
.ab-DropdownButton__content {
|
|
2223
2223
|
font-family: var(--ab__font-family);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRhYmxldG9vbHMtYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkL3NyYy9hZGFwdGFibGV0b29scy1hZGFwdGFibGUtYW5ndWxhci1hZ2dyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, Input, Output, Renderer2, } from '@angular/core';
|
|
2
|
+
import { Adaptable } from '@adaptabletools/adaptable/src/agGrid/Adaptable';
|
|
3
|
+
import { AdaptableAngularFrameworkComponentService } from './adaptable-angular-framework-component.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./adaptable-angular-framework-component.service";
|
|
6
|
+
function getRandomInt(max) {
|
|
7
|
+
return Math.floor(Math.random() * Math.floor(max));
|
|
8
|
+
}
|
|
9
|
+
export class AdaptableAngularAgGridComponentDirective {
|
|
10
|
+
constructor(renderer, el, frameworkComponentService) {
|
|
11
|
+
this.renderer = renderer;
|
|
12
|
+
this.el = el;
|
|
13
|
+
this.frameworkComponentService = frameworkComponentService;
|
|
14
|
+
this.adaptableReady = new EventEmitter();
|
|
15
|
+
const seedId = `${getRandomInt(1000)}-${Date.now()}`;
|
|
16
|
+
this.adaptableContainerId = `adaptable-${seedId}`;
|
|
17
|
+
}
|
|
18
|
+
async ngOnInit() {
|
|
19
|
+
if (this.modules == null) {
|
|
20
|
+
throw new Error(`Attribute 'modules' is required. Please pass the ag-grid modules you use into AdapTable.
|
|
21
|
+
If you don't have extra modules, pass an empty array.`);
|
|
22
|
+
}
|
|
23
|
+
this.createAngularWrapperContainer();
|
|
24
|
+
this.adaptableOptions.gridOptions = this.gridOptions;
|
|
25
|
+
this.adaptableOptions.containerOptions = this.adaptableOptions.containerOptions || {};
|
|
26
|
+
this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;
|
|
27
|
+
const adaptableApi = await Adaptable.initInternal(this.adaptableOptions, {
|
|
28
|
+
waitForAgGrid: true,
|
|
29
|
+
});
|
|
30
|
+
adaptableApi.internalApi
|
|
31
|
+
.getAdaptableInstance()
|
|
32
|
+
._onIncludeFired('FrameworkComponentChange', ({ command, frameworkComponent, containerDomNode, componentType }) => {
|
|
33
|
+
if (command === 'create') {
|
|
34
|
+
this.frameworkComponentService.createFrameworkComponent(frameworkComponent, containerDomNode, componentType, adaptableApi);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.frameworkComponentService.destroyFrameworkComponent(frameworkComponent, componentType);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
adaptableApi.eventApi.on('AdaptableReady', (adaptableReadyInfo) => this.adaptableReady.emit(adaptableReadyInfo));
|
|
41
|
+
this.adaptableApi = adaptableApi;
|
|
42
|
+
}
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
if (!this.adaptableApi) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
this.adaptableApi.destroy({
|
|
48
|
+
unmount: true,
|
|
49
|
+
destroyApi: false,
|
|
50
|
+
});
|
|
51
|
+
this.adaptableApi = null;
|
|
52
|
+
}
|
|
53
|
+
// creates the container for the adaptable toolbar and inserts it before the ag-grid element
|
|
54
|
+
createAngularWrapperContainer() {
|
|
55
|
+
const adaptableContainer = this.renderer.createElement('div');
|
|
56
|
+
adaptableContainer.style.setProperty('display', 'flex');
|
|
57
|
+
adaptableContainer.style.setProperty('flex-flow', 'var(--ab_flex-direction, column)');
|
|
58
|
+
this.renderer.setProperty(adaptableContainer, 'id', this.adaptableContainerId);
|
|
59
|
+
this.renderer.insertBefore(this.renderer.parentNode(this.el.nativeElement), adaptableContainer, this.el.nativeElement);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
AdaptableAngularAgGridComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridComponentDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.AdaptableAngularFrameworkComponentService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
63
|
+
AdaptableAngularAgGridComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: AdaptableAngularAgGridComponentDirective, selector: "ag-grid-angular[adaptableOptions]", inputs: { adaptableOptions: "adaptableOptions", modules: "modules", gridOptions: "gridOptions" }, outputs: { adaptableReady: "adaptableReady" }, providers: [AdaptableAngularFrameworkComponentService], ngImport: i0 });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridComponentDirective, decorators: [{
|
|
65
|
+
type: Directive,
|
|
66
|
+
args: [{
|
|
67
|
+
selector: 'ag-grid-angular[adaptableOptions]',
|
|
68
|
+
// ensures each AG Grid instance has its own copy of the service (incl. the framework component references)
|
|
69
|
+
providers: [AdaptableAngularFrameworkComponentService],
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.AdaptableAngularFrameworkComponentService }]; }, propDecorators: { adaptableOptions: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], modules: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], gridOptions: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], adaptableReady: [{
|
|
78
|
+
type: Output
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRhYmxlLWFuZ3VsYXItYWctZ3JpZC1jb21wb25lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkL3NyYy9saWIvYWRhcHRhYmxlLWFuZ3VsYXItYWctZ3JpZC1jb21wb25lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFM0UsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0saURBQWlELENBQUM7OztBQUU1RyxTQUFTLFlBQVksQ0FBQyxHQUFXO0lBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFPRCxNQUFNLE9BQU8sd0NBQXdDO0lBVW5ELFlBQ1UsUUFBbUIsRUFDbkIsRUFBYyxFQUNkLHlCQUFvRTtRQUZwRSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJDO1FBUnBFLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFVaEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFFckQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGFBQWEsTUFBTSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxJQUFJLENB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QjtzQkFBeEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZE9wdGlvbnMsIE1vZHVsZSB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7IEFkYXB0YWJsZU9wdGlvbnMgfSBmcm9tICdAYWRhcHRhYmxldG9vbHMvYWRhcHRhYmxlL3NyYy9BZGFwdGFibGVPcHRpb25zL0FkYXB0YWJsZU9wdGlvbnMnO1xuaW1wb3J0IHsgQWRhcHRhYmxlUmVhZHlJbmZvIH0gZnJvbSAnQGFkYXB0YWJsZXRvb2xzL2FkYXB0YWJsZS9zcmMvQXBpL0V2ZW50cy9BZGFwdGFibGVSZWFkeSc7XG5pbXBvcnQgeyBBZGFwdGFibGVBcGkgfSBmcm9tICdAYWRhcHRhYmxldG9vbHMvYWRhcHRhYmxlL3NyYy9BcGkvQWRhcHRhYmxlQXBpJztcbmltcG9ydCB7IEFkYXB0YWJsZSB9IGZyb20gJ0BhZGFwdGFibGV0b29scy9hZGFwdGFibGUvc3JjL2FnR3JpZC9BZGFwdGFibGUnO1xuaW1wb3J0IHsgQW5ndWxhckZyYW1ld29ya0NvbXBvbmVudCB9IGZyb20gJ0BhZGFwdGFibGV0b29scy9hZGFwdGFibGUvdHlwZXMnO1xuaW1wb3J0IHsgQWRhcHRhYmxlQW5ndWxhckZyYW1ld29ya0NvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuL2FkYXB0YWJsZS1hbmd1bGFyLWZyYW1ld29yay1jb21wb25lbnQuc2VydmljZSc7XG5cbmZ1bmN0aW9uIGdldFJhbmRvbUludChtYXg6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBNYXRoLmZsb29yKG1heCkpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdhZy1ncmlkLWFuZ3VsYXJbYWRhcHRhYmxlT3B0aW9uc10nLFxuICAvLyBlbnN1cmVzIGVhY2ggQUcgR3JpZCBpbnN0YW5jZSBoYXMgaXRzIG93biBjb3B5IG9mIHRoZSBzZXJ2aWNlIChpbmNsLiB0aGUgZnJhbWV3b3JrIGNvbXBvbmVudCByZWZlcmVuY2VzKVxuICBwcm92aWRlcnM6IFtBZGFwdGFibGVBbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFkYXB0YWJsZUFuZ3VsYXJBZ0dyaWRDb21wb25lbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFkYXB0YWJsZU9wdGlvbnM6IEFkYXB0YWJsZU9wdGlvbnM7XG4gIEBJbnB1dCgpIG1vZHVsZXM6IE1vZHVsZVtdO1xuICBASW5wdXQoKSBncmlkT3B0aW9uczogR3JpZE9wdGlvbnM7XG5cbiAgQE91dHB1dCgpIGFkYXB0YWJsZVJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxBZGFwdGFibGVSZWFkeUluZm8+KCk7XG5cbiAgcHVibGljIGFkYXB0YWJsZUNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIHByaXZhdGUgYWRhcHRhYmxlQXBpOiBBZGFwdGFibGVBcGk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBmcmFtZXdvcmtDb21wb25lbnRTZXJ2aWNlOiBBZGFwdGFibGVBbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50U2VydmljZVxuICApIHtcbiAgICBjb25zdCBzZWVkSWQgPSBgJHtnZXRSYW5kb21JbnQoMTAwMCl9LSR7RGF0ZS5ub3coKX1gO1xuXG4gICAgdGhpcy5hZGFwdGFibGVDb250YWluZXJJZCA9IGBhZGFwdGFibGUtJHtzZWVkSWR9YDtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLm1vZHVsZXMgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQXR0cmlidXRlICdtb2R1bGVzJyBpcyByZXF1aXJlZC4gUGxlYXNlIHBhc3MgdGhlIGFnLWdyaWQgbW9kdWxlcyB5b3UgdXNlIGludG8gQWRhcFRhYmxlLlxuICAgICAgICAgSWYgeW91IGRvbid0IGhhdmUgZXh0cmEgbW9kdWxlcywgcGFzcyBhbiBlbXB0eSBhcnJheS5gXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuY3JlYXRlQW5ndWxhcldyYXBwZXJDb250YWluZXIoKTtcblxuICAgIHRoaXMuYWRhcHRhYmxlT3B0aW9ucy5ncmlkT3B0aW9ucyA9IHRoaXMuZ3JpZE9wdGlvbnM7XG5cbiAgICB0aGlzLmFkYXB0YWJsZU9wdGlvbnMuY29udGFpbmVyT3B0aW9ucyA9IHRoaXMuYWRhcHRhYmxlT3B0aW9ucy5jb250YWluZXJPcHRpb25zIHx8IHt9O1xuICAgIHRoaXMuYWRhcHRhYmxlT3B0aW9ucy5jb250YWluZXJPcHRpb25zLmFkYXB0YWJsZUNvbnRhaW5lciA9IHRoaXMuYWRhcHRhYmxlQ29udGFpbmVySWQ7XG5cbiAgICBjb25zdCBhZGFwdGFibGVBcGkgPSBhd2FpdCBBZGFwdGFibGUuaW5pdEludGVybmFsKHRoaXMuYWRhcHRhYmxlT3B0aW9ucywge1xuICAgICAgd2FpdEZvckFnR3JpZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGFkYXB0YWJsZUFwaS5pbnRlcm5hbEFwaVxuICAgICAgLmdldEFkYXB0YWJsZUluc3RhbmNlKClcbiAgICAgIC5fb25JbmNsdWRlRmlyZWQoXG4gICAgICAgICdGcmFtZXdvcmtDb21wb25lbnRDaGFuZ2UnLFxuICAgICAgICAoeyBjb21tYW5kLCBmcmFtZXdvcmtDb21wb25lbnQsIGNvbnRhaW5lckRvbU5vZGUsIGNvbXBvbmVudFR5cGUgfSkgPT4ge1xuICAgICAgICAgIGlmIChjb21tYW5kID09PSAnY3JlYXRlJykge1xuICAgICAgICAgICAgdGhpcy5mcmFtZXdvcmtDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUZyYW1ld29ya0NvbXBvbmVudChcbiAgICAgICAgICAgICAgZnJhbWV3b3JrQ29tcG9uZW50IGFzIEFuZ3VsYXJGcmFtZXdvcmtDb21wb25lbnQsXG4gICAgICAgICAgICAgIGNvbnRhaW5lckRvbU5vZGUsXG4gICAgICAgICAgICAgIGNvbXBvbmVudFR5cGUsXG4gICAgICAgICAgICAgIGFkYXB0YWJsZUFwaVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5mcmFtZXdvcmtDb21wb25lbnRTZXJ2aWNlLmRlc3Ryb3lGcmFtZXdvcmtDb21wb25lbnQoXG4gICAgICAgICAgICAgIGZyYW1ld29ya0NvbXBvbmVudCBhcyBBbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50LFxuICAgICAgICAgICAgICBjb21wb25lbnRUeXBlXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgIGFkYXB0YWJsZUFwaS5ldmVudEFwaS5vbignQWRhcHRhYmxlUmVhZHknLCAoYWRhcHRhYmxlUmVhZHlJbmZvOiBBZGFwdGFibGVSZWFkeUluZm8pID0+XG4gICAgICB0aGlzLmFkYXB0YWJsZVJlYWR5LmVtaXQoYWRhcHRhYmxlUmVhZHlJbmZvKVxuICAgICk7XG5cbiAgICB0aGlzLmFkYXB0YWJsZUFwaSA9IGFkYXB0YWJsZUFwaTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICghdGhpcy5hZGFwdGFibGVBcGkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hZGFwdGFibGVBcGkuZGVzdHJveSh7XG4gICAgICB1bm1vdW50OiB0cnVlLFxuICAgICAgZGVzdHJveUFwaTogZmFsc2UsXG4gICAgfSk7XG4gICAgdGhpcy5hZGFwdGFibGVBcGkgPSBudWxsO1xuICB9XG5cbiAgLy8gY3JlYXRlcyB0aGUgY29udGFpbmVyIGZvciB0aGUgYWRhcHRhYmxlIHRvb2xiYXIgYW5kIGluc2VydHMgaXQgYmVmb3JlIHRoZSBhZy1ncmlkIGVsZW1lbnRcbiAgcHJpdmF0ZSBjcmVhdGVBbmd1bGFyV3JhcHBlckNvbnRhaW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBhZGFwdGFibGVDb250YWluZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgYWRhcHRhYmxlQ29udGFpbmVyLnN0eWxlLnNldFByb3BlcnR5KCdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICBhZGFwdGFibGVDb250YWluZXIuc3R5bGUuc2V0UHJvcGVydHkoJ2ZsZXgtZmxvdycsICd2YXIoLS1hYl9mbGV4LWRpcmVjdGlvbiwgY29sdW1uKScpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShhZGFwdGFibGVDb250YWluZXIsICdpZCcsIHRoaXMuYWRhcHRhYmxlQ29udGFpbmVySWQpO1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuZWwubmF0aXZlRWxlbWVudCksXG4gICAgICBhZGFwdGFibGVDb250YWluZXIsXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { AdaptableAngularAgGridComponentDirective } from './adaptable-angular-ag-grid-component.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AdaptableAngularAgGridModule {
|
|
5
|
+
}
|
|
6
|
+
AdaptableAngularAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
AdaptableAngularAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridModule, declarations: [AdaptableAngularAgGridComponentDirective], exports: [AdaptableAngularAgGridComponentDirective] });
|
|
8
|
+
AdaptableAngularAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridModule, providers: [], imports: [[]] });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
declarations: [AdaptableAngularAgGridComponentDirective],
|
|
13
|
+
imports: [],
|
|
14
|
+
exports: [AdaptableAngularAgGridComponentDirective],
|
|
15
|
+
providers: [],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkYXB0YWJsZS1hbmd1bGFyLWFnZ3JpZC9zcmMvbGliL2FkYXB0YWJsZS1hbmd1bGFyLWFnZ3JpZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFRM0csTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0QjsySEFBNUIsNEJBQTRCLGlCQUx4Qix3Q0FBd0MsYUFFN0Msd0NBQXdDOzJIQUd2Qyw0QkFBNEIsYUFGNUIsRUFBRSxZQUZKLEVBQUU7NEZBSUEsNEJBQTRCO2tCQU54QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUN4RCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztvQkFDbkQsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWRhcHRhYmxlQW5ndWxhckFnR3JpZENvbXBvbmVudERpcmVjdGl2ZSB9IGZyb20gJy4vYWRhcHRhYmxlLWFuZ3VsYXItYWctZ3JpZC1jb21wb25lbnQuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQWRhcHRhYmxlQW5ndWxhckFnR3JpZENvbXBvbmVudERpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbQWRhcHRhYmxlQW5ndWxhckFnR3JpZENvbXBvbmVudERpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFkYXB0YWJsZUFuZ3VsYXJBZ0dyaWRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const ADAPTABLE_API = new InjectionToken('ADAPTABLE_API');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkL3NyYy9saWIvYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFkYXB0YWJsZUFwaSB9IGZyb20gJ0BhZGFwdGFibGV0b29scy9hZGFwdGFibGUvc3JjL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEFEQVBUQUJMRV9BUEkgPSBuZXcgSW5qZWN0aW9uVG9rZW48QWRhcHRhYmxlQXBpPignQURBUFRBQkxFX0FQSScpO1xuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, } from '@angular/core';
|
|
2
|
+
import { ADAPTABLE_API } from './adaptable-angular-aggrid.token';
|
|
3
|
+
import { LogAdaptableError, LogAdaptableInfo, } from '@adaptabletools/adaptable/src/Utilities/Helpers/LoggingHelper';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AdaptableAngularFrameworkComponentService {
|
|
6
|
+
constructor(resolver, injector, appRef) {
|
|
7
|
+
this.resolver = resolver;
|
|
8
|
+
this.injector = injector;
|
|
9
|
+
this.appRef = appRef;
|
|
10
|
+
this.toolbarComponentRefs = new WeakMap();
|
|
11
|
+
}
|
|
12
|
+
createFrameworkComponent(component, containerDomNode, componentType, adaptableApi) {
|
|
13
|
+
try {
|
|
14
|
+
LogAdaptableInfo(`Creating framework component for ${componentType}`, containerDomNode);
|
|
15
|
+
if (this.toolbarComponentRefs.has(component)) {
|
|
16
|
+
LogAdaptableInfo(`Creation of framework component ${componentType} skipped as it is already present`, containerDomNode);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const angularComponentRef = this.createAngularComponent(component.type, containerDomNode, adaptableApi);
|
|
20
|
+
if (component.onSetup) {
|
|
21
|
+
Object.assign(angularComponentRef.instance, component.onSetup({ adaptableApi }));
|
|
22
|
+
}
|
|
23
|
+
this.toolbarComponentRefs.set(component, angularComponentRef);
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
LogAdaptableError(`Cannot correctly create framework component for ${componentType}`, err);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
destroyFrameworkComponent(component, componentType) {
|
|
30
|
+
LogAdaptableInfo(`Destroying framework component for ${componentType}`);
|
|
31
|
+
const toolbarComponentRef = this.toolbarComponentRefs.get(component);
|
|
32
|
+
if (toolbarComponentRef) {
|
|
33
|
+
try {
|
|
34
|
+
toolbarComponentRef.destroy();
|
|
35
|
+
this.toolbarComponentRefs.delete(component);
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
LogAdaptableError(`Cannot correctly destroy framework component for ${componentType}`, err);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
LogAdaptableInfo(`Cannot correctly destroy framework component for ${componentType} because the reference is no longer available`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
createAngularComponent(angularComponentType, domContainer, api) {
|
|
46
|
+
// extend standard DI context with AdaptableApi
|
|
47
|
+
const toolbarInjector = Injector.create({
|
|
48
|
+
providers: [
|
|
49
|
+
{
|
|
50
|
+
provide: ADAPTABLE_API,
|
|
51
|
+
useValue: api,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
parent: this.injector,
|
|
55
|
+
});
|
|
56
|
+
// create the component
|
|
57
|
+
const componentFactory = this.resolver.resolveComponentFactory(angularComponentType);
|
|
58
|
+
const componentRef = componentFactory.create(toolbarInjector, [], domContainer);
|
|
59
|
+
// attach newly created component to Angular change detection
|
|
60
|
+
this.appRef.attachView(componentRef.hostView);
|
|
61
|
+
// trigger an early change detection
|
|
62
|
+
componentRef.hostView.detectChanges();
|
|
63
|
+
return componentRef;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
AdaptableAngularFrameworkComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularFrameworkComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
67
|
+
AdaptableAngularFrameworkComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularFrameworkComponentService, providedIn: 'root' });
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularFrameworkComponentService, decorators: [{
|
|
69
|
+
type: Injectable,
|
|
70
|
+
args: [{
|
|
71
|
+
providedIn: 'root',
|
|
72
|
+
}]
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }]; } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRhYmxlLWFuZ3VsYXItZnJhbWV3b3JrLWNvbXBvbmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkL3NyYy9saWIvYWRhcHRhYmxlLWFuZ3VsYXItZnJhbWV3b3JrLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ2pCLE1BQU0sK0RBQStELENBQUM7O0FBTXZFLE1BQU0sT0FBTyx5Q0FBeUM7SUFHcEQsWUFDVSxRQUFrQyxFQUNsQyxRQUFrQixFQUNsQixNQUFzQjtRQUZ0QixhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBTHhCLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFvRCxDQUFDO0lBTTVGLENBQUM7SUFFSix3QkFBd0IsQ0FDdEIsU0FBb0MsRUFDcEMsZ0JBQTZCLEVBQzdCLGFBQXFCLEVBQ3JCLFlBQTBCO1FBRTFCLElBQUk7WUFDRixnQkFBZ0IsQ0FBQyxvQ0FBb0MsYUFBYSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUN4RixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzVDLGdCQUFnQixDQUNkLG1DQUFtQyxhQUFhLG1DQUFtQyxFQUNuRixnQkFBZ0IsQ0FDakIsQ0FBQztnQkFDRixPQUFPO2FBQ1I7WUFFRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FDckQsU0FBUyxDQUFDLElBQXFCLEVBQy9CLGdCQUFnQixFQUNoQixZQUFZLENBQ2IsQ0FBQztZQUVGLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRTtnQkFDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNsRjtZQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDL0Q7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLGlCQUFpQixDQUFDLG1EQUFtRCxhQUFhLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM1RjtJQUNILENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxTQUFvQyxFQUFFLGFBQXFCO1FBQ25GLGdCQUFnQixDQUFDLHNDQUFzQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRSxJQUFJLG1CQUFtQixFQUFFO1lBQ3ZCLElBQUk7Z0JBQ0YsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDN0M7WUFBQyxPQUFPLEdBQUcsRUFBRTtnQkFDWixpQkFBaUIsQ0FBQyxvREFBb0QsYUFBYSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDN0Y7U0FDRjthQUFNO1lBQ0wsZ0JBQWdCLENBQ2Qsb0RBQW9ELGFBQWEsK0NBQStDLENBQ2pILENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FDNUIsb0JBQW1DLEVBQ25DLFlBQXlCLEVBQ3pCLEdBQWlCO1FBRWpCLCtDQUErQztRQUMvQyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3RDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsUUFBUSxFQUFFLEdBQUc7aUJBQ2Q7YUFDRjtZQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN0QixDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDckYsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFaEYsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxvQ0FBb0M7UUFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzt1SUFuRlUseUNBQXlDOzJJQUF6Qyx5Q0FBeUMsY0FGeEMsTUFBTTs0RkFFUCx5Q0FBeUM7a0JBSHJELFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZGFwdGFibGVBcGkgfSBmcm9tICdAYWRhcHRhYmxldG9vbHMvYWRhcHRhYmxlL3NyYy9BcGkvQWRhcHRhYmxlQXBpJztcbmltcG9ydCB7IEFEQVBUQUJMRV9BUEkgfSBmcm9tICcuL2FkYXB0YWJsZS1hbmd1bGFyLWFnZ3JpZC50b2tlbic7XG5pbXBvcnQge1xuICBMb2dBZGFwdGFibGVFcnJvcixcbiAgTG9nQWRhcHRhYmxlSW5mbyxcbn0gZnJvbSAnQGFkYXB0YWJsZXRvb2xzL2FkYXB0YWJsZS9zcmMvVXRpbGl0aWVzL0hlbHBlcnMvTG9nZ2luZ0hlbHBlcic7XG5pbXBvcnQgeyBBbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50IH0gZnJvbSAnQGFkYXB0YWJsZXRvb2xzL2FkYXB0YWJsZS90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBZGFwdGFibGVBbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50U2VydmljZSB7XG4gIHByaXZhdGUgdG9vbGJhckNvbXBvbmVudFJlZnMgPSBuZXcgV2Vha01hcDxBbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50LCBDb21wb25lbnRSZWY8dW5rbm93bj4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZlxuICApIHt9XG5cbiAgY3JlYXRlRnJhbWV3b3JrQ29tcG9uZW50KFxuICAgIGNvbXBvbmVudDogQW5ndWxhckZyYW1ld29ya0NvbXBvbmVudCxcbiAgICBjb250YWluZXJEb21Ob2RlOiBIVE1MRWxlbWVudCxcbiAgICBjb21wb25lbnRUeXBlOiBzdHJpbmcsXG4gICAgYWRhcHRhYmxlQXBpOiBBZGFwdGFibGVBcGlcbiAgKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIExvZ0FkYXB0YWJsZUluZm8oYENyZWF0aW5nIGZyYW1ld29yayBjb21wb25lbnQgZm9yICR7Y29tcG9uZW50VHlwZX1gLCBjb250YWluZXJEb21Ob2RlKTtcbiAgICAgIGlmICh0aGlzLnRvb2xiYXJDb21wb25lbnRSZWZzLmhhcyhjb21wb25lbnQpKSB7XG4gICAgICAgIExvZ0FkYXB0YWJsZUluZm8oXG4gICAgICAgICAgYENyZWF0aW9uIG9mIGZyYW1ld29yayBjb21wb25lbnQgJHtjb21wb25lbnRUeXBlfSBza2lwcGVkIGFzIGl0IGlzIGFscmVhZHkgcHJlc2VudGAsXG4gICAgICAgICAgY29udGFpbmVyRG9tTm9kZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFuZ3VsYXJDb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUFuZ3VsYXJDb21wb25lbnQoXG4gICAgICAgIGNvbXBvbmVudC50eXBlIGFzIFR5cGU8dW5rbm93bj4sXG4gICAgICAgIGNvbnRhaW5lckRvbU5vZGUsXG4gICAgICAgIGFkYXB0YWJsZUFwaVxuICAgICAgKTtcblxuICAgICAgaWYgKGNvbXBvbmVudC5vblNldHVwKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oYW5ndWxhckNvbXBvbmVudFJlZi5pbnN0YW5jZSwgY29tcG9uZW50Lm9uU2V0dXAoeyBhZGFwdGFibGVBcGkgfSkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRvb2xiYXJDb21wb25lbnRSZWZzLnNldChjb21wb25lbnQsIGFuZ3VsYXJDb21wb25lbnRSZWYpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgTG9nQWRhcHRhYmxlRXJyb3IoYENhbm5vdCBjb3JyZWN0bHkgY3JlYXRlIGZyYW1ld29yayBjb21wb25lbnQgZm9yICR7Y29tcG9uZW50VHlwZX1gLCBlcnIpO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3lGcmFtZXdvcmtDb21wb25lbnQoY29tcG9uZW50OiBBbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50LCBjb21wb25lbnRUeXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBMb2dBZGFwdGFibGVJbmZvKGBEZXN0cm95aW5nIGZyYW1ld29yayBjb21wb25lbnQgZm9yICR7Y29tcG9uZW50VHlwZX1gKTtcbiAgICBjb25zdCB0b29sYmFyQ29tcG9uZW50UmVmID0gdGhpcy50b29sYmFyQ29tcG9uZW50UmVmcy5nZXQoY29tcG9uZW50KTtcbiAgICBpZiAodG9vbGJhckNvbXBvbmVudFJlZikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdG9vbGJhckNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudG9vbGJhckNvbXBvbmVudFJlZnMuZGVsZXRlKGNvbXBvbmVudCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgTG9nQWRhcHRhYmxlRXJyb3IoYENhbm5vdCBjb3JyZWN0bHkgZGVzdHJveSBmcmFtZXdvcmsgY29tcG9uZW50IGZvciAke2NvbXBvbmVudFR5cGV9YCwgZXJyKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgTG9nQWRhcHRhYmxlSW5mbyhcbiAgICAgICAgYENhbm5vdCBjb3JyZWN0bHkgZGVzdHJveSBmcmFtZXdvcmsgY29tcG9uZW50IGZvciAke2NvbXBvbmVudFR5cGV9IGJlY2F1c2UgdGhlIHJlZmVyZW5jZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFuZ3VsYXJDb21wb25lbnQoXG4gICAgYW5ndWxhckNvbXBvbmVudFR5cGU6IFR5cGU8dW5rbm93bj4sXG4gICAgZG9tQ29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICBhcGk6IEFkYXB0YWJsZUFwaVxuICApOiBDb21wb25lbnRSZWY8dW5rbm93bj4ge1xuICAgIC8vIGV4dGVuZCBzdGFuZGFyZCBESSBjb250ZXh0IHdpdGggQWRhcHRhYmxlQXBpXG4gICAgY29uc3QgdG9vbGJhckluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQURBUFRBQkxFX0FQSSxcbiAgICAgICAgICB1c2VWYWx1ZTogYXBpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICB9KTtcblxuICAgIC8vIGNyZWF0ZSB0aGUgY29tcG9uZW50XG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoYW5ndWxhckNvbXBvbmVudFR5cGUpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRvb2xiYXJJbmplY3RvciwgW10sIGRvbUNvbnRhaW5lcik7XG5cbiAgICAvLyBhdHRhY2ggbmV3bHkgY3JlYXRlZCBjb21wb25lbnQgdG8gQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIC8vIHRyaWdnZXIgYW4gZWFybHkgY2hhbmdlIGRldGVjdGlvblxuICAgIGNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of adaptable-angular-aggrid
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/adaptable-angular-ag-grid-component.directive';
|
|
5
|
+
export * from './lib/adaptable-angular-aggrid.module';
|
|
6
|
+
export * from '@adaptabletools/adaptable/src/types';
|
|
7
|
+
export { AdaptableToolPanelAgGridComponent } from '@adaptabletools/adaptable/src/AdaptableComponents';
|
|
8
|
+
export { AdaptableBooleanExpressionFunctions, AdaptableScalarExpressionFunctions, AdaptableAggregatedBooleanExpressionFunctions, AdaptableAggregatedScalarExpressionFunctions, AdaptableObservableExpressionFunctions, } from '@adaptabletools/adaptable/agGrid';
|
|
9
|
+
export { ADAPTABLE_API } from './lib/adaptable-angular-aggrid.token';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FkYXB0YWJsZS1hbmd1bGFyLWFnZ3JpZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RHLE9BQU8sRUFDTCxtQ0FBbUMsRUFDbkMsa0NBQWtDLEVBQ2xDLDZDQUE2QyxFQUM3Qyw0Q0FBNEMsRUFDNUMsc0NBQXNDLEdBQ3ZDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhZGFwdGFibGUtYW5ndWxhci1hZ2dyaWRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGFibGUtYW5ndWxhci1hZy1ncmlkLWNvbXBvbmVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICdAYWRhcHRhYmxldG9vbHMvYWRhcHRhYmxlL3NyYy90eXBlcyc7XG5leHBvcnQgeyBBZGFwdGFibGVUb29sUGFuZWxBZ0dyaWRDb21wb25lbnQgfSBmcm9tICdAYWRhcHRhYmxldG9vbHMvYWRhcHRhYmxlL3NyYy9BZGFwdGFibGVDb21wb25lbnRzJztcbmV4cG9ydCB7XG4gIEFkYXB0YWJsZUJvb2xlYW5FeHByZXNzaW9uRnVuY3Rpb25zLFxuICBBZGFwdGFibGVTY2FsYXJFeHByZXNzaW9uRnVuY3Rpb25zLFxuICBBZGFwdGFibGVBZ2dyZWdhdGVkQm9vbGVhbkV4cHJlc3Npb25GdW5jdGlvbnMsXG4gIEFkYXB0YWJsZUFnZ3JlZ2F0ZWRTY2FsYXJFeHByZXNzaW9uRnVuY3Rpb25zLFxuICBBZGFwdGFibGVPYnNlcnZhYmxlRXhwcmVzc2lvbkZ1bmN0aW9ucyxcbn0gZnJvbSAnQGFkYXB0YWJsZXRvb2xzL2FkYXB0YWJsZS9hZ0dyaWQnO1xuZXhwb3J0IHsgQURBUFRBQkxFX0FQSSB9IGZyb20gJy4vbGliL2FkYXB0YWJsZS1hbmd1bGFyLWFnZ3JpZC50b2tlbic7XG4iXX0=
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, Injector, Injectable, EventEmitter, Directive, Input, Output, NgModule } from '@angular/core';
|
|
3
|
+
import { Adaptable } from '@adaptabletools/adaptable/src/agGrid/Adaptable';
|
|
4
|
+
import { LogAdaptableInfo, LogAdaptableError } from '@adaptabletools/adaptable/src/Utilities/Helpers/LoggingHelper';
|
|
5
|
+
export * from '@adaptabletools/adaptable/src/types';
|
|
6
|
+
export { AdaptableToolPanelAgGridComponent } from '@adaptabletools/adaptable/src/AdaptableComponents';
|
|
7
|
+
export { AdaptableAggregatedBooleanExpressionFunctions, AdaptableAggregatedScalarExpressionFunctions, AdaptableBooleanExpressionFunctions, AdaptableObservableExpressionFunctions, AdaptableScalarExpressionFunctions } from '@adaptabletools/adaptable/agGrid';
|
|
8
|
+
|
|
9
|
+
const ADAPTABLE_API = new InjectionToken('ADAPTABLE_API');
|
|
10
|
+
|
|
11
|
+
class AdaptableAngularFrameworkComponentService {
|
|
12
|
+
constructor(resolver, injector, appRef) {
|
|
13
|
+
this.resolver = resolver;
|
|
14
|
+
this.injector = injector;
|
|
15
|
+
this.appRef = appRef;
|
|
16
|
+
this.toolbarComponentRefs = new WeakMap();
|
|
17
|
+
}
|
|
18
|
+
createFrameworkComponent(component, containerDomNode, componentType, adaptableApi) {
|
|
19
|
+
try {
|
|
20
|
+
LogAdaptableInfo(`Creating framework component for ${componentType}`, containerDomNode);
|
|
21
|
+
if (this.toolbarComponentRefs.has(component)) {
|
|
22
|
+
LogAdaptableInfo(`Creation of framework component ${componentType} skipped as it is already present`, containerDomNode);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const angularComponentRef = this.createAngularComponent(component.type, containerDomNode, adaptableApi);
|
|
26
|
+
if (component.onSetup) {
|
|
27
|
+
Object.assign(angularComponentRef.instance, component.onSetup({ adaptableApi }));
|
|
28
|
+
}
|
|
29
|
+
this.toolbarComponentRefs.set(component, angularComponentRef);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
LogAdaptableError(`Cannot correctly create framework component for ${componentType}`, err);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
destroyFrameworkComponent(component, componentType) {
|
|
36
|
+
LogAdaptableInfo(`Destroying framework component for ${componentType}`);
|
|
37
|
+
const toolbarComponentRef = this.toolbarComponentRefs.get(component);
|
|
38
|
+
if (toolbarComponentRef) {
|
|
39
|
+
try {
|
|
40
|
+
toolbarComponentRef.destroy();
|
|
41
|
+
this.toolbarComponentRefs.delete(component);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
LogAdaptableError(`Cannot correctly destroy framework component for ${componentType}`, err);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
LogAdaptableInfo(`Cannot correctly destroy framework component for ${componentType} because the reference is no longer available`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
createAngularComponent(angularComponentType, domContainer, api) {
|
|
52
|
+
// extend standard DI context with AdaptableApi
|
|
53
|
+
const toolbarInjector = Injector.create({
|
|
54
|
+
providers: [
|
|
55
|
+
{
|
|
56
|
+
provide: ADAPTABLE_API,
|
|
57
|
+
useValue: api,
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
parent: this.injector,
|
|
61
|
+
});
|
|
62
|
+
// create the component
|
|
63
|
+
const componentFactory = this.resolver.resolveComponentFactory(angularComponentType);
|
|
64
|
+
const componentRef = componentFactory.create(toolbarInjector, [], domContainer);
|
|
65
|
+
// attach newly created component to Angular change detection
|
|
66
|
+
this.appRef.attachView(componentRef.hostView);
|
|
67
|
+
// trigger an early change detection
|
|
68
|
+
componentRef.hostView.detectChanges();
|
|
69
|
+
return componentRef;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
AdaptableAngularFrameworkComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularFrameworkComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
73
|
+
AdaptableAngularFrameworkComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularFrameworkComponentService, providedIn: 'root' });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularFrameworkComponentService, decorators: [{
|
|
75
|
+
type: Injectable,
|
|
76
|
+
args: [{
|
|
77
|
+
providedIn: 'root',
|
|
78
|
+
}]
|
|
79
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }]; } });
|
|
80
|
+
|
|
81
|
+
function getRandomInt(max) {
|
|
82
|
+
return Math.floor(Math.random() * Math.floor(max));
|
|
83
|
+
}
|
|
84
|
+
class AdaptableAngularAgGridComponentDirective {
|
|
85
|
+
constructor(renderer, el, frameworkComponentService) {
|
|
86
|
+
this.renderer = renderer;
|
|
87
|
+
this.el = el;
|
|
88
|
+
this.frameworkComponentService = frameworkComponentService;
|
|
89
|
+
this.adaptableReady = new EventEmitter();
|
|
90
|
+
const seedId = `${getRandomInt(1000)}-${Date.now()}`;
|
|
91
|
+
this.adaptableContainerId = `adaptable-${seedId}`;
|
|
92
|
+
}
|
|
93
|
+
async ngOnInit() {
|
|
94
|
+
if (this.modules == null) {
|
|
95
|
+
throw new Error(`Attribute 'modules' is required. Please pass the ag-grid modules you use into AdapTable.
|
|
96
|
+
If you don't have extra modules, pass an empty array.`);
|
|
97
|
+
}
|
|
98
|
+
this.createAngularWrapperContainer();
|
|
99
|
+
this.adaptableOptions.gridOptions = this.gridOptions;
|
|
100
|
+
this.adaptableOptions.containerOptions = this.adaptableOptions.containerOptions || {};
|
|
101
|
+
this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;
|
|
102
|
+
const adaptableApi = await Adaptable.initInternal(this.adaptableOptions, {
|
|
103
|
+
waitForAgGrid: true,
|
|
104
|
+
});
|
|
105
|
+
adaptableApi.internalApi
|
|
106
|
+
.getAdaptableInstance()
|
|
107
|
+
._onIncludeFired('FrameworkComponentChange', ({ command, frameworkComponent, containerDomNode, componentType }) => {
|
|
108
|
+
if (command === 'create') {
|
|
109
|
+
this.frameworkComponentService.createFrameworkComponent(frameworkComponent, containerDomNode, componentType, adaptableApi);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.frameworkComponentService.destroyFrameworkComponent(frameworkComponent, componentType);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
adaptableApi.eventApi.on('AdaptableReady', (adaptableReadyInfo) => this.adaptableReady.emit(adaptableReadyInfo));
|
|
116
|
+
this.adaptableApi = adaptableApi;
|
|
117
|
+
}
|
|
118
|
+
ngOnDestroy() {
|
|
119
|
+
if (!this.adaptableApi) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
this.adaptableApi.destroy({
|
|
123
|
+
unmount: true,
|
|
124
|
+
destroyApi: false,
|
|
125
|
+
});
|
|
126
|
+
this.adaptableApi = null;
|
|
127
|
+
}
|
|
128
|
+
// creates the container for the adaptable toolbar and inserts it before the ag-grid element
|
|
129
|
+
createAngularWrapperContainer() {
|
|
130
|
+
const adaptableContainer = this.renderer.createElement('div');
|
|
131
|
+
adaptableContainer.style.setProperty('display', 'flex');
|
|
132
|
+
adaptableContainer.style.setProperty('flex-flow', 'var(--ab_flex-direction, column)');
|
|
133
|
+
this.renderer.setProperty(adaptableContainer, 'id', this.adaptableContainerId);
|
|
134
|
+
this.renderer.insertBefore(this.renderer.parentNode(this.el.nativeElement), adaptableContainer, this.el.nativeElement);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
AdaptableAngularAgGridComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridComponentDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: AdaptableAngularFrameworkComponentService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
138
|
+
AdaptableAngularAgGridComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: AdaptableAngularAgGridComponentDirective, selector: "ag-grid-angular[adaptableOptions]", inputs: { adaptableOptions: "adaptableOptions", modules: "modules", gridOptions: "gridOptions" }, outputs: { adaptableReady: "adaptableReady" }, providers: [AdaptableAngularFrameworkComponentService], ngImport: i0 });
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridComponentDirective, decorators: [{
|
|
140
|
+
type: Directive,
|
|
141
|
+
args: [{
|
|
142
|
+
selector: 'ag-grid-angular[adaptableOptions]',
|
|
143
|
+
// ensures each AG Grid instance has its own copy of the service (incl. the framework component references)
|
|
144
|
+
providers: [AdaptableAngularFrameworkComponentService],
|
|
145
|
+
}]
|
|
146
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: AdaptableAngularFrameworkComponentService }]; }, propDecorators: { adaptableOptions: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], modules: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], gridOptions: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], adaptableReady: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}] } });
|
|
155
|
+
|
|
156
|
+
class AdaptableAngularAgGridModule {
|
|
157
|
+
}
|
|
158
|
+
AdaptableAngularAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
159
|
+
AdaptableAngularAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridModule, declarations: [AdaptableAngularAgGridComponentDirective], exports: [AdaptableAngularAgGridComponentDirective] });
|
|
160
|
+
AdaptableAngularAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridModule, providers: [], imports: [[]] });
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AdaptableAngularAgGridModule, decorators: [{
|
|
162
|
+
type: NgModule,
|
|
163
|
+
args: [{
|
|
164
|
+
declarations: [AdaptableAngularAgGridComponentDirective],
|
|
165
|
+
imports: [],
|
|
166
|
+
exports: [AdaptableAngularAgGridComponentDirective],
|
|
167
|
+
providers: [],
|
|
168
|
+
}]
|
|
169
|
+
}] });
|
|
170
|
+
|
|
171
|
+
/*
|
|
172
|
+
* Public API Surface of adaptable-angular-aggrid
|
|
173
|
+
*/
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Generated bundle index. Do not edit.
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
export { ADAPTABLE_API, AdaptableAngularAgGridComponentDirective, AdaptableAngularAgGridModule };
|
|
180
|
+
//# sourceMappingURL=adaptabletools-adaptable-angular-aggrid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptabletools-adaptable-angular-aggrid.mjs","sources":["../../../projects/adaptable-angular-aggrid/src/lib/adaptable-angular-aggrid.token.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-angular-framework-component.service.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-angular-ag-grid-component.directive.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-angular-aggrid.module.ts","../../../projects/adaptable-angular-aggrid/src/public-api.ts","../../../projects/adaptable-angular-aggrid/src/adaptabletools-adaptable-angular-aggrid.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/types';\n\nexport const ADAPTABLE_API = new InjectionToken<AdaptableApi>('ADAPTABLE_API');\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { ADAPTABLE_API } from './adaptable-angular-aggrid.token';\nimport {\n LogAdaptableError,\n LogAdaptableInfo,\n} from '@adaptabletools/adaptable/src/Utilities/Helpers/LoggingHelper';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AdaptableAngularFrameworkComponentService {\n private toolbarComponentRefs = new WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>();\n\n constructor(\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private appRef: ApplicationRef\n ) {}\n\n createFrameworkComponent(\n component: AngularFrameworkComponent,\n containerDomNode: HTMLElement,\n componentType: string,\n adaptableApi: AdaptableApi\n ): void {\n try {\n LogAdaptableInfo(`Creating framework component for ${componentType}`, containerDomNode);\n if (this.toolbarComponentRefs.has(component)) {\n LogAdaptableInfo(\n `Creation of framework component ${componentType} skipped as it is already present`,\n containerDomNode\n );\n return;\n }\n\n const angularComponentRef = this.createAngularComponent(\n component.type as Type<unknown>,\n containerDomNode,\n adaptableApi\n );\n\n if (component.onSetup) {\n Object.assign(angularComponentRef.instance, component.onSetup({ adaptableApi }));\n }\n\n this.toolbarComponentRefs.set(component, angularComponentRef);\n } catch (err) {\n LogAdaptableError(`Cannot correctly create framework component for ${componentType}`, err);\n }\n }\n\n destroyFrameworkComponent(component: AngularFrameworkComponent, componentType: string): void {\n LogAdaptableInfo(`Destroying framework component for ${componentType}`);\n const toolbarComponentRef = this.toolbarComponentRefs.get(component);\n if (toolbarComponentRef) {\n try {\n toolbarComponentRef.destroy();\n this.toolbarComponentRefs.delete(component);\n } catch (err) {\n LogAdaptableError(`Cannot correctly destroy framework component for ${componentType}`, err);\n }\n } else {\n LogAdaptableInfo(\n `Cannot correctly destroy framework component for ${componentType} because the reference is no longer available`\n );\n }\n }\n\n private createAngularComponent(\n angularComponentType: Type<unknown>,\n domContainer: HTMLElement,\n api: AdaptableApi\n ): ComponentRef<unknown> {\n // extend standard DI context with AdaptableApi\n const toolbarInjector = Injector.create({\n providers: [\n {\n provide: ADAPTABLE_API,\n useValue: api,\n },\n ],\n parent: this.injector,\n });\n\n // create the component\n const componentFactory = this.resolver.resolveComponentFactory(angularComponentType);\n const componentRef = componentFactory.create(toolbarInjector, [], domContainer);\n\n // attach newly created component to Angular change detection\n this.appRef.attachView(componentRef.hostView);\n // trigger an early change detection\n componentRef.hostView.detectChanges();\n return componentRef;\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { Adaptable } from '@adaptabletools/adaptable/src/agGrid/Adaptable';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/types';\nimport { AdaptableAngularFrameworkComponentService } from './adaptable-angular-framework-component.service';\n\nfunction getRandomInt(max: number): number {\n return Math.floor(Math.random() * Math.floor(max));\n}\n\n@Directive({\n selector: 'ag-grid-angular[adaptableOptions]',\n // ensures each AG Grid instance has its own copy of the service (incl. the framework component references)\n providers: [AdaptableAngularFrameworkComponentService],\n})\nexport class AdaptableAngularAgGridComponentDirective implements OnDestroy, OnInit {\n @Input() adaptableOptions: AdaptableOptions;\n @Input() modules: Module[];\n @Input() gridOptions: GridOptions;\n\n @Output() adaptableReady = new EventEmitter<AdaptableReadyInfo>();\n\n public adaptableContainerId: string;\n private adaptableApi: AdaptableApi;\n\n constructor(\n private renderer: Renderer2,\n private el: ElementRef,\n private frameworkComponentService: AdaptableAngularFrameworkComponentService\n ) {\n const seedId = `${getRandomInt(1000)}-${Date.now()}`;\n\n this.adaptableContainerId = `adaptable-${seedId}`;\n }\n\n async ngOnInit() {\n if (this.modules == null) {\n throw new Error(\n `Attribute 'modules' is required. Please pass the ag-grid modules you use into AdapTable.\n If you don't have extra modules, pass an empty array.`\n );\n }\n\n this.createAngularWrapperContainer();\n\n this.adaptableOptions.gridOptions = this.gridOptions;\n\n this.adaptableOptions.containerOptions = this.adaptableOptions.containerOptions || {};\n this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;\n\n const adaptableApi = await Adaptable.initInternal(this.adaptableOptions, {\n waitForAgGrid: true,\n });\n\n adaptableApi.internalApi\n .getAdaptableInstance()\n ._onIncludeFired(\n 'FrameworkComponentChange',\n ({ command, frameworkComponent, containerDomNode, componentType }) => {\n if (command === 'create') {\n this.frameworkComponentService.createFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n containerDomNode,\n componentType,\n adaptableApi\n );\n } else {\n this.frameworkComponentService.destroyFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n componentType\n );\n }\n }\n );\n\n adaptableApi.eventApi.on('AdaptableReady', (adaptableReadyInfo: AdaptableReadyInfo) =>\n this.adaptableReady.emit(adaptableReadyInfo)\n );\n\n this.adaptableApi = adaptableApi;\n }\n\n ngOnDestroy() {\n if (!this.adaptableApi) {\n return;\n }\n this.adaptableApi.destroy({\n unmount: true,\n destroyApi: false,\n });\n this.adaptableApi = null;\n }\n\n // creates the container for the adaptable toolbar and inserts it before the ag-grid element\n private createAngularWrapperContainer(): void {\n const adaptableContainer = this.renderer.createElement('div');\n\n adaptableContainer.style.setProperty('display', 'flex');\n adaptableContainer.style.setProperty('flex-flow', 'var(--ab_flex-direction, column)');\n\n this.renderer.setProperty(adaptableContainer, 'id', this.adaptableContainerId);\n this.renderer.insertBefore(\n this.renderer.parentNode(this.el.nativeElement),\n adaptableContainer,\n this.el.nativeElement\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AdaptableAngularAgGridComponentDirective } from './adaptable-angular-ag-grid-component.directive';\n\n@NgModule({\n declarations: [AdaptableAngularAgGridComponentDirective],\n imports: [],\n exports: [AdaptableAngularAgGridComponentDirective],\n providers: [],\n})\nexport class AdaptableAngularAgGridModule {}\n","/*\n * Public API Surface of adaptable-angular-aggrid\n */\n\nexport * from './lib/adaptable-angular-ag-grid-component.directive';\nexport * from './lib/adaptable-angular-aggrid.module';\nexport * from '@adaptabletools/adaptable/src/types';\nexport { AdaptableToolPanelAgGridComponent } from '@adaptabletools/adaptable/src/AdaptableComponents';\nexport {\n AdaptableBooleanExpressionFunctions,\n AdaptableScalarExpressionFunctions,\n AdaptableAggregatedBooleanExpressionFunctions,\n AdaptableAggregatedScalarExpressionFunctions,\n AdaptableObservableExpressionFunctions,\n} from '@adaptabletools/adaptable/agGrid';\nexport { ADAPTABLE_API } from './lib/adaptable-angular-aggrid.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AdaptableAngularFrameworkComponentService"],"mappings":"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"}
|
package/index.css
CHANGED
|
@@ -2965,8 +2965,8 @@ template {
|
|
|
2965
2965
|
box-shadow: var(--ab-cmp-dropdownbutton-list__box-shadow);
|
|
2966
2966
|
overflow: auto;
|
|
2967
2967
|
border: var(--ab-cmp-dropdownbutton-list__border);
|
|
2968
|
-
|
|
2969
|
-
|
|
2968
|
+
border-radius: var(--ab-cmp-dropdownbutton-list__border-radius);
|
|
2969
|
+
z-index: var(--ab-cmp-dropdownbutton-list__z-index);
|
|
2970
2970
|
background: var(--ab-cmp-dropdownbutton-list__background); }
|
|
2971
2971
|
|
|
2972
2972
|
.ab-DropdownButton__content {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
|
|
2
|
+
import { GridOptions, Module } from '@ag-grid-community/core';
|
|
2
3
|
import { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';
|
|
3
|
-
import { GridOptions, Module } from '@ag-grid-community/all-modules';
|
|
4
4
|
import { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';
|
|
5
5
|
import { AdaptableAngularFrameworkComponentService } from './adaptable-angular-framework-component.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class AdaptableAngularAgGridComponentDirective implements OnDestroy, OnInit {
|
|
7
8
|
private renderer;
|
|
8
9
|
private el;
|
|
@@ -17,4 +18,6 @@ export declare class AdaptableAngularAgGridComponentDirective implements OnDestr
|
|
|
17
18
|
ngOnInit(): Promise<void>;
|
|
18
19
|
ngOnDestroy(): void;
|
|
19
20
|
private createAngularWrapperContainer;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AdaptableAngularAgGridComponentDirective, never>;
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AdaptableAngularAgGridComponentDirective, "ag-grid-angular[adaptableOptions]", never, { "adaptableOptions": "adaptableOptions"; "modules": "modules"; "gridOptions": "gridOptions"; }, { "adaptableReady": "adaptableReady"; }, never>;
|
|
20
23
|
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./adaptable-angular-ag-grid-component.directive";
|
|
1
3
|
export declare class AdaptableAngularAgGridModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AdaptableAngularAgGridModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AdaptableAngularAgGridModule, [typeof i1.AdaptableAngularAgGridComponentDirective], never, [typeof i1.AdaptableAngularAgGridComponentDirective]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AdaptableAngularAgGridModule>;
|
|
2
7
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ApplicationRef, ComponentFactoryResolver, Injector } from '@angular/core';
|
|
2
2
|
import { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';
|
|
3
3
|
import { AngularFrameworkComponent } from '@adaptabletools/adaptable/types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class AdaptableAngularFrameworkComponentService {
|
|
5
6
|
private resolver;
|
|
6
7
|
private injector;
|
|
@@ -10,4 +11,6 @@ export declare class AdaptableAngularFrameworkComponentService {
|
|
|
10
11
|
createFrameworkComponent(component: AngularFrameworkComponent, containerDomNode: HTMLElement, componentType: string, adaptableApi: AdaptableApi): void;
|
|
11
12
|
destroyFrameworkComponent(component: AngularFrameworkComponent, componentType: string): void;
|
|
12
13
|
private createAngularComponent;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AdaptableAngularFrameworkComponentService, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AdaptableAngularFrameworkComponentService>;
|
|
13
16
|
}
|
package/package.json
CHANGED
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable-angular-aggrid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0-canary.0",
|
|
4
4
|
"description": "Angular version of AdapTable - the powerful AG Grid add-on that provides all the rich functionality that advanced users expect from their DataGrids and Data Tables",
|
|
5
5
|
"license": "contact sales@adaptabletools.com for details",
|
|
6
|
-
"dependencies": {
|
|
7
|
-
"tslib": "^2.0.0",
|
|
8
|
-
"@adaptabletools/adaptable": "12.2.3"
|
|
9
|
-
},
|
|
10
6
|
"peerDependencies": {
|
|
11
|
-
"@ag-grid-community/
|
|
12
|
-
"@ag-grid-community/angular": ">=
|
|
13
|
-
"@angular/common": ">=
|
|
14
|
-
"@angular/core": ">=
|
|
7
|
+
"@ag-grid-community/core": ">=28.1.0",
|
|
8
|
+
"@ag-grid-community/angular": ">=28.1.0",
|
|
9
|
+
"@angular/common": ">=13.3.0",
|
|
10
|
+
"@angular/core": ">=13.3.0"
|
|
15
11
|
},
|
|
16
|
-
"
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"tslib": "^2.3.0",
|
|
14
|
+
"@adaptabletools/adaptable": "13.0.0-canary.0"
|
|
15
|
+
},
|
|
16
|
+
"es2020": "fesm2020/adaptabletools-adaptable-angular-aggrid.mjs",
|
|
17
|
+
"esm2020": "esm2020/adaptabletools-adaptable-angular-aggrid.mjs",
|
|
18
|
+
"fesm2020": "fesm2020/adaptabletools-adaptable-angular-aggrid.mjs",
|
|
17
19
|
"typings": "adaptabletools-adaptable-angular-aggrid.d.ts",
|
|
18
|
-
"
|
|
20
|
+
"exports": {
|
|
21
|
+
"./package.json": {
|
|
22
|
+
"default": "./package.json"
|
|
23
|
+
},
|
|
24
|
+
".": {
|
|
25
|
+
"types": "./adaptabletools-adaptable-angular-aggrid.d.ts",
|
|
26
|
+
"esm2020": "./esm2020/adaptabletools-adaptable-angular-aggrid.mjs",
|
|
27
|
+
"es2020": "./fesm2020/adaptabletools-adaptable-angular-aggrid.mjs",
|
|
28
|
+
"es2015": "./fesm2015/adaptabletools-adaptable-angular-aggrid.mjs",
|
|
29
|
+
"node": "./fesm2015/adaptabletools-adaptable-angular-aggrid.mjs",
|
|
30
|
+
"default": "./fesm2020/adaptabletools-adaptable-angular-aggrid.mjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
19
33
|
"sideEffects": false
|
|
20
34
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"exports":[{"from":"@adaptabletools/adaptable/src/types"},{"export":[{"name":"AdaptableToolPanelAgGridComponent","as":"AdaptableToolPanelAgGridComponent"}],"from":"@adaptabletools/adaptable/src/AdaptableComponents"},{"export":[{"name":"AdaptableBooleanExpressionFunctions","as":"AdaptableBooleanExpressionFunctions"},{"name":"AdaptableScalarExpressionFunctions","as":"AdaptableScalarExpressionFunctions"},{"name":"AdaptableAggregatedBooleanExpressionFunctions","as":"AdaptableAggregatedBooleanExpressionFunctions"},{"name":"AdaptableAggregatedScalarExpressionFunctions","as":"AdaptableAggregatedScalarExpressionFunctions"},{"name":"AdaptableObservableExpressionFunctions","as":"AdaptableObservableExpressionFunctions"}],"from":"@adaptabletools/adaptable/agGrid"}],"metadata":{"AdaptableAngularAgGridComponentDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":22,"character":1},"arguments":[{"selector":"ag-grid-angular[adaptableOptions]","providers":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{"adaptableOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"modules":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"gridOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"adaptableReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":38,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":39,"character":16},{"__symbolic":"reference","name":"ɵa"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createAngularWrapperContainer":[{"__symbolic":"method"}]}},"AdaptableAngularAgGridModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"AdaptableAngularAgGridComponentDirective"}],"imports":[],"exports":[{"__symbolic":"reference","name":"AdaptableAngularAgGridComponentDirective"}],"providers":[]}]}],"members":{}},"ADAPTABLE_API":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":33},"arguments":["ADAPTABLE_API"]},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":23,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":24,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef","line":25,"character":20}]}],"createFrameworkComponent":[{"__symbolic":"method"}],"destroyFrameworkComponent":[{"__symbolic":"method"}],"createAngularComponent":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"AdaptableAngularAgGridComponentDirective":"./lib/adaptable-angular-ag-grid-component.directive","AdaptableAngularAgGridModule":"./lib/adaptable-angular-aggrid.module","ADAPTABLE_API":"./lib/adaptable-angular-aggrid.token","ɵa":"./lib/adaptable-angular-framework-component.service"},"importAs":"@adaptabletools/adaptable-angular-aggrid"}
|