@theseam/ui-common 1.0.0-beta.0 → 1.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/breadcrumbs/index.d.ts +1 -2
- package/buttons/index.d.ts +20 -13
- package/datatable/index.d.ts +77 -39
- package/dynamic/index.d.ts +5 -5
- package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
- package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
- package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-card.mjs +21 -21
- package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
- package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
- package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-core.mjs +31 -11
- package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
- package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
- package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable.mjs +727 -420
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
- package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
- package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
- package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-form-field.mjs +129 -76
- package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-framework.mjs +669 -543
- package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
- package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-graphql.mjs +311 -254
- package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-icon.mjs +125 -89
- package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-layout.mjs +18 -26
- package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-loading.mjs +19 -28
- package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-menu.mjs +124 -95
- package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-modal.mjs +178 -129
- package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-models.mjs +3 -3
- package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
- package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-popover.mjs +81 -88
- package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-progress.mjs +15 -19
- package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
- package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
- package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-services.mjs +41 -26
- package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-shared.mjs +149 -159
- package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-storage.mjs +9 -6
- package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
- package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
- package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-type.mjs +63 -39
- package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
- package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table.mjs +62 -41
- package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
- package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-testing.mjs +13 -10
- package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
- package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
- package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
- package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
- package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-utils.mjs +113 -77
- package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-validators.mjs +10 -9
- package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-viewers.mjs +80 -53
- package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-widget.mjs +288 -314
- package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
- package/form-field/index.d.ts +1 -1
- package/framework/base-layout/base-layout.component.scss +9 -4
- package/framework/base-layout/styles/_variables.scss +4 -9
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
- package/framework/index.d.ts +6 -6
- package/framework/nav/nav-item/nav-item.component.scss +7 -6
- package/framework/nav/styles/_themes/light/_variables.scss +21 -5
- package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
- package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
- package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
- package/graphql/index.d.ts +49 -7
- package/modal/README.md +5 -5
- package/modal/index.d.ts +1 -1
- package/models/index.d.ts +1 -1
- package/package.json +59 -60
- package/popover/index.d.ts +0 -2
- package/progress/progress-circle/styles/_variables.scss +15 -3
- package/shared/index.d.ts +0 -13
- package/story-helpers/index.d.ts +11 -1
- package/styles/bootstrap/_bootstrap.scss +34 -34
- package/styles/bootstrap/_bs-styles.scss +4 -8
- package/styles/bootstrap/_bs-utilities.scss +4 -4
- package/styles/bootstrap/_bs-variables.scss +65 -70
- package/styles/common/_forms.scss +9 -10
- package/styles/common/_global.scss +0 -1
- package/styles/common/_hacks.scss +1 -1
- package/styles/common/_table.scss +0 -1
- package/styles/common/_text.scss +3 -1
- package/styles/theme.scss +1 -1
- package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
- package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
- package/styles/vendor/quill/_quill.scss +15 -9
- package/table/index.d.ts +4 -1
- package/table-cell-type/index.d.ts +27 -2
- package/tel-input/README.md +27 -27
- package/utils/index.d.ts +3 -3
- package/viewers/index.d.ts +9 -2
- package/widget/_widget-theme.scss +1 -1
- package/widget/styles/_variables.scss +2 -2
- package/widget/widget/widget.component.scss +0 -2
- package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
- package/widget/widget-footer/widget-footer.component.scss +0 -1
|
@@ -20,8 +20,7 @@ class TheSeamDynamicComponentLoader {
|
|
|
20
20
|
}
|
|
21
21
|
/** Retrieve a ComponentFactory, based on the specified componentId (defined in the DynamicComponentManifest array). */
|
|
22
22
|
getComponentFactory(componentId, injector) {
|
|
23
|
-
const manifest = this._manifests
|
|
24
|
-
.find(m => m.componentId === componentId);
|
|
23
|
+
const manifest = this._manifests.find((m) => m.componentId === componentId);
|
|
25
24
|
if (!manifest) {
|
|
26
25
|
return throwError(`TheSeamDynamicComponentLoader: Unknown componentId "${componentId}"`);
|
|
27
26
|
}
|
|
@@ -29,8 +28,7 @@ class TheSeamDynamicComponentLoader {
|
|
|
29
28
|
// const p = this.load<T>(path, componentId, injector)
|
|
30
29
|
// return from(p)
|
|
31
30
|
const moduleFactory$ = this.loadModuleFactory(manifest.loadChildren);
|
|
32
|
-
return moduleFactory
|
|
33
|
-
.pipe(switchMap(m => from(this.loadFactory(m, componentId, injector))));
|
|
31
|
+
return moduleFactory$.pipe(switchMap((m) => from(this.loadFactory(m, componentId, injector))));
|
|
34
32
|
}
|
|
35
33
|
loadModuleFactory(loadChildren) {
|
|
36
34
|
return wrapIntoObservable(loadChildren()).pipe(mergeMap((t) => {
|
|
@@ -63,18 +61,18 @@ class TheSeamDynamicComponentLoader {
|
|
|
63
61
|
// return this.load<T>(path, componentId, injector)
|
|
64
62
|
const moduleFactory$ = this.loadModuleFactory(dynamicModule.loadChildren);
|
|
65
63
|
return moduleFactory$
|
|
66
|
-
.pipe(switchMap(m => from(this.loadFactory(m, componentId, injector))))
|
|
64
|
+
.pipe(switchMap((m) => from(this.loadFactory(m, componentId, injector))))
|
|
67
65
|
.toPromise();
|
|
68
66
|
}
|
|
69
67
|
return Promise.resolve(moduleRef.componentFactoryResolver.resolveComponentFactory(dynamicComponentType));
|
|
70
68
|
}
|
|
71
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
72
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
69
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDynamicComponentLoader, deps: [{ token: i0.Compiler }, { token: i0.Injector }, { token: DYNAMIC_COMPONENT_MANIFESTS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDynamicComponentLoader, providedIn: 'root' });
|
|
73
71
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDynamicComponentLoader, decorators: [{
|
|
75
73
|
type: Injectable,
|
|
76
74
|
args: [{
|
|
77
|
-
providedIn: 'root'
|
|
75
|
+
providedIn: 'root',
|
|
78
76
|
}]
|
|
79
77
|
}], ctorParameters: () => [{ type: i0.Compiler }, { type: i0.Injector }, { type: undefined, decorators: [{
|
|
80
78
|
type: Optional
|
|
@@ -103,7 +101,7 @@ class TheSeamDynamicComponentLoaderModule {
|
|
|
103
101
|
// provider for @angular/router to parse
|
|
104
102
|
{ provide: ROUTES, useValue: manifest, multi: true },
|
|
105
103
|
// provider for TheSeamDynamicComponentLoader to analyze
|
|
106
|
-
{ provide: DYNAMIC_MODULE, useValue: manifest }
|
|
104
|
+
{ provide: DYNAMIC_MODULE, useValue: manifest },
|
|
107
105
|
],
|
|
108
106
|
};
|
|
109
107
|
}
|
|
@@ -118,11 +116,11 @@ class TheSeamDynamicComponentLoaderModule {
|
|
|
118
116
|
],
|
|
119
117
|
};
|
|
120
118
|
}
|
|
121
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
122
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
123
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
119
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDynamicComponentLoaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
120
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDynamicComponentLoaderModule });
|
|
121
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDynamicComponentLoaderModule });
|
|
124
122
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: TheSeamDynamicComponentLoaderModule, decorators: [{
|
|
126
124
|
type: NgModule
|
|
127
125
|
}] });
|
|
128
126
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-dynamic-component-loader.mjs","sources":["../../../projects/ui-common/dynamic-component-loader/dynamic-component-tokens.ts","../../../projects/ui-common/dynamic-component-loader/dynamic-component-loader.service.ts","../../../projects/ui-common/dynamic-component-loader/dynamic-component-loader.module.ts","../../../projects/ui-common/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\n\nexport const DYNAMIC_COMPONENT = new InjectionToken<any>('DYNAMIC_COMPONENT')\n\nexport const DYNAMIC_MODULE = new InjectionToken<any>('DYNAMIC_MODULE')\n\nexport const DYNAMIC_COMPONENT_MANIFESTS = new InjectionToken<any>('DYNAMIC_COMPONENT_MANIFESTS')\n","import { Compiler, ComponentFactory, Inject, Injectable, Injector, NgModuleFactory, Optional } from '@angular/core'\nimport { Observable, of } from 'rxjs'\nimport { from, throwError } from 'rxjs'\nimport { mergeMap, switchMap } from 'rxjs/operators'\n\nimport { LoadChildren } from '@angular/router'\nimport { DynamicComponentManifest } from './dynamic-component-manifest'\nimport {\n DYNAMIC_COMPONENT,\n DYNAMIC_COMPONENT_MANIFESTS,\n DYNAMIC_MODULE\n} from './dynamic-component-tokens'\n\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamDynamicComponentLoader {\n\n private _manifests: DynamicComponentManifest[]\n\n constructor(\n private compiler: Compiler,\n private injector: Injector,\n @Optional() @Inject(DYNAMIC_COMPONENT_MANIFESTS) manifests: DynamicComponentManifest[],\n ) { this._manifests = manifests || [] }\n\n /** Retrieve a ComponentFactory, based on the specified componentId (defined in the DynamicComponentManifest array). */\n getComponentFactory<T>(componentId: string, injector?: Injector): Observable<ComponentFactory<T>> {\n const manifest = this._manifests\n .find(m => m.componentId === componentId)\n if (!manifest) {\n return throwError(`TheSeamDynamicComponentLoader: Unknown componentId \"${componentId}\"`)\n }\n\n // const path = manifest.loadChildren\n\n // const p = this.load<T>(path, componentId, injector)\n // return from(p)\n\n const moduleFactory$ = this.loadModuleFactory(manifest.loadChildren)\n\n return moduleFactory$\n .pipe(switchMap(m => from(this.loadFactory<any>(m, componentId, injector))))\n }\n\n private loadModuleFactory(loadChildren: LoadChildren): Observable<NgModuleFactory<any>> {\n return wrapIntoObservable(loadChildren()).pipe(mergeMap((t: any) => {\n if (t instanceof NgModuleFactory) {\n return of(t)\n } else {\n return from(this.compiler.compileModuleAsync(t))\n }\n }))\n }\n\n private loadFactory<T>(ngModuleFactory: NgModuleFactory<any>, componentId: string, injector?: Injector): Promise<ComponentFactory<T>> {\n const moduleRef = ngModuleFactory.create(injector || this.injector)\n const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT, null)\n if (!dynamicComponentType) {\n const dynamicModule: DynamicComponentManifest = moduleRef.injector.get(DYNAMIC_MODULE, null)\n\n if (!dynamicModule) {\n throw new Error(\n 'TheSeamDynamicComponentLoader: Dynamic module for' +\n ` componentId \"${componentId}\" does not contain` +\n ' DYNAMIC_COMPONENT or DYNAMIC_MODULE as a provider.',\n )\n }\n if (dynamicModule.componentId !== componentId) {\n throw new Error(\n 'TheSeamDynamicComponentLoader: Dynamic module for' +\n `${componentId} does not match manifest.`,\n )\n }\n\n const path = dynamicModule.loadChildren\n\n if (!path) {\n throw new Error(`${componentId} unknown!`)\n }\n\n // return this.load<T>(path, componentId, injector)\n const moduleFactory$ = this.loadModuleFactory(dynamicModule.loadChildren)\n\n return moduleFactory$\n .pipe(switchMap(m => from(this.loadFactory<any>(m, componentId, injector))))\n .toPromise() as Promise<ComponentFactory<T>>\n }\n\n return Promise.resolve(moduleRef.componentFactoryResolver.resolveComponentFactory<T>(dynamicComponentType))\n }\n}\n","import {\n ModuleWithProviders,\n NgModule,\n Type,\n} from '@angular/core'\nimport { ROUTES } from '@angular/router'\n\nimport { TheSeamDynamicComponentLoader } from './dynamic-component-loader.service'\nimport type { DynamicComponentManifest } from './dynamic-component-manifest'\nimport {\n DYNAMIC_COMPONENT,\n DYNAMIC_COMPONENT_MANIFESTS,\n DYNAMIC_MODULE\n} from './dynamic-component-tokens'\n\n@NgModule()\nexport class TheSeamDynamicComponentLoaderModule {\n static forRoot(manifests: DynamicComponentManifest[]): ModuleWithProviders<TheSeamDynamicComponentLoaderModule> {\n return {\n ngModule: TheSeamDynamicComponentLoaderModule,\n providers: [\n TheSeamDynamicComponentLoader,\n // provider for Angular CLI to analyze\n { provide: ROUTES, useValue: manifests, multi: true },\n // provider for TheSeamDynamicComponentLoader to analyze\n { provide: DYNAMIC_COMPONENT_MANIFESTS, useValue: manifests },\n ],\n }\n }\n static forModule(manifest: DynamicComponentManifest): ModuleWithProviders<TheSeamDynamicComponentLoaderModule> {\n return {\n ngModule: TheSeamDynamicComponentLoaderModule,\n providers: [\n // provider for @angular/router to parse\n { provide: ROUTES, useValue: manifest, multi: true },\n // provider for TheSeamDynamicComponentLoader to analyze\n { provide: DYNAMIC_MODULE, useValue: manifest }],\n }\n }\n static forChild(component: Type<any>): ModuleWithProviders<TheSeamDynamicComponentLoaderModule> {\n return {\n ngModule: TheSeamDynamicComponentLoaderModule,\n providers: [\n // provider for @angular/router to parse\n { provide: ROUTES, useValue: [], multi: true },\n // provider for TheSeamDynamicComponentLoader to analyze\n { provide: DYNAMIC_COMPONENT, useValue: component },\n ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-dynamic-component-loader.mjs","sources":["../../../projects/ui-common/dynamic-component-loader/dynamic-component-tokens.ts","../../../projects/ui-common/dynamic-component-loader/dynamic-component-loader.service.ts","../../../projects/ui-common/dynamic-component-loader/dynamic-component-loader.module.ts","../../../projects/ui-common/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\n\nexport const DYNAMIC_COMPONENT = new InjectionToken<any>('DYNAMIC_COMPONENT')\n\nexport const DYNAMIC_MODULE = new InjectionToken<any>('DYNAMIC_MODULE')\n\nexport const DYNAMIC_COMPONENT_MANIFESTS = new InjectionToken<any>(\n 'DYNAMIC_COMPONENT_MANIFESTS',\n)\n","import {\n Compiler,\n ComponentFactory,\n Inject,\n Injectable,\n Injector,\n NgModuleFactory,\n Optional,\n} from '@angular/core'\nimport { Observable, of } from 'rxjs'\nimport { from, throwError } from 'rxjs'\nimport { mergeMap, switchMap } from 'rxjs/operators'\n\nimport { LoadChildren } from '@angular/router'\nimport { DynamicComponentManifest } from './dynamic-component-manifest'\nimport {\n DYNAMIC_COMPONENT,\n DYNAMIC_COMPONENT_MANIFESTS,\n DYNAMIC_MODULE,\n} from './dynamic-component-tokens'\n\nimport { wrapIntoObservable } from '@theseam/ui-common/utils'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TheSeamDynamicComponentLoader {\n private _manifests: DynamicComponentManifest[]\n\n constructor(\n private compiler: Compiler,\n private injector: Injector,\n @Optional()\n @Inject(DYNAMIC_COMPONENT_MANIFESTS)\n manifests: DynamicComponentManifest[],\n ) {\n this._manifests = manifests || []\n }\n\n /** Retrieve a ComponentFactory, based on the specified componentId (defined in the DynamicComponentManifest array). */\n getComponentFactory<T>(\n componentId: string,\n injector?: Injector,\n ): Observable<ComponentFactory<T>> {\n const manifest = this._manifests.find((m) => m.componentId === componentId)\n if (!manifest) {\n return throwError(\n `TheSeamDynamicComponentLoader: Unknown componentId \"${componentId}\"`,\n )\n }\n\n // const path = manifest.loadChildren\n\n // const p = this.load<T>(path, componentId, injector)\n // return from(p)\n\n const moduleFactory$ = this.loadModuleFactory(manifest.loadChildren)\n\n return moduleFactory$.pipe(\n switchMap((m) => from(this.loadFactory<any>(m, componentId, injector))),\n )\n }\n\n private loadModuleFactory(\n loadChildren: LoadChildren,\n ): Observable<NgModuleFactory<any>> {\n return wrapIntoObservable(loadChildren()).pipe(\n mergeMap((t: any) => {\n if (t instanceof NgModuleFactory) {\n return of(t)\n } else {\n return from(this.compiler.compileModuleAsync(t))\n }\n }),\n )\n }\n\n private loadFactory<T>(\n ngModuleFactory: NgModuleFactory<any>,\n componentId: string,\n injector?: Injector,\n ): Promise<ComponentFactory<T>> {\n const moduleRef = ngModuleFactory.create(injector || this.injector)\n const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT, null)\n if (!dynamicComponentType) {\n const dynamicModule: DynamicComponentManifest = moduleRef.injector.get(\n DYNAMIC_MODULE,\n null,\n )\n\n if (!dynamicModule) {\n throw new Error(\n 'TheSeamDynamicComponentLoader: Dynamic module for' +\n ` componentId \"${componentId}\" does not contain` +\n ' DYNAMIC_COMPONENT or DYNAMIC_MODULE as a provider.',\n )\n }\n if (dynamicModule.componentId !== componentId) {\n throw new Error(\n 'TheSeamDynamicComponentLoader: Dynamic module for' +\n `${componentId} does not match manifest.`,\n )\n }\n\n const path = dynamicModule.loadChildren\n\n if (!path) {\n throw new Error(`${componentId} unknown!`)\n }\n\n // return this.load<T>(path, componentId, injector)\n const moduleFactory$ = this.loadModuleFactory(dynamicModule.loadChildren)\n\n return moduleFactory$\n .pipe(\n switchMap((m) =>\n from(this.loadFactory<any>(m, componentId, injector)),\n ),\n )\n .toPromise() as Promise<ComponentFactory<T>>\n }\n\n return Promise.resolve(\n moduleRef.componentFactoryResolver.resolveComponentFactory<T>(\n dynamicComponentType,\n ),\n )\n }\n}\n","import { ModuleWithProviders, NgModule, Type } from '@angular/core'\nimport { ROUTES } from '@angular/router'\n\nimport { TheSeamDynamicComponentLoader } from './dynamic-component-loader.service'\nimport type { DynamicComponentManifest } from './dynamic-component-manifest'\nimport {\n DYNAMIC_COMPONENT,\n DYNAMIC_COMPONENT_MANIFESTS,\n DYNAMIC_MODULE,\n} from './dynamic-component-tokens'\n\n@NgModule()\nexport class TheSeamDynamicComponentLoaderModule {\n static forRoot(\n manifests: DynamicComponentManifest[],\n ): ModuleWithProviders<TheSeamDynamicComponentLoaderModule> {\n return {\n ngModule: TheSeamDynamicComponentLoaderModule,\n providers: [\n TheSeamDynamicComponentLoader,\n // provider for Angular CLI to analyze\n { provide: ROUTES, useValue: manifests, multi: true },\n // provider for TheSeamDynamicComponentLoader to analyze\n { provide: DYNAMIC_COMPONENT_MANIFESTS, useValue: manifests },\n ],\n }\n }\n static forModule(\n manifest: DynamicComponentManifest,\n ): ModuleWithProviders<TheSeamDynamicComponentLoaderModule> {\n return {\n ngModule: TheSeamDynamicComponentLoaderModule,\n providers: [\n // provider for @angular/router to parse\n { provide: ROUTES, useValue: manifest, multi: true },\n // provider for TheSeamDynamicComponentLoader to analyze\n { provide: DYNAMIC_MODULE, useValue: manifest },\n ],\n }\n }\n static forChild(\n component: Type<any>,\n ): ModuleWithProviders<TheSeamDynamicComponentLoaderModule> {\n return {\n ngModule: TheSeamDynamicComponentLoaderModule,\n providers: [\n // provider for @angular/router to parse\n { provide: ROUTES, useValue: [], multi: true },\n // provider for TheSeamDynamicComponentLoader to analyze\n { provide: DYNAMIC_COMPONENT, useValue: component },\n ],\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ const VALID_REQUEST_METHODS = [
|
|
|
16
16
|
'POST',
|
|
17
17
|
'PUT',
|
|
18
18
|
'PATCH',
|
|
19
|
-
'DELETE'
|
|
19
|
+
'DELETE',
|
|
20
20
|
];
|
|
21
21
|
function isValidRequestMethod(method) {
|
|
22
22
|
return VALID_REQUEST_METHODS.indexOf(method) !== -1;
|
|
@@ -24,19 +24,19 @@ function isValidRequestMethod(method) {
|
|
|
24
24
|
const THESEAM_API_CONFIG_DEFAULT = {
|
|
25
25
|
url: '/',
|
|
26
26
|
methodHeaders: {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
27
|
+
GET: { 'Content-Type': 'application/json' },
|
|
28
|
+
POST: { 'Content-Type': 'application/json' },
|
|
29
|
+
PUT: { 'Content-Type': 'application/json' },
|
|
30
|
+
PATCH: { 'Content-Type': 'application/json' },
|
|
31
|
+
DELETE: { 'Content-Type': 'application/json' },
|
|
32
|
+
},
|
|
33
33
|
};
|
|
34
34
|
// export const THESEAM_API_CONFIG = new InjectionToken<IApiConfig[]>(
|
|
35
35
|
// 'Api config token, config options for actions that make an api request in library'
|
|
36
36
|
// )
|
|
37
37
|
const THESEAM_API_CONFIG = new InjectionToken('Api config token, config options for actions that make an api request in library', {
|
|
38
38
|
providedIn: 'root',
|
|
39
|
-
factory: () => [THESEAM_API_CONFIG_DEFAULT]
|
|
39
|
+
factory: () => [THESEAM_API_CONFIG_DEFAULT],
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
function dynamicActionApiNotSupportedError() {
|
|
@@ -95,7 +95,9 @@ class DynamicValueHelperService {
|
|
|
95
95
|
if (value === undefined || value === null) {
|
|
96
96
|
return false;
|
|
97
97
|
}
|
|
98
|
-
if (typeof value === 'string' ||
|
|
98
|
+
if (typeof value === 'string' ||
|
|
99
|
+
typeof value === 'number' ||
|
|
100
|
+
typeof value === 'boolean') {
|
|
99
101
|
return false;
|
|
100
102
|
}
|
|
101
103
|
if (!value.type) {
|
|
@@ -132,13 +134,13 @@ class DynamicValueHelperService {
|
|
|
132
134
|
}
|
|
133
135
|
return evaluator.evalSync(value, context);
|
|
134
136
|
}
|
|
135
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
136
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
137
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicValueHelperService, deps: [{ token: THESEAM_DYNAMIC_VALUE_EVALUATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
138
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicValueHelperService, providedIn: 'root' });
|
|
137
139
|
}
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicValueHelperService, decorators: [{
|
|
139
141
|
type: Injectable,
|
|
140
142
|
args: [{
|
|
141
|
-
providedIn: 'root'
|
|
143
|
+
providedIn: 'root',
|
|
142
144
|
}]
|
|
143
145
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
144
146
|
type: Optional
|
|
@@ -168,12 +170,14 @@ class DynamicActionApiService {
|
|
|
168
170
|
if (!this._isSupported()) {
|
|
169
171
|
throw dynamicActionApiNotSupportedError();
|
|
170
172
|
}
|
|
171
|
-
return from(this._getExecInfo(args, context))
|
|
173
|
+
return from(this._getExecInfo(args, context))
|
|
174
|
+
.pipe(switchMap((x) => this._http.request(x.method, x.url, x.options)))
|
|
175
|
+
.toPromise();
|
|
172
176
|
}
|
|
173
177
|
async getUiProps(args, context) {
|
|
174
178
|
return {
|
|
175
179
|
_actionDef: args,
|
|
176
|
-
triggerType: 'click'
|
|
180
|
+
triggerType: 'click',
|
|
177
181
|
};
|
|
178
182
|
}
|
|
179
183
|
async _getExecInfo(args, context) {
|
|
@@ -188,7 +192,7 @@ class DynamicActionApiService {
|
|
|
188
192
|
const result = {
|
|
189
193
|
url,
|
|
190
194
|
method,
|
|
191
|
-
options: { body, params, headers }
|
|
195
|
+
options: { body, params, headers },
|
|
192
196
|
};
|
|
193
197
|
return result;
|
|
194
198
|
}
|
|
@@ -204,8 +208,10 @@ class DynamicActionApiService {
|
|
|
204
208
|
if (config && config.url !== undefined && config.url !== null) {
|
|
205
209
|
const url = await this._valueHelper.eval(config.url, context);
|
|
206
210
|
if (typeof url === 'string') {
|
|
207
|
-
const addSlash = endpoint.length > 0 &&
|
|
208
|
-
|
|
211
|
+
const addSlash = endpoint.length > 0 &&
|
|
212
|
+
endpoint.indexOf('/') !== 0 &&
|
|
213
|
+
url.length > 0 &&
|
|
214
|
+
url.indexOf('/') !== 0;
|
|
209
215
|
return `${config.url}${addSlash ? '/' : ''}${endpoint}`;
|
|
210
216
|
}
|
|
211
217
|
}
|
|
@@ -250,7 +256,7 @@ class DynamicActionApiService {
|
|
|
250
256
|
}
|
|
251
257
|
const h = method && config.methodHeaders[method];
|
|
252
258
|
if (h !== undefined && h !== null) {
|
|
253
|
-
headers = await this._evalHeaders(h, context);
|
|
259
|
+
headers = (await this._evalHeaders(h, context));
|
|
254
260
|
}
|
|
255
261
|
}
|
|
256
262
|
// TODO: Cleanup messing multiple level logic
|
|
@@ -276,7 +282,7 @@ class DynamicActionApiService {
|
|
|
276
282
|
headers[key] = value;
|
|
277
283
|
}
|
|
278
284
|
else if (Array.isArray(value)) {
|
|
279
|
-
headers[key] = await Promise.all(value.map(async (v) => this._valueHelper.eval(v, context)));
|
|
285
|
+
headers[key] = (await Promise.all(value.map(async (v) => this._valueHelper.eval(v, context))));
|
|
280
286
|
}
|
|
281
287
|
else {
|
|
282
288
|
headers[key] = await this._valueHelper.eval(value, context);
|
|
@@ -335,10 +341,10 @@ class DynamicActionApiService {
|
|
|
335
341
|
}
|
|
336
342
|
return true;
|
|
337
343
|
}
|
|
338
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
339
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
344
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionApiService, deps: [{ token: DynamicValueHelperService }, { token: i2.HttpClient, optional: true }, { token: THESEAM_API_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
345
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionApiService });
|
|
340
346
|
}
|
|
341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionApiService, decorators: [{
|
|
342
348
|
type: Injectable
|
|
343
349
|
}], ctorParameters: () => [{ type: DynamicValueHelperService }, { type: i2.HttpClient, decorators: [{
|
|
344
350
|
type: Optional
|
|
@@ -387,10 +393,10 @@ class DynamicActionLinkService {
|
|
|
387
393
|
}
|
|
388
394
|
return def;
|
|
389
395
|
}
|
|
390
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
391
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
396
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionLinkService, deps: [{ token: DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
397
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionLinkService });
|
|
392
398
|
}
|
|
393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionLinkService, decorators: [{
|
|
394
400
|
type: Injectable
|
|
395
401
|
}], ctorParameters: () => [{ type: DynamicValueHelperService }] });
|
|
396
402
|
|
|
@@ -406,7 +412,7 @@ class DynamicActionHelperService {
|
|
|
406
412
|
this._valueHelper = _valueHelper;
|
|
407
413
|
this._confirmDialog = _confirmDialog;
|
|
408
414
|
// Only one evaluator should exist for a type, so map them for faster lookup.
|
|
409
|
-
for (const e of
|
|
415
|
+
for (const e of actions || []) {
|
|
410
416
|
if (isDevMode()) {
|
|
411
417
|
if (this._actionMap.has(e.type)) {
|
|
412
418
|
// eslint-disable-next-line no-console
|
|
@@ -530,15 +536,19 @@ class DynamicActionHelperService {
|
|
|
530
536
|
alert = await this._valueHelper.eval(confirmDef.alert, context);
|
|
531
537
|
}
|
|
532
538
|
const modalDef = this._confirmDialog.open(message, alert);
|
|
533
|
-
return modalDef
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
539
|
+
return modalDef
|
|
540
|
+
.afterClosed()
|
|
541
|
+
.pipe(map((v) => v === 'confirm'))
|
|
542
|
+
.toPromise()
|
|
543
|
+
.then((x) => x ?? false);
|
|
544
|
+
}
|
|
545
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionHelperService, deps: [{ token: DynamicValueHelperService }, { token: i2$1.SeamConfirmDialogService, optional: true }, { token: THESEAM_DYNAMIC_ACTION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
546
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionHelperService, providedIn: 'root' });
|
|
537
547
|
}
|
|
538
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionHelperService, decorators: [{
|
|
539
549
|
type: Injectable,
|
|
540
550
|
args: [{
|
|
541
|
-
providedIn: 'root'
|
|
551
|
+
providedIn: 'root',
|
|
542
552
|
}]
|
|
543
553
|
}], ctorParameters: () => [{ type: DynamicValueHelperService }, { type: i2$1.SeamConfirmDialogService, decorators: [{
|
|
544
554
|
type: Optional
|
|
@@ -566,7 +576,8 @@ class DynamicActionModalService {
|
|
|
566
576
|
async exec(args, context) {
|
|
567
577
|
const component = this._getComponent(args, context);
|
|
568
578
|
const data = this._getData(args, context);
|
|
569
|
-
return this._openModal(component, data)
|
|
579
|
+
return this._openModal(component, data)
|
|
580
|
+
.pipe(switchMap((modalRef) => modalRef.afterClosed().pipe(switchMap((result) => {
|
|
570
581
|
const resultAction = this._getModalResultAction(args, result);
|
|
571
582
|
// TODO: Come up with a way to pass data from previous action
|
|
572
583
|
if (resultAction) {
|
|
@@ -574,13 +585,14 @@ class DynamicActionModalService {
|
|
|
574
585
|
return dynamicActionHelper.exec(resultAction, context);
|
|
575
586
|
}
|
|
576
587
|
return of(result);
|
|
577
|
-
}))))
|
|
588
|
+
}))))
|
|
589
|
+
.toPromise();
|
|
578
590
|
}
|
|
579
591
|
// execSync?: (args: IDynamicActionDef<T>, context: D) => R
|
|
580
592
|
async getUiProps(args, context) {
|
|
581
593
|
return {
|
|
582
594
|
_actionDef: args,
|
|
583
|
-
triggerType: 'click'
|
|
595
|
+
triggerType: 'click',
|
|
584
596
|
};
|
|
585
597
|
}
|
|
586
598
|
/**
|
|
@@ -614,7 +626,7 @@ class DynamicActionModalService {
|
|
|
614
626
|
// TODO: Replace with JSON valid config from input def model
|
|
615
627
|
const config = {
|
|
616
628
|
data,
|
|
617
|
-
modalSize: 'lg'
|
|
629
|
+
modalSize: 'lg',
|
|
618
630
|
};
|
|
619
631
|
if (typeof modal === 'string') {
|
|
620
632
|
return this._modal.openFromLazyComponent(modal, config);
|
|
@@ -623,10 +635,10 @@ class DynamicActionModalService {
|
|
|
623
635
|
return of(this._modal.openFromComponent(modal, config));
|
|
624
636
|
}
|
|
625
637
|
}
|
|
626
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
627
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
638
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionModalService, deps: [{ token: DynamicValueHelperService }, { token: i2$2.Modal }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
639
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionModalService });
|
|
628
640
|
}
|
|
629
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: DynamicActionModalService, decorators: [{
|
|
630
642
|
type: Injectable
|
|
631
643
|
}], ctorParameters: () => [{ type: DynamicValueHelperService }, { type: i2$2.Modal }, { type: i0.Injector }] });
|
|
632
644
|
|
|
@@ -641,19 +653,19 @@ class ExportersDataEvaluator {
|
|
|
641
653
|
}
|
|
642
654
|
evalSync(value, context) {
|
|
643
655
|
return {
|
|
644
|
-
exporters: this._exporters(value.exporters || [])
|
|
656
|
+
exporters: this._exporters(value.exporters || []),
|
|
645
657
|
};
|
|
646
658
|
}
|
|
647
659
|
_exporters(exporters) {
|
|
648
660
|
const dataExporters = (this._injector.get(THESEAM_DATA_EXPORTER) || []);
|
|
649
661
|
return exporters
|
|
650
|
-
.map(e => dataExporters.find(de => de.name === e))
|
|
662
|
+
.map((e) => dataExporters.find((de) => de.name === e))
|
|
651
663
|
.filter(notNullOrUndefined);
|
|
652
664
|
}
|
|
653
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
654
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
665
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: ExportersDataEvaluator, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
666
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: ExportersDataEvaluator });
|
|
655
667
|
}
|
|
656
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
668
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: ExportersDataEvaluator, decorators: [{
|
|
657
669
|
type: Injectable
|
|
658
670
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
659
671
|
|
|
@@ -676,10 +688,10 @@ class JexlEvaluator {
|
|
|
676
688
|
evalSync(value, context) {
|
|
677
689
|
return this._jexl.evalSync(value.expr, context);
|
|
678
690
|
}
|
|
679
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
680
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
691
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: JexlEvaluator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
692
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: JexlEvaluator });
|
|
681
693
|
}
|
|
682
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
694
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.7", ngImport: i0, type: JexlEvaluator, decorators: [{
|
|
683
695
|
type: Injectable
|
|
684
696
|
}], ctorParameters: () => [] });
|
|
685
697
|
|