@adaptabletools/adaptable-angular-aggrid 16.2.3 → 17.0.0-canary.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,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
- :root {
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 var(--rdp-accent-color);
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[aria-disabled='true'] {
801
+ .rdp-button[disabled] {
807
802
  opacity: 0.25;
808
- pointer-events: none;
809
803
  }
810
804
 
811
- .rdp-button:not([aria-disabled='true']) {
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([aria-disabled='true']) {
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([aria-disabled='true']),
1024
- .rdp-day_selected:focus:not([aria-disabled='true']),
1025
- .rdp-day_selected:active:not([aria-disabled='true']),
1026
- .rdp-day_selected:hover:not([aria-disabled='true']) {
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([aria-disabled='true']) {
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
- :root {
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);