@adaptabletools/adaptable-angular-aggrid 16.2.4 → 17.0.0-canary.6
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/base.css +86 -20
- package/base.css.map +1 -1
- package/esm2020/adaptabletools-adaptable-angular-aggrid.mjs +5 -0
- package/esm2020/lib/adaptable-angular-ag-grid-component.directive.mjs +82 -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 +77 -0
- package/esm2020/public-api.mjs +9 -0
- package/fesm2020/adaptabletools-adaptable-angular-aggrid.mjs +184 -0
- package/fesm2020/adaptabletools-adaptable-angular-aggrid.mjs.map +1 -0
- package/index.css +117 -21
- package/index.css.map +1 -1
- package/lib/adaptable-angular-ag-grid-component.directive.d.ts +1 -1
- package/lib/adaptable-angular-framework-component.service.d.ts +3 -3
- package/package.json +26 -6
- package/bundles/adaptabletools-adaptable-angular-aggrid.umd.js +0 -718
- package/bundles/adaptabletools-adaptable-angular-aggrid.umd.js.map +0 -1
- /package/{adaptabletools-adaptable-angular-aggrid.d.ts → index.d.ts} +0 -0
|
@@ -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,77 @@
|
|
|
1
|
+
import { createComponent, Injectable, Injector, } from '@angular/core';
|
|
2
|
+
import { ADAPTABLE_API } from './adaptable-angular-aggrid.token';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AdaptableAngularFrameworkComponentService {
|
|
5
|
+
constructor(injector, environmentInjector, appRef) {
|
|
6
|
+
this.injector = injector;
|
|
7
|
+
this.environmentInjector = environmentInjector;
|
|
8
|
+
this.appRef = appRef;
|
|
9
|
+
this.toolbarComponentRefs = new WeakMap();
|
|
10
|
+
}
|
|
11
|
+
createFrameworkComponent(component, containerDomNode, componentType, adaptableApi) {
|
|
12
|
+
try {
|
|
13
|
+
adaptableApi.logInfo(`Creating framework component for ${componentType}`, containerDomNode);
|
|
14
|
+
if (this.toolbarComponentRefs.has(component)) {
|
|
15
|
+
adaptableApi.logInfo(`Creation of framework component ${componentType} skipped as it is already present`, containerDomNode);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const angularComponentRef = this.createAngularComponent(component.type, containerDomNode, adaptableApi);
|
|
19
|
+
if (component.onSetup) {
|
|
20
|
+
Object.assign(angularComponentRef.instance, component.onSetup({ adaptableApi }));
|
|
21
|
+
}
|
|
22
|
+
this.toolbarComponentRefs.set(component, angularComponentRef);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
adaptableApi.logError(`Cannot correctly create framework component for ${componentType}`, err);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
destroyFrameworkComponent(component, componentType, adaptableApi) {
|
|
29
|
+
adaptableApi.logInfo(`Destroying framework component for ${componentType}`);
|
|
30
|
+
const toolbarComponentRef = this.toolbarComponentRefs.get(component);
|
|
31
|
+
if (toolbarComponentRef) {
|
|
32
|
+
try {
|
|
33
|
+
toolbarComponentRef.destroy();
|
|
34
|
+
this.toolbarComponentRefs.delete(component);
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
adaptableApi.logError(`Cannot correctly destroy framework component for ${componentType}`, err);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
adaptableApi.logInfo(`Cannot correctly destroy framework component for ${componentType} because the reference is no longer available`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
createAngularComponent(angularComponentType, domContainer, api) {
|
|
45
|
+
// extend standard DI context with AdaptableApi
|
|
46
|
+
const toolbarInjector = Injector.create({
|
|
47
|
+
providers: [
|
|
48
|
+
{
|
|
49
|
+
provide: ADAPTABLE_API,
|
|
50
|
+
useValue: api,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
parent: this.injector,
|
|
54
|
+
});
|
|
55
|
+
// create the component
|
|
56
|
+
const componentRef = createComponent(angularComponentType, {
|
|
57
|
+
hostElement: domContainer,
|
|
58
|
+
environmentInjector: this.environmentInjector,
|
|
59
|
+
elementInjector: toolbarInjector,
|
|
60
|
+
});
|
|
61
|
+
// Last step is to register the newly created ref using the `ApplicationRef` instance
|
|
62
|
+
// to include the component view into change detection cycles.
|
|
63
|
+
this.appRef.attachView(componentRef.hostView);
|
|
64
|
+
// trigger an early change detection
|
|
65
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
66
|
+
return componentRef;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
AdaptableAngularFrameworkComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularFrameworkComponentService, deps: [{ token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
+
AdaptableAngularFrameworkComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularFrameworkComponentService, providedIn: 'root' });
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularFrameworkComponentService, decorators: [{
|
|
72
|
+
type: Injectable,
|
|
73
|
+
args: [{
|
|
74
|
+
providedIn: 'root',
|
|
75
|
+
}]
|
|
76
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.EnvironmentInjector }, { type: i0.ApplicationRef }]; } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRhYmxlLWFuZ3VsYXItZnJhbWV3b3JrLWNvbXBvbmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkL3NyYy9saWIvYWRhcHRhYmxlLWFuZ3VsYXItZnJhbWV3b3JrLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxlQUFlLEVBRWYsVUFBVSxFQUNWLFFBQVEsR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBTWpFLE1BQU0sT0FBTyx5Q0FBeUM7SUFHcEQsWUFDVSxRQUFrQixFQUNsQixtQkFBd0MsRUFDeEMsTUFBc0I7UUFGdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBRTlCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBb0QsQ0FBQztJQUM5RixDQUFDO0lBRUQsd0JBQXdCLENBQ3RCLFNBQW9DLEVBQ3BDLGdCQUE2QixFQUM3QixhQUFxQixFQUNyQixZQUEwQjtRQUUxQixJQUFJO1lBQ0YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsYUFBYSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUM1RixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzVDLFlBQVksQ0FBQyxPQUFPLENBQ2xCLG1DQUFtQyxhQUFhLG1DQUFtQyxFQUNuRixnQkFBZ0IsQ0FDakIsQ0FBQztnQkFDRixPQUFPO2FBQ1I7WUFFRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FDckQsU0FBUyxDQUFDLElBQXFCLEVBQy9CLGdCQUFnQixFQUNoQixZQUFZLENBQ2IsQ0FBQztZQUVGLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRTtnQkFDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNsRjtZQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDL0Q7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLFlBQVksQ0FBQyxRQUFRLENBQ25CLG1EQUFtRCxhQUFhLEVBQUUsRUFDbEUsR0FBRyxDQUNKLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCx5QkFBeUIsQ0FDdkIsU0FBb0MsRUFDcEMsYUFBcUIsRUFDckIsWUFBMEI7UUFFMUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUM1RSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckUsSUFBSSxtQkFBbUIsRUFBRTtZQUN2QixJQUFJO2dCQUNGLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzdDO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osWUFBWSxDQUFDLFFBQVEsQ0FDbkIsb0RBQW9ELGFBQWEsRUFBRSxFQUNuRSxHQUFHLENBQ0osQ0FBQzthQUNIO1NBQ0Y7YUFBTTtZQUNMLFlBQVksQ0FBQyxPQUFPLENBQ2xCLG9EQUFvRCxhQUFhLCtDQUErQyxDQUNqSCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQzVCLG9CQUFtQyxFQUNuQyxZQUF5QixFQUN6QixHQUFpQjtRQUVqQiwrQ0FBK0M7UUFDL0MsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN0QyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFFBQVEsRUFBRSxHQUFHO2lCQUNkO2FBQ0Y7WUFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsdUJBQXVCO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRTtZQUN6RCxXQUFXLEVBQUUsWUFBWTtZQUN6QixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1lBQzdDLGVBQWUsRUFBRSxlQUFlO1NBQ2pDLENBQUMsQ0FBQztRQUVILHFGQUFxRjtRQUNyRiw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLG9DQUFvQztRQUNwQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFL0MsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7dUlBcEdVLHlDQUF5QzsySUFBekMseUNBQXlDLGNBRnhDLE1BQU07NEZBRVAseUNBQXlDO2tCQUhyRCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDb21wb25lbnRSZWYsXG4gIGNyZWF0ZUNvbXBvbmVudCxcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG4gIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWRhcHRhYmxlQXBpIH0gZnJvbSAnQGFkYXB0YWJsZXRvb2xzL2FkYXB0YWJsZS9zcmMvQXBpL0FkYXB0YWJsZUFwaSc7XG5pbXBvcnQgeyBBREFQVEFCTEVfQVBJIH0gZnJvbSAnLi9hZGFwdGFibGUtYW5ndWxhci1hZ2dyaWQudG9rZW4nO1xuaW1wb3J0IHsgQW5ndWxhckZyYW1ld29ya0NvbXBvbmVudCB9IGZyb20gJ0BhZGFwdGFibGV0b29scy9hZGFwdGFibGUvdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQWRhcHRhYmxlQW5ndWxhckZyYW1ld29ya0NvbXBvbmVudFNlcnZpY2Uge1xuICBwcml2YXRlIHRvb2xiYXJDb21wb25lbnRSZWZzOiBXZWFrTWFwPEFuZ3VsYXJGcmFtZXdvcmtDb21wb25lbnQsIENvbXBvbmVudFJlZjx1bmtub3duPj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZlxuICApIHtcbiAgICB0aGlzLnRvb2xiYXJDb21wb25lbnRSZWZzID0gbmV3IFdlYWtNYXA8QW5ndWxhckZyYW1ld29ya0NvbXBvbmVudCwgQ29tcG9uZW50UmVmPHVua25vd24+PigpO1xuICB9XG5cbiAgY3JlYXRlRnJhbWV3b3JrQ29tcG9uZW50KFxuICAgIGNvbXBvbmVudDogQW5ndWxhckZyYW1ld29ya0NvbXBvbmVudCxcbiAgICBjb250YWluZXJEb21Ob2RlOiBIVE1MRWxlbWVudCxcbiAgICBjb21wb25lbnRUeXBlOiBzdHJpbmcsXG4gICAgYWRhcHRhYmxlQXBpOiBBZGFwdGFibGVBcGlcbiAgKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGFkYXB0YWJsZUFwaS5sb2dJbmZvKGBDcmVhdGluZyBmcmFtZXdvcmsgY29tcG9uZW50IGZvciAke2NvbXBvbmVudFR5cGV9YCwgY29udGFpbmVyRG9tTm9kZSk7XG4gICAgICBpZiAodGhpcy50b29sYmFyQ29tcG9uZW50UmVmcy5oYXMoY29tcG9uZW50KSkge1xuICAgICAgICBhZGFwdGFibGVBcGkubG9nSW5mbyhcbiAgICAgICAgICBgQ3JlYXRpb24gb2YgZnJhbWV3b3JrIGNvbXBvbmVudCAke2NvbXBvbmVudFR5cGV9IHNraXBwZWQgYXMgaXQgaXMgYWxyZWFkeSBwcmVzZW50YCxcbiAgICAgICAgICBjb250YWluZXJEb21Ob2RlXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYW5ndWxhckNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlQW5ndWxhckNvbXBvbmVudChcbiAgICAgICAgY29tcG9uZW50LnR5cGUgYXMgVHlwZTx1bmtub3duPixcbiAgICAgICAgY29udGFpbmVyRG9tTm9kZSxcbiAgICAgICAgYWRhcHRhYmxlQXBpXG4gICAgICApO1xuXG4gICAgICBpZiAoY29tcG9uZW50Lm9uU2V0dXApIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihhbmd1bGFyQ29tcG9uZW50UmVmLmluc3RhbmNlLCBjb21wb25lbnQub25TZXR1cCh7IGFkYXB0YWJsZUFwaSB9KSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudG9vbGJhckNvbXBvbmVudFJlZnMuc2V0KGNvbXBvbmVudCwgYW5ndWxhckNvbXBvbmVudFJlZik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhZGFwdGFibGVBcGkubG9nRXJyb3IoXG4gICAgICAgIGBDYW5ub3QgY29ycmVjdGx5IGNyZWF0ZSBmcmFtZXdvcmsgY29tcG9uZW50IGZvciAke2NvbXBvbmVudFR5cGV9YCxcbiAgICAgICAgZXJyXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3lGcmFtZXdvcmtDb21wb25lbnQoXG4gICAgY29tcG9uZW50OiBBbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50LFxuICAgIGNvbXBvbmVudFR5cGU6IHN0cmluZyxcbiAgICBhZGFwdGFibGVBcGk6IEFkYXB0YWJsZUFwaVxuICApOiB2b2lkIHtcbiAgICBhZGFwdGFibGVBcGkubG9nSW5mbyhgRGVzdHJveWluZyBmcmFtZXdvcmsgY29tcG9uZW50IGZvciAke2NvbXBvbmVudFR5cGV9YCk7XG4gICAgY29uc3QgdG9vbGJhckNvbXBvbmVudFJlZiA9IHRoaXMudG9vbGJhckNvbXBvbmVudFJlZnMuZ2V0KGNvbXBvbmVudCk7XG4gICAgaWYgKHRvb2xiYXJDb21wb25lbnRSZWYpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRvb2xiYXJDb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnRvb2xiYXJDb21wb25lbnRSZWZzLmRlbGV0ZShjb21wb25lbnQpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGFkYXB0YWJsZUFwaS5sb2dFcnJvcihcbiAgICAgICAgICBgQ2Fubm90IGNvcnJlY3RseSBkZXN0cm95IGZyYW1ld29yayBjb21wb25lbnQgZm9yICR7Y29tcG9uZW50VHlwZX1gLFxuICAgICAgICAgIGVyclxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhZGFwdGFibGVBcGkubG9nSW5mbyhcbiAgICAgICAgYENhbm5vdCBjb3JyZWN0bHkgZGVzdHJveSBmcmFtZXdvcmsgY29tcG9uZW50IGZvciAke2NvbXBvbmVudFR5cGV9IGJlY2F1c2UgdGhlIHJlZmVyZW5jZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFuZ3VsYXJDb21wb25lbnQoXG4gICAgYW5ndWxhckNvbXBvbmVudFR5cGU6IFR5cGU8dW5rbm93bj4sXG4gICAgZG9tQ29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgICBhcGk6IEFkYXB0YWJsZUFwaVxuICApOiBDb21wb25lbnRSZWY8dW5rbm93bj4ge1xuICAgIC8vIGV4dGVuZCBzdGFuZGFyZCBESSBjb250ZXh0IHdpdGggQWRhcHRhYmxlQXBpXG4gICAgY29uc3QgdG9vbGJhckluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQURBUFRBQkxFX0FQSSxcbiAgICAgICAgICB1c2VWYWx1ZTogYXBpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICB9KTtcblxuICAgIC8vIGNyZWF0ZSB0aGUgY29tcG9uZW50XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KGFuZ3VsYXJDb21wb25lbnRUeXBlLCB7XG4gICAgICBob3N0RWxlbWVudDogZG9tQ29udGFpbmVyLFxuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgZWxlbWVudEluamVjdG9yOiB0b29sYmFySW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICAvLyBMYXN0IHN0ZXAgaXMgdG8gcmVnaXN0ZXIgdGhlIG5ld2x5IGNyZWF0ZWQgcmVmIHVzaW5nIHRoZSBgQXBwbGljYXRpb25SZWZgIGluc3RhbmNlXG4gICAgLy8gdG8gaW5jbHVkZSB0aGUgY29tcG9uZW50IHZpZXcgaW50byBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlcy5cbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgLy8gdHJpZ2dlciBhbiBlYXJseSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
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 { AdaptableQL, AdaptableBooleanExpressionFunctions, AdaptableScalarExpressionFunctions, AdaptableAggregatedBooleanExpressionFunctions, AdaptableAggregatedScalarExpressionFunctions, AdaptableObservableExpressionFunctions, } from '@adaptabletools/adaptable/agGrid';
|
|
8
|
+
export { ADAPTABLE_API } from './lib/adaptable-angular-aggrid.token';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FkYXB0YWJsZS1hbmd1bGFyLWFnZ3JpZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUNBQW1DLEVBQ25DLGtDQUFrQyxFQUNsQyw2Q0FBNkMsRUFDN0MsNENBQTRDLEVBQzVDLHNDQUFzQyxHQUN2QyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYWRhcHRhYmxlLWFuZ3VsYXItYWdncmlkXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWRhcHRhYmxlLWFuZ3VsYXItYWctZ3JpZC1jb21wb25lbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FkYXB0YWJsZS1hbmd1bGFyLWFnZ3JpZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnQGFkYXB0YWJsZXRvb2xzL2FkYXB0YWJsZS9zcmMvdHlwZXMnO1xuZXhwb3J0IHtcbiAgQWRhcHRhYmxlUUwsXG4gIEFkYXB0YWJsZUJvb2xlYW5FeHByZXNzaW9uRnVuY3Rpb25zLFxuICBBZGFwdGFibGVTY2FsYXJFeHByZXNzaW9uRnVuY3Rpb25zLFxuICBBZGFwdGFibGVBZ2dyZWdhdGVkQm9vbGVhbkV4cHJlc3Npb25GdW5jdGlvbnMsXG4gIEFkYXB0YWJsZUFnZ3JlZ2F0ZWRTY2FsYXJFeHByZXNzaW9uRnVuY3Rpb25zLFxuICBBZGFwdGFibGVPYnNlcnZhYmxlRXhwcmVzc2lvbkZ1bmN0aW9ucyxcbn0gZnJvbSAnQGFkYXB0YWJsZXRvb2xzL2FkYXB0YWJsZS9hZ0dyaWQnO1xuZXhwb3J0IHsgQURBUFRBQkxFX0FQSSB9IGZyb20gJy4vbGliL2FkYXB0YWJsZS1hbmd1bGFyLWFnZ3JpZC50b2tlbic7XG4iXX0=
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, Injector, createComponent, Injectable, EventEmitter, Directive, Input, Output, NgModule } from '@angular/core';
|
|
3
|
+
import { Adaptable } from '@adaptabletools/adaptable/src/agGrid/Adaptable';
|
|
4
|
+
export * from '@adaptabletools/adaptable/src/types';
|
|
5
|
+
export { AdaptableAggregatedBooleanExpressionFunctions, AdaptableAggregatedScalarExpressionFunctions, AdaptableBooleanExpressionFunctions, AdaptableObservableExpressionFunctions, AdaptableQL, AdaptableScalarExpressionFunctions } from '@adaptabletools/adaptable/agGrid';
|
|
6
|
+
|
|
7
|
+
const ADAPTABLE_API = new InjectionToken('ADAPTABLE_API');
|
|
8
|
+
|
|
9
|
+
class AdaptableAngularFrameworkComponentService {
|
|
10
|
+
constructor(injector, environmentInjector, appRef) {
|
|
11
|
+
this.injector = injector;
|
|
12
|
+
this.environmentInjector = environmentInjector;
|
|
13
|
+
this.appRef = appRef;
|
|
14
|
+
this.toolbarComponentRefs = new WeakMap();
|
|
15
|
+
}
|
|
16
|
+
createFrameworkComponent(component, containerDomNode, componentType, adaptableApi) {
|
|
17
|
+
try {
|
|
18
|
+
adaptableApi.logInfo(`Creating framework component for ${componentType}`, containerDomNode);
|
|
19
|
+
if (this.toolbarComponentRefs.has(component)) {
|
|
20
|
+
adaptableApi.logInfo(`Creation of framework component ${componentType} skipped as it is already present`, containerDomNode);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const angularComponentRef = this.createAngularComponent(component.type, containerDomNode, adaptableApi);
|
|
24
|
+
if (component.onSetup) {
|
|
25
|
+
Object.assign(angularComponentRef.instance, component.onSetup({ adaptableApi }));
|
|
26
|
+
}
|
|
27
|
+
this.toolbarComponentRefs.set(component, angularComponentRef);
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
adaptableApi.logError(`Cannot correctly create framework component for ${componentType}`, err);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
destroyFrameworkComponent(component, componentType, adaptableApi) {
|
|
34
|
+
adaptableApi.logInfo(`Destroying framework component for ${componentType}`);
|
|
35
|
+
const toolbarComponentRef = this.toolbarComponentRefs.get(component);
|
|
36
|
+
if (toolbarComponentRef) {
|
|
37
|
+
try {
|
|
38
|
+
toolbarComponentRef.destroy();
|
|
39
|
+
this.toolbarComponentRefs.delete(component);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
adaptableApi.logError(`Cannot correctly destroy framework component for ${componentType}`, err);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
adaptableApi.logInfo(`Cannot correctly destroy framework component for ${componentType} because the reference is no longer available`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
createAngularComponent(angularComponentType, domContainer, api) {
|
|
50
|
+
// extend standard DI context with AdaptableApi
|
|
51
|
+
const toolbarInjector = Injector.create({
|
|
52
|
+
providers: [
|
|
53
|
+
{
|
|
54
|
+
provide: ADAPTABLE_API,
|
|
55
|
+
useValue: api,
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
parent: this.injector,
|
|
59
|
+
});
|
|
60
|
+
// create the component
|
|
61
|
+
const componentRef = createComponent(angularComponentType, {
|
|
62
|
+
hostElement: domContainer,
|
|
63
|
+
environmentInjector: this.environmentInjector,
|
|
64
|
+
elementInjector: toolbarInjector,
|
|
65
|
+
});
|
|
66
|
+
// Last step is to register the newly created ref using the `ApplicationRef` instance
|
|
67
|
+
// to include the component view into change detection cycles.
|
|
68
|
+
this.appRef.attachView(componentRef.hostView);
|
|
69
|
+
// trigger an early change detection
|
|
70
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
71
|
+
return componentRef;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
AdaptableAngularFrameworkComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularFrameworkComponentService, deps: [{ token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
AdaptableAngularFrameworkComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularFrameworkComponentService, providedIn: 'root' });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularFrameworkComponentService, decorators: [{
|
|
77
|
+
type: Injectable,
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root',
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.EnvironmentInjector }, { type: i0.ApplicationRef }]; } });
|
|
82
|
+
|
|
83
|
+
function getRandomInt(max) {
|
|
84
|
+
return Math.floor(Math.random() * Math.floor(max));
|
|
85
|
+
}
|
|
86
|
+
class AdaptableAngularAgGridComponentDirective {
|
|
87
|
+
constructor(renderer, el, frameworkComponentService) {
|
|
88
|
+
this.renderer = renderer;
|
|
89
|
+
this.el = el;
|
|
90
|
+
this.frameworkComponentService = frameworkComponentService;
|
|
91
|
+
this.adaptableReady = new EventEmitter();
|
|
92
|
+
const seedId = `${getRandomInt(1000)}-${Date.now()}`;
|
|
93
|
+
this.adaptableContainerId = `adaptable-${seedId}`;
|
|
94
|
+
}
|
|
95
|
+
async ngOnInit() {
|
|
96
|
+
if (this.modules == null) {
|
|
97
|
+
throw new Error(`Attribute 'modules' is required. Please pass the ag-grid modules you use into AdapTable.
|
|
98
|
+
If you don't have extra modules, pass an empty array.`);
|
|
99
|
+
}
|
|
100
|
+
this.createAngularWrapperContainer();
|
|
101
|
+
this.adaptableOptions.containerOptions = this.adaptableOptions.containerOptions || {};
|
|
102
|
+
this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;
|
|
103
|
+
const adaptableApi = await Adaptable.initInternal(this.adaptableOptions, {
|
|
104
|
+
gridOptions: this.gridOptions,
|
|
105
|
+
waitForAgGrid: true,
|
|
106
|
+
variant: 'angular',
|
|
107
|
+
modules: this.modules,
|
|
108
|
+
});
|
|
109
|
+
adaptableApi.internalApi
|
|
110
|
+
.getAdaptableInstance()
|
|
111
|
+
._onIncludeFired('FrameworkComponentChange', ({ command, frameworkComponent, containerDomNode, componentType }) => {
|
|
112
|
+
if (command === 'create') {
|
|
113
|
+
this.frameworkComponentService.createFrameworkComponent(frameworkComponent, containerDomNode, componentType, adaptableApi);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.frameworkComponentService.destroyFrameworkComponent(frameworkComponent, componentType, adaptableApi);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
adaptableApi.eventApi.on('AdaptableReady', (adaptableReadyInfo) => this.adaptableReady.emit(adaptableReadyInfo));
|
|
120
|
+
this.adaptableApi = adaptableApi;
|
|
121
|
+
}
|
|
122
|
+
ngOnDestroy() {
|
|
123
|
+
if (!this.adaptableApi) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
this.adaptableApi.destroy({
|
|
127
|
+
unmount: true,
|
|
128
|
+
destroyApi: false,
|
|
129
|
+
});
|
|
130
|
+
this.adaptableApi = null;
|
|
131
|
+
}
|
|
132
|
+
// creates the container for the adaptable toolbar and inserts it before the ag-grid element
|
|
133
|
+
createAngularWrapperContainer() {
|
|
134
|
+
const adaptableContainer = this.renderer.createElement('div');
|
|
135
|
+
adaptableContainer.style.setProperty('display', 'flex');
|
|
136
|
+
adaptableContainer.style.setProperty('flex-flow', 'var(--ab_flex-direction, column)');
|
|
137
|
+
this.renderer.setProperty(adaptableContainer, 'id', this.adaptableContainerId);
|
|
138
|
+
this.renderer.insertBefore(this.renderer.parentNode(this.el.nativeElement), adaptableContainer, this.el.nativeElement);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
AdaptableAngularAgGridComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularAgGridComponentDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: AdaptableAngularFrameworkComponentService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
142
|
+
AdaptableAngularAgGridComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AdaptableAngularAgGridComponentDirective, selector: "ag-grid-angular[adaptableOptions]", inputs: { adaptableOptions: "adaptableOptions", modules: "modules", gridOptions: "gridOptions" }, outputs: { adaptableReady: "adaptableReady" }, providers: [AdaptableAngularFrameworkComponentService], ngImport: i0 });
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularAgGridComponentDirective, decorators: [{
|
|
144
|
+
type: Directive,
|
|
145
|
+
args: [{
|
|
146
|
+
selector: 'ag-grid-angular[adaptableOptions]',
|
|
147
|
+
// ensures each AG Grid instance has its own copy of the service (incl. the framework component references)
|
|
148
|
+
providers: [AdaptableAngularFrameworkComponentService],
|
|
149
|
+
}]
|
|
150
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: AdaptableAngularFrameworkComponentService }]; }, propDecorators: { adaptableOptions: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], modules: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], gridOptions: [{
|
|
155
|
+
type: Input
|
|
156
|
+
}], adaptableReady: [{
|
|
157
|
+
type: Output
|
|
158
|
+
}] } });
|
|
159
|
+
|
|
160
|
+
class AdaptableAngularAgGridModule {
|
|
161
|
+
}
|
|
162
|
+
AdaptableAngularAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
163
|
+
AdaptableAngularAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularAgGridModule, declarations: [AdaptableAngularAgGridComponentDirective], exports: [AdaptableAngularAgGridComponentDirective] });
|
|
164
|
+
AdaptableAngularAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularAgGridModule });
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAngularAgGridModule, decorators: [{
|
|
166
|
+
type: NgModule,
|
|
167
|
+
args: [{
|
|
168
|
+
declarations: [AdaptableAngularAgGridComponentDirective],
|
|
169
|
+
imports: [],
|
|
170
|
+
exports: [AdaptableAngularAgGridComponentDirective],
|
|
171
|
+
providers: [],
|
|
172
|
+
}]
|
|
173
|
+
}] });
|
|
174
|
+
|
|
175
|
+
/*
|
|
176
|
+
* Public API Surface of adaptable-angular-aggrid
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Generated bundle index. Do not edit.
|
|
181
|
+
*/
|
|
182
|
+
|
|
183
|
+
export { ADAPTABLE_API, AdaptableAngularAgGridComponentDirective, AdaptableAngularAgGridModule };
|
|
184
|
+
//# 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 ComponentRef,\n createComponent,\n EnvironmentInjector,\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 { AngularFrameworkComponent } from '@adaptabletools/adaptable/types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AdaptableAngularFrameworkComponentService {\n private toolbarComponentRefs: WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>;\n\n constructor(\n private injector: Injector,\n private environmentInjector: EnvironmentInjector,\n private appRef: ApplicationRef\n ) {\n this.toolbarComponentRefs = new WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>();\n }\n\n createFrameworkComponent(\n component: AngularFrameworkComponent,\n containerDomNode: HTMLElement,\n componentType: string,\n adaptableApi: AdaptableApi\n ): void {\n try {\n adaptableApi.logInfo(`Creating framework component for ${componentType}`, containerDomNode);\n if (this.toolbarComponentRefs.has(component)) {\n adaptableApi.logInfo(\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 adaptableApi.logError(\n `Cannot correctly create framework component for ${componentType}`,\n err\n );\n }\n }\n\n destroyFrameworkComponent(\n component: AngularFrameworkComponent,\n componentType: string,\n adaptableApi: AdaptableApi\n ): void {\n adaptableApi.logInfo(`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 adaptableApi.logError(\n `Cannot correctly destroy framework component for ${componentType}`,\n err\n );\n }\n } else {\n adaptableApi.logInfo(\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 componentRef = createComponent(angularComponentType, {\n hostElement: domContainer,\n environmentInjector: this.environmentInjector,\n elementInjector: toolbarInjector,\n });\n\n // Last step is to register the newly created ref using the `ApplicationRef` instance\n // to include the component view into change detection cycles.\n this.appRef.attachView(componentRef.hostView);\n // trigger an early change detection\n componentRef.changeDetectorRef.detectChanges();\n\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<TData = any> implements OnDestroy, OnInit {\n @Input() adaptableOptions: AdaptableOptions<TData>;\n @Input() modules: Module[];\n @Input() gridOptions: GridOptions<TData>;\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.containerOptions = this.adaptableOptions.containerOptions || {};\n this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;\n\n const adaptableApi = await Adaptable.initInternal(this.adaptableOptions, {\n gridOptions: this.gridOptions,\n waitForAgGrid: true,\n variant: 'angular',\n modules: this.modules,\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 adaptableApi\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 {\n AdaptableQL,\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
|
@@ -744,20 +744,15 @@ template {
|
|
|
744
744
|
** ADAPTABLE BASE STYLES **
|
|
745
745
|
**********************************/
|
|
746
746
|
|
|
747
|
-
|
|
747
|
+
.rdp {
|
|
748
748
|
--rdp-cell-size: 40px;
|
|
749
749
|
--rdp-accent-color: #0000ff;
|
|
750
750
|
--rdp-background-color: #e7edff;
|
|
751
|
-
/* Switch to dark colors for dark themes */
|
|
752
751
|
--rdp-accent-color-dark: #3003e1;
|
|
753
752
|
--rdp-background-color-dark: #180270;
|
|
754
|
-
/* Outline border for focused elements */
|
|
755
|
-
--rdp-outline: 2px solid
|
|
756
|
-
/* Outline border for focused and selected elements */
|
|
757
|
-
--rdp-outline-selected: 2px solid rgba(0, 0, 0, 0.75);
|
|
758
|
-
}
|
|
753
|
+
--rdp-outline: 2px solid var(--rdp-accent-color); /* Outline border for focused elements */
|
|
754
|
+
--rdp-outline-selected: 2px solid rgba(0, 0, 0, 0.75); /* Outline border for focused _and_ selected elements */
|
|
759
755
|
|
|
760
|
-
.rdp {
|
|
761
756
|
margin: 1em;
|
|
762
757
|
}
|
|
763
758
|
|
|
@@ -803,23 +798,22 @@ template {
|
|
|
803
798
|
border: 2px solid transparent;
|
|
804
799
|
}
|
|
805
800
|
|
|
806
|
-
.rdp-button[
|
|
801
|
+
.rdp-button[disabled] {
|
|
807
802
|
opacity: 0.25;
|
|
808
|
-
pointer-events: none;
|
|
809
803
|
}
|
|
810
804
|
|
|
811
|
-
.rdp-button:not([
|
|
805
|
+
.rdp-button:not([disabled]) {
|
|
812
806
|
cursor: pointer;
|
|
813
807
|
}
|
|
814
808
|
|
|
815
|
-
.rdp-button:focus,
|
|
816
|
-
.rdp-button:active {
|
|
809
|
+
.rdp-button:focus:not([disabled]),
|
|
810
|
+
.rdp-button:active:not([disabled]) {
|
|
817
811
|
color: inherit;
|
|
818
812
|
border: var(--rdp-outline);
|
|
819
813
|
background-color: var(--rdp-background-color);
|
|
820
814
|
}
|
|
821
815
|
|
|
822
|
-
.rdp-button:hover:not([
|
|
816
|
+
.rdp-button:hover:not([disabled]) {
|
|
823
817
|
background-color: var(--rdp-background-color);
|
|
824
818
|
}
|
|
825
819
|
|
|
@@ -1020,15 +1014,15 @@ template {
|
|
|
1020
1014
|
font-weight: bold;
|
|
1021
1015
|
}
|
|
1022
1016
|
|
|
1023
|
-
.rdp-day_selected:not([
|
|
1024
|
-
.rdp-day_selected:focus:not([
|
|
1025
|
-
.rdp-day_selected:active:not([
|
|
1026
|
-
.rdp-day_selected:hover:not([
|
|
1017
|
+
.rdp-day_selected:not([disabled]),
|
|
1018
|
+
.rdp-day_selected:focus:not([disabled]),
|
|
1019
|
+
.rdp-day_selected:active:not([disabled]),
|
|
1020
|
+
.rdp-day_selected:hover:not([disabled]) {
|
|
1027
1021
|
color: white;
|
|
1028
1022
|
background-color: var(--rdp-accent-color);
|
|
1029
1023
|
}
|
|
1030
1024
|
|
|
1031
|
-
.rdp-day_selected:focus:not([
|
|
1025
|
+
.rdp-day_selected:focus:not([disabled]) {
|
|
1032
1026
|
border: var(--rdp-outline-selected);
|
|
1033
1027
|
}
|
|
1034
1028
|
|
|
@@ -1858,6 +1852,81 @@ template {
|
|
|
1858
1852
|
--ab-cmp-checkbox__border-color: var(--ag-checkbox-unchecked-color);
|
|
1859
1853
|
}
|
|
1860
1854
|
|
|
1855
|
+
.ab-QueryBuilder__expression {
|
|
1856
|
+
background-color: var(--ab-cmp-query-builder-expression__background);
|
|
1857
|
+
color: var(--ab-cmp-query-builder-expression__color);
|
|
1858
|
+
font-size: var(--ab-cmp-query-builder-expression__font-size);
|
|
1859
|
+
}
|
|
1860
|
+
|
|
1861
|
+
.ab-QueryBuilder-predicate-editor {
|
|
1862
|
+
position: relative;
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
.ab-QueryBuilder-predicate-editor:before {
|
|
1866
|
+
content: "";
|
|
1867
|
+
position: absolute;
|
|
1868
|
+
top: 20px;
|
|
1869
|
+
left: -10px;
|
|
1870
|
+
width: 10px;
|
|
1871
|
+
height: 0px;
|
|
1872
|
+
border-top: var(--ab-cmp-query-builder__border);
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
.ab-QueryBuilder-predicate-editor--child .ab-QueryBuilder-predicate-editor__children-wrapper {
|
|
1876
|
+
margin-left: 25px;
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1879
|
+
.ab-QueryBuilder-predicate-editor__children-wrapper {
|
|
1880
|
+
position: relative;
|
|
1881
|
+
padding-left: 20px;
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
.ab-QueryBuilder-predicate-editor:after {
|
|
1885
|
+
content: "";
|
|
1886
|
+
position: absolute;
|
|
1887
|
+
top: 1px;
|
|
1888
|
+
bottom: 0;
|
|
1889
|
+
border-left: var(--ab-cmp-query-builder__border);
|
|
1890
|
+
left: -12px;
|
|
1891
|
+
}
|
|
1892
|
+
|
|
1893
|
+
.ab-QueryBuilder-predicate-editor--root {
|
|
1894
|
+
padding-left: 20px;
|
|
1895
|
+
}
|
|
1896
|
+
|
|
1897
|
+
.ab-QueryBuilder-predicate-editor--root:before {
|
|
1898
|
+
left: 10px;
|
|
1899
|
+
}
|
|
1900
|
+
|
|
1901
|
+
.ab-QueryBuilder-predicate-editor--root:after {
|
|
1902
|
+
left: 10px;
|
|
1903
|
+
top: 20px;
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
.ab-QueryBuilder-predicate-editor__root-actions {
|
|
1907
|
+
padding-top: 10px;
|
|
1908
|
+
}
|
|
1909
|
+
|
|
1910
|
+
.ab-QueryBuilder-predicate-editor__root-actions:before {
|
|
1911
|
+
content: "";
|
|
1912
|
+
display: block;
|
|
1913
|
+
position: absolute;
|
|
1914
|
+
border-bottom: var(--ab-cmp-query-builder__border);
|
|
1915
|
+
bottom: 14px;
|
|
1916
|
+
left: 9px;
|
|
1917
|
+
height: 0px;
|
|
1918
|
+
width: 13px;
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
.ab-QueryBuilder-predicate-editor__root-actions:after {
|
|
1922
|
+
content: "";
|
|
1923
|
+
position: absolute;
|
|
1924
|
+
border-left: var(--ab-cmp-query-builder__border);
|
|
1925
|
+
height: 21px;
|
|
1926
|
+
bottom: 16px;
|
|
1927
|
+
left: 8px;
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1861
1930
|
:root {
|
|
1862
1931
|
--ab-cmp-dialog__background: var(--ab-color-defaultbackground, white);
|
|
1863
1932
|
--ab-cmp-dialog__color: var(--ab-color-text-on-defaultbackground, white);
|
|
@@ -1883,6 +1952,8 @@ template {
|
|
|
1883
1952
|
--ab-cmp-dropdownbutton-list-item__padding: var(--ab-space-2);
|
|
1884
1953
|
--ab-cmp-dropdownbutton-list-item-hover__background: var(--ab-color-primary);
|
|
1885
1954
|
--ab-cmp-dropdownbutton-list-item-hover__color: var(--ab-color-text-on-primary);
|
|
1955
|
+
--ab-cmp-dropdownbutton-list-item-active__background: var(--ab-color-primarydark);
|
|
1956
|
+
--ab-cmp-dropdownbutton-list-item-active__color: var(--ab-color-on-primarydark);
|
|
1886
1957
|
--ab-cmp-dropdownbutton-list-item__color: var(--ab-color-text-on-primary);
|
|
1887
1958
|
--ab-cmp-dropdownbutton-list__z-index: 1000;
|
|
1888
1959
|
--ab-cmp-dropdownbutton-list__border-radius: var(--ab__border-radius);
|
|
@@ -1898,6 +1969,13 @@ template {
|
|
|
1898
1969
|
--ab-cmp-error-box__background: var(--ab-color-error);
|
|
1899
1970
|
}
|
|
1900
1971
|
|
|
1972
|
+
:root {
|
|
1973
|
+
--ab-cmp-warning-box__padding: var(--ab-space-3);
|
|
1974
|
+
--ab-cmp-warning-box__border-radius: var(--ab__border-radius);
|
|
1975
|
+
--ab-cmp-warning-box__color: var(--ab-color-text-on-warn);
|
|
1976
|
+
--ab-cmp-warning-box__background: var(--ab-color-warn);
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1901
1979
|
:root {
|
|
1902
1980
|
--ab-cmp-field-wrap__background: var(--ab-color-defaultbackground);
|
|
1903
1981
|
--ab-cmp-field-wrap__fill: var(--ab-color-inputcolor);
|
|
@@ -2572,6 +2650,13 @@ html.ab--theme-dark {
|
|
|
2572
2650
|
position: absolute;
|
|
2573
2651
|
}
|
|
2574
2652
|
|
|
2653
|
+
:root {
|
|
2654
|
+
--ab-cmp-query-builder__border: 1px dotted var(--ab-color-text-on-defaultbackground);
|
|
2655
|
+
--ab-cmp-query-builder-expression__background: var(--ab-color-primary);
|
|
2656
|
+
--ab-cmp-query-builder-expression__color: var(--ab-color-text-on-primary);
|
|
2657
|
+
--ab-cmp-query-builder-expression__font-size: var(--ab-font-size-3);
|
|
2658
|
+
}
|
|
2659
|
+
|
|
2575
2660
|
.ab-Dialog {
|
|
2576
2661
|
position: relative;
|
|
2577
2662
|
background: var(--ab-cmp-dialog__background);
|
|
@@ -2740,6 +2825,13 @@ html.ab--theme-dark {
|
|
|
2740
2825
|
color: var(--ab-cmp-error-box__color);
|
|
2741
2826
|
}
|
|
2742
2827
|
|
|
2828
|
+
.ab-WarningBox {
|
|
2829
|
+
padding: var(--ab-cmp-warning-box__padding);
|
|
2830
|
+
border-radius: var(--ab-cmp-warning-box__border-radius);
|
|
2831
|
+
background: var(--ab-cmp-warning-box__background);
|
|
2832
|
+
color: var(--ab-cmp-warning-box__color);
|
|
2833
|
+
}
|
|
2834
|
+
|
|
2743
2835
|
.ab-FieldWrap {
|
|
2744
2836
|
border: 1px solid var(--ab-color-inputborder);
|
|
2745
2837
|
color: 1px solid var(--ab-color-inputcolor);
|
|
@@ -3444,6 +3536,11 @@ input[type=number].ab-Input:hover::-webkit-inner-spin-button:active {
|
|
|
3444
3536
|
font-size: var(--ab-font-size-3);
|
|
3445
3537
|
}
|
|
3446
3538
|
|
|
3539
|
+
.ab-Dashboard__pinned {
|
|
3540
|
+
overflow-x: auto;
|
|
3541
|
+
font-size: var(--ab-font-size-3);
|
|
3542
|
+
}
|
|
3543
|
+
|
|
3447
3544
|
.ab-Dashboard__toolbar-content {
|
|
3448
3545
|
padding: var(--ab-space-2) var(--ab-space-2) var(--ab-space-1) var(--ab-space-2);
|
|
3449
3546
|
display: flex;
|
|
@@ -3521,7 +3618,7 @@ input[type=number].ab-Input:hover::-webkit-inner-spin-button:active {
|
|
|
3521
3618
|
--ab-cmp-listgroupitem--odd__background: transparent;
|
|
3522
3619
|
}
|
|
3523
3620
|
|
|
3524
|
-
|
|
3621
|
+
.rdp {
|
|
3525
3622
|
--rdp-cell-size: var(--ab-cmp-datepicker__cell-size);
|
|
3526
3623
|
--rdp-accent-color: var(--ab-cmp-datepicker__selected-color);
|
|
3527
3624
|
--rdp-background-color: var(--ab-cmp-datepicker__hover-color);
|
|
@@ -3910,7 +4007,6 @@ input[type=number].ab-Input:hover::-webkit-inner-spin-button:active {
|
|
|
3910
4007
|
|
|
3911
4008
|
.ab-DashboardToolbar__SystemStatus__text {
|
|
3912
4009
|
border-radius: var(--ab-cmp-system-status-list-text__border-radius);
|
|
3913
|
-
font-weight: var(--ab-cmp-system-status-list-text__font-weight);
|
|
3914
4010
|
font-size: var(--ab-cmp-system-status-list-text__font-size);
|
|
3915
4011
|
color: var(--ab-cmp-system-status-list-text__color);
|
|
3916
4012
|
padding: var(--ab-cmp-system-status-list-text__padding);
|