@acorex/platform 21.0.0-next.24 → 21.0.0-next.33
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/fesm2022/acorex-platform-auth.mjs +121 -27
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-common-settings.provider-gyb6ohAE.mjs → acorex-platform-common-common-settings.provider-G9XcXXOG.mjs} +46 -4
- package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +677 -267
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +393 -111
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +554 -826
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +345 -59
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs} +9 -9
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +3373 -872
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +169 -154
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +14645 -11533
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +244 -170
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +367 -408
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-Dnbx_uY7.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-B0omAUil.mjs → acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs} +30 -22
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-D-HFZHNZ.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-q30grR3z.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs +111 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BJh1QJqp.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +7 -7
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component--rzP7scF.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
- package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-DHlgsHa7.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +5924 -4049
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +8 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +220 -169
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-di5w_3K2.mjs → acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs} +15 -22
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-D9NZ-6L_.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-404.component-CgB_tlPU.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +1667 -61
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-Cmju9l91.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-Cp5Th57U.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-BQxoUmYL.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs} +4 -4
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-CTGy2kjJ.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs} +9 -9
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +231 -227
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +208 -91
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/package.json +34 -34
- package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +14 -2
- package/{common/index.d.ts → types/acorex-platform-common.d.ts} +189 -16
- package/{core/index.d.ts → types/acorex-platform-core.d.ts} +178 -15
- package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +719 -413
- package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +91 -42
- package/{layout/components/index.d.ts → types/acorex-platform-layout-components.d.ts} +893 -138
- package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +9 -3
- package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +515 -26
- package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +44 -9
- package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +146 -95
- package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +506 -98
- package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
- package/{runtime/index.d.ts → types/acorex-platform-runtime.d.ts} +237 -74
- package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +104 -4
- package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +33 -30
- package/fesm2022/acorex-platform-common-common-settings.provider-gyb6ohAE.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dnbx_uY7.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-B0omAUil.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-D-HFZHNZ.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-q30grR3z.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs +0 -111
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BJh1QJqp.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component--rzP7scF.mjs.map +0 -1
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-DHlgsHa7.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D_ex0nL2.mjs +0 -160
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D_ex0nL2.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BhDLyC5P.mjs +0 -1611
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BhDLyC5P.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CgLUnYRq.mjs +0 -99
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-CgLUnYRq.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-di5w_3K2.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-D9NZ-6L_.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-CgB_tlPU.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DlUrqVmj.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DlUrqVmj.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-Cmju9l91.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Cp5Th57U.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BQxoUmYL.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CTGy2kjJ.mjs.map +0 -1
- /package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +0 -0
- /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Injectable, Directive, computed, Injector, ChangeDetectionStrategy, Component, input, ElementRef, ViewContainerRef, signal, effect, runInInjectionContext, Optional, Inject, NgModule, EventEmitter, HostListener, Output, provideAppInitializer, Pipe } from '@angular/core';
|
|
3
|
-
import { get, isPlainObject, set, isNil, isEmpty, isArray, merge, isObjectLike, transform, isEqual, differenceWith, union, cloneDeep, sortBy, isUndefined, endsWith, startsWith, includes, lte, gte, lt, gt, orderBy } from 'lodash-es';
|
|
2
|
+
import { InjectionToken, inject, Injectable, Directive, computed, Injector, ChangeDetectionStrategy, Component, input, ElementRef, ViewContainerRef, signal, effect, runInInjectionContext, Optional, Inject, NgModule, EventEmitter, HostListener, Output, provideAppInitializer, ChangeDetectorRef, Pipe } from '@angular/core';
|
|
3
|
+
import { get, isPlainObject, set, isNil, isEmpty, isArray, merge, isObjectLike, transform, isEqual, differenceWith, union, cloneDeep, has, sortBy, isUndefined, endsWith, startsWith, includes, lte, gte, lt, gt, orderBy } from 'lodash-es';
|
|
4
4
|
import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
|
|
5
5
|
import * as i1 from '@acorex/components/skeleton';
|
|
6
6
|
import { AXSkeletonModule } from '@acorex/components/skeleton';
|
|
7
|
-
import { Subject, interval, fromEvent } from 'rxjs';
|
|
7
|
+
import { Subject, merge as merge$1, of, interval, fromEvent } from 'rxjs';
|
|
8
|
+
import { AXDataSource } from '@acorex/cdk/common';
|
|
9
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
10
|
+
import { map, distinctUntilChanged, startWith, debounceTime } from 'rxjs/operators';
|
|
8
11
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
9
|
-
import { startWith, map, debounceTime } from 'rxjs/operators';
|
|
10
12
|
|
|
11
13
|
const AXP_ACTIVITY_LOG_PROVIDER = new InjectionToken('AXP_ACTIVITY_LOGS_PROVIDER');
|
|
12
14
|
class AXPActivityLogService {
|
|
@@ -19,10 +21,10 @@ class AXPActivityLogService {
|
|
|
19
21
|
async getHistoryByIds(refId, refType, ids) {
|
|
20
22
|
return (await Promise.all(this.providers?.map((p) => p.getHistoryByIds(refId, refType, ids)) ?? [])).flat();
|
|
21
23
|
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPActivityLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPActivityLogService, providedIn: 'root' }); }
|
|
24
26
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPActivityLogService, decorators: [{
|
|
26
28
|
type: Injectable,
|
|
27
29
|
args: [{ providedIn: 'root' }]
|
|
28
30
|
}] });
|
|
@@ -172,10 +174,10 @@ class AXPColorPaletteService {
|
|
|
172
174
|
const uniquePalettes = allPalettes.filter((palette, index, self) => index === self.findIndex((p) => p.name === palette.name));
|
|
173
175
|
this.cache = uniquePalettes;
|
|
174
176
|
}
|
|
175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
176
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
177
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColorPaletteService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
178
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColorPaletteService, providedIn: 'root' }); }
|
|
177
179
|
}
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColorPaletteService, decorators: [{
|
|
179
181
|
type: Injectable,
|
|
180
182
|
args: [{
|
|
181
183
|
providedIn: 'root',
|
|
@@ -290,10 +292,10 @@ class AXPDefaultColorPalettesProvider extends AXPColorPaletteProvider {
|
|
|
290
292
|
},
|
|
291
293
|
];
|
|
292
294
|
}
|
|
293
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
294
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
295
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDefaultColorPalettesProvider, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
296
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDefaultColorPalettesProvider }); }
|
|
295
297
|
}
|
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDefaultColorPalettesProvider, decorators: [{
|
|
297
299
|
type: Injectable
|
|
298
300
|
}] });
|
|
299
301
|
|
|
@@ -479,10 +481,10 @@ class AXPColumnWidthService {
|
|
|
479
481
|
}
|
|
480
482
|
return width;
|
|
481
483
|
}
|
|
482
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
483
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
484
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColumnWidthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
485
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColumnWidthService, providedIn: 'root' }); }
|
|
484
486
|
}
|
|
485
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
487
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColumnWidthService, decorators: [{
|
|
486
488
|
type: Injectable,
|
|
487
489
|
args: [{
|
|
488
490
|
providedIn: 'root',
|
|
@@ -511,15 +513,17 @@ const defaultColumnWidthProvider = {
|
|
|
511
513
|
{ name: 'content', width: '500px', priority: 10 },
|
|
512
514
|
{ name: 'level', width: '100px', priority: 10 },
|
|
513
515
|
{ name: 'order', width: '100px', priority: 10 },
|
|
516
|
+
{ name: 'phones', width: '300px', priority: 10 },
|
|
517
|
+
{ name: 'emails', width: '300px', priority: 10 },
|
|
514
518
|
],
|
|
515
519
|
};
|
|
516
520
|
//#endregion
|
|
517
521
|
|
|
518
522
|
class AXPComponentSlot {
|
|
519
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
520
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
523
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlot, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
524
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXPComponentSlot, isStandalone: true, ngImport: i0 }); }
|
|
521
525
|
}
|
|
522
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
526
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlot, decorators: [{
|
|
523
527
|
type: Directive
|
|
524
528
|
}] });
|
|
525
529
|
|
|
@@ -787,9 +791,10 @@ function getEnumValues(enumType) {
|
|
|
787
791
|
|
|
788
792
|
class AXPContextChangeEvent {
|
|
789
793
|
}
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
794
|
+
//#endregion
|
|
795
|
+
//#region ---- Context signal store ----
|
|
796
|
+
// Shared reactive context: root injector has a default instance; widget/layout trees
|
|
797
|
+
const AXPContextStore = signalStore(
|
|
793
798
|
// Initial State
|
|
794
799
|
withState(() => ({
|
|
795
800
|
data: {}, // Shared context data
|
|
@@ -839,7 +844,7 @@ withMethods((store) => ({
|
|
|
839
844
|
lastChange: changeEvent,
|
|
840
845
|
});
|
|
841
846
|
},
|
|
842
|
-
patch(context) {
|
|
847
|
+
patch(context, skipDirtyTracking = false) {
|
|
843
848
|
const currentData = cloneDeep(store.data());
|
|
844
849
|
// Update the value and prepare the change event
|
|
845
850
|
const updatedData = { ...currentData, ...context };
|
|
@@ -849,7 +854,7 @@ withMethods((store) => ({
|
|
|
849
854
|
};
|
|
850
855
|
// Patch the state
|
|
851
856
|
patchState(store, {
|
|
852
|
-
previousSnapshot: store.snapshot(),
|
|
857
|
+
...(skipDirtyTracking ? {} : { previousSnapshot: store.snapshot() }),
|
|
853
858
|
data: updatedData,
|
|
854
859
|
state: 'changed',
|
|
855
860
|
lastChange: changeEvent,
|
|
@@ -897,7 +902,12 @@ withMethods((store) => ({
|
|
|
897
902
|
getValue(path) {
|
|
898
903
|
return getSmart(store.data(), path);
|
|
899
904
|
},
|
|
905
|
+
// Check if a path exists in the context
|
|
906
|
+
hasValue(path) {
|
|
907
|
+
return has(store.data(), path);
|
|
908
|
+
},
|
|
900
909
|
})));
|
|
910
|
+
//#endregion
|
|
901
911
|
|
|
902
912
|
class AXPExpressionEvaluatorScopeProviderContext {
|
|
903
913
|
constructor() {
|
|
@@ -935,10 +945,10 @@ class AXPExpressionEvaluatorScopeProviderService {
|
|
|
935
945
|
await this.load();
|
|
936
946
|
return this.cache || {};
|
|
937
947
|
}
|
|
938
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
939
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
948
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
949
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, providedIn: 'root' }); }
|
|
940
950
|
}
|
|
941
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
951
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, decorators: [{
|
|
942
952
|
type: Injectable,
|
|
943
953
|
args: [{ providedIn: 'root' }]
|
|
944
954
|
}] });
|
|
@@ -1047,21 +1057,21 @@ class AXPExpressionEvaluatorService {
|
|
|
1047
1057
|
}
|
|
1048
1058
|
return false;
|
|
1049
1059
|
}
|
|
1050
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1051
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1060
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPExpressionEvaluatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1061
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPExpressionEvaluatorService, providedIn: 'root' }); }
|
|
1052
1062
|
}
|
|
1053
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1063
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPExpressionEvaluatorService, decorators: [{
|
|
1054
1064
|
type: Injectable,
|
|
1055
1065
|
args: [{ providedIn: 'root' }]
|
|
1056
1066
|
}] });
|
|
1057
1067
|
|
|
1058
1068
|
class AXPComponentSlotPlaceholderComponent {
|
|
1059
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1060
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1069
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1070
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: AXPComponentSlotPlaceholderComponent, isStandalone: true, selector: "axp-component-slot-placeholder", ngImport: i0, template: `<div>
|
|
1061
1071
|
<ax-skeleton class="ax-w-full ax-h-10 ax-rounded-md"></ax-skeleton>
|
|
1062
1072
|
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: AXSkeletonModule }, { kind: "component", type: i1.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1063
1073
|
}
|
|
1064
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1074
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotPlaceholderComponent, decorators: [{
|
|
1065
1075
|
type: Component,
|
|
1066
1076
|
args: [{
|
|
1067
1077
|
selector: 'axp-component-slot-placeholder',
|
|
@@ -1090,10 +1100,10 @@ class AXPComponentSlotRegistryService {
|
|
|
1090
1100
|
get(slotName) {
|
|
1091
1101
|
return this.registry.get(slotName) || [];
|
|
1092
1102
|
}
|
|
1093
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1094
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1104
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotRegistryService, providedIn: 'root' }); }
|
|
1095
1105
|
}
|
|
1096
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotRegistryService, decorators: [{
|
|
1097
1107
|
type: Injectable,
|
|
1098
1108
|
args: [{
|
|
1099
1109
|
providedIn: 'root'
|
|
@@ -1102,18 +1112,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
1102
1112
|
|
|
1103
1113
|
class AXPComponentSlotDirective {
|
|
1104
1114
|
constructor() {
|
|
1105
|
-
this.name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
1106
|
-
this.host = input(...(ngDevMode ? [undefined, { debugName: "host" }] : []));
|
|
1107
|
-
this.context = input(...(ngDevMode ? [undefined, { debugName: "context" }] : []));
|
|
1115
|
+
this.name = input.required(...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
1116
|
+
this.host = input(...(ngDevMode ? [undefined, { debugName: "host" }] : /* istanbul ignore next */ []));
|
|
1117
|
+
this.context = input(...(ngDevMode ? [undefined, { debugName: "context" }] : /* istanbul ignore next */ []));
|
|
1108
1118
|
this.elementRef = inject(ElementRef);
|
|
1109
1119
|
this.registryService = inject(AXPComponentSlotRegistryService);
|
|
1110
1120
|
this.injector = inject(Injector);
|
|
1111
1121
|
this.evaluator = inject(AXPExpressionEvaluatorService);
|
|
1112
1122
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
1113
1123
|
this.contextStore = inject(AXPContextStore);
|
|
1114
|
-
this.isEmpty = computed(() => this._viewCount() === 0, ...(ngDevMode ? [{ debugName: "isEmpty" }] : []));
|
|
1124
|
+
this.isEmpty = computed(() => this._viewCount() === 0, ...(ngDevMode ? [{ debugName: "isEmpty" }] : /* istanbul ignore next */ []));
|
|
1115
1125
|
// Create a signal to store the count of children
|
|
1116
|
-
this._viewCount = signal(0, ...(ngDevMode ? [{ debugName: "_viewCount" }] : []));
|
|
1126
|
+
this._viewCount = signal(0, ...(ngDevMode ? [{ debugName: "_viewCount" }] : /* istanbul ignore next */ []));
|
|
1117
1127
|
// Track component references for updates
|
|
1118
1128
|
this.componentRefs = [];
|
|
1119
1129
|
// Track placeholder references for replacement
|
|
@@ -1234,10 +1244,10 @@ class AXPComponentSlotDirective {
|
|
|
1234
1244
|
return condition(this.contextStore.data());
|
|
1235
1245
|
//return condition(this.context());
|
|
1236
1246
|
}
|
|
1237
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1238
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1247
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1248
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: AXPComponentSlotDirective, isStandalone: false, selector: "axp-component-slot", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, host: { classPropertyName: "host", publicName: "host", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["slot"], ngImport: i0 }); }
|
|
1239
1249
|
}
|
|
1240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotDirective, decorators: [{
|
|
1241
1251
|
type: Directive,
|
|
1242
1252
|
args: [{
|
|
1243
1253
|
selector: 'axp-component-slot',
|
|
@@ -1297,11 +1307,11 @@ class AXPComponentSlotModule {
|
|
|
1297
1307
|
f();
|
|
1298
1308
|
});
|
|
1299
1309
|
}
|
|
1300
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1301
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1302
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1310
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotModule, deps: [{ token: 'AXPComponentSlotModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1311
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotModule, declarations: [AXPComponentSlotDirective], exports: [AXPComponentSlotDirective] }); }
|
|
1312
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotModule }); }
|
|
1303
1313
|
}
|
|
1304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPComponentSlotModule, decorators: [{
|
|
1305
1315
|
type: NgModule,
|
|
1306
1316
|
args: [{
|
|
1307
1317
|
declarations: [AXPComponentSlotDirective],
|
|
@@ -1521,10 +1531,10 @@ class AXPDataSourceDefinitionProviderService {
|
|
|
1521
1531
|
async get(name) {
|
|
1522
1532
|
return (await this.items()).find((c) => c.name == name);
|
|
1523
1533
|
}
|
|
1524
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1525
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1534
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDataSourceDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1535
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDataSourceDefinitionProviderService, providedIn: 'root' }); }
|
|
1526
1536
|
}
|
|
1527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDataSourceDefinitionProviderService, decorators: [{
|
|
1528
1538
|
type: Injectable,
|
|
1529
1539
|
args: [{ providedIn: 'root' }]
|
|
1530
1540
|
}] });
|
|
@@ -1534,12 +1544,12 @@ class AXPContentCheckerDirective {
|
|
|
1534
1544
|
constructor() {
|
|
1535
1545
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
1536
1546
|
this.elementRef = inject((ElementRef));
|
|
1537
|
-
this.isEmpty = computed(() => this.viewContainerRef.length === 0, ...(ngDevMode ? [{ debugName: "isEmpty" }] : []));
|
|
1547
|
+
this.isEmpty = computed(() => this.viewContainerRef.length === 0, ...(ngDevMode ? [{ debugName: "isEmpty" }] : /* istanbul ignore next */ []));
|
|
1538
1548
|
}
|
|
1539
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1540
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1549
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPContentCheckerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1550
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXPContentCheckerDirective, isStandalone: true, selector: "[axp-content-checker]", exportAs: ["checker"], ngImport: i0 }); }
|
|
1541
1551
|
}
|
|
1542
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1552
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPContentCheckerDirective, decorators: [{
|
|
1543
1553
|
type: Directive,
|
|
1544
1554
|
args: [{
|
|
1545
1555
|
selector: '[axp-content-checker]',
|
|
@@ -1569,10 +1579,10 @@ class AXPDblClickDirective {
|
|
|
1569
1579
|
}
|
|
1570
1580
|
this.lastTap = currentTime;
|
|
1571
1581
|
}
|
|
1572
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1573
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1582
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDblClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1583
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: AXPDblClickDirective, isStandalone: true, selector: "[onDblClick]", outputs: { onDblClick: "onDblClick" }, host: { listeners: { "dblclick": "handleOnDblClick($event)", "touchend": "onTouchEnd($event)" } }, ngImport: i0 }); }
|
|
1574
1584
|
}
|
|
1575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDblClickDirective, decorators: [{
|
|
1576
1586
|
type: Directive,
|
|
1577
1587
|
args: [{
|
|
1578
1588
|
selector: '[onDblClick]'
|
|
@@ -1590,14 +1600,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
1590
1600
|
class AXPElementDataDirective {
|
|
1591
1601
|
constructor(elementRef) {
|
|
1592
1602
|
this.elementRef = elementRef;
|
|
1593
|
-
this.data = input(null, ...(ngDevMode ?
|
|
1594
|
-
this.path = input('__data__', ...(ngDevMode ?
|
|
1603
|
+
this.data = input(null, { ...(ngDevMode ? { debugName: "data" } : /* istanbul ignore next */ {}), alias: 'axp-data' });
|
|
1604
|
+
this.path = input('__data__', { ...(ngDevMode ? { debugName: "path" } : /* istanbul ignore next */ {}), alias: 'axp-data-path' });
|
|
1595
1605
|
// Effect to update element data when inputs change
|
|
1596
1606
|
this.updateEffect = effect(() => {
|
|
1597
1607
|
const currentData = this.data();
|
|
1598
1608
|
const currentPath = this.path();
|
|
1599
1609
|
set(this.elementRef.nativeElement, currentPath, currentData);
|
|
1600
|
-
}, ...(ngDevMode ? [{ debugName: "updateEffect" }] : []));
|
|
1610
|
+
}, ...(ngDevMode ? [{ debugName: "updateEffect" }] : /* istanbul ignore next */ []));
|
|
1601
1611
|
}
|
|
1602
1612
|
ngOnInit() {
|
|
1603
1613
|
// Initial data setup
|
|
@@ -1615,10 +1625,10 @@ class AXPElementDataDirective {
|
|
|
1615
1625
|
setData(data) {
|
|
1616
1626
|
set(this.elementRef.nativeElement, this.path(), data);
|
|
1617
1627
|
}
|
|
1618
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1619
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1628
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPElementDataDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1629
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: AXPElementDataDirective, isStandalone: true, selector: "[axp-data]", inputs: { data: { classPropertyName: "data", publicName: "axp-data", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "axp-data-path", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
1620
1630
|
}
|
|
1621
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1631
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPElementDataDirective, decorators: [{
|
|
1622
1632
|
type: Directive,
|
|
1623
1633
|
args: [{
|
|
1624
1634
|
selector: '[axp-data]',
|
|
@@ -1631,7 +1641,7 @@ class AXPGridLayoutDirective {
|
|
|
1631
1641
|
constructor(el, renderer) {
|
|
1632
1642
|
this.el = el;
|
|
1633
1643
|
this.renderer = renderer;
|
|
1634
|
-
this.options = input.required(...(ngDevMode ?
|
|
1644
|
+
this.options = input.required({ ...(ngDevMode ? { debugName: "options" } : /* istanbul ignore next */ {}), alias: 'axp-grid-layout' });
|
|
1635
1645
|
}
|
|
1636
1646
|
ngOnChanges(changes) {
|
|
1637
1647
|
if (changes['options']) {
|
|
@@ -1675,10 +1685,10 @@ class AXPGridLayoutDirective {
|
|
|
1675
1685
|
}
|
|
1676
1686
|
});
|
|
1677
1687
|
}
|
|
1678
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1679
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1688
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPGridLayoutDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1689
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: AXPGridLayoutDirective, isStandalone: true, selector: "[axp-grid-layout]", inputs: { options: { classPropertyName: "options", publicName: "axp-grid-layout", isSignal: true, isRequired: true, transformFunction: null } }, usesOnChanges: true, ngImport: i0 }); }
|
|
1680
1690
|
}
|
|
1681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1691
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPGridLayoutDirective, decorators: [{
|
|
1682
1692
|
type: Directive,
|
|
1683
1693
|
args: [{
|
|
1684
1694
|
selector: '[axp-grid-layout]',
|
|
@@ -1822,10 +1832,10 @@ class AXPDistributedEventListenerService {
|
|
|
1822
1832
|
this.listenersByKey.clear();
|
|
1823
1833
|
this.providersLoaded = false;
|
|
1824
1834
|
}
|
|
1825
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1826
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1835
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDistributedEventListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1836
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDistributedEventListenerService, providedIn: 'root' }); }
|
|
1827
1837
|
}
|
|
1828
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1838
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDistributedEventListenerService, decorators: [{
|
|
1829
1839
|
type: Injectable,
|
|
1830
1840
|
args: [{
|
|
1831
1841
|
providedIn: 'root',
|
|
@@ -1949,10 +1959,10 @@ class AXPBroadcastEventService {
|
|
|
1949
1959
|
// Cleanup multi-tab event history
|
|
1950
1960
|
this.multiTabEventHistory.clear();
|
|
1951
1961
|
}
|
|
1952
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1953
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1962
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPBroadcastEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1963
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPBroadcastEventService, providedIn: 'root' }); }
|
|
1954
1964
|
}
|
|
1955
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1965
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPBroadcastEventService, decorators: [{
|
|
1956
1966
|
type: Injectable,
|
|
1957
1967
|
args: [{
|
|
1958
1968
|
providedIn: 'root',
|
|
@@ -2005,10 +2015,10 @@ class AXPHookService {
|
|
|
2005
2015
|
}
|
|
2006
2016
|
return data;
|
|
2007
2017
|
}
|
|
2008
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2009
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2018
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPHookService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2019
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPHookService, providedIn: 'root' }); }
|
|
2010
2020
|
}
|
|
2011
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2021
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPHookService, decorators: [{
|
|
2012
2022
|
type: Injectable,
|
|
2013
2023
|
args: [{ providedIn: 'root' }]
|
|
2014
2024
|
}] });
|
|
@@ -2288,14 +2298,85 @@ class AXPModuleManifestRegistry {
|
|
|
2288
2298
|
}
|
|
2289
2299
|
return { missingModules, missingFeatures };
|
|
2290
2300
|
}
|
|
2291
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2292
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2301
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPModuleManifestRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2302
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPModuleManifestRegistry, providedIn: 'root' }); }
|
|
2293
2303
|
}
|
|
2294
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPModuleManifestRegistry, decorators: [{
|
|
2295
2305
|
type: Injectable,
|
|
2296
2306
|
args: [{ providedIn: 'root' }]
|
|
2297
2307
|
}] });
|
|
2298
2308
|
|
|
2309
|
+
//#region ---- Imports ----
|
|
2310
|
+
//#endregion
|
|
2311
|
+
//#region ---- Module manifests data source ----
|
|
2312
|
+
/**
|
|
2313
|
+
* Registered module manifests for select widgets via dataSource name {@link MODULE_MANIFESTS_DATASOURCE_NAME}.
|
|
2314
|
+
*/
|
|
2315
|
+
const MODULE_MANIFESTS_DATASOURCE_NAME = 'platform-module-manifests';
|
|
2316
|
+
/**
|
|
2317
|
+
* Data source definition for module names/titles from {@link AXPModuleManifestRegistry}.
|
|
2318
|
+
*/
|
|
2319
|
+
class AXPModuleManifestsDataSourceDefinition {
|
|
2320
|
+
constructor() {
|
|
2321
|
+
//#region ---- Services & Dependencies ----
|
|
2322
|
+
this.manifestRegistry = inject(AXPModuleManifestRegistry);
|
|
2323
|
+
//#endregion
|
|
2324
|
+
}
|
|
2325
|
+
//#endregion
|
|
2326
|
+
//#region ---- Public API ----
|
|
2327
|
+
async items() {
|
|
2328
|
+
return [
|
|
2329
|
+
{
|
|
2330
|
+
name: MODULE_MANIFESTS_DATASOURCE_NAME,
|
|
2331
|
+
title: 'Module manifests',
|
|
2332
|
+
source: () => new AXDataSource({
|
|
2333
|
+
key: 'id',
|
|
2334
|
+
load: async () => {
|
|
2335
|
+
await this.manifestRegistry.initialize();
|
|
2336
|
+
const list = this.manifestRegistry.getAll().map((m) => ({
|
|
2337
|
+
id: m.name,
|
|
2338
|
+
title: m.title || m.name,
|
|
2339
|
+
}));
|
|
2340
|
+
return { items: list, total: list.length };
|
|
2341
|
+
},
|
|
2342
|
+
byKey: async (key) => {
|
|
2343
|
+
await this.manifestRegistry.initialize();
|
|
2344
|
+
const m = this.manifestRegistry.getAll().find((x) => x.name === key);
|
|
2345
|
+
return m ? { id: m.name, title: m.title || m.name } : undefined;
|
|
2346
|
+
},
|
|
2347
|
+
pageSize: 1000,
|
|
2348
|
+
}),
|
|
2349
|
+
columns: [
|
|
2350
|
+
{
|
|
2351
|
+
name: 'id',
|
|
2352
|
+
title: 'ID',
|
|
2353
|
+
datatype: 'string',
|
|
2354
|
+
type: 'text-editor',
|
|
2355
|
+
},
|
|
2356
|
+
{
|
|
2357
|
+
name: 'title',
|
|
2358
|
+
title: 'Title',
|
|
2359
|
+
datatype: 'string',
|
|
2360
|
+
type: 'text-editor',
|
|
2361
|
+
},
|
|
2362
|
+
],
|
|
2363
|
+
filters: [
|
|
2364
|
+
{
|
|
2365
|
+
field: 'title',
|
|
2366
|
+
title: 'Title',
|
|
2367
|
+
operator: { type: 'equal' },
|
|
2368
|
+
widget: { type: 'text-editor' },
|
|
2369
|
+
filterType: { advance: true, inline: true },
|
|
2370
|
+
},
|
|
2371
|
+
],
|
|
2372
|
+
textField: { name: 'title', title: 'Title' },
|
|
2373
|
+
valueField: { name: 'id', title: 'ID' },
|
|
2374
|
+
},
|
|
2375
|
+
];
|
|
2376
|
+
}
|
|
2377
|
+
}
|
|
2378
|
+
//#endregion
|
|
2379
|
+
|
|
2299
2380
|
class AXPAppStartUpService {
|
|
2300
2381
|
constructor() {
|
|
2301
2382
|
this.tasks = [];
|
|
@@ -2315,10 +2396,10 @@ class AXPAppStartUpService {
|
|
|
2315
2396
|
loadingText.innerHTML = status;
|
|
2316
2397
|
}
|
|
2317
2398
|
}
|
|
2318
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2319
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2399
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPAppStartUpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2400
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPAppStartUpService, providedIn: 'root' }); }
|
|
2320
2401
|
}
|
|
2321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2402
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPAppStartUpService, decorators: [{
|
|
2322
2403
|
type: Injectable,
|
|
2323
2404
|
args: [{
|
|
2324
2405
|
providedIn: 'root',
|
|
@@ -2356,17 +2437,204 @@ class AXPModuleManifestModule {
|
|
|
2356
2437
|
},
|
|
2357
2438
|
});
|
|
2358
2439
|
}
|
|
2359
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2360
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2361
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2440
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPModuleManifestModule, deps: [{ token: AXPAppStartUpService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2441
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXPModuleManifestModule }); }
|
|
2442
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPModuleManifestModule }); }
|
|
2362
2443
|
}
|
|
2363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPModuleManifestModule, decorators: [{
|
|
2364
2445
|
type: NgModule,
|
|
2365
2446
|
args: [{
|
|
2366
2447
|
providers: [],
|
|
2367
2448
|
}]
|
|
2368
2449
|
}], ctorParameters: () => [{ type: AXPAppStartUpService }, { type: i0.Injector }] });
|
|
2369
2450
|
|
|
2451
|
+
//#region ---- Imports ----
|
|
2452
|
+
//#endregion
|
|
2453
|
+
//#region ---- Public API ----
|
|
2454
|
+
const LOCALE_KEY_REGEX = /^(\*-\*|[a-z]{2}-[A-Z]{2})$/;
|
|
2455
|
+
/**
|
|
2456
|
+
* Checks whether value is a valid locale map (`xx-XX` or `*-*` keys, string values).
|
|
2457
|
+
*/
|
|
2458
|
+
function isValidMultiLanguageObject(value) {
|
|
2459
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
2460
|
+
return false;
|
|
2461
|
+
}
|
|
2462
|
+
const entries = Object.entries(value);
|
|
2463
|
+
if (!entries.length) {
|
|
2464
|
+
return false;
|
|
2465
|
+
}
|
|
2466
|
+
return entries.every(([key, entryValue]) => LOCALE_KEY_REGEX.test(key) && typeof entryValue === 'string');
|
|
2467
|
+
}
|
|
2468
|
+
/**
|
|
2469
|
+
* Resolves {@link AXPMultiLanguageString} to a single string for the given locale.
|
|
2470
|
+
* Fallback order: `currentLocale` → `en-US` → first map value.
|
|
2471
|
+
*/
|
|
2472
|
+
function resolveMultiLanguageString(content, currentLocale) {
|
|
2473
|
+
if (content == null || content === '') {
|
|
2474
|
+
return '';
|
|
2475
|
+
}
|
|
2476
|
+
if (typeof content === 'string') {
|
|
2477
|
+
return content;
|
|
2478
|
+
}
|
|
2479
|
+
if (!isValidMultiLanguageObject(content)) {
|
|
2480
|
+
return String(content);
|
|
2481
|
+
}
|
|
2482
|
+
const record = content;
|
|
2483
|
+
const pick = record[currentLocale] ??
|
|
2484
|
+
record['en-US'] ??
|
|
2485
|
+
Object.values(record).find((v) => v != null);
|
|
2486
|
+
if (pick == null || pick === '') {
|
|
2487
|
+
return '';
|
|
2488
|
+
}
|
|
2489
|
+
if (typeof pick === 'string') {
|
|
2490
|
+
return pick;
|
|
2491
|
+
}
|
|
2492
|
+
return String(pick);
|
|
2493
|
+
}
|
|
2494
|
+
/**
|
|
2495
|
+
* Creates an {@link AXPMultiLanguageString} with `en-US` and `fa-IR` entries.
|
|
2496
|
+
* Use for seed data, tests, and demos that supply English and Persian copy explicitly.
|
|
2497
|
+
*/
|
|
2498
|
+
function createMultiLanguageString(enUs, faIr) {
|
|
2499
|
+
return { 'en-US': enUs, 'fa-IR': faIr };
|
|
2500
|
+
}
|
|
2501
|
+
/**
|
|
2502
|
+
* True when there is no displayable text in any locale (plain string or ML map).
|
|
2503
|
+
* Pure helper for predicates (e.g. default section detection); prefer widgets / pipes for display.
|
|
2504
|
+
*/
|
|
2505
|
+
function isEffectivelyEmptyLocalizedValue(value) {
|
|
2506
|
+
if (value == null)
|
|
2507
|
+
return true;
|
|
2508
|
+
if (typeof value === 'string')
|
|
2509
|
+
return value.trim() === '';
|
|
2510
|
+
if (typeof value !== 'object' || Array.isArray(value))
|
|
2511
|
+
return false;
|
|
2512
|
+
const record = value;
|
|
2513
|
+
return Object.values(record).every((v) => v == null || String(v).trim() === '');
|
|
2514
|
+
}
|
|
2515
|
+
//#endregion
|
|
2516
|
+
|
|
2517
|
+
//#region ---- Imports ----
|
|
2518
|
+
//#endregion
|
|
2519
|
+
//#region ---- AXPMultiLanguageStringResolverService ----
|
|
2520
|
+
/**
|
|
2521
|
+
* Resolves {@link AXPMultiLanguageString} using the active app locale, and exposes
|
|
2522
|
+
* {@link currentLocale$} for code that prefers an observable (e.g. manual subscriptions).
|
|
2523
|
+
* Templates usually use {@link AXPResolveMultiLanguageStringPipe} instead.
|
|
2524
|
+
*/
|
|
2525
|
+
class AXPMultiLanguageStringResolverService {
|
|
2526
|
+
constructor() {
|
|
2527
|
+
//#region ---- Services & Dependencies ----
|
|
2528
|
+
this.translation = inject(AXTranslationService);
|
|
2529
|
+
//#endregion
|
|
2530
|
+
//#region ---- Locale stream ----
|
|
2531
|
+
/**
|
|
2532
|
+
* Emits the active locale on subscribe and whenever the language changes.
|
|
2533
|
+
*/
|
|
2534
|
+
this.currentLocale$ = merge$1(of(this.translation.getActiveLang()), this.translation.langChanges$).pipe(map(() => this.translation.getActiveLang()), distinctUntilChanged());
|
|
2535
|
+
}
|
|
2536
|
+
//#endregion
|
|
2537
|
+
//#region ---- Resolve ----
|
|
2538
|
+
/**
|
|
2539
|
+
* Resolves multi-language content for an optional locale (defaults to active).
|
|
2540
|
+
*/
|
|
2541
|
+
resolve(content, locale) {
|
|
2542
|
+
if (content && typeof content === 'object' && !isValidMultiLanguageObject(content)) {
|
|
2543
|
+
return '';
|
|
2544
|
+
}
|
|
2545
|
+
return resolveMultiLanguageString(content, locale ?? this.translation.getActiveLang());
|
|
2546
|
+
}
|
|
2547
|
+
/**
|
|
2548
|
+
* Checks if a value is a valid multi-language object map.
|
|
2549
|
+
* Key format must be `xx-XX` (e.g. en-US, fa-IR) or fallback `*-*`.
|
|
2550
|
+
* All values must be strings.
|
|
2551
|
+
*/
|
|
2552
|
+
isValidMultiLanguageObject(value) {
|
|
2553
|
+
return isValidMultiLanguageObject(value);
|
|
2554
|
+
}
|
|
2555
|
+
/**
|
|
2556
|
+
* Normalizes multi-language content to a locale map for editors (e.g. multi-language popup `values`).
|
|
2557
|
+
* If `content` is already a locale-to-string map, returns a shallow copy.
|
|
2558
|
+
* If it is a plain string or empty, wraps it as `{ [activeLocale]: text }`.
|
|
2559
|
+
*/
|
|
2560
|
+
toLocaleMap(content, activeLocale) {
|
|
2561
|
+
if (this.isValidMultiLanguageObject(content)) {
|
|
2562
|
+
return { ...content };
|
|
2563
|
+
}
|
|
2564
|
+
const txt = typeof content === 'string' ? content : '';
|
|
2565
|
+
return { [activeLocale]: txt };
|
|
2566
|
+
}
|
|
2567
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPMultiLanguageStringResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2568
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPMultiLanguageStringResolverService, providedIn: 'root' }); }
|
|
2569
|
+
}
|
|
2570
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPMultiLanguageStringResolverService, decorators: [{
|
|
2571
|
+
type: Injectable,
|
|
2572
|
+
args: [{ providedIn: 'root' }]
|
|
2573
|
+
}] });
|
|
2574
|
+
|
|
2575
|
+
//#region ---- Imports ----
|
|
2576
|
+
//#endregion
|
|
2577
|
+
//#region ---- AXPResolveMultiLanguageStringPipe ----
|
|
2578
|
+
/**
|
|
2579
|
+
* Resolves {@link AXPMultiLanguageString} via {@link AXPMultiLanguageStringResolverService}.
|
|
2580
|
+
* Impure and subscribes to {@link AXPMultiLanguageStringResolverService#currentLocale$} so
|
|
2581
|
+
* OnPush hosts (e.g. grid cells) still refresh when the language changes.
|
|
2582
|
+
*
|
|
2583
|
+
* Optional second argument: explicit locale (e.g. from a host `locale` input). When omitted or null/empty,
|
|
2584
|
+
* the active language is used.
|
|
2585
|
+
*
|
|
2586
|
+
* @example
|
|
2587
|
+
* ```html
|
|
2588
|
+
* {{ value | axpResolveMultiLanguageString }}
|
|
2589
|
+
* {{ value | axpResolveMultiLanguageString: locale() }}
|
|
2590
|
+
* ```
|
|
2591
|
+
*/
|
|
2592
|
+
class AXPResolveMultiLanguageStringPipe {
|
|
2593
|
+
constructor() {
|
|
2594
|
+
this.resolver = inject(AXPMultiLanguageStringResolverService);
|
|
2595
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
2596
|
+
this.localeSubscription = this.resolver.currentLocale$.subscribe(() => this.cdr.markForCheck());
|
|
2597
|
+
}
|
|
2598
|
+
transform(value, locale) {
|
|
2599
|
+
const explicitLocale = locale != null && locale !== '' ? locale : undefined;
|
|
2600
|
+
return this.resolver.resolve(value, explicitLocale);
|
|
2601
|
+
}
|
|
2602
|
+
ngOnDestroy() {
|
|
2603
|
+
this.localeSubscription.unsubscribe();
|
|
2604
|
+
}
|
|
2605
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPResolveMultiLanguageStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
2606
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXPResolveMultiLanguageStringPipe, isStandalone: true, name: "axpResolveMultiLanguageString", pure: false }); }
|
|
2607
|
+
}
|
|
2608
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPResolveMultiLanguageStringPipe, decorators: [{
|
|
2609
|
+
type: Pipe,
|
|
2610
|
+
args: [{
|
|
2611
|
+
name: 'axpResolveMultiLanguageString',
|
|
2612
|
+
standalone: true,
|
|
2613
|
+
pure: false,
|
|
2614
|
+
}]
|
|
2615
|
+
}] });
|
|
2616
|
+
|
|
2617
|
+
//#region ---- Imports ----
|
|
2618
|
+
//#endregion
|
|
2619
|
+
//#region ---- Compare & sort ----
|
|
2620
|
+
const DEFAULT_COLLATOR_OPTIONS = { sensitivity: 'base' };
|
|
2621
|
+
/**
|
|
2622
|
+
* Locale-aware comparison of {@link AXPMultiLanguageString} values (plain string, `@scope:key`, or locale map).
|
|
2623
|
+
* Resolves each side with {@link resolveMultiLanguageString} for `locale`, then compares with `String#localeCompare`.
|
|
2624
|
+
*/
|
|
2625
|
+
function compareMultiLanguageStrings(a, b, locale, collatorOptions = DEFAULT_COLLATOR_OPTIONS) {
|
|
2626
|
+
const sa = resolveMultiLanguageString(a ?? '', locale);
|
|
2627
|
+
const sb = resolveMultiLanguageString(b ?? '', locale);
|
|
2628
|
+
return sa.localeCompare(sb, locale, collatorOptions);
|
|
2629
|
+
}
|
|
2630
|
+
/**
|
|
2631
|
+
* Stable sort copy: orders items by resolved string for `getValue(item)` using the active `locale`.
|
|
2632
|
+
*/
|
|
2633
|
+
function sortByMultiLanguageString(items, getValue, locale, collatorOptions) {
|
|
2634
|
+
return [...items].sort((x, y) => compareMultiLanguageStrings(getValue(x), getValue(y), locale, collatorOptions));
|
|
2635
|
+
}
|
|
2636
|
+
//#endregion
|
|
2637
|
+
|
|
2370
2638
|
//#region ---- Tag Types ----
|
|
2371
2639
|
//#endregion
|
|
2372
2640
|
|
|
@@ -2518,10 +2786,10 @@ class AXPTagService {
|
|
|
2518
2786
|
const uniqueTags = allTags.filter((tag, index, self) => index === self.findIndex((t) => t.title.toLowerCase() === tag.title.toLowerCase()));
|
|
2519
2787
|
this.cache = uniqueTags;
|
|
2520
2788
|
}
|
|
2521
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2522
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
2789
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPTagService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2790
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPTagService, providedIn: 'root' }); }
|
|
2523
2791
|
}
|
|
2524
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2792
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPTagService, decorators: [{
|
|
2525
2793
|
type: Injectable,
|
|
2526
2794
|
args: [{
|
|
2527
2795
|
providedIn: 'root',
|
|
@@ -3521,7 +3789,7 @@ var AXPExportTemplateToken;
|
|
|
3521
3789
|
class AXPCountdownPipe {
|
|
3522
3790
|
constructor() {
|
|
3523
3791
|
this.calendarService = inject(AXCalendarService);
|
|
3524
|
-
this.countdownSignal = signal(this.setupTimer(), ...(ngDevMode ? [{ debugName: "countdownSignal" }] : []));
|
|
3792
|
+
this.countdownSignal = signal(this.setupTimer(), ...(ngDevMode ? [{ debugName: "countdownSignal" }] : /* istanbul ignore next */ []));
|
|
3525
3793
|
this.targetDate = 0;
|
|
3526
3794
|
this.prevValue = 0;
|
|
3527
3795
|
}
|
|
@@ -3550,10 +3818,10 @@ class AXPCountdownPipe {
|
|
|
3550
3818
|
updateTargetDate(value) {
|
|
3551
3819
|
this.targetDate = new Date(value).getTime();
|
|
3552
3820
|
}
|
|
3553
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3554
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
3821
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCountdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3822
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXPCountdownPipe, isStandalone: true, name: "countdown", pure: false }); }
|
|
3555
3823
|
}
|
|
3556
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3824
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPCountdownPipe, decorators: [{
|
|
3557
3825
|
type: Pipe,
|
|
3558
3826
|
args: [{
|
|
3559
3827
|
name: 'countdown',
|
|
@@ -3836,45 +4104,45 @@ class AXPDeviceService {
|
|
|
3836
4104
|
/**
|
|
3837
4105
|
* Current screen size (Small, Medium, Large)
|
|
3838
4106
|
*/
|
|
3839
|
-
this.screenSize = signal(getScreenSize(), ...(ngDevMode ? [{ debugName: "screenSize" }] : []));
|
|
4107
|
+
this.screenSize = signal(getScreenSize(), ...(ngDevMode ? [{ debugName: "screenSize" }] : /* istanbul ignore next */ []));
|
|
3840
4108
|
/**
|
|
3841
4109
|
* Current device type (Mobile, Tablet, Desktop)
|
|
3842
4110
|
*/
|
|
3843
|
-
this.deviceType = signal(getDeviceType(), ...(ngDevMode ? [{ debugName: "deviceType" }] : []));
|
|
4111
|
+
this.deviceType = signal(getDeviceType(), ...(ngDevMode ? [{ debugName: "deviceType" }] : /* istanbul ignore next */ []));
|
|
3844
4112
|
/**
|
|
3845
4113
|
* Whether the device supports touch input
|
|
3846
4114
|
*/
|
|
3847
|
-
this.isTouchDevice = signal(isTouchDevice(), ...(ngDevMode ? [{ debugName: "isTouchDevice" }] : []));
|
|
4115
|
+
this.isTouchDevice = signal(isTouchDevice(), ...(ngDevMode ? [{ debugName: "isTouchDevice" }] : /* istanbul ignore next */ []));
|
|
3848
4116
|
//#endregion
|
|
3849
4117
|
//#region ---- Computed Signals ----
|
|
3850
4118
|
/**
|
|
3851
4119
|
* Whether the screen size is Small
|
|
3852
4120
|
*/
|
|
3853
|
-
this.isSmall = computed(() => this.screenSize() === AXPScreenSize.Small, ...(ngDevMode ? [{ debugName: "isSmall" }] : []));
|
|
4121
|
+
this.isSmall = computed(() => this.screenSize() === AXPScreenSize.Small, ...(ngDevMode ? [{ debugName: "isSmall" }] : /* istanbul ignore next */ []));
|
|
3854
4122
|
/**
|
|
3855
4123
|
* Whether the screen size is Medium
|
|
3856
4124
|
*/
|
|
3857
|
-
this.isMedium = computed(() => this.screenSize() === AXPScreenSize.Medium, ...(ngDevMode ? [{ debugName: "isMedium" }] : []));
|
|
4125
|
+
this.isMedium = computed(() => this.screenSize() === AXPScreenSize.Medium, ...(ngDevMode ? [{ debugName: "isMedium" }] : /* istanbul ignore next */ []));
|
|
3858
4126
|
/**
|
|
3859
4127
|
* Whether the screen size is Large
|
|
3860
4128
|
*/
|
|
3861
|
-
this.isLarge = computed(() => this.screenSize() === AXPScreenSize.Large, ...(ngDevMode ? [{ debugName: "isLarge" }] : []));
|
|
4129
|
+
this.isLarge = computed(() => this.screenSize() === AXPScreenSize.Large, ...(ngDevMode ? [{ debugName: "isLarge" }] : /* istanbul ignore next */ []));
|
|
3862
4130
|
/**
|
|
3863
4131
|
* Whether the device is Mobile
|
|
3864
4132
|
*/
|
|
3865
|
-
this.isMobileDevice = computed(() => this.deviceType() === AXPDeviceType.Mobile, ...(ngDevMode ? [{ debugName: "isMobileDevice" }] : []));
|
|
4133
|
+
this.isMobileDevice = computed(() => this.deviceType() === AXPDeviceType.Mobile, ...(ngDevMode ? [{ debugName: "isMobileDevice" }] : /* istanbul ignore next */ []));
|
|
3866
4134
|
/**
|
|
3867
4135
|
* Whether the device is Tablet
|
|
3868
4136
|
*/
|
|
3869
|
-
this.isTabletDevice = computed(() => this.deviceType() === AXPDeviceType.Tablet, ...(ngDevMode ? [{ debugName: "isTabletDevice" }] : []));
|
|
4137
|
+
this.isTabletDevice = computed(() => this.deviceType() === AXPDeviceType.Tablet, ...(ngDevMode ? [{ debugName: "isTabletDevice" }] : /* istanbul ignore next */ []));
|
|
3870
4138
|
/**
|
|
3871
4139
|
* Whether the device is Desktop
|
|
3872
4140
|
*/
|
|
3873
|
-
this.isDesktopDevice = computed(() => this.deviceType() === AXPDeviceType.Desktop, ...(ngDevMode ? [{ debugName: "isDesktopDevice" }] : []));
|
|
4141
|
+
this.isDesktopDevice = computed(() => this.deviceType() === AXPDeviceType.Desktop, ...(ngDevMode ? [{ debugName: "isDesktopDevice" }] : /* istanbul ignore next */ []));
|
|
3874
4142
|
/**
|
|
3875
4143
|
* Whether the device supports touch (alias for isTouchDevice)
|
|
3876
4144
|
*/
|
|
3877
|
-
this.isTouchScreen = computed(() => this.isTouchDevice(), ...(ngDevMode ? [{ debugName: "isTouchScreen" }] : []));
|
|
4145
|
+
this.isTouchScreen = computed(() => this.isTouchDevice(), ...(ngDevMode ? [{ debugName: "isTouchScreen" }] : /* istanbul ignore next */ []));
|
|
3878
4146
|
//#endregion
|
|
3879
4147
|
//#region ---- Private Properties ----
|
|
3880
4148
|
this._resizeListener = null;
|
|
@@ -3940,10 +4208,10 @@ class AXPDeviceService {
|
|
|
3940
4208
|
destroy() {
|
|
3941
4209
|
this._removeResizeListener();
|
|
3942
4210
|
}
|
|
3943
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3944
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
4211
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDeviceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4212
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDeviceService, providedIn: 'root' }); }
|
|
3945
4213
|
}
|
|
3946
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPDeviceService, decorators: [{
|
|
3947
4215
|
type: Injectable,
|
|
3948
4216
|
args: [{
|
|
3949
4217
|
providedIn: 'root',
|
|
@@ -4047,10 +4315,10 @@ class AXHighlightService {
|
|
|
4047
4315
|
resultHTML += '</span>';
|
|
4048
4316
|
return resultHTML;
|
|
4049
4317
|
}
|
|
4050
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4051
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
4318
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXHighlightService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4319
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXHighlightService, providedIn: 'root' }); }
|
|
4052
4320
|
}
|
|
4053
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXHighlightService, decorators: [{
|
|
4054
4322
|
type: Injectable,
|
|
4055
4323
|
args: [{
|
|
4056
4324
|
providedIn: 'root',
|
|
@@ -4114,6 +4382,20 @@ function extractTextFromHtml(value) {
|
|
|
4114
4382
|
div.innerHTML = value;
|
|
4115
4383
|
return div.textContent || div.innerText || '';
|
|
4116
4384
|
}
|
|
4385
|
+
/**
|
|
4386
|
+
* True when the string likely contains HTML markup (e.g. `<p>`, `<ul>`), as opposed to plain text.
|
|
4387
|
+
* Used to choose innerHTML vs text interpolation for multilingual fields.
|
|
4388
|
+
*/
|
|
4389
|
+
function containsHtmlMarkup(value) {
|
|
4390
|
+
if (value == null) {
|
|
4391
|
+
return false;
|
|
4392
|
+
}
|
|
4393
|
+
const t = value.trim();
|
|
4394
|
+
if (!t) {
|
|
4395
|
+
return false;
|
|
4396
|
+
}
|
|
4397
|
+
return /<\/?[a-z][\s\S]*?>/i.test(t);
|
|
4398
|
+
}
|
|
4117
4399
|
/**
|
|
4118
4400
|
* Generate kebab-case group name from title
|
|
4119
4401
|
*/
|
|
@@ -4131,5 +4413,5 @@ function generateKebabCase(title) {
|
|
|
4131
4413
|
* Generated bundle index. Do not edit.
|
|
4132
4414
|
*/
|
|
4133
4415
|
|
|
4134
|
-
export { AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPColorPaletteProvider, AXPColorPaletteService, AXPColumnWidthService, AXPComponentLogoConfig, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPPlatformScope, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_COLUMN_WIDTH_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, cleanDeep, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, objectKeyValueTransforms, provideLazyProvider, resolveActionLook, resolvePlatformScopeKey, resolvePlatformScopeName, setSmart };
|
|
4416
|
+
export { AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPColorPaletteProvider, AXPColorPaletteService, AXPColumnWidthService, AXPComponentLogoConfig, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleManifestsDataSourceDefinition, AXPMultiLanguageStringResolverService, AXPPlatformScope, AXPResolveMultiLanguageStringPipe, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_COLUMN_WIDTH_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, MODULE_MANIFESTS_DATASOURCE_NAME, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, cleanDeep, compareMultiLanguageStrings, containsHtmlMarkup, createMultiLanguageString, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, isEffectivelyEmptyLocalizedValue, isValidMultiLanguageObject, objectKeyValueTransforms, provideLazyProvider, resolveActionLook, resolveMultiLanguageString, resolvePlatformScopeKey, resolvePlatformScopeName, setSmart, sortByMultiLanguageString };
|
|
4135
4417
|
//# sourceMappingURL=acorex-platform-core.mjs.map
|