@adaptabletools/adaptable-angular-aggrid 18.0.0-canary.19 → 18.0.0-canary.21

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.
@@ -1 +1 @@
1
- {"version":3,"file":"adaptabletools-adaptable-angular-aggrid.mjs","sources":["../../../projects/adaptable-angular-aggrid/src/lib/adaptable-api.token.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-controller.service.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-provider.component.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-ui.component.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-aggrid.directive.ts","../../../projects/adaptable-angular-aggrid/src/lib/waitForCondition.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-angular-aggrid.component.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/Api/AdaptableApi';\nexport const ADAPTABLE_API = new InjectionToken<AdaptableApi>('ADAPTABLE_API');\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n EventEmitter,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GridApi, GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableFrameworkComponent';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { ADAPTABLE_API } from './adaptable-api.token';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\n\nexport type AdaptableInitialisationPhase =\n | 'waitForAdaptableProps'\n | 'waitForAdaptableInit'\n | 'waitForAgGridInit'\n | 'waitForAdaptableReady';\n\nexport type RenderAgGridFrameworkComponentResult = false | GridApi;\n@Injectable()\nexport class AdaptableControllerService {\n adaptableOptions: AdaptableOptions;\n gridOptions: GridOptions;\n modules: Module[];\n\n adaptableReady: EventEmitter<AdaptableReadyInfo>;\n\n private phase: BehaviorSubject<AdaptableInitialisationPhase>;\n\n private agGridFrameworkPromise: Promise<RenderAgGridFrameworkComponentResult>;\n private resolveAgGridFrameworkPromise: (result: RenderAgGridFrameworkComponentResult) => void;\n\n private toolbarComponentRefs: WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>;\n constructor(\n private injector: Injector,\n private environmentInjector: EnvironmentInjector,\n private appRef: ApplicationRef\n ) {\n this.adaptableReady = new EventEmitter<AdaptableReadyInfo>();\n this.phase = new BehaviorSubject<AdaptableInitialisationPhase>('waitForAdaptableProps');\n this.agGridFrameworkPromise = new Promise<RenderAgGridFrameworkComponentResult>((resolve) => {\n this.resolveAgGridFrameworkPromise = resolve;\n });\n this.toolbarComponentRefs = new WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>();\n }\n\n currentInitPhase(): Observable<AdaptableInitialisationPhase> {\n return this.phase.asObservable();\n }\n setInitialisationPhase(phase: AdaptableInitialisationPhase) {\n this.phase.next(phase);\n }\n registerAdaptableOptions(adaptableOptions: AdaptableOptions) {\n this.adaptableOptions = adaptableOptions;\n this.checkIfAllPropsAreSet();\n }\n registerGridOptions(gridOptions: GridOptions) {\n this.gridOptions = gridOptions;\n this.checkIfAllPropsAreSet();\n }\n registerModules(modules: Module[]) {\n this.modules = modules;\n this.checkIfAllPropsAreSet();\n }\n renderAgGridFrameworkComponent(\n gridOptions: GridOptions\n ): Promise<RenderAgGridFrameworkComponentResult> {\n this.gridOptions = gridOptions;\n\n this.setInitialisationPhase('waitForAgGridInit');\n\n return this.agGridFrameworkPromise;\n }\n onAdaptableReady(adaptableReadyInfo: AdaptableReadyInfo) {\n this.adaptableReady.emit(adaptableReadyInfo);\n }\n\n onAgGridReady(agGridApi: GridApi) {\n this.resolveAgGridFrameworkPromise(agGridApi);\n this.setInitialisationPhase('waitForAdaptableReady');\n }\n private checkIfAllPropsAreSet() {\n if (this.adaptableOptions && this.gridOptions && this.modules) {\n this.setInitialisationPhase('waitForAdaptableInit');\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 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 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 { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\n\n@Component({\n selector: 'adaptable-provider',\n template: `<ng-content></ng-content>`,\n providers: [AdaptableControllerService],\n host: {\n class: 'ab__ng-wrapper',\n },\n})\nexport class AdaptableProvider implements OnChanges {\n @Input()\n adaptableOptions: AdaptableOptions;\n @Input()\n gridOptions: GridOptions;\n @Input()\n modules: Module[];\n\n @Output() adaptableReady: EventEmitter<AdaptableReadyInfo>;\n constructor(private adaptableControllerService: AdaptableControllerService) {\n this.adaptableReady = this.adaptableControllerService.adaptableReady;\n }\n ngOnChanges(changes: SimpleChanges): void {\n const adaptableOptionsChange = changes['adaptableOptions'];\n if (adaptableOptionsChange) {\n if (adaptableOptionsChange.previousValue != undefined) {\n console.error(\n `Mutating AdaptableOptions after Adaptable has been initialised is not supported!`\n );\n } else if (adaptableOptionsChange.currentValue != undefined) {\n this.adaptableControllerService.registerAdaptableOptions(\n adaptableOptionsChange.currentValue\n );\n }\n }\n const gridOptionsChange = changes['gridOptions'];\n if (gridOptionsChange) {\n if (gridOptionsChange.previousValue != undefined) {\n console.error(`Mutating GridOptions after AG Grid has been initialised is not supported!`);\n } else if (gridOptionsChange.currentValue != undefined) {\n this.adaptableControllerService.registerGridOptions(gridOptionsChange.currentValue);\n }\n }\n const modulesChange = changes['modules'];\n if (modulesChange) {\n if (modulesChange.previousValue != undefined) {\n console.error(`Mutating Modules after AG Grid has been initialised is not supported!`);\n } else if (modulesChange.currentValue != undefined) {\n this.adaptableControllerService.registerModules(modulesChange.currentValue);\n }\n }\n }\n\n onAdaptableReady(adaptableReadyInfo: AdaptableReadyInfo) {\n this.adaptableReady.emit(adaptableReadyInfo);\n }\n}\n","import { Attribute, Component, OnDestroy } from '@angular/core';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { _AdaptableAgGrid } from '@adaptabletools/adaptable/agGrid';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableFrameworkComponent';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\nimport { Subscription } from 'rxjs';\n\nfunction getRandomInt(max: number): number {\n return Math.floor(Math.random() * Math.floor(max));\n}\n\n@Component({\n selector: 'adaptable-ui',\n template: ` <div *ngIf=\"readyForAdaptableInit\" [id]=\"adaptableContainerId\"></div>`,\n styles: [],\n})\nexport class AdaptableUI implements OnDestroy {\n readyForAdaptableInit: boolean;\n adaptableContainerId: string;\n\n private adaptableApi: AdaptableApi;\n\n private phaseSubscription: Subscription;\n constructor(\n @Attribute('id') elementId: string,\n private adaptableControllerService: AdaptableControllerService\n ) {\n this.readyForAdaptableInit = false;\n this.adaptableContainerId = elementId || `adaptable-${getRandomInt(1000)}-${Date.now()}`;\n\n this.phaseSubscription = this.adaptableControllerService\n .currentInitPhase()\n .subscribe((phase) => {\n if (phase === 'waitForAdaptableInit') {\n this.readyForAdaptableInit = true;\n this.initializeAdaptable();\n }\n });\n }\n ngOnDestroy() {\n this.phaseSubscription?.unsubscribe();\n if (!this.adaptableApi) {\n return;\n }\n this.adaptableApi.destroy({\n unmount: true,\n destroyApi: false,\n });\n this.adaptableApi = null;\n }\n get adaptableOptions() {\n return this.adaptableControllerService.adaptableOptions;\n }\n\n get gridOptions() {\n return this.adaptableControllerService.gridOptions;\n }\n\n get modules() {\n return this.adaptableControllerService.modules;\n }\n\n private initializeAdaptable() {\n this.adaptableOptions.containerOptions = this.adaptableOptions.containerOptions || {};\n this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;\n\n _AdaptableAgGrid\n ._initInternal({\n adaptableOptions: this.adaptableOptions,\n gridOptions: this.gridOptions,\n modules: this.modules,\n variant: 'angular',\n renderAgGridFrameworkComponent: (gridOptions) =>\n this.adaptableControllerService.renderAgGridFrameworkComponent(gridOptions),\n })\n .then((adaptableApi) => {\n this.adaptableApi = adaptableApi;\n\n adaptableApi.internalApi\n .getAdaptableInstance()\n ._onIncludeFired(\n 'FrameworkComponentChange',\n ({ command, frameworkComponent, containerDomNode, componentType }) => {\n if (command === 'create') {\n this.adaptableControllerService.createFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n containerDomNode,\n componentType,\n adaptableApi\n );\n } else {\n this.adaptableControllerService.destroyFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n componentType,\n adaptableApi\n );\n }\n }\n );\n\n adaptableApi.eventApi.on('AdaptableReady', (adaptableReadyInfo: AdaptableReadyInfo) =>\n this.adaptableControllerService.onAdaptableReady(adaptableReadyInfo)\n );\n });\n }\n}\n","import { Directive, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[adaptable]',\n})\nexport class AdaptableAgGridDirective implements OnDestroy {\n private phaseSubscription: Subscription;\n\n constructor(\n private viewContainer: ViewContainerRef,\n private templateRef: TemplateRef<any>,\n private adaptableControllerService: AdaptableControllerService\n ) {\n this.phaseSubscription = this.adaptableControllerService\n .currentInitPhase()\n .subscribe((phase) => {\n if (phase === 'waitForAgGridInit') {\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.phaseSubscription?.unsubscribe();\n }\n}\n","export const waitForCondition = (\n isReady: () => boolean,\n message = 'Wait time expired',\n timeout = 5000\n): Promise<void> => {\n const startTime = Date.now();\n\n const ready = isReady();\n if (ready) {\n return Promise.resolve();\n }\n return new Promise<void>((resolve, reject) => {\n const wait = (callback: () => void) => {\n const ready = isReady();\n\n if (Date.now() - startTime > timeout) {\n reject(message);\n return;\n }\n\n if (!ready) {\n setTimeout(() => {\n wait(callback);\n }, 16);\n } else {\n callback();\n }\n };\n\n wait(resolve);\n });\n};\n","import {\n Component,\n ElementRef,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AgGridAngular,\n AngularFrameworkComponentWrapper,\n AngularFrameworkOverrides,\n} from '@ag-grid-community/angular';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { waitForCondition } from './waitForCondition';\n\n@Component({\n selector: 'adaptable-ag-grid-angular',\n template: ``,\n providers: [AngularFrameworkOverrides, AngularFrameworkComponentWrapper],\n // tell angular we don't want view encapsulation, we don't want a shadow root\n encapsulation: ViewEncapsulation.None,\n})\nexport class AdaptableAgGridAngular extends AgGridAngular {\n constructor(\n elementDef: ElementRef,\n viewContainerRef: ViewContainerRef,\n angularFrameworkOverrides: AngularFrameworkOverrides,\n frameworkComponentWrapper: AngularFrameworkComponentWrapper,\n private adaptableControllerService: AdaptableControllerService\n ) {\n super(elementDef, viewContainerRef, angularFrameworkOverrides, frameworkComponentWrapper);\n\n this.gridOptions = this.adaptableControllerService.gridOptions;\n this.modules = this.adaptableControllerService.modules;\n\n waitForCondition(\n () => this.api != null,\n 'Waiting for AgGrid initialisation expired!',\n 30000\n ).then(() => {\n this.adaptableControllerService.onAgGridReady(this.api);\n });\n }\n ngOnChanges(changes: SimpleChanges) {\n const gridOptionsChange = changes['gridOptions'];\n if (gridOptionsChange) {\n gridOptionsChange.currentValue = this.adaptableControllerService.gridOptions;\n console.warn(\n `'gridOption' param should be passed ONLY to the <adaptable-provider> component!\nThis input will be ignored.`\n );\n }\n const modulesChange = changes['modules'];\n if (modulesChange) {\n modulesChange.currentValue = this.adaptableControllerService.modules;\n console.warn(\n `'modules' param should be passed ONLY to the <adaptable-provider> component!\nThis input will be ignored.`\n );\n }\n super.ngOnChanges(changes);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdaptableProvider } from './adaptable-provider.component';\nimport { AdaptableUI } from './adaptable-ui.component';\nimport { AdaptableAgGridDirective } from './adaptable-aggrid.directive';\nimport { AdaptableAgGridAngular } from './adaptable-angular-aggrid.component';\n\n@NgModule({\n declarations: [AdaptableProvider, AdaptableUI, AdaptableAgGridDirective, AdaptableAgGridAngular],\n imports: [CommonModule],\n exports: [AdaptableProvider, AdaptableUI, AdaptableAgGridDirective, AdaptableAgGridAngular],\n providers: [],\n})\nexport class AdaptableAngularAgGridModule {}\n","/*\n * Public API Surface of adaptable-angular-aggrid\n */\nexport * from '@adaptabletools/adaptable/src/types';\nexport { AdaptableQL } from '@adaptabletools/adaptable/agGrid';\nexport * from './lib/adaptable-angular-aggrid.module';\nexport * from './lib/adaptable-provider.component';\nexport * from './lib/adaptable-ui.component';\nexport * from './lib/adaptable-aggrid.directive';\nexport * from './lib/adaptable-angular-aggrid.component';\nexport { ADAPTABLE_API } from './lib/adaptable-api.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AdaptableControllerService","i2.AdaptableControllerService"],"mappings":"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"}
1
+ {"version":3,"file":"adaptabletools-adaptable-angular-aggrid.mjs","sources":["../../../projects/adaptable-angular-aggrid/src/lib/adaptable-api.token.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-controller.service.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-aggrid.directive.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-provider.component.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-ui.component.ts","../../../projects/adaptable-angular-aggrid/src/lib/waitForCondition.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-angular-aggrid.component.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/Api/AdaptableApi';\nexport const ADAPTABLE_API = new InjectionToken<AdaptableApi>('ADAPTABLE_API');\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n EventEmitter,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GridApi, GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableFrameworkComponent';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { ADAPTABLE_API } from './adaptable-api.token';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\n\nexport type AdaptableInitialisationPhase =\n | 'waitForAdaptableProps'\n | 'waitForAdaptableInit'\n | 'waitForAgGridInit'\n | 'waitForAdaptableReady';\n\nexport type RenderAgGridFrameworkComponentResult = false | GridApi;\n@Injectable()\nexport class AdaptableControllerService {\n adaptableOptions: AdaptableOptions;\n gridOptions: GridOptions;\n modules: Module[];\n\n adaptableReady: EventEmitter<AdaptableReadyInfo>;\n\n private phase: BehaviorSubject<AdaptableInitialisationPhase>;\n\n private agGridFrameworkPromise: Promise<RenderAgGridFrameworkComponentResult>;\n private resolveAgGridFrameworkPromise: (result: RenderAgGridFrameworkComponentResult) => void;\n\n private toolbarComponentRefs: WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>;\n constructor(\n private injector: Injector,\n private environmentInjector: EnvironmentInjector,\n private appRef: ApplicationRef\n ) {\n this.adaptableReady = new EventEmitter<AdaptableReadyInfo>();\n this.phase = new BehaviorSubject<AdaptableInitialisationPhase>('waitForAdaptableProps');\n this.agGridFrameworkPromise = new Promise<RenderAgGridFrameworkComponentResult>((resolve) => {\n this.resolveAgGridFrameworkPromise = resolve;\n });\n this.toolbarComponentRefs = new WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>();\n }\n\n currentInitPhase(): Observable<AdaptableInitialisationPhase> {\n return this.phase.asObservable();\n }\n setInitialisationPhase(phase: AdaptableInitialisationPhase) {\n this.phase.next(phase);\n }\n registerAdaptableOptions(adaptableOptions: AdaptableOptions) {\n this.adaptableOptions = adaptableOptions;\n this.checkIfAllPropsAreSet();\n }\n registerGridOptions(gridOptions: GridOptions) {\n this.gridOptions = gridOptions;\n this.checkIfAllPropsAreSet();\n }\n registerModules(modules: Module[]) {\n this.modules = modules;\n this.checkIfAllPropsAreSet();\n }\n renderAgGridFrameworkComponent(\n gridOptions: GridOptions\n ): Promise<RenderAgGridFrameworkComponentResult> {\n this.gridOptions = gridOptions;\n\n this.setInitialisationPhase('waitForAgGridInit');\n\n return this.agGridFrameworkPromise;\n }\n onAdaptableReady(adaptableReadyInfo: AdaptableReadyInfo) {\n this.adaptableReady.emit(adaptableReadyInfo);\n }\n\n onAgGridReady(agGridApi: GridApi) {\n this.resolveAgGridFrameworkPromise(agGridApi);\n this.setInitialisationPhase('waitForAdaptableReady');\n }\n private checkIfAllPropsAreSet() {\n if (this.adaptableOptions && this.gridOptions && this.modules) {\n this.setInitialisationPhase('waitForAdaptableInit');\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 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 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 { Directive, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[adaptable]',\n})\nexport class AdaptableAgGridDirective implements OnDestroy {\n private phaseSubscription: Subscription;\n\n constructor(\n private viewContainer: ViewContainerRef,\n private templateRef: TemplateRef<any>,\n private adaptableControllerService: AdaptableControllerService\n ) {\n this.phaseSubscription = this.adaptableControllerService\n .currentInitPhase()\n .subscribe((phase) => {\n if (phase === 'waitForAgGridInit') {\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.phaseSubscription?.unsubscribe();\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\nimport { AdaptableAgGridDirective } from './adaptable-aggrid.directive';\n\n@Component({\n selector: 'adaptable-provider',\n template: `<ng-content></ng-content>`,\n providers: [AdaptableControllerService],\n host: {\n class: 'ab__ng-wrapper',\n },\n})\nexport class AdaptableProvider implements OnChanges, AfterContentInit {\n @Input()\n adaptableOptions: AdaptableOptions;\n @Input()\n gridOptions: GridOptions;\n @Input()\n modules: Module[];\n\n @Output() adaptableReady: EventEmitter<AdaptableReadyInfo>;\n constructor(private adaptableControllerService: AdaptableControllerService) {\n this.adaptableReady = this.adaptableControllerService.adaptableReady;\n }\n\n @ContentChild(AdaptableAgGridDirective)\n adaptableDirective: AdaptableAgGridDirective;\n\n ngAfterContentInit() {\n if (!this.adaptableDirective) {\n throw new Error(\n `\n <adaptable-provider> must have a child <adaptable-ag-grid-angular> component with the 'adaptable' directive applied!\n\n E.g.: <adaptable-ag-grid-angular *adaptable></adaptable-ag-grid-angular>\n `\n );\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const adaptableOptionsChange = changes['adaptableOptions'];\n if (adaptableOptionsChange) {\n if (adaptableOptionsChange.previousValue != undefined) {\n console.error(\n `Mutating AdaptableOptions after Adaptable has been initialised is not supported!`\n );\n } else if (adaptableOptionsChange.currentValue != undefined) {\n this.adaptableControllerService.registerAdaptableOptions(\n adaptableOptionsChange.currentValue\n );\n }\n }\n const gridOptionsChange = changes['gridOptions'];\n if (gridOptionsChange) {\n if (gridOptionsChange.previousValue != undefined) {\n console.error(`Mutating GridOptions after AG Grid has been initialised is not supported!`);\n } else if (gridOptionsChange.currentValue != undefined) {\n this.adaptableControllerService.registerGridOptions(gridOptionsChange.currentValue);\n }\n }\n const modulesChange = changes['modules'];\n if (modulesChange) {\n if (modulesChange.previousValue != undefined) {\n console.error(`Mutating Modules after AG Grid has been initialised is not supported!`);\n } else if (modulesChange.currentValue != undefined) {\n this.adaptableControllerService.registerModules(modulesChange.currentValue);\n }\n }\n }\n\n onAdaptableReady(adaptableReadyInfo: AdaptableReadyInfo) {\n this.adaptableReady.emit(adaptableReadyInfo);\n }\n}\n","import { Attribute, Component, OnDestroy } from '@angular/core';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { _AdaptableAgGrid } from '@adaptabletools/adaptable/agGrid';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableFrameworkComponent';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\nimport { Subscription } from 'rxjs';\n\nfunction getRandomInt(max: number): number {\n return Math.floor(Math.random() * Math.floor(max));\n}\n\n@Component({\n selector: 'adaptable-ui',\n template: ` <div *ngIf=\"readyForAdaptableInit\" [id]=\"adaptableContainerId\"></div>`,\n styles: [],\n})\nexport class AdaptableUI implements OnDestroy {\n readyForAdaptableInit: boolean;\n adaptableContainerId: string;\n\n private adaptableApi: AdaptableApi;\n\n private phaseSubscription: Subscription;\n constructor(\n @Attribute('id') elementId: string,\n private adaptableControllerService: AdaptableControllerService\n ) {\n this.readyForAdaptableInit = false;\n this.adaptableContainerId = elementId || `adaptable-${getRandomInt(1000)}-${Date.now()}`;\n\n this.phaseSubscription = this.adaptableControllerService\n .currentInitPhase()\n .subscribe((phase) => {\n if (phase === 'waitForAdaptableInit') {\n this.readyForAdaptableInit = true;\n this.initializeAdaptable();\n }\n });\n }\n ngOnDestroy() {\n this.phaseSubscription?.unsubscribe();\n if (!this.adaptableApi) {\n return;\n }\n this.adaptableApi.destroy({\n unmount: true,\n destroyApi: false,\n });\n this.adaptableApi = null;\n }\n get adaptableOptions() {\n return this.adaptableControllerService.adaptableOptions;\n }\n\n get gridOptions() {\n return this.adaptableControllerService.gridOptions;\n }\n\n get modules() {\n return this.adaptableControllerService.modules;\n }\n\n private initializeAdaptable() {\n this.adaptableOptions.containerOptions = this.adaptableOptions.containerOptions || {};\n this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;\n\n _AdaptableAgGrid\n ._initInternal({\n adaptableOptions: this.adaptableOptions,\n gridOptions: this.gridOptions,\n modules: this.modules,\n variant: 'angular',\n renderAgGridFrameworkComponent: (gridOptions) =>\n this.adaptableControllerService.renderAgGridFrameworkComponent(gridOptions),\n })\n .then((adaptableApi) => {\n this.adaptableApi = adaptableApi;\n\n adaptableApi.internalApi\n .getAdaptableInstance()\n ._onIncludeFired(\n 'FrameworkComponentChange',\n ({ command, frameworkComponent, containerDomNode, componentType }) => {\n if (command === 'create') {\n this.adaptableControllerService.createFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n containerDomNode,\n componentType,\n adaptableApi\n );\n } else {\n this.adaptableControllerService.destroyFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n componentType,\n adaptableApi\n );\n }\n }\n );\n\n adaptableApi.eventApi.on('AdaptableReady', (adaptableReadyInfo: AdaptableReadyInfo) =>\n this.adaptableControllerService.onAdaptableReady(adaptableReadyInfo)\n );\n });\n }\n}\n","export const waitForCondition = (\n isReady: () => boolean,\n message = 'Wait time expired',\n timeout = 5000\n): Promise<void> => {\n const startTime = Date.now();\n\n const ready = isReady();\n if (ready) {\n return Promise.resolve();\n }\n return new Promise<void>((resolve, reject) => {\n const wait = (callback: () => void) => {\n const ready = isReady();\n\n if (Date.now() - startTime > timeout) {\n reject(message);\n return;\n }\n\n if (!ready) {\n setTimeout(() => {\n wait(callback);\n }, 16);\n } else {\n callback();\n }\n };\n\n wait(resolve);\n });\n};\n","import {\n Component,\n ElementRef,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AgGridAngular,\n AngularFrameworkComponentWrapper,\n AngularFrameworkOverrides,\n} from '@ag-grid-community/angular';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { waitForCondition } from './waitForCondition';\n\n@Component({\n selector: 'adaptable-ag-grid-angular',\n template: ``,\n providers: [AngularFrameworkOverrides, AngularFrameworkComponentWrapper],\n // tell angular we don't want view encapsulation, we don't want a shadow root\n encapsulation: ViewEncapsulation.None,\n})\nexport class AdaptableAgGridAngular extends AgGridAngular {\n constructor(\n elementDef: ElementRef,\n viewContainerRef: ViewContainerRef,\n angularFrameworkOverrides: AngularFrameworkOverrides,\n frameworkComponentWrapper: AngularFrameworkComponentWrapper,\n private adaptableControllerService: AdaptableControllerService\n ) {\n super(elementDef, viewContainerRef, angularFrameworkOverrides, frameworkComponentWrapper);\n\n this.gridOptions = this.adaptableControllerService.gridOptions;\n this.modules = this.adaptableControllerService.modules;\n\n waitForCondition(\n () => this.api != null,\n 'Waiting for AgGrid initialisation expired!',\n 30000\n ).then(() => {\n this.adaptableControllerService.onAgGridReady(this.api);\n });\n }\n ngOnChanges(changes: SimpleChanges) {\n const gridOptionsChange = changes['gridOptions'];\n if (gridOptionsChange) {\n gridOptionsChange.currentValue = this.adaptableControllerService.gridOptions;\n console.error(\n `'gridOption' param should be passed ONLY to the <adaptable-provider> component!\nThe input on <adaptable-ag-grid-angular> will be ignored.`\n );\n }\n const modulesChange = changes['modules'];\n if (modulesChange) {\n modulesChange.currentValue = this.adaptableControllerService.modules;\n console.error(\n `'modules' param should be passed ONLY to the <adaptable-provider> component!\nThe input on <adaptable-ag-grid-angular> will be ignored.`\n );\n }\n super.ngOnChanges(changes);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdaptableProvider } from './adaptable-provider.component';\nimport { AdaptableUI } from './adaptable-ui.component';\nimport { AdaptableAgGridDirective } from './adaptable-aggrid.directive';\nimport { AdaptableAgGridAngular } from './adaptable-angular-aggrid.component';\n\n@NgModule({\n declarations: [AdaptableProvider, AdaptableUI, AdaptableAgGridDirective, AdaptableAgGridAngular],\n imports: [CommonModule],\n exports: [AdaptableProvider, AdaptableUI, AdaptableAgGridDirective, AdaptableAgGridAngular],\n providers: [],\n})\nexport class AdaptableAngularAgGridModule {}\n","/*\n * Public API Surface of adaptable-angular-aggrid\n */\nexport * from '@adaptabletools/adaptable/src/types';\nexport { AdaptableQL, AdaptableUpgradeHelper } from '@adaptabletools/adaptable/agGrid';\nexport * from './lib/adaptable-angular-aggrid.module';\nexport * from './lib/adaptable-provider.component';\nexport * from './lib/adaptable-ui.component';\nexport * from './lib/adaptable-aggrid.directive';\nexport * from './lib/adaptable-angular-aggrid.component';\nexport { ADAPTABLE_API } from './lib/adaptable-api.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AdaptableControllerService","i2.AdaptableControllerService"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  export * from '@adaptabletools/adaptable/src/types';
2
2
  import { _AdaptableAgGrid } from '@adaptabletools/adaptable/agGrid';
3
- export { AdaptableQL } from '@adaptabletools/adaptable/agGrid';
3
+ export { AdaptableQL, AdaptableUpgradeHelper } from '@adaptabletools/adaptable/agGrid';
4
4
  import * as i0 from '@angular/core';
5
- import { InjectionToken, EventEmitter, Injector, createComponent, Injectable, Component, Input, Output, Attribute, Directive, ViewEncapsulation, NgModule } from '@angular/core';
5
+ import { InjectionToken, EventEmitter, Injector, createComponent, Injectable, Directive, Component, Input, Output, ContentChild, Attribute, ViewEncapsulation, NgModule } from '@angular/core';
6
6
  import * as i2 from '@angular/common';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { BehaviorSubject } from 'rxjs';
@@ -122,11 +122,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
122
122
  type: Injectable
123
123
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.EnvironmentInjector }, { type: i0.ApplicationRef }]; } });
124
124
 
125
+ class AdaptableAgGridDirective {
126
+ constructor(viewContainer, templateRef, adaptableControllerService) {
127
+ this.viewContainer = viewContainer;
128
+ this.templateRef = templateRef;
129
+ this.adaptableControllerService = adaptableControllerService;
130
+ this.phaseSubscription = this.adaptableControllerService
131
+ .currentInitPhase()
132
+ .subscribe((phase) => {
133
+ if (phase === 'waitForAgGridInit') {
134
+ this.viewContainer.createEmbeddedView(this.templateRef);
135
+ }
136
+ });
137
+ }
138
+ ngOnDestroy() {
139
+ this.phaseSubscription?.unsubscribe();
140
+ }
141
+ }
142
+ AdaptableAgGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAgGridDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: AdaptableControllerService }], target: i0.ɵɵFactoryTarget.Directive });
143
+ AdaptableAgGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AdaptableAgGridDirective, selector: "[adaptable]", ngImport: i0 });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAgGridDirective, decorators: [{
145
+ type: Directive,
146
+ args: [{
147
+ selector: '[adaptable]',
148
+ }]
149
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: AdaptableControllerService }]; } });
150
+
125
151
  class AdaptableProvider {
126
152
  constructor(adaptableControllerService) {
127
153
  this.adaptableControllerService = adaptableControllerService;
128
154
  this.adaptableReady = this.adaptableControllerService.adaptableReady;
129
155
  }
156
+ ngAfterContentInit() {
157
+ if (!this.adaptableDirective) {
158
+ throw new Error(`
159
+ <adaptable-provider> must have a child <adaptable-ag-grid-angular> component with the 'adaptable' directive applied!
160
+
161
+ E.g.: <adaptable-ag-grid-angular *adaptable></adaptable-ag-grid-angular>
162
+ `);
163
+ }
164
+ }
130
165
  ngOnChanges(changes) {
131
166
  const adaptableOptionsChange = changes['adaptableOptions'];
132
167
  if (adaptableOptionsChange) {
@@ -161,7 +196,7 @@ class AdaptableProvider {
161
196
  }
162
197
  }
163
198
  AdaptableProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableProvider, deps: [{ token: AdaptableControllerService }], target: i0.ɵɵFactoryTarget.Component });
164
- AdaptableProvider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AdaptableProvider, selector: "adaptable-provider", inputs: { adaptableOptions: "adaptableOptions", gridOptions: "gridOptions", modules: "modules" }, outputs: { adaptableReady: "adaptableReady" }, host: { classAttribute: "ab__ng-wrapper" }, providers: [AdaptableControllerService], usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
199
+ AdaptableProvider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AdaptableProvider, selector: "adaptable-provider", inputs: { adaptableOptions: "adaptableOptions", gridOptions: "gridOptions", modules: "modules" }, outputs: { adaptableReady: "adaptableReady" }, host: { classAttribute: "ab__ng-wrapper" }, providers: [AdaptableControllerService], queries: [{ propertyName: "adaptableDirective", first: true, predicate: AdaptableAgGridDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
165
200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableProvider, decorators: [{
166
201
  type: Component,
167
202
  args: [{
@@ -180,6 +215,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
180
215
  type: Input
181
216
  }], adaptableReady: [{
182
217
  type: Output
218
+ }], adaptableDirective: [{
219
+ type: ContentChild,
220
+ args: [AdaptableAgGridDirective]
183
221
  }] } });
184
222
 
185
223
  function getRandomInt(max) {
@@ -256,32 +294,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
256
294
  args: ['id']
257
295
  }] }, { type: AdaptableControllerService }]; } });
258
296
 
259
- class AdaptableAgGridDirective {
260
- constructor(viewContainer, templateRef, adaptableControllerService) {
261
- this.viewContainer = viewContainer;
262
- this.templateRef = templateRef;
263
- this.adaptableControllerService = adaptableControllerService;
264
- this.phaseSubscription = this.adaptableControllerService
265
- .currentInitPhase()
266
- .subscribe((phase) => {
267
- if (phase === 'waitForAgGridInit') {
268
- this.viewContainer.createEmbeddedView(this.templateRef);
269
- }
270
- });
271
- }
272
- ngOnDestroy() {
273
- this.phaseSubscription?.unsubscribe();
274
- }
275
- }
276
- AdaptableAgGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAgGridDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: AdaptableControllerService }], target: i0.ɵɵFactoryTarget.Directive });
277
- AdaptableAgGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AdaptableAgGridDirective, selector: "[adaptable]", ngImport: i0 });
278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdaptableAgGridDirective, decorators: [{
279
- type: Directive,
280
- args: [{
281
- selector: '[adaptable]',
282
- }]
283
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: AdaptableControllerService }]; } });
284
-
285
297
  const waitForCondition = (isReady, message = 'Wait time expired', timeout = 5000) => {
286
298
  const startTime = Date.now();
287
299
  const ready = isReady();
@@ -322,14 +334,14 @@ class AdaptableAgGridAngular extends AgGridAngular {
322
334
  const gridOptionsChange = changes['gridOptions'];
323
335
  if (gridOptionsChange) {
324
336
  gridOptionsChange.currentValue = this.adaptableControllerService.gridOptions;
325
- console.warn(`'gridOption' param should be passed ONLY to the <adaptable-provider> component!
326
- This input will be ignored.`);
337
+ console.error(`'gridOption' param should be passed ONLY to the <adaptable-provider> component!
338
+ The input on <adaptable-ag-grid-angular> will be ignored.`);
327
339
  }
328
340
  const modulesChange = changes['modules'];
329
341
  if (modulesChange) {
330
342
  modulesChange.currentValue = this.adaptableControllerService.modules;
331
- console.warn(`'modules' param should be passed ONLY to the <adaptable-provider> component!
332
- This input will be ignored.`);
343
+ console.error(`'modules' param should be passed ONLY to the <adaptable-provider> component!
344
+ The input on <adaptable-ag-grid-angular> will be ignored.`);
333
345
  }
334
346
  super.ngOnChanges(changes);
335
347
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adaptabletools-adaptable-angular-aggrid.mjs","sources":["../../../projects/adaptable-angular-aggrid/src/lib/adaptable-api.token.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-controller.service.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-provider.component.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-ui.component.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-aggrid.directive.ts","../../../projects/adaptable-angular-aggrid/src/lib/waitForCondition.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-angular-aggrid.component.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/Api/AdaptableApi';\nexport const ADAPTABLE_API = new InjectionToken<AdaptableApi>('ADAPTABLE_API');\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n EventEmitter,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GridApi, GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableFrameworkComponent';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { ADAPTABLE_API } from './adaptable-api.token';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\n\nexport type AdaptableInitialisationPhase =\n | 'waitForAdaptableProps'\n | 'waitForAdaptableInit'\n | 'waitForAgGridInit'\n | 'waitForAdaptableReady';\n\nexport type RenderAgGridFrameworkComponentResult = false | GridApi;\n@Injectable()\nexport class AdaptableControllerService {\n adaptableOptions: AdaptableOptions;\n gridOptions: GridOptions;\n modules: Module[];\n\n adaptableReady: EventEmitter<AdaptableReadyInfo>;\n\n private phase: BehaviorSubject<AdaptableInitialisationPhase>;\n\n private agGridFrameworkPromise: Promise<RenderAgGridFrameworkComponentResult>;\n private resolveAgGridFrameworkPromise: (result: RenderAgGridFrameworkComponentResult) => void;\n\n private toolbarComponentRefs: WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>;\n constructor(\n private injector: Injector,\n private environmentInjector: EnvironmentInjector,\n private appRef: ApplicationRef\n ) {\n this.adaptableReady = new EventEmitter<AdaptableReadyInfo>();\n this.phase = new BehaviorSubject<AdaptableInitialisationPhase>('waitForAdaptableProps');\n this.agGridFrameworkPromise = new Promise<RenderAgGridFrameworkComponentResult>((resolve) => {\n this.resolveAgGridFrameworkPromise = resolve;\n });\n this.toolbarComponentRefs = new WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>();\n }\n\n currentInitPhase(): Observable<AdaptableInitialisationPhase> {\n return this.phase.asObservable();\n }\n setInitialisationPhase(phase: AdaptableInitialisationPhase) {\n this.phase.next(phase);\n }\n registerAdaptableOptions(adaptableOptions: AdaptableOptions) {\n this.adaptableOptions = adaptableOptions;\n this.checkIfAllPropsAreSet();\n }\n registerGridOptions(gridOptions: GridOptions) {\n this.gridOptions = gridOptions;\n this.checkIfAllPropsAreSet();\n }\n registerModules(modules: Module[]) {\n this.modules = modules;\n this.checkIfAllPropsAreSet();\n }\n renderAgGridFrameworkComponent(\n gridOptions: GridOptions\n ): Promise<RenderAgGridFrameworkComponentResult> {\n this.gridOptions = gridOptions;\n\n this.setInitialisationPhase('waitForAgGridInit');\n\n return this.agGridFrameworkPromise;\n }\n onAdaptableReady(adaptableReadyInfo: AdaptableReadyInfo) {\n this.adaptableReady.emit(adaptableReadyInfo);\n }\n\n onAgGridReady(agGridApi: GridApi) {\n this.resolveAgGridFrameworkPromise(agGridApi);\n this.setInitialisationPhase('waitForAdaptableReady');\n }\n private checkIfAllPropsAreSet() {\n if (this.adaptableOptions && this.gridOptions && this.modules) {\n this.setInitialisationPhase('waitForAdaptableInit');\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 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 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 { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\n\n@Component({\n selector: 'adaptable-provider',\n template: `<ng-content></ng-content>`,\n providers: [AdaptableControllerService],\n host: {\n class: 'ab__ng-wrapper',\n },\n})\nexport class AdaptableProvider implements OnChanges {\n @Input()\n adaptableOptions: AdaptableOptions;\n @Input()\n gridOptions: GridOptions;\n @Input()\n modules: Module[];\n\n @Output() adaptableReady: EventEmitter<AdaptableReadyInfo>;\n constructor(private adaptableControllerService: AdaptableControllerService) {\n this.adaptableReady = this.adaptableControllerService.adaptableReady;\n }\n ngOnChanges(changes: SimpleChanges): void {\n const adaptableOptionsChange = changes['adaptableOptions'];\n if (adaptableOptionsChange) {\n if (adaptableOptionsChange.previousValue != undefined) {\n console.error(\n `Mutating AdaptableOptions after Adaptable has been initialised is not supported!`\n );\n } else if (adaptableOptionsChange.currentValue != undefined) {\n this.adaptableControllerService.registerAdaptableOptions(\n adaptableOptionsChange.currentValue\n );\n }\n }\n const gridOptionsChange = changes['gridOptions'];\n if (gridOptionsChange) {\n if (gridOptionsChange.previousValue != undefined) {\n console.error(`Mutating GridOptions after AG Grid has been initialised is not supported!`);\n } else if (gridOptionsChange.currentValue != undefined) {\n this.adaptableControllerService.registerGridOptions(gridOptionsChange.currentValue);\n }\n }\n const modulesChange = changes['modules'];\n if (modulesChange) {\n if (modulesChange.previousValue != undefined) {\n console.error(`Mutating Modules after AG Grid has been initialised is not supported!`);\n } else if (modulesChange.currentValue != undefined) {\n this.adaptableControllerService.registerModules(modulesChange.currentValue);\n }\n }\n }\n\n onAdaptableReady(adaptableReadyInfo: AdaptableReadyInfo) {\n this.adaptableReady.emit(adaptableReadyInfo);\n }\n}\n","import { Attribute, Component, OnDestroy } from '@angular/core';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { _AdaptableAgGrid } from '@adaptabletools/adaptable/agGrid';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableFrameworkComponent';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\nimport { Subscription } from 'rxjs';\n\nfunction getRandomInt(max: number): number {\n return Math.floor(Math.random() * Math.floor(max));\n}\n\n@Component({\n selector: 'adaptable-ui',\n template: ` <div *ngIf=\"readyForAdaptableInit\" [id]=\"adaptableContainerId\"></div>`,\n styles: [],\n})\nexport class AdaptableUI implements OnDestroy {\n readyForAdaptableInit: boolean;\n adaptableContainerId: string;\n\n private adaptableApi: AdaptableApi;\n\n private phaseSubscription: Subscription;\n constructor(\n @Attribute('id') elementId: string,\n private adaptableControllerService: AdaptableControllerService\n ) {\n this.readyForAdaptableInit = false;\n this.adaptableContainerId = elementId || `adaptable-${getRandomInt(1000)}-${Date.now()}`;\n\n this.phaseSubscription = this.adaptableControllerService\n .currentInitPhase()\n .subscribe((phase) => {\n if (phase === 'waitForAdaptableInit') {\n this.readyForAdaptableInit = true;\n this.initializeAdaptable();\n }\n });\n }\n ngOnDestroy() {\n this.phaseSubscription?.unsubscribe();\n if (!this.adaptableApi) {\n return;\n }\n this.adaptableApi.destroy({\n unmount: true,\n destroyApi: false,\n });\n this.adaptableApi = null;\n }\n get adaptableOptions() {\n return this.adaptableControllerService.adaptableOptions;\n }\n\n get gridOptions() {\n return this.adaptableControllerService.gridOptions;\n }\n\n get modules() {\n return this.adaptableControllerService.modules;\n }\n\n private initializeAdaptable() {\n this.adaptableOptions.containerOptions = this.adaptableOptions.containerOptions || {};\n this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;\n\n _AdaptableAgGrid\n ._initInternal({\n adaptableOptions: this.adaptableOptions,\n gridOptions: this.gridOptions,\n modules: this.modules,\n variant: 'angular',\n renderAgGridFrameworkComponent: (gridOptions) =>\n this.adaptableControllerService.renderAgGridFrameworkComponent(gridOptions),\n })\n .then((adaptableApi) => {\n this.adaptableApi = adaptableApi;\n\n adaptableApi.internalApi\n .getAdaptableInstance()\n ._onIncludeFired(\n 'FrameworkComponentChange',\n ({ command, frameworkComponent, containerDomNode, componentType }) => {\n if (command === 'create') {\n this.adaptableControllerService.createFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n containerDomNode,\n componentType,\n adaptableApi\n );\n } else {\n this.adaptableControllerService.destroyFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n componentType,\n adaptableApi\n );\n }\n }\n );\n\n adaptableApi.eventApi.on('AdaptableReady', (adaptableReadyInfo: AdaptableReadyInfo) =>\n this.adaptableControllerService.onAdaptableReady(adaptableReadyInfo)\n );\n });\n }\n}\n","import { Directive, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[adaptable]',\n})\nexport class AdaptableAgGridDirective implements OnDestroy {\n private phaseSubscription: Subscription;\n\n constructor(\n private viewContainer: ViewContainerRef,\n private templateRef: TemplateRef<any>,\n private adaptableControllerService: AdaptableControllerService\n ) {\n this.phaseSubscription = this.adaptableControllerService\n .currentInitPhase()\n .subscribe((phase) => {\n if (phase === 'waitForAgGridInit') {\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.phaseSubscription?.unsubscribe();\n }\n}\n","export const waitForCondition = (\n isReady: () => boolean,\n message = 'Wait time expired',\n timeout = 5000\n): Promise<void> => {\n const startTime = Date.now();\n\n const ready = isReady();\n if (ready) {\n return Promise.resolve();\n }\n return new Promise<void>((resolve, reject) => {\n const wait = (callback: () => void) => {\n const ready = isReady();\n\n if (Date.now() - startTime > timeout) {\n reject(message);\n return;\n }\n\n if (!ready) {\n setTimeout(() => {\n wait(callback);\n }, 16);\n } else {\n callback();\n }\n };\n\n wait(resolve);\n });\n};\n","import {\n Component,\n ElementRef,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AgGridAngular,\n AngularFrameworkComponentWrapper,\n AngularFrameworkOverrides,\n} from '@ag-grid-community/angular';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { waitForCondition } from './waitForCondition';\n\n@Component({\n selector: 'adaptable-ag-grid-angular',\n template: ``,\n providers: [AngularFrameworkOverrides, AngularFrameworkComponentWrapper],\n // tell angular we don't want view encapsulation, we don't want a shadow root\n encapsulation: ViewEncapsulation.None,\n})\nexport class AdaptableAgGridAngular extends AgGridAngular {\n constructor(\n elementDef: ElementRef,\n viewContainerRef: ViewContainerRef,\n angularFrameworkOverrides: AngularFrameworkOverrides,\n frameworkComponentWrapper: AngularFrameworkComponentWrapper,\n private adaptableControllerService: AdaptableControllerService\n ) {\n super(elementDef, viewContainerRef, angularFrameworkOverrides, frameworkComponentWrapper);\n\n this.gridOptions = this.adaptableControllerService.gridOptions;\n this.modules = this.adaptableControllerService.modules;\n\n waitForCondition(\n () => this.api != null,\n 'Waiting for AgGrid initialisation expired!',\n 30000\n ).then(() => {\n this.adaptableControllerService.onAgGridReady(this.api);\n });\n }\n ngOnChanges(changes: SimpleChanges) {\n const gridOptionsChange = changes['gridOptions'];\n if (gridOptionsChange) {\n gridOptionsChange.currentValue = this.adaptableControllerService.gridOptions;\n console.warn(\n `'gridOption' param should be passed ONLY to the <adaptable-provider> component!\nThis input will be ignored.`\n );\n }\n const modulesChange = changes['modules'];\n if (modulesChange) {\n modulesChange.currentValue = this.adaptableControllerService.modules;\n console.warn(\n `'modules' param should be passed ONLY to the <adaptable-provider> component!\nThis input will be ignored.`\n );\n }\n super.ngOnChanges(changes);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdaptableProvider } from './adaptable-provider.component';\nimport { AdaptableUI } from './adaptable-ui.component';\nimport { AdaptableAgGridDirective } from './adaptable-aggrid.directive';\nimport { AdaptableAgGridAngular } from './adaptable-angular-aggrid.component';\n\n@NgModule({\n declarations: [AdaptableProvider, AdaptableUI, AdaptableAgGridDirective, AdaptableAgGridAngular],\n imports: [CommonModule],\n exports: [AdaptableProvider, AdaptableUI, AdaptableAgGridDirective, AdaptableAgGridAngular],\n providers: [],\n})\nexport class AdaptableAngularAgGridModule {}\n","/*\n * Public API Surface of adaptable-angular-aggrid\n */\nexport * from '@adaptabletools/adaptable/src/types';\nexport { AdaptableQL } from '@adaptabletools/adaptable/agGrid';\nexport * from './lib/adaptable-angular-aggrid.module';\nexport * from './lib/adaptable-provider.component';\nexport * from './lib/adaptable-ui.component';\nexport * from './lib/adaptable-aggrid.directive';\nexport * from './lib/adaptable-angular-aggrid.component';\nexport { ADAPTABLE_API } from './lib/adaptable-api.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AdaptableControllerService","i2.AdaptableControllerService"],"mappings":";;;;;;;;;;;MAEa,aAAa,GAAG,IAAI,cAAc,CAAe,eAAe;;MCwBhE,0BAA0B,CAAA;AAarC,IAAA,WAAA,CACU,QAAkB,EAClB,mBAAwC,EACxC,MAAsB,EAAA;QAFtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;QACxC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;AAE9B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,EAAsB,CAAC;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAA+B,uBAAuB,CAAC,CAAC;QACxF,IAAI,CAAC,sBAAsB,GAAG,IAAI,OAAO,CAAuC,CAAC,OAAO,KAAI;AAC1F,YAAA,IAAI,CAAC,6BAA6B,GAAG,OAAO,CAAC;AAC/C,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,OAAO,EAAoD,CAAC;KAC7F;IAED,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;KAClC;AACD,IAAA,sBAAsB,CAAC,KAAmC,EAAA;AACxD,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;AACD,IAAA,wBAAwB,CAAC,gBAAkC,EAAA;AACzD,QAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;AACD,IAAA,mBAAmB,CAAC,WAAwB,EAAA;AAC1C,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;AACD,IAAA,eAAe,CAAC,OAAiB,EAAA;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;AACD,IAAA,8BAA8B,CAC5B,WAAwB,EAAA;AAExB,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAE/B,QAAA,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACpC;AACD,IAAA,gBAAgB,CAAC,kBAAsC,EAAA;AACrD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC9C;AAED,IAAA,aAAa,CAAC,SAAkB,EAAA;AAC9B,QAAA,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;KACtD;IACO,qBAAqB,GAAA;QAC3B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7D,YAAA,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;AACrD,SAAA;KACF;AACD,IAAA,wBAAwB,CACtB,SAAoC,EACpC,gBAA6B,EAC7B,aAAqB,EACrB,YAA0B,EAAA;QAE1B,IAAI;YACF,YAAY,CAAC,OAAO,CAAC,CAAA,iCAAA,EAAoC,aAAa,CAAE,CAAA,EAAE,gBAAgB,CAAC,CAAC;YAC5F,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC5C,YAAY,CAAC,OAAO,CAClB,CAAA,gCAAA,EAAmC,aAAa,CAAmC,iCAAA,CAAA,EACnF,gBAAgB,CACjB,CAAC;gBACF,OAAO;AACR,aAAA;AAED,YAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CACrD,SAAS,CAAC,IAAqB,EAC/B,gBAAgB,EAChB,YAAY,CACb,CAAC;YAEF,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,gBAAA,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AAClF,aAAA;YAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAC/D,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;YACZ,YAAY,CAAC,QAAQ,CACnB,CAAA,gDAAA,EAAmD,aAAa,CAAE,CAAA,EAClE,GAAG,CACJ,CAAC;AACH,SAAA;KACF;AACD,IAAA,yBAAyB,CACvB,SAAoC,EACpC,aAAqB,EACrB,YAA0B,EAAA;AAE1B,QAAA,YAAY,CAAC,OAAO,CAAC,sCAAsC,aAAa,CAAA,CAAE,CAAC,CAAC;QAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACrE,QAAA,IAAI,mBAAmB,EAAE;YACvB,IAAI;gBACF,mBAAmB,CAAC,OAAO,EAAE,CAAC;AAC9B,gBAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7C,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;gBACZ,YAAY,CAAC,QAAQ,CACnB,CAAA,iDAAA,EAAoD,aAAa,CAAE,CAAA,EACnE,GAAG,CACJ,CAAC;AACH,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,YAAY,CAAC,OAAO,CAClB,oDAAoD,aAAa,CAAA,6CAAA,CAA+C,CACjH,CAAC;AACH,SAAA;KACF;AACO,IAAA,sBAAsB,CAC5B,oBAAmC,EACnC,YAAyB,EACzB,GAAiB,EAAA;;AAGjB,QAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtC,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,aAAa;AACtB,oBAAA,QAAQ,EAAE,GAAG;AACd,iBAAA;AACF,aAAA;YACD,MAAM,EAAE,IAAI,CAAC,QAAQ;AACtB,SAAA,CAAC,CAAC;;AAGH,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,oBAAoB,EAAE;AACzD,YAAA,WAAW,EAAE,YAAY;YACzB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;AAC7C,YAAA,eAAe,EAAE,eAAe;AACjC,SAAA,CAAC,CAAC;;;QAIH,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;;AAE9C,QAAA,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAE/C,QAAA,OAAO,YAAY,CAAC;KACrB;;wHAzJU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4HAA1B,0BAA0B,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;;MCXE,iBAAiB,CAAA;AAS5B,IAAA,WAAA,CAAoB,0BAAsD,EAAA;QAAtD,IAA0B,CAAA,0BAAA,GAA1B,0BAA0B,CAA4B;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC;KACtE;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC3D,QAAA,IAAI,sBAAsB,EAAE;AAC1B,YAAA,IAAI,sBAAsB,CAAC,aAAa,IAAI,SAAS,EAAE;AACrD,gBAAA,OAAO,CAAC,KAAK,CACX,CAAA,gFAAA,CAAkF,CACnF,CAAC;AACH,aAAA;AAAM,iBAAA,IAAI,sBAAsB,CAAC,YAAY,IAAI,SAAS,EAAE;gBAC3D,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CACtD,sBAAsB,CAAC,YAAY,CACpC,CAAC;AACH,aAAA;AACF,SAAA;AACD,QAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACjD,QAAA,IAAI,iBAAiB,EAAE;AACrB,YAAA,IAAI,iBAAiB,CAAC,aAAa,IAAI,SAAS,EAAE;AAChD,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAA,yEAAA,CAA2E,CAAC,CAAC;AAC5F,aAAA;AAAM,iBAAA,IAAI,iBAAiB,CAAC,YAAY,IAAI,SAAS,EAAE;gBACtD,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACrF,aAAA;AACF,SAAA;AACD,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC,QAAA,IAAI,aAAa,EAAE;AACjB,YAAA,IAAI,aAAa,CAAC,aAAa,IAAI,SAAS,EAAE;AAC5C,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAA,qEAAA,CAAuE,CAAC,CAAC;AACxF,aAAA;AAAM,iBAAA,IAAI,aAAa,CAAC,YAAY,IAAI,SAAS,EAAE;gBAClD,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAC7E,aAAA;AACF,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,kBAAsC,EAAA;AACrD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC9C;;+GA7CU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EALjB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,0BAA0B,CAAC,+CAD7B,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;4FAM1B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAA2B,yBAAA,CAAA;oBACrC,SAAS,EAAE,CAAC,0BAA0B,CAAC;AACvC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,gBAAgB;AACxB,qBAAA;AACF,iBAAA,CAAA;8GAGC,gBAAgB,EAAA,CAAA;sBADf,KAAK;gBAGN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAGN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGI,cAAc,EAAA,CAAA;sBAAvB,MAAM;;;ACdT,SAAS,YAAY,CAAC,GAAW,EAAA;AAC/B,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;MAOY,WAAW,CAAA;IAOtB,WACmB,CAAA,SAAiB,EAC1B,0BAAsD,EAAA;QAAtD,IAA0B,CAAA,0BAAA,GAA1B,0BAA0B,CAA4B;AAE9D,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,oBAAoB,GAAG,SAAS,IAAI,aAAa,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAEzF,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,0BAA0B;AACrD,aAAA,gBAAgB,EAAE;AAClB,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACnB,IAAI,KAAK,KAAK,sBAAsB,EAAE;AACpC,gBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC5B,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AACxB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,UAAU,EAAE,KAAK;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC1B;AACD,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC;KACzD;AAED,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC;KACpD;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;KAChD;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACtF,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAEtF,gBAAgB;AACb,aAAA,aAAa,CAAC;YACb,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,8BAA8B,EAAE,CAAC,WAAW,KAC1C,IAAI,CAAC,0BAA0B,CAAC,8BAA8B,CAAC,WAAW,CAAC;SAC9E,CAAC;AACD,aAAA,IAAI,CAAC,CAAC,YAAY,KAAI;AACrB,YAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AAEjC,YAAA,YAAY,CAAC,WAAW;AACrB,iBAAA,oBAAoB,EAAE;AACtB,iBAAA,eAAe,CACd,0BAA0B,EAC1B,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAI;gBACnE,IAAI,OAAO,KAAK,QAAQ,EAAE;AACxB,oBAAA,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CACtD,kBAA+C,EAC/C,gBAAgB,EAChB,aAAa,EACb,YAAY,CACb,CAAC;AACH,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,0BAA0B,CAAC,yBAAyB,CACvD,kBAA+C,EAC/C,aAAa,EACb,YAAY,CACb,CAAC;AACH,iBAAA;AACH,aAAC,CACF,CAAC;YAEJ,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,kBAAsC,KAChF,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CACrE,CAAC;AACJ,SAAC,CAAC,CAAC;KACN;;AAxFU,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBAQT,IAAI,EAAA,SAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AARN,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,oDAHZ,CAAwE,sEAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FAGvE,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,YACd,CAAwE,sEAAA,CAAA,EAAA,CAAA;;0BAW/E,SAAS;2BAAC,IAAI,CAAA;;;MClBN,wBAAwB,CAAA;AAGnC,IAAA,WAAA,CACU,aAA+B,EAC/B,WAA6B,EAC7B,0BAAsD,EAAA;QAFtD,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QAC/B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;QAC7B,IAA0B,CAAA,0BAAA,GAA1B,0BAA0B,CAA4B;AAE9D,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,0BAA0B;AACrD,aAAA,gBAAgB,EAAE;AAClB,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACnB,IAAI,KAAK,KAAK,mBAAmB,EAAE;gBACjC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACzD,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAC;KACvC;;sHAnBU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAAxB,wBAAwB,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACxB,iBAAA,CAAA;;;ACNM,MAAM,gBAAgB,GAAG,CAC9B,OAAsB,EACtB,OAAO,GAAG,mBAAmB,EAC7B,OAAO,GAAG,IAAI,KACG;AACjB,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAE7B,IAAA,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;AACxB,IAAA,IAAI,KAAK,EAAE;AACT,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC1B,KAAA;IACD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AAC3C,QAAA,MAAM,IAAI,GAAG,CAAC,QAAoB,KAAI;AACpC,YAAA,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;YAExB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE;gBACpC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChB,OAAO;AACR,aAAA;YAED,IAAI,CAAC,KAAK,EAAE;gBACV,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAChB,EAAE,EAAE,CAAC,CAAC;AACR,aAAA;AAAM,iBAAA;AACL,gBAAA,QAAQ,EAAE,CAAC;AACZ,aAAA;AACH,SAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,CAAC;AAChB,KAAC,CAAC,CAAC;AACL,CAAC;;ACTK,MAAO,sBAAuB,SAAQ,aAAa,CAAA;IACvD,WACE,CAAA,UAAsB,EACtB,gBAAkC,EAClC,yBAAoD,EACpD,yBAA2D,EACnD,0BAAsD,EAAA;QAE9D,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;QAFlF,IAA0B,CAAA,0BAAA,GAA1B,0BAA0B,CAA4B;QAI9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;AAEvD,QAAA,gBAAgB,CACd,MAAM,IAAI,CAAC,GAAG,IAAI,IAAI,EACtB,4CAA4C,EAC5C,KAAK,CACN,CAAC,IAAI,CAAC,MAAK;YACV,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D,SAAC,CAAC,CAAC;KACJ;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACjD,QAAA,IAAI,iBAAiB,EAAE;YACrB,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC;YAC7E,OAAO,CAAC,IAAI,CACV,CAAA;AACoB,2BAAA,CAAA,CACrB,CAAC;AACH,SAAA;AACD,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC,QAAA,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;YACrE,OAAO,CAAC,IAAI,CACV,CAAA;AACoB,2BAAA,CAAA,CACrB,CAAC;AACH,SAAA;AACD,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC5B;;oHAvCU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gCAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,oDAJtB,CAAC,yBAAyB,EAAE,gCAAgC,CAAC,sEAD9D,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FAKD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACZ,oBAAA,SAAS,EAAE,CAAC,yBAAyB,EAAE,gCAAgC,CAAC;;oBAExE,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA,CAAA;;;MCRY,4BAA4B,CAAA;;0HAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,iBALxB,iBAAiB,EAAE,WAAW,EAAE,wBAAwB,EAAE,sBAAsB,CACrF,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,iBAAiB,EAAE,WAAW,EAAE,wBAAwB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAG/E,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAJ7B,YAAY,CAAA,EAAA,CAAA,CAAA;4FAIX,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,wBAAwB,EAAE,sBAAsB,CAAC;oBAChG,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,wBAAwB,EAAE,sBAAsB,CAAC;AAC3F,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACZD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"adaptabletools-adaptable-angular-aggrid.mjs","sources":["../../../projects/adaptable-angular-aggrid/src/lib/adaptable-api.token.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-controller.service.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-aggrid.directive.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-provider.component.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-ui.component.ts","../../../projects/adaptable-angular-aggrid/src/lib/waitForCondition.ts","../../../projects/adaptable-angular-aggrid/src/lib/adaptable-angular-aggrid.component.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/Api/AdaptableApi';\nexport const ADAPTABLE_API = new InjectionToken<AdaptableApi>('ADAPTABLE_API');\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n EventEmitter,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GridApi, GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableFrameworkComponent';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { ADAPTABLE_API } from './adaptable-api.token';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\n\nexport type AdaptableInitialisationPhase =\n | 'waitForAdaptableProps'\n | 'waitForAdaptableInit'\n | 'waitForAgGridInit'\n | 'waitForAdaptableReady';\n\nexport type RenderAgGridFrameworkComponentResult = false | GridApi;\n@Injectable()\nexport class AdaptableControllerService {\n adaptableOptions: AdaptableOptions;\n gridOptions: GridOptions;\n modules: Module[];\n\n adaptableReady: EventEmitter<AdaptableReadyInfo>;\n\n private phase: BehaviorSubject<AdaptableInitialisationPhase>;\n\n private agGridFrameworkPromise: Promise<RenderAgGridFrameworkComponentResult>;\n private resolveAgGridFrameworkPromise: (result: RenderAgGridFrameworkComponentResult) => void;\n\n private toolbarComponentRefs: WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>;\n constructor(\n private injector: Injector,\n private environmentInjector: EnvironmentInjector,\n private appRef: ApplicationRef\n ) {\n this.adaptableReady = new EventEmitter<AdaptableReadyInfo>();\n this.phase = new BehaviorSubject<AdaptableInitialisationPhase>('waitForAdaptableProps');\n this.agGridFrameworkPromise = new Promise<RenderAgGridFrameworkComponentResult>((resolve) => {\n this.resolveAgGridFrameworkPromise = resolve;\n });\n this.toolbarComponentRefs = new WeakMap<AngularFrameworkComponent, ComponentRef<unknown>>();\n }\n\n currentInitPhase(): Observable<AdaptableInitialisationPhase> {\n return this.phase.asObservable();\n }\n setInitialisationPhase(phase: AdaptableInitialisationPhase) {\n this.phase.next(phase);\n }\n registerAdaptableOptions(adaptableOptions: AdaptableOptions) {\n this.adaptableOptions = adaptableOptions;\n this.checkIfAllPropsAreSet();\n }\n registerGridOptions(gridOptions: GridOptions) {\n this.gridOptions = gridOptions;\n this.checkIfAllPropsAreSet();\n }\n registerModules(modules: Module[]) {\n this.modules = modules;\n this.checkIfAllPropsAreSet();\n }\n renderAgGridFrameworkComponent(\n gridOptions: GridOptions\n ): Promise<RenderAgGridFrameworkComponentResult> {\n this.gridOptions = gridOptions;\n\n this.setInitialisationPhase('waitForAgGridInit');\n\n return this.agGridFrameworkPromise;\n }\n onAdaptableReady(adaptableReadyInfo: AdaptableReadyInfo) {\n this.adaptableReady.emit(adaptableReadyInfo);\n }\n\n onAgGridReady(agGridApi: GridApi) {\n this.resolveAgGridFrameworkPromise(agGridApi);\n this.setInitialisationPhase('waitForAdaptableReady');\n }\n private checkIfAllPropsAreSet() {\n if (this.adaptableOptions && this.gridOptions && this.modules) {\n this.setInitialisationPhase('waitForAdaptableInit');\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 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 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 { Directive, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[adaptable]',\n})\nexport class AdaptableAgGridDirective implements OnDestroy {\n private phaseSubscription: Subscription;\n\n constructor(\n private viewContainer: ViewContainerRef,\n private templateRef: TemplateRef<any>,\n private adaptableControllerService: AdaptableControllerService\n ) {\n this.phaseSubscription = this.adaptableControllerService\n .currentInitPhase()\n .subscribe((phase) => {\n if (phase === 'waitForAgGridInit') {\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.phaseSubscription?.unsubscribe();\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { GridOptions, Module } from '@ag-grid-community/core';\nimport { AdaptableOptions } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableOptions';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\nimport { AdaptableAgGridDirective } from './adaptable-aggrid.directive';\n\n@Component({\n selector: 'adaptable-provider',\n template: `<ng-content></ng-content>`,\n providers: [AdaptableControllerService],\n host: {\n class: 'ab__ng-wrapper',\n },\n})\nexport class AdaptableProvider implements OnChanges, AfterContentInit {\n @Input()\n adaptableOptions: AdaptableOptions;\n @Input()\n gridOptions: GridOptions;\n @Input()\n modules: Module[];\n\n @Output() adaptableReady: EventEmitter<AdaptableReadyInfo>;\n constructor(private adaptableControllerService: AdaptableControllerService) {\n this.adaptableReady = this.adaptableControllerService.adaptableReady;\n }\n\n @ContentChild(AdaptableAgGridDirective)\n adaptableDirective: AdaptableAgGridDirective;\n\n ngAfterContentInit() {\n if (!this.adaptableDirective) {\n throw new Error(\n `\n <adaptable-provider> must have a child <adaptable-ag-grid-angular> component with the 'adaptable' directive applied!\n\n E.g.: <adaptable-ag-grid-angular *adaptable></adaptable-ag-grid-angular>\n `\n );\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const adaptableOptionsChange = changes['adaptableOptions'];\n if (adaptableOptionsChange) {\n if (adaptableOptionsChange.previousValue != undefined) {\n console.error(\n `Mutating AdaptableOptions after Adaptable has been initialised is not supported!`\n );\n } else if (adaptableOptionsChange.currentValue != undefined) {\n this.adaptableControllerService.registerAdaptableOptions(\n adaptableOptionsChange.currentValue\n );\n }\n }\n const gridOptionsChange = changes['gridOptions'];\n if (gridOptionsChange) {\n if (gridOptionsChange.previousValue != undefined) {\n console.error(`Mutating GridOptions after AG Grid has been initialised is not supported!`);\n } else if (gridOptionsChange.currentValue != undefined) {\n this.adaptableControllerService.registerGridOptions(gridOptionsChange.currentValue);\n }\n }\n const modulesChange = changes['modules'];\n if (modulesChange) {\n if (modulesChange.previousValue != undefined) {\n console.error(`Mutating Modules after AG Grid has been initialised is not supported!`);\n } else if (modulesChange.currentValue != undefined) {\n this.adaptableControllerService.registerModules(modulesChange.currentValue);\n }\n }\n }\n\n onAdaptableReady(adaptableReadyInfo: AdaptableReadyInfo) {\n this.adaptableReady.emit(adaptableReadyInfo);\n }\n}\n","import { Attribute, Component, OnDestroy } from '@angular/core';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { AdaptableApi } from '@adaptabletools/adaptable/src/Api/AdaptableApi';\nimport { _AdaptableAgGrid } from '@adaptabletools/adaptable/agGrid';\nimport { AngularFrameworkComponent } from '@adaptabletools/adaptable/src/AdaptableOptions/AdaptableFrameworkComponent';\nimport { AdaptableReadyInfo } from '@adaptabletools/adaptable/src/Api/Events/AdaptableReady';\nimport { Subscription } from 'rxjs';\n\nfunction getRandomInt(max: number): number {\n return Math.floor(Math.random() * Math.floor(max));\n}\n\n@Component({\n selector: 'adaptable-ui',\n template: ` <div *ngIf=\"readyForAdaptableInit\" [id]=\"adaptableContainerId\"></div>`,\n styles: [],\n})\nexport class AdaptableUI implements OnDestroy {\n readyForAdaptableInit: boolean;\n adaptableContainerId: string;\n\n private adaptableApi: AdaptableApi;\n\n private phaseSubscription: Subscription;\n constructor(\n @Attribute('id') elementId: string,\n private adaptableControllerService: AdaptableControllerService\n ) {\n this.readyForAdaptableInit = false;\n this.adaptableContainerId = elementId || `adaptable-${getRandomInt(1000)}-${Date.now()}`;\n\n this.phaseSubscription = this.adaptableControllerService\n .currentInitPhase()\n .subscribe((phase) => {\n if (phase === 'waitForAdaptableInit') {\n this.readyForAdaptableInit = true;\n this.initializeAdaptable();\n }\n });\n }\n ngOnDestroy() {\n this.phaseSubscription?.unsubscribe();\n if (!this.adaptableApi) {\n return;\n }\n this.adaptableApi.destroy({\n unmount: true,\n destroyApi: false,\n });\n this.adaptableApi = null;\n }\n get adaptableOptions() {\n return this.adaptableControllerService.adaptableOptions;\n }\n\n get gridOptions() {\n return this.adaptableControllerService.gridOptions;\n }\n\n get modules() {\n return this.adaptableControllerService.modules;\n }\n\n private initializeAdaptable() {\n this.adaptableOptions.containerOptions = this.adaptableOptions.containerOptions || {};\n this.adaptableOptions.containerOptions.adaptableContainer = this.adaptableContainerId;\n\n _AdaptableAgGrid\n ._initInternal({\n adaptableOptions: this.adaptableOptions,\n gridOptions: this.gridOptions,\n modules: this.modules,\n variant: 'angular',\n renderAgGridFrameworkComponent: (gridOptions) =>\n this.adaptableControllerService.renderAgGridFrameworkComponent(gridOptions),\n })\n .then((adaptableApi) => {\n this.adaptableApi = adaptableApi;\n\n adaptableApi.internalApi\n .getAdaptableInstance()\n ._onIncludeFired(\n 'FrameworkComponentChange',\n ({ command, frameworkComponent, containerDomNode, componentType }) => {\n if (command === 'create') {\n this.adaptableControllerService.createFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n containerDomNode,\n componentType,\n adaptableApi\n );\n } else {\n this.adaptableControllerService.destroyFrameworkComponent(\n frameworkComponent as AngularFrameworkComponent,\n componentType,\n adaptableApi\n );\n }\n }\n );\n\n adaptableApi.eventApi.on('AdaptableReady', (adaptableReadyInfo: AdaptableReadyInfo) =>\n this.adaptableControllerService.onAdaptableReady(adaptableReadyInfo)\n );\n });\n }\n}\n","export const waitForCondition = (\n isReady: () => boolean,\n message = 'Wait time expired',\n timeout = 5000\n): Promise<void> => {\n const startTime = Date.now();\n\n const ready = isReady();\n if (ready) {\n return Promise.resolve();\n }\n return new Promise<void>((resolve, reject) => {\n const wait = (callback: () => void) => {\n const ready = isReady();\n\n if (Date.now() - startTime > timeout) {\n reject(message);\n return;\n }\n\n if (!ready) {\n setTimeout(() => {\n wait(callback);\n }, 16);\n } else {\n callback();\n }\n };\n\n wait(resolve);\n });\n};\n","import {\n Component,\n ElementRef,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AgGridAngular,\n AngularFrameworkComponentWrapper,\n AngularFrameworkOverrides,\n} from '@ag-grid-community/angular';\nimport { AdaptableControllerService } from './adaptable-controller.service';\nimport { waitForCondition } from './waitForCondition';\n\n@Component({\n selector: 'adaptable-ag-grid-angular',\n template: ``,\n providers: [AngularFrameworkOverrides, AngularFrameworkComponentWrapper],\n // tell angular we don't want view encapsulation, we don't want a shadow root\n encapsulation: ViewEncapsulation.None,\n})\nexport class AdaptableAgGridAngular extends AgGridAngular {\n constructor(\n elementDef: ElementRef,\n viewContainerRef: ViewContainerRef,\n angularFrameworkOverrides: AngularFrameworkOverrides,\n frameworkComponentWrapper: AngularFrameworkComponentWrapper,\n private adaptableControllerService: AdaptableControllerService\n ) {\n super(elementDef, viewContainerRef, angularFrameworkOverrides, frameworkComponentWrapper);\n\n this.gridOptions = this.adaptableControllerService.gridOptions;\n this.modules = this.adaptableControllerService.modules;\n\n waitForCondition(\n () => this.api != null,\n 'Waiting for AgGrid initialisation expired!',\n 30000\n ).then(() => {\n this.adaptableControllerService.onAgGridReady(this.api);\n });\n }\n ngOnChanges(changes: SimpleChanges) {\n const gridOptionsChange = changes['gridOptions'];\n if (gridOptionsChange) {\n gridOptionsChange.currentValue = this.adaptableControllerService.gridOptions;\n console.error(\n `'gridOption' param should be passed ONLY to the <adaptable-provider> component!\nThe input on <adaptable-ag-grid-angular> will be ignored.`\n );\n }\n const modulesChange = changes['modules'];\n if (modulesChange) {\n modulesChange.currentValue = this.adaptableControllerService.modules;\n console.error(\n `'modules' param should be passed ONLY to the <adaptable-provider> component!\nThe input on <adaptable-ag-grid-angular> will be ignored.`\n );\n }\n super.ngOnChanges(changes);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdaptableProvider } from './adaptable-provider.component';\nimport { AdaptableUI } from './adaptable-ui.component';\nimport { AdaptableAgGridDirective } from './adaptable-aggrid.directive';\nimport { AdaptableAgGridAngular } from './adaptable-angular-aggrid.component';\n\n@NgModule({\n declarations: [AdaptableProvider, AdaptableUI, AdaptableAgGridDirective, AdaptableAgGridAngular],\n imports: [CommonModule],\n exports: [AdaptableProvider, AdaptableUI, AdaptableAgGridDirective, AdaptableAgGridAngular],\n providers: [],\n})\nexport class AdaptableAngularAgGridModule {}\n","/*\n * Public API Surface of adaptable-angular-aggrid\n */\nexport * from '@adaptabletools/adaptable/src/types';\nexport { AdaptableQL, AdaptableUpgradeHelper } from '@adaptabletools/adaptable/agGrid';\nexport * from './lib/adaptable-angular-aggrid.module';\nexport * from './lib/adaptable-provider.component';\nexport * from './lib/adaptable-ui.component';\nexport * from './lib/adaptable-aggrid.directive';\nexport * from './lib/adaptable-angular-aggrid.component';\nexport { ADAPTABLE_API } from './lib/adaptable-api.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AdaptableControllerService","i2.AdaptableControllerService"],"mappings":"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"}
package/index.css CHANGED
@@ -2001,6 +2001,8 @@ template {
2001
2001
  }
2002
2002
 
2003
2003
  :root {
2004
+ --ab-cmp-select__font-size: var(--ab-font-size-2);
2005
+ --ab-cmp-select__font-family: var(--ab__font-family);
2004
2006
  --ab-cmp-select__color: var(--ab-cmp-input__color);
2005
2007
  --ab-cmp-select-focused__box-shadow: var(--ab-focus__box-shadow);
2006
2008
  --ab-cmp-select-focused__outline: var(--ab-focus__outline);
@@ -2283,7 +2285,7 @@ template {
2283
2285
  --ab-cmp-note-popup-border-radius: var(--ab-space-2);
2284
2286
  --ab-cmp-note-popup-border: 1px solid var(--ab-color-primarydark);
2285
2287
  --ab-cmp-note-popup-min-width: 160px;
2286
- --ab-CellNote-tringle-color: var(--ab-color-accent);
2288
+ --ab-CellNote-triangle-color: var(--ab-color-accent);
2287
2289
  }
2288
2290
 
2289
2291
  :root {
@@ -2551,8 +2553,8 @@ html.ab--theme-dark {
2551
2553
  }
2552
2554
 
2553
2555
  :root {
2554
- --ab-CellComment-tringle-color: var(--ab-color-info);
2555
- --ab-CellComment-CellNote-tringle-color: var(--ab-color-success);
2556
+ --ab-CellComment-triangle-color: var(--ab-color-info);
2557
+ --ab-CellComment-CellNote-triangle-color: var(--ab-color-success);
2556
2558
  }
2557
2559
 
2558
2560
  .ab-Cell-Comment:before {
@@ -2564,11 +2566,11 @@ html.ab--theme-dark {
2564
2566
  height: 0;
2565
2567
  border-style: solid;
2566
2568
  border-width: 0 8px 8px 0;
2567
- border-color: transparent var(--ab-CellComment-tringle-color) transparent transparent;
2569
+ border-color: transparent var(--ab-CellComment-triangle-color) transparent transparent;
2568
2570
  }
2569
2571
 
2570
2572
  .ab-Cell-Comment.ab-Cell-Note:before {
2571
- border-color: transparent var(--ab-CellComment-CellNote-tringle-color) transparent transparent;
2573
+ border-color: transparent var(--ab-CellComment-CellNote-triangle-color) transparent transparent;
2572
2574
  }
2573
2575
 
2574
2576
  .ab-Radio-input:focus + svg rect {
@@ -4684,7 +4686,7 @@ button.ab-StatusBar__SubPanel:hover {
4684
4686
  height: 0;
4685
4687
  border-style: solid;
4686
4688
  border-width: 0 8px 8px 0;
4687
- border-color: transparent var(--ab-CellNote-tringle-color) transparent transparent;
4689
+ border-color: transparent var(--ab-CellNote-triangle-color) transparent transparent;
4688
4690
  }
4689
4691
 
4690
4692
  :root {