@acorex/connectivity 20.9.6 → 20.9.9
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-connectivity-mock-acorex-connectivity-mock-g0RVU1Og.mjs → acorex-connectivity-mock-acorex-connectivity-mock-DILmgDYe.mjs} +574 -558
- package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-DILmgDYe.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-CTrrsAvF.mjs → acorex-connectivity-mock-assign-to-manager.activity-C2nbx_nS.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-CTrrsAvF.mjs.map → acorex-connectivity-mock-assign-to-manager.activity-C2nbx_nS.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-CSbgiZEm.mjs → acorex-connectivity-mock-chat-generate-image.command-P-G8jI9p.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-CSbgiZEm.mjs.map → acorex-connectivity-mock-chat-generate-image.command-P-G8jI9p.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-CjdySQzM.mjs → acorex-connectivity-mock-chat-synthesize-speech.command-CK8Jl9jw.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-CjdySQzM.mjs.map → acorex-connectivity-mock-chat-synthesize-speech.command-CK8Jl9jw.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-Wm1Ao81s.mjs → acorex-connectivity-mock-chat-transcribe-speech.command-0LZDZT0P.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-Wm1Ao81s.mjs.map → acorex-connectivity-mock-chat-transcribe-speech.command-0LZDZT0P.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-get-product-list.query-o9TcY_RC.mjs → acorex-connectivity-mock-get-product-list.query-BtzXU8Tg.mjs} +17 -1
- package/fesm2022/acorex-connectivity-mock-get-product-list.query-BtzXU8Tg.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-product-pdf-data.query-DUZvwsmY.mjs → acorex-connectivity-mock-get-product-pdf-data.query-DjyRJ7il.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-get-product-pdf-data.query-DUZvwsmY.mjs.map → acorex-connectivity-mock-get-product-pdf-data.query-DjyRJ7il.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-user-roles-for-list-column.query-wRFHOp-X.mjs → acorex-connectivity-mock-user-roles-for-list-column.query-D5BRGlk3.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-user-roles-for-list-column.query-wRFHOp-X.mjs.map → acorex-connectivity-mock-user-roles-for-list-column.query-D5BRGlk3.mjs.map} +1 -1
- package/fesm2022/acorex-connectivity-mock.mjs +1 -1
- package/package.json +2 -2
- package/types/acorex-connectivity-mock.d.ts +9 -1
- package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-g0RVU1Og.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-product-list.query-o9TcY_RC.mjs.map +0 -1
|
@@ -12,6 +12,7 @@ import { getApps, getApp, initializeApp } from 'firebase/app';
|
|
|
12
12
|
import * as i1$1 from 'firebase/firestore';
|
|
13
13
|
import { collection, getDocs, query, limit, writeBatch, where, doc, getDoc, updateDoc, deleteDoc, setDoc, getFirestore, orderBy, addDoc } from 'firebase/firestore';
|
|
14
14
|
import { AXPDataGenerator, isLocaleStringMap, resolveMultiLanguageString, createMultiLanguageString, AXPSystemStatusType, AXPFileStorageStatus, AXPWidgetsCatalog, AXPPlatformScope, getSmart, AXPWidgetsList, AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CONNECTION_STATUS, AXPSystemStatuses } from '@acorex/platform/contracts';
|
|
15
|
+
import { delay } from '@acorex/core/utils';
|
|
15
16
|
import Dexie from 'dexie';
|
|
16
17
|
import { collectEntityQuickSearchFieldPaths, AXPEntityCommandScope, buildAXPRecordWorkflowInfo } from '@acorex/platform/layout/entity-contracts';
|
|
17
18
|
import { get, castArray, isString, isEmpty, trim, defaultTo, orderBy as orderBy$1, isArray, set } from 'lodash-es';
|
|
@@ -25,7 +26,7 @@ import { RootConfig as RootConfig$4, AXMPermissionsKeys as AXMPermissionsKeys$7
|
|
|
25
26
|
import { AXMAssetManagementFeatureKeys, RootConfig as RootConfig$6, AXMAssetManagementPermissionKeys, AXMAssetStatus } from '@acorex/modules/asset-management';
|
|
26
27
|
import { AXMAssessmentManagementFeatureKeys, RootConfig as RootConfig$5, AXMAssessmentManagementPermissionKeys } from '@acorex/modules/assessment-management';
|
|
27
28
|
import { AXPCommonFeatureKeys } from '@acorex/modules/common';
|
|
28
|
-
import { AXPReportManagementFeatureKeys, RootConfig as RootConfig$
|
|
29
|
+
import { AXPReportManagementFeatureKeys, AXPReportViewerService, RootConfig as RootConfig$D } from '@acorex/modules/report-management';
|
|
29
30
|
import { AXMDataManagementFeatureKeys, AXMPermissionsKeys as AXMPermissionsKeys$1, RootConfig as RootConfig$h, ShowMetaDataFormPopupCommand, ShowMetaDataBuilderPopupCommand, AXMQueryService } from '@acorex/modules/data-management';
|
|
30
31
|
import { AXMHealthCoreDataSourceKeys, HEALTH_CATALOG_SCOPE, AXMHealthCorePermissionKeys, RootConfig as RootConfig$l } from '@acorex/modules/health-core';
|
|
31
32
|
import { AXP_IDENTIFIER_SERVICE, AXP_IDENTIFIER_RULES, AXPIdentifierService, AXPSimplePatternEngine, buildScopeHash, AXP_DEFAULT_TOKEN_PROVIDERS } from '@acorex/modules/identifier-management';
|
|
@@ -85,7 +86,7 @@ import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
|
|
|
85
86
|
import { RootConfig as RootConfig$z } from '@acorex/modules/platform-management';
|
|
86
87
|
import { RootConfig as RootConfig$A } from '@acorex/modules/procurement-management';
|
|
87
88
|
import { RootConfig as RootConfig$B, AXM_PRODUCT_HISTORY_BAR_CHART_WIDGET_OPTIONS } from '@acorex/modules/product-catalog';
|
|
88
|
-
import { RootConfig as RootConfig$
|
|
89
|
+
import { RootConfig as RootConfig$C } from '@acorex/modules/project-management';
|
|
89
90
|
import { RootConfig as RootConfig$E } from '@acorex/modules/reservation-management';
|
|
90
91
|
import * as i1$3 from '@acorex/components/dialog';
|
|
91
92
|
import { RootConfig as RootConfig$F } from '@acorex/modules/supplier-management';
|
|
@@ -118,16 +119,20 @@ const AXC_FIRESTORE_CONFIG = new InjectionToken('AXC_FIRESTORE_CONFIG', {
|
|
|
118
119
|
|
|
119
120
|
//#region ---- Mock entity seed gate ----
|
|
120
121
|
/** Bump when mock entity seed structure changes and developers should clear IndexedDB. */
|
|
121
|
-
const MOCK_DATA_SEED_VERSION = '
|
|
122
|
+
const MOCK_DATA_SEED_VERSION = '3';
|
|
122
123
|
const MOCK_ENTITY_SEED_META_KEY = 'entity-mock-seed';
|
|
123
124
|
//#endregion
|
|
124
125
|
|
|
125
126
|
/** Rows loaded into memory for aggregation on mock backends (safety cap). */
|
|
126
127
|
const ENTITY_AGGREGATE_MAX_ROWS$1 = 500_000;
|
|
128
|
+
/** Simulated network latency for mock read operations (ms). */
|
|
129
|
+
const MOCK_API_DELAY_MS = 100;
|
|
127
130
|
class AXCDexieEntityStorageService extends Dexie {
|
|
128
131
|
constructor() {
|
|
129
132
|
super('ACoreXPlatform');
|
|
130
133
|
this.sessionService = inject(AXPSessionService);
|
|
134
|
+
/** When > 0, simulated read latency is skipped (startup mock seeding). */
|
|
135
|
+
this.seedingDepth = 0;
|
|
131
136
|
this.version(1).stores({
|
|
132
137
|
'entity-store': '++id, entityName, [entityName+id]',
|
|
133
138
|
});
|
|
@@ -230,7 +235,29 @@ class AXCDexieEntityStorageService extends Dexie {
|
|
|
230
235
|
return row.value;
|
|
231
236
|
}
|
|
232
237
|
//#endregion
|
|
238
|
+
//#region ---- Seeding mode ----
|
|
239
|
+
/**
|
|
240
|
+
* Runs work with mock read latency disabled.
|
|
241
|
+
* Used during startup entity seeding so artificial delays do not stack per operation.
|
|
242
|
+
*/
|
|
243
|
+
async runDuringSeeding(work) {
|
|
244
|
+
this.seedingDepth++;
|
|
245
|
+
try {
|
|
246
|
+
return await work();
|
|
247
|
+
}
|
|
248
|
+
finally {
|
|
249
|
+
this.seedingDepth--;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
async mockApiDelay() {
|
|
253
|
+
if (this.seedingDepth > 0) {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
await delay(MOCK_API_DELAY_MS);
|
|
257
|
+
}
|
|
258
|
+
//#endregion
|
|
233
259
|
async getOne(entityName, id) {
|
|
260
|
+
await this.mockApiDelay();
|
|
234
261
|
return await this.table('entity-store').where({ entityName, id: id }).first();
|
|
235
262
|
}
|
|
236
263
|
async updateOne(entityName, id, keyValue) {
|
|
@@ -251,6 +278,7 @@ class AXCDexieEntityStorageService extends Dexie {
|
|
|
251
278
|
return await this.table('entity-store').where({ entityName }).toArray();
|
|
252
279
|
}
|
|
253
280
|
async query(entityName, request) {
|
|
281
|
+
await this.mockApiDelay();
|
|
254
282
|
return runEntityQuery(entityName, request, this.createQueryAdapters(), request.params?.['locale']);
|
|
255
283
|
}
|
|
256
284
|
async count(entityName, request) {
|
|
@@ -23071,7 +23099,7 @@ class AXCAiManagementMockModule {
|
|
|
23071
23099
|
provideCommandSetups([
|
|
23072
23100
|
{
|
|
23073
23101
|
key: 'AiManagement:ChatGenerateImage',
|
|
23074
|
-
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-
|
|
23102
|
+
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-P-G8jI9p.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
|
|
23075
23103
|
},
|
|
23076
23104
|
{
|
|
23077
23105
|
key: 'AiManagement:ExtractDocumentText',
|
|
@@ -23083,11 +23111,11 @@ class AXCAiManagementMockModule {
|
|
|
23083
23111
|
},
|
|
23084
23112
|
{
|
|
23085
23113
|
key: 'AiManagement:ChatTranscribeSpeech',
|
|
23086
|
-
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-
|
|
23114
|
+
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-0LZDZT0P.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
|
|
23087
23115
|
},
|
|
23088
23116
|
{
|
|
23089
23117
|
key: 'AiManagement:ChatSynthesizeSpeech',
|
|
23090
|
-
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-
|
|
23118
|
+
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-CK8Jl9jw.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
|
|
23091
23119
|
},
|
|
23092
23120
|
]),
|
|
23093
23121
|
] }); }
|
|
@@ -23140,7 +23168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
23140
23168
|
provideCommandSetups([
|
|
23141
23169
|
{
|
|
23142
23170
|
key: 'AiManagement:ChatGenerateImage',
|
|
23143
|
-
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-
|
|
23171
|
+
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-P-G8jI9p.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
|
|
23144
23172
|
},
|
|
23145
23173
|
{
|
|
23146
23174
|
key: 'AiManagement:ExtractDocumentText',
|
|
@@ -23152,11 +23180,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
23152
23180
|
},
|
|
23153
23181
|
{
|
|
23154
23182
|
key: 'AiManagement:ChatTranscribeSpeech',
|
|
23155
|
-
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-
|
|
23183
|
+
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-0LZDZT0P.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
|
|
23156
23184
|
},
|
|
23157
23185
|
{
|
|
23158
23186
|
key: 'AiManagement:ChatSynthesizeSpeech',
|
|
23159
|
-
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-
|
|
23187
|
+
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-CK8Jl9jw.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
|
|
23160
23188
|
},
|
|
23161
23189
|
]),
|
|
23162
23190
|
],
|
|
@@ -50928,7 +50956,7 @@ class AXMFormDataSourcesProvider {
|
|
|
50928
50956
|
source: () => {
|
|
50929
50957
|
return new AXDataSource({
|
|
50930
50958
|
pageSize: 10,
|
|
50931
|
-
key: '
|
|
50959
|
+
key: 'id',
|
|
50932
50960
|
load: async () => {
|
|
50933
50961
|
return {
|
|
50934
50962
|
items: [
|
|
@@ -50978,7 +51006,7 @@ class AXMFormDataSourcesProvider {
|
|
|
50978
51006
|
source: () => {
|
|
50979
51007
|
return new AXDataSource({
|
|
50980
51008
|
pageSize: 10,
|
|
50981
|
-
key: '
|
|
51009
|
+
key: 'id',
|
|
50982
51010
|
load: async () => {
|
|
50983
51011
|
return {
|
|
50984
51012
|
items: [
|
|
@@ -51029,7 +51057,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51029
51057
|
source: () => {
|
|
51030
51058
|
return new AXDataSource({
|
|
51031
51059
|
pageSize: 10,
|
|
51032
|
-
key: '
|
|
51060
|
+
key: 'id',
|
|
51033
51061
|
load: async () => {
|
|
51034
51062
|
return {
|
|
51035
51063
|
items: [
|
|
@@ -51081,7 +51109,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51081
51109
|
source: () => {
|
|
51082
51110
|
return new AXDataSource({
|
|
51083
51111
|
pageSize: 10,
|
|
51084
|
-
key: '
|
|
51112
|
+
key: 'id',
|
|
51085
51113
|
load: async () => {
|
|
51086
51114
|
return {
|
|
51087
51115
|
items: [
|
|
@@ -51138,7 +51166,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51138
51166
|
source: () => {
|
|
51139
51167
|
return new AXDataSource({
|
|
51140
51168
|
pageSize: 10,
|
|
51141
|
-
key: '
|
|
51169
|
+
key: 'id',
|
|
51142
51170
|
load: async () => {
|
|
51143
51171
|
return {
|
|
51144
51172
|
items: [
|
|
@@ -51195,7 +51223,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51195
51223
|
source: () => {
|
|
51196
51224
|
return new AXDataSource({
|
|
51197
51225
|
pageSize: 10,
|
|
51198
|
-
key: '
|
|
51226
|
+
key: 'id',
|
|
51199
51227
|
load: async () => {
|
|
51200
51228
|
return {
|
|
51201
51229
|
items: [
|
|
@@ -51257,7 +51285,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51257
51285
|
source: () => {
|
|
51258
51286
|
return new AXDataSource({
|
|
51259
51287
|
pageSize: 10,
|
|
51260
|
-
key: '
|
|
51288
|
+
key: 'id',
|
|
51261
51289
|
load: async () => {
|
|
51262
51290
|
return {
|
|
51263
51291
|
items: [
|
|
@@ -51322,7 +51350,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51322
51350
|
source: () => {
|
|
51323
51351
|
return new AXDataSource({
|
|
51324
51352
|
pageSize: 10,
|
|
51325
|
-
key: '
|
|
51353
|
+
key: 'id',
|
|
51326
51354
|
load: async () => {
|
|
51327
51355
|
return {
|
|
51328
51356
|
items: [
|
|
@@ -51383,7 +51411,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51383
51411
|
source: () => {
|
|
51384
51412
|
return new AXDataSource({
|
|
51385
51413
|
pageSize: 10,
|
|
51386
|
-
key: '
|
|
51414
|
+
key: 'id',
|
|
51387
51415
|
load: async () => {
|
|
51388
51416
|
return {
|
|
51389
51417
|
items: [
|
|
@@ -51435,7 +51463,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51435
51463
|
source: () => {
|
|
51436
51464
|
return new AXDataSource({
|
|
51437
51465
|
pageSize: 10,
|
|
51438
|
-
key: '
|
|
51466
|
+
key: 'id',
|
|
51439
51467
|
load: async () => {
|
|
51440
51468
|
return {
|
|
51441
51469
|
items: [
|
|
@@ -51487,7 +51515,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51487
51515
|
source: () => {
|
|
51488
51516
|
return new AXDataSource({
|
|
51489
51517
|
pageSize: 10,
|
|
51490
|
-
key: '
|
|
51518
|
+
key: 'id',
|
|
51491
51519
|
load: async () => {
|
|
51492
51520
|
return {
|
|
51493
51521
|
items: [
|
|
@@ -51540,7 +51568,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51540
51568
|
source: () => {
|
|
51541
51569
|
return new AXDataSource({
|
|
51542
51570
|
pageSize: 10,
|
|
51543
|
-
key: '
|
|
51571
|
+
key: 'id',
|
|
51544
51572
|
load: async () => {
|
|
51545
51573
|
return {
|
|
51546
51574
|
items: [
|
|
@@ -51595,7 +51623,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51595
51623
|
source: () => {
|
|
51596
51624
|
return new AXDataSource({
|
|
51597
51625
|
pageSize: 10,
|
|
51598
|
-
key: '
|
|
51626
|
+
key: 'id',
|
|
51599
51627
|
load: async () => {
|
|
51600
51628
|
return {
|
|
51601
51629
|
items: [
|
|
@@ -51652,7 +51680,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51652
51680
|
source: () => {
|
|
51653
51681
|
return new AXDataSource({
|
|
51654
51682
|
pageSize: 10,
|
|
51655
|
-
key: '
|
|
51683
|
+
key: 'id',
|
|
51656
51684
|
load: async () => {
|
|
51657
51685
|
return {
|
|
51658
51686
|
items: [
|
|
@@ -51711,7 +51739,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51711
51739
|
source: () => {
|
|
51712
51740
|
return new AXDataSource({
|
|
51713
51741
|
pageSize: 10,
|
|
51714
|
-
key: '
|
|
51742
|
+
key: 'id',
|
|
51715
51743
|
load: async () => {
|
|
51716
51744
|
return {
|
|
51717
51745
|
items: [
|
|
@@ -51770,7 +51798,7 @@ class AXMFormDataSourcesProvider {
|
|
|
51770
51798
|
];
|
|
51771
51799
|
return new AXDataSource({
|
|
51772
51800
|
pageSize: 10,
|
|
51773
|
-
key: '
|
|
51801
|
+
key: 'id',
|
|
51774
51802
|
load: async () => ({ items, total: items.length }),
|
|
51775
51803
|
byKey: async (key) => items.find(item => item.id === key),
|
|
51776
51804
|
});
|
|
@@ -73204,496 +73232,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
73204
73232
|
type: Injectable
|
|
73205
73233
|
}] });
|
|
73206
73234
|
|
|
73207
|
-
//#region ---- Mock Categories ----
|
|
73208
|
-
/**
|
|
73209
|
-
* Generate report categories with optimized count metadata
|
|
73210
|
-
*
|
|
73211
|
-
* Uses childrenCount & itemsCount for performance:
|
|
73212
|
-
* - childrenCount: Direct child categories (for lazy loading)
|
|
73213
|
-
* - itemsCount: Direct reports in this category
|
|
73214
|
-
* - No need for boolean flags (hasChild, hasReport)
|
|
73215
|
-
*/
|
|
73216
|
-
function generateCategories$3() {
|
|
73217
|
-
const categories = [];
|
|
73218
|
-
// Root categories with child count metadata
|
|
73219
|
-
const rootCategories = [
|
|
73220
|
-
{
|
|
73221
|
-
title: 'Product Catalog',
|
|
73222
|
-
description: 'Product catalog analysis and reports',
|
|
73223
|
-
childrenCount: 1, // Has 1 child category
|
|
73224
|
-
itemsCount: 0, // No direct reports
|
|
73225
|
-
},
|
|
73226
|
-
];
|
|
73227
|
-
rootCategories.forEach(({ title, description, childrenCount, itemsCount }) => {
|
|
73228
|
-
const categoryId = AXPDataGenerator.uuid();
|
|
73229
|
-
categories.push({
|
|
73230
|
-
id: categoryId,
|
|
73231
|
-
title,
|
|
73232
|
-
description,
|
|
73233
|
-
parentId: undefined,
|
|
73234
|
-
childrenCount,
|
|
73235
|
-
itemsCount,
|
|
73236
|
-
});
|
|
73237
|
-
});
|
|
73238
|
-
// Child categories (leaf nodes with reports)
|
|
73239
|
-
const childCategories = [
|
|
73240
|
-
{
|
|
73241
|
-
parent: 'Product Catalog',
|
|
73242
|
-
children: [
|
|
73243
|
-
{
|
|
73244
|
-
title: 'Product Analysis',
|
|
73245
|
-
description: 'Product catalog analysis and insights',
|
|
73246
|
-
childrenCount: 0,
|
|
73247
|
-
itemsCount: 1, // Products by Brand
|
|
73248
|
-
},
|
|
73249
|
-
],
|
|
73250
|
-
},
|
|
73251
|
-
];
|
|
73252
|
-
childCategories.forEach(({ parent, children }) => {
|
|
73253
|
-
const parentCat = categories.find((c) => resolveMultiLanguageString(c.title, 'en-US') === parent);
|
|
73254
|
-
if (parentCat) {
|
|
73255
|
-
children.forEach(({ title, description, childrenCount, itemsCount }) => {
|
|
73256
|
-
categories.push({
|
|
73257
|
-
id: AXPDataGenerator.uuid(),
|
|
73258
|
-
title,
|
|
73259
|
-
description,
|
|
73260
|
-
parentId: parentCat.id,
|
|
73261
|
-
childrenCount,
|
|
73262
|
-
itemsCount,
|
|
73263
|
-
});
|
|
73264
|
-
});
|
|
73265
|
-
}
|
|
73266
|
-
});
|
|
73267
|
-
return categories;
|
|
73268
|
-
}
|
|
73269
|
-
const PRODUCT_REPORT_CATEGORIES = generateCategories$3();
|
|
73270
|
-
//#endregion
|
|
73271
|
-
//#region ---- Mock Parameter Groups ----
|
|
73272
|
-
const productCatalogParameterGroups = [
|
|
73273
|
-
{
|
|
73274
|
-
name: 'productDetails',
|
|
73275
|
-
title: 'Product Details',
|
|
73276
|
-
description: 'Product catalog filtering options',
|
|
73277
|
-
parameters: [
|
|
73278
|
-
{
|
|
73279
|
-
path: 'brand',
|
|
73280
|
-
title: 'Brand',
|
|
73281
|
-
description: 'Filter by specific brand',
|
|
73282
|
-
widget: {
|
|
73283
|
-
type: AXPWidgetsList.Editors.LookupBox,
|
|
73284
|
-
options: {
|
|
73285
|
-
entity: 'ProductCatalog.Brand',
|
|
73286
|
-
multiple: true,
|
|
73287
|
-
},
|
|
73288
|
-
},
|
|
73289
|
-
},
|
|
73290
|
-
{
|
|
73291
|
-
path: 'category',
|
|
73292
|
-
title: 'Category',
|
|
73293
|
-
description: 'Filter by product category',
|
|
73294
|
-
widget: {
|
|
73295
|
-
type: AXPWidgetsList.Editors.LookupBox,
|
|
73296
|
-
options: {
|
|
73297
|
-
entity: 'ProductCatalog.ProductCategory',
|
|
73298
|
-
multiple: true,
|
|
73299
|
-
},
|
|
73300
|
-
},
|
|
73301
|
-
},
|
|
73302
|
-
{
|
|
73303
|
-
path: 'status',
|
|
73304
|
-
title: 'Status',
|
|
73305
|
-
description: 'Filter by product status',
|
|
73306
|
-
widget: {
|
|
73307
|
-
type: AXPWidgetsList.Editors.SelectBox,
|
|
73308
|
-
options: {
|
|
73309
|
-
valueField: 'value',
|
|
73310
|
-
textField: 'text',
|
|
73311
|
-
dataSource: [
|
|
73312
|
-
{ value: 'all', text: 'All' },
|
|
73313
|
-
{ value: 'approved', text: 'Approved' },
|
|
73314
|
-
{ value: 'in-review', text: 'In Review' },
|
|
73315
|
-
{ value: 'draft', text: 'Draft' },
|
|
73316
|
-
{ value: 'rejected', text: 'Rejected' },
|
|
73317
|
-
],
|
|
73318
|
-
},
|
|
73319
|
-
},
|
|
73320
|
-
},
|
|
73321
|
-
{
|
|
73322
|
-
path: 'priceRange',
|
|
73323
|
-
title: 'Price Range',
|
|
73324
|
-
description: 'Filter by price range',
|
|
73325
|
-
widget: {
|
|
73326
|
-
type: AXPWidgetsList.Editors.SelectBox,
|
|
73327
|
-
options: {
|
|
73328
|
-
valueField: 'value',
|
|
73329
|
-
textField: 'text',
|
|
73330
|
-
dataSource: [
|
|
73331
|
-
{ value: 'all', text: 'All' },
|
|
73332
|
-
{ value: 'under-50', text: 'Under $50' },
|
|
73333
|
-
{ value: '50-100', text: '$50 - $100' },
|
|
73334
|
-
{ value: '100-500', text: '$100 - $500' },
|
|
73335
|
-
{ value: '500-1000', text: '$500 - $1000' },
|
|
73336
|
-
{ value: 'over-1000', text: 'Over $1000' },
|
|
73337
|
-
],
|
|
73338
|
-
},
|
|
73339
|
-
},
|
|
73340
|
-
},
|
|
73341
|
-
],
|
|
73342
|
-
},
|
|
73343
|
-
];
|
|
73344
|
-
//#endregion
|
|
73345
|
-
//#region ---- Layout Definitions Generator ----
|
|
73346
|
-
function generateLayoutsForReport$3(reportTitle) {
|
|
73347
|
-
const layouts = [];
|
|
73348
|
-
const titleLower = reportTitle.toLowerCase();
|
|
73349
|
-
// Generate base export options
|
|
73350
|
-
const baseExportOptions = {
|
|
73351
|
-
fileNameTemplate: 'Report_{date}_{user}',
|
|
73352
|
-
pdf: {
|
|
73353
|
-
enabled: true,
|
|
73354
|
-
pageSize: 'A4',
|
|
73355
|
-
headerEnabled: true,
|
|
73356
|
-
footerEnabled: true,
|
|
73357
|
-
showPageNumbers: true,
|
|
73358
|
-
watermarkText: 'Mock Report',
|
|
73359
|
-
watermarkOpacity: 0.5,
|
|
73360
|
-
compression: true,
|
|
73361
|
-
embedImages: true,
|
|
73362
|
-
},
|
|
73363
|
-
};
|
|
73364
|
-
// Table Layout (always available)
|
|
73365
|
-
if (titleLower.includes('product') || titleLower.includes('brand')) {
|
|
73366
|
-
layouts.push({
|
|
73367
|
-
id: AXPDataGenerator.uuid(),
|
|
73368
|
-
title: 'Table View',
|
|
73369
|
-
description: 'Detailed tabular view of the data',
|
|
73370
|
-
icon: 'fa-light fa-table',
|
|
73371
|
-
isDefault: true,
|
|
73372
|
-
layout: {
|
|
73373
|
-
type: 'table',
|
|
73374
|
-
columns: [
|
|
73375
|
-
{
|
|
73376
|
-
field: 'brand',
|
|
73377
|
-
title: 'Brand',
|
|
73378
|
-
visible: true,
|
|
73379
|
-
width: 150,
|
|
73380
|
-
align: 'left',
|
|
73381
|
-
pin: 'start',
|
|
73382
|
-
sortable: true,
|
|
73383
|
-
widget: { type: AXPWidgetsList.Editors.TextBox, path: 'brand' },
|
|
73384
|
-
},
|
|
73385
|
-
{
|
|
73386
|
-
field: 'manufacturer',
|
|
73387
|
-
title: 'Manufacturer',
|
|
73388
|
-
visible: true,
|
|
73389
|
-
width: 150,
|
|
73390
|
-
align: 'left',
|
|
73391
|
-
sortable: true,
|
|
73392
|
-
widget: { type: AXPWidgetsList.Editors.TextBox, path: 'manufacturer' },
|
|
73393
|
-
},
|
|
73394
|
-
{
|
|
73395
|
-
field: 'productCount',
|
|
73396
|
-
title: 'Product Count',
|
|
73397
|
-
visible: true,
|
|
73398
|
-
width: 120,
|
|
73399
|
-
align: 'right',
|
|
73400
|
-
sortable: true,
|
|
73401
|
-
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'productCount' },
|
|
73402
|
-
},
|
|
73403
|
-
{
|
|
73404
|
-
field: 'totalValue',
|
|
73405
|
-
title: 'Total Value',
|
|
73406
|
-
visible: true,
|
|
73407
|
-
width: 120,
|
|
73408
|
-
align: 'right',
|
|
73409
|
-
sortable: true,
|
|
73410
|
-
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'totalValue' },
|
|
73411
|
-
},
|
|
73412
|
-
{
|
|
73413
|
-
field: 'averagePrice',
|
|
73414
|
-
title: 'Average Price',
|
|
73415
|
-
visible: true,
|
|
73416
|
-
width: 120,
|
|
73417
|
-
align: 'right',
|
|
73418
|
-
sortable: true,
|
|
73419
|
-
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'averagePrice' },
|
|
73420
|
-
},
|
|
73421
|
-
{
|
|
73422
|
-
field: 'minPrice',
|
|
73423
|
-
title: 'Min Price',
|
|
73424
|
-
visible: true,
|
|
73425
|
-
width: 100,
|
|
73426
|
-
align: 'right',
|
|
73427
|
-
sortable: true,
|
|
73428
|
-
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'minPrice' },
|
|
73429
|
-
},
|
|
73430
|
-
{
|
|
73431
|
-
field: 'maxPrice',
|
|
73432
|
-
title: 'Max Price',
|
|
73433
|
-
visible: true,
|
|
73434
|
-
width: 100,
|
|
73435
|
-
align: 'right',
|
|
73436
|
-
sortable: true,
|
|
73437
|
-
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'maxPrice' },
|
|
73438
|
-
},
|
|
73439
|
-
{
|
|
73440
|
-
field: 'categories',
|
|
73441
|
-
title: 'Categories',
|
|
73442
|
-
visible: true,
|
|
73443
|
-
width: 200,
|
|
73444
|
-
align: 'left',
|
|
73445
|
-
widget: { type: AXPWidgetsList.Editors.TextBox, path: 'categories' },
|
|
73446
|
-
},
|
|
73447
|
-
],
|
|
73448
|
-
actions: [],
|
|
73449
|
-
options: {
|
|
73450
|
-
pagination: true,
|
|
73451
|
-
stickyHeader: true,
|
|
73452
|
-
stripedRows: true,
|
|
73453
|
-
sorting: [{ name: 'brand', dir: 'asc' }],
|
|
73454
|
-
},
|
|
73455
|
-
summary: [
|
|
73456
|
-
{ field: 'totalValue', operation: 'sum', displayIn: 'reportFooter' },
|
|
73457
|
-
{ field: 'averagePrice', operation: 'sum', displayIn: 'reportFooter' },
|
|
73458
|
-
{ field: 'minPrice', operation: 'sum', displayIn: 'reportFooter' },
|
|
73459
|
-
{ field: 'maxPrice', operation: 'sum', displayIn: 'reportFooter' },
|
|
73460
|
-
],
|
|
73461
|
-
},
|
|
73462
|
-
dataSource: {
|
|
73463
|
-
type: 'query',
|
|
73464
|
-
name: 'getProductList',
|
|
73465
|
-
pagination: true,
|
|
73466
|
-
sortFields: [{ name: 'brand', dir: 'asc' }],
|
|
73467
|
-
},
|
|
73468
|
-
export: {
|
|
73469
|
-
...baseExportOptions,
|
|
73470
|
-
fileNameTemplate: 'Report_{date}_{user}',
|
|
73471
|
-
excel: {
|
|
73472
|
-
enabled: true,
|
|
73473
|
-
sheetName: 'Report',
|
|
73474
|
-
},
|
|
73475
|
-
csv: {
|
|
73476
|
-
enabled: true,
|
|
73477
|
-
},
|
|
73478
|
-
pdf: {
|
|
73479
|
-
enabled: true,
|
|
73480
|
-
},
|
|
73481
|
-
},
|
|
73482
|
-
});
|
|
73483
|
-
}
|
|
73484
|
-
// Chart Layout (for product/brand reports)
|
|
73485
|
-
if (titleLower.includes('product') || titleLower.includes('brand')) {
|
|
73486
|
-
// Bar Chart View
|
|
73487
|
-
layouts.push({
|
|
73488
|
-
id: AXPDataGenerator.uuid(),
|
|
73489
|
-
title: 'Bar Chart View',
|
|
73490
|
-
description: 'Visual Bar chart representation of products by brand',
|
|
73491
|
-
icon: 'fa-light fa-chart-bar',
|
|
73492
|
-
layout: {
|
|
73493
|
-
type: 'chart',
|
|
73494
|
-
options: {
|
|
73495
|
-
chartType: 'bar',
|
|
73496
|
-
dataMapping: {
|
|
73497
|
-
xField: 'brand',
|
|
73498
|
-
yFields: 'productCount',
|
|
73499
|
-
groupBy: 'brand',
|
|
73500
|
-
aggregation: {
|
|
73501
|
-
method: 'sum',
|
|
73502
|
-
field: 'productCount',
|
|
73503
|
-
},
|
|
73504
|
-
},
|
|
73505
|
-
styling: {
|
|
73506
|
-
colorScheme: 'primary',
|
|
73507
|
-
gridLines: true,
|
|
73508
|
-
legend: {
|
|
73509
|
-
show: true,
|
|
73510
|
-
position: 'bottom',
|
|
73511
|
-
},
|
|
73512
|
-
animation: {
|
|
73513
|
-
enabled: true,
|
|
73514
|
-
duration: 750,
|
|
73515
|
-
},
|
|
73516
|
-
},
|
|
73517
|
-
interactivity: {
|
|
73518
|
-
tooltips: {
|
|
73519
|
-
enabled: true,
|
|
73520
|
-
showOnHover: true,
|
|
73521
|
-
},
|
|
73522
|
-
zoom: {
|
|
73523
|
-
enabled: true,
|
|
73524
|
-
mode: 'x',
|
|
73525
|
-
},
|
|
73526
|
-
export: {
|
|
73527
|
-
enabled: true,
|
|
73528
|
-
formats: ['png', 'pdf', 'svg'],
|
|
73529
|
-
},
|
|
73530
|
-
},
|
|
73531
|
-
},
|
|
73532
|
-
},
|
|
73533
|
-
dataSource: {
|
|
73534
|
-
type: 'query',
|
|
73535
|
-
name: 'getProductChartData',
|
|
73536
|
-
},
|
|
73537
|
-
});
|
|
73538
|
-
// Doughnut Chart View
|
|
73539
|
-
layouts.push({
|
|
73540
|
-
id: AXPDataGenerator.uuid(),
|
|
73541
|
-
title: 'Doughnut Chart View',
|
|
73542
|
-
description: 'Visual Doughnut chart representation of products by brand',
|
|
73543
|
-
icon: 'fa-light fa-chart-pie',
|
|
73544
|
-
layout: {
|
|
73545
|
-
type: 'chart',
|
|
73546
|
-
options: {
|
|
73547
|
-
chartType: 'doughnut',
|
|
73548
|
-
dataMapping: {
|
|
73549
|
-
xField: 'brand',
|
|
73550
|
-
yFields: 'productCount',
|
|
73551
|
-
groupBy: 'brand',
|
|
73552
|
-
aggregation: {
|
|
73553
|
-
method: 'sum',
|
|
73554
|
-
field: 'productCount',
|
|
73555
|
-
},
|
|
73556
|
-
},
|
|
73557
|
-
styling: {
|
|
73558
|
-
colorScheme: 'primary',
|
|
73559
|
-
gridLines: true,
|
|
73560
|
-
legend: {
|
|
73561
|
-
show: true,
|
|
73562
|
-
position: 'bottom',
|
|
73563
|
-
},
|
|
73564
|
-
animation: {
|
|
73565
|
-
enabled: true,
|
|
73566
|
-
duration: 750,
|
|
73567
|
-
},
|
|
73568
|
-
},
|
|
73569
|
-
interactivity: {
|
|
73570
|
-
tooltips: {
|
|
73571
|
-
enabled: true,
|
|
73572
|
-
showOnHover: true,
|
|
73573
|
-
},
|
|
73574
|
-
zoom: {
|
|
73575
|
-
enabled: true,
|
|
73576
|
-
mode: 'x',
|
|
73577
|
-
},
|
|
73578
|
-
export: {
|
|
73579
|
-
enabled: true,
|
|
73580
|
-
formats: ['png', 'pdf', 'svg'],
|
|
73581
|
-
},
|
|
73582
|
-
},
|
|
73583
|
-
},
|
|
73584
|
-
},
|
|
73585
|
-
dataSource: {
|
|
73586
|
-
type: 'query',
|
|
73587
|
-
name: 'getProductChartData',
|
|
73588
|
-
},
|
|
73589
|
-
});
|
|
73590
|
-
// PDF View
|
|
73591
|
-
layouts.push({
|
|
73592
|
-
id: AXPDataGenerator.uuid(),
|
|
73593
|
-
title: 'PDF View',
|
|
73594
|
-
description: 'PDF document view of the product report',
|
|
73595
|
-
icon: 'fa-light fa-file-pdf',
|
|
73596
|
-
layout: {
|
|
73597
|
-
type: 'pdf',
|
|
73598
|
-
options: {
|
|
73599
|
-
showDownloadButton: true,
|
|
73600
|
-
showPrintButton: true,
|
|
73601
|
-
showZoomControls: true,
|
|
73602
|
-
showFullscreenButton: true,
|
|
73603
|
-
defaultZoom: 100,
|
|
73604
|
-
height: '100%',
|
|
73605
|
-
},
|
|
73606
|
-
header: {
|
|
73607
|
-
title: reportTitle,
|
|
73608
|
-
showDate: true,
|
|
73609
|
-
},
|
|
73610
|
-
footer: {
|
|
73611
|
-
showDate: true,
|
|
73612
|
-
},
|
|
73613
|
-
},
|
|
73614
|
-
dataSource: {
|
|
73615
|
-
type: 'query',
|
|
73616
|
-
name: 'getProductPdfData',
|
|
73617
|
-
},
|
|
73618
|
-
});
|
|
73619
|
-
}
|
|
73620
|
-
return layouts;
|
|
73621
|
-
}
|
|
73622
|
-
//#endregion
|
|
73623
|
-
//#region ---- Mock Report Definitions ----
|
|
73624
|
-
/**
|
|
73625
|
-
* Generate report definitions for categories
|
|
73626
|
-
*
|
|
73627
|
-
* Optimization: Only generates reports for categories with itemsCount > 0
|
|
73628
|
-
*/
|
|
73629
|
-
function generateReportDefinitions$3() {
|
|
73630
|
-
const reports = [];
|
|
73631
|
-
// ✅ Get categories that have reports (itemsCount > 0)
|
|
73632
|
-
const categoriesWithReports = PRODUCT_REPORT_CATEGORIES.filter((cat) => (cat.itemsCount ?? 0) > 0);
|
|
73633
|
-
categoriesWithReports.forEach((category) => {
|
|
73634
|
-
let reportsForCategory = [];
|
|
73635
|
-
switch (category.title) {
|
|
73636
|
-
case 'Product Analysis':
|
|
73637
|
-
reportsForCategory = [
|
|
73638
|
-
{
|
|
73639
|
-
title: 'Products by Brand',
|
|
73640
|
-
description: 'Product catalog analysis grouped by brand with chart visualization',
|
|
73641
|
-
parameterGroups: [...productCatalogParameterGroups],
|
|
73642
|
-
},
|
|
73643
|
-
];
|
|
73644
|
-
break;
|
|
73645
|
-
}
|
|
73646
|
-
reportsForCategory.forEach((report) => {
|
|
73647
|
-
const layouts = generateLayoutsForReport$3(report.title);
|
|
73648
|
-
const defaultLayout = layouts.find((l) => l.isDefault) || layouts[0];
|
|
73649
|
-
reports.push({
|
|
73650
|
-
id: AXPDataGenerator.uuid(),
|
|
73651
|
-
title: report.title,
|
|
73652
|
-
description: report.description,
|
|
73653
|
-
categoryIds: [category.id],
|
|
73654
|
-
parameterGroups: report.parameterGroups,
|
|
73655
|
-
layouts: layouts,
|
|
73656
|
-
defaultLayoutId: defaultLayout?.id || '',
|
|
73657
|
-
});
|
|
73658
|
-
});
|
|
73659
|
-
});
|
|
73660
|
-
return reports;
|
|
73661
|
-
}
|
|
73662
|
-
const PRODUCT_REPORT_DEFINITIONS = generateReportDefinitions$3();
|
|
73663
|
-
//#endregion
|
|
73664
|
-
//#region ---- Category-Report Mapping ----
|
|
73665
|
-
/**
|
|
73666
|
-
* Create a mapping of categories to their reports for easy lookup
|
|
73667
|
-
*
|
|
73668
|
-
* Optimization: Only processes categories with itemsCount > 0
|
|
73669
|
-
*/
|
|
73670
|
-
const CATEGORY_REPORT_MAPPING$1 = new Map();
|
|
73671
|
-
PRODUCT_REPORT_CATEGORIES.filter((cat) => (cat.itemsCount ?? 0) > 0).forEach((category) => {
|
|
73672
|
-
const categoryTitleLc = resolveMultiLanguageString(category.title, 'en-US').toLowerCase();
|
|
73673
|
-
const categoryReports = PRODUCT_REPORT_DEFINITIONS.filter((report) => {
|
|
73674
|
-
// Simple matching based on category title and report title
|
|
73675
|
-
return (report.title.toLowerCase().includes(categoryTitleLc) ||
|
|
73676
|
-
report.description?.toLowerCase().includes(categoryTitleLc));
|
|
73677
|
-
});
|
|
73678
|
-
CATEGORY_REPORT_MAPPING$1.set(category.id, categoryReports);
|
|
73679
|
-
});
|
|
73680
|
-
//#endregion
|
|
73681
|
-
|
|
73682
|
-
class AXMProductReportDefinitionDataSeeder {
|
|
73683
|
-
constructor() {
|
|
73684
|
-
this.storageService = inject(AXPEntityStorageService);
|
|
73685
|
-
}
|
|
73686
|
-
async seed() {
|
|
73687
|
-
await this.storageService.initial(`${RootConfig$C.module.name}.${RootConfig$C.entities.report.name}`, PRODUCT_REPORT_DEFINITIONS);
|
|
73688
|
-
await this.storageService.initial(`${RootConfig$C.module.name}.${RootConfig$C.entities.report.name}Category`, PRODUCT_REPORT_CATEGORIES);
|
|
73689
|
-
}
|
|
73690
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMProductReportDefinitionDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
73691
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMProductReportDefinitionDataSeeder }); }
|
|
73692
|
-
}
|
|
73693
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMProductReportDefinitionDataSeeder, decorators: [{
|
|
73694
|
-
type: Injectable
|
|
73695
|
-
}] });
|
|
73696
|
-
|
|
73697
73235
|
class AXCProductCatalogMockModule {
|
|
73698
73236
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProductCatalogMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
73699
73237
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXCProductCatalogMockModule }); }
|
|
@@ -73728,16 +73266,11 @@ class AXCProductCatalogMockModule {
|
|
|
73728
73266
|
useClass: AXCProductSkuSeeder,
|
|
73729
73267
|
multi: true,
|
|
73730
73268
|
},
|
|
73731
|
-
{
|
|
73732
|
-
provide: AXP_DATA_SEEDER_TOKEN,
|
|
73733
|
-
useClass: AXMProductReportDefinitionDataSeeder,
|
|
73734
|
-
multi: true,
|
|
73735
|
-
},
|
|
73736
73269
|
// Register report queries using provideQuerySetups
|
|
73737
73270
|
provideQuerySetups([
|
|
73738
73271
|
{
|
|
73739
73272
|
key: 'getProductList',
|
|
73740
|
-
loader: () => import('./acorex-connectivity-mock-get-product-list.query-
|
|
73273
|
+
loader: () => import('./acorex-connectivity-mock-get-product-list.query-BtzXU8Tg.mjs').then((q) => q.GetProductListQuery),
|
|
73741
73274
|
},
|
|
73742
73275
|
{
|
|
73743
73276
|
key: 'getProductChartData',
|
|
@@ -73745,7 +73278,7 @@ class AXCProductCatalogMockModule {
|
|
|
73745
73278
|
},
|
|
73746
73279
|
{
|
|
73747
73280
|
key: 'getProductPdfData',
|
|
73748
|
-
loader: () => import('./acorex-connectivity-mock-get-product-pdf-data.query-
|
|
73281
|
+
loader: () => import('./acorex-connectivity-mock-get-product-pdf-data.query-DjyRJ7il.mjs').then((q) => q.GetProductPdfDataQuery),
|
|
73749
73282
|
},
|
|
73750
73283
|
]),
|
|
73751
73284
|
provideLazyProvider(AXP_DATASOURCE_DEFINITION_PROVIDER, () => import('./acorex-connectivity-mock-index-D0jdkk2E.mjs').then((m) => m.AXCProductHistoryBarChartDataSourceDefinition)),
|
|
@@ -73785,16 +73318,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
73785
73318
|
useClass: AXCProductSkuSeeder,
|
|
73786
73319
|
multi: true,
|
|
73787
73320
|
},
|
|
73788
|
-
{
|
|
73789
|
-
provide: AXP_DATA_SEEDER_TOKEN,
|
|
73790
|
-
useClass: AXMProductReportDefinitionDataSeeder,
|
|
73791
|
-
multi: true,
|
|
73792
|
-
},
|
|
73793
73321
|
// Register report queries using provideQuerySetups
|
|
73794
73322
|
provideQuerySetups([
|
|
73795
73323
|
{
|
|
73796
73324
|
key: 'getProductList',
|
|
73797
|
-
loader: () => import('./acorex-connectivity-mock-get-product-list.query-
|
|
73325
|
+
loader: () => import('./acorex-connectivity-mock-get-product-list.query-BtzXU8Tg.mjs').then((q) => q.GetProductListQuery),
|
|
73798
73326
|
},
|
|
73799
73327
|
{
|
|
73800
73328
|
key: 'getProductChartData',
|
|
@@ -73802,7 +73330,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
73802
73330
|
},
|
|
73803
73331
|
{
|
|
73804
73332
|
key: 'getProductPdfData',
|
|
73805
|
-
loader: () => import('./acorex-connectivity-mock-get-product-pdf-data.query-
|
|
73333
|
+
loader: () => import('./acorex-connectivity-mock-get-product-pdf-data.query-DjyRJ7il.mjs').then((q) => q.GetProductPdfDataQuery),
|
|
73806
73334
|
},
|
|
73807
73335
|
]),
|
|
73808
73336
|
provideLazyProvider(AXP_DATASOURCE_DEFINITION_PROVIDER, () => import('./acorex-connectivity-mock-index-D0jdkk2E.mjs').then((m) => m.AXCProductHistoryBarChartDataSourceDefinition)),
|
|
@@ -73868,7 +73396,7 @@ class AXCProjectDataSeeder {
|
|
|
73868
73396
|
this.storageService = inject(AXPEntityStorageService);
|
|
73869
73397
|
}
|
|
73870
73398
|
async seed() {
|
|
73871
|
-
await this.storageService.initial(`${RootConfig$
|
|
73399
|
+
await this.storageService.initial(`${RootConfig$C.module.name}.${RootConfig$C.entities.project.name}`, projectMock);
|
|
73872
73400
|
}
|
|
73873
73401
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
73874
73402
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectDataSeeder }); }
|
|
@@ -74163,7 +73691,7 @@ class AXCProjectMemberDataSeeder {
|
|
|
74163
73691
|
this.storageService = inject(AXPEntityStorageService);
|
|
74164
73692
|
}
|
|
74165
73693
|
async seed() {
|
|
74166
|
-
await this.storageService.initial(`${RootConfig$
|
|
73694
|
+
await this.storageService.initial(`${RootConfig$C.module.name}.${RootConfig$C.entities.projectMemeber.name}`, projectMemberMock);
|
|
74167
73695
|
}
|
|
74168
73696
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectMemberDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74169
73697
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectMemberDataSeeder }); }
|
|
@@ -74177,7 +73705,7 @@ class AXCProjectTypeRoleTypeDataSeeder {
|
|
|
74177
73705
|
this.storageService = inject(AXPEntityStorageService);
|
|
74178
73706
|
}
|
|
74179
73707
|
async seed() {
|
|
74180
|
-
await this.storageService.initial(`${RootConfig$
|
|
73708
|
+
await this.storageService.initial(`${RootConfig$C.module.name}.${RootConfig$C.entities.projectTypeRoleType.name}`, projectTypeRoleTypeMock);
|
|
74181
73709
|
}
|
|
74182
73710
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectTypeRoleTypeDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74183
73711
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectTypeRoleTypeDataSeeder }); }
|
|
@@ -74191,7 +73719,7 @@ class AXCProjectTypeDataSeeder {
|
|
|
74191
73719
|
this.storageService = inject(AXPEntityStorageService);
|
|
74192
73720
|
}
|
|
74193
73721
|
async seed() {
|
|
74194
|
-
await this.storageService.initial(`${RootConfig$
|
|
73722
|
+
await this.storageService.initial(`${RootConfig$C.module.name}.${RootConfig$C.entities.projectType.name}`, projectTypeMock);
|
|
74195
73723
|
}
|
|
74196
73724
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectTypeDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74197
73725
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectTypeDataSeeder }); }
|
|
@@ -74205,7 +73733,7 @@ class AXCProjectTypeCategoryDataSeeder {
|
|
|
74205
73733
|
this.storageService = inject(AXPEntityStorageService);
|
|
74206
73734
|
}
|
|
74207
73735
|
async seed() {
|
|
74208
|
-
await this.storageService.initial(`${RootConfig$
|
|
73736
|
+
await this.storageService.initial(`${RootConfig$C.module.name}.${RootConfig$C.entities.projectTypeCategory.name}`, projectTypeCategoryMocks);
|
|
74209
73737
|
}
|
|
74210
73738
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectTypeCategoryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74211
73739
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCProjectTypeCategoryDataSeeder }); }
|
|
@@ -74632,7 +74160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
74632
74160
|
/**
|
|
74633
74161
|
* Generate report categories for employee reports
|
|
74634
74162
|
*/
|
|
74635
|
-
function generateCategories$
|
|
74163
|
+
function generateCategories$3() {
|
|
74636
74164
|
const categories = [];
|
|
74637
74165
|
// Root categories with child count metadata
|
|
74638
74166
|
const rootCategories = [
|
|
@@ -74685,7 +74213,7 @@ function generateCategories$2() {
|
|
|
74685
74213
|
});
|
|
74686
74214
|
return categories;
|
|
74687
74215
|
}
|
|
74688
|
-
const EMPLOYEE_REPORT_CATEGORIES = generateCategories$
|
|
74216
|
+
const EMPLOYEE_REPORT_CATEGORIES = generateCategories$3();
|
|
74689
74217
|
//#endregion
|
|
74690
74218
|
//#region ---- Mock Parameter Groups ----
|
|
74691
74219
|
const employeeReportParameterGroups = [
|
|
@@ -74785,7 +74313,7 @@ const employeeReportParameterGroups = [
|
|
|
74785
74313
|
];
|
|
74786
74314
|
//#endregion
|
|
74787
74315
|
//#region ---- Layout Definitions Generator ----
|
|
74788
|
-
function generateLayoutsForReport$
|
|
74316
|
+
function generateLayoutsForReport$3(reportTitle) {
|
|
74789
74317
|
const layouts = [];
|
|
74790
74318
|
const titleLower = reportTitle.toLowerCase();
|
|
74791
74319
|
// Generate base export options
|
|
@@ -74897,7 +74425,7 @@ function generateLayoutsForReport$2(reportTitle) {
|
|
|
74897
74425
|
*
|
|
74898
74426
|
* Optimization: Only generates reports for categories with itemsCount > 0
|
|
74899
74427
|
*/
|
|
74900
|
-
function generateReportDefinitions$
|
|
74428
|
+
function generateReportDefinitions$3() {
|
|
74901
74429
|
const reports = [];
|
|
74902
74430
|
// ✅ Get categories that have reports (itemsCount > 0)
|
|
74903
74431
|
const categoriesWithReports = EMPLOYEE_REPORT_CATEGORIES.filter((cat) => (cat.itemsCount ?? 0) > 0);
|
|
@@ -74915,7 +74443,7 @@ function generateReportDefinitions$2() {
|
|
|
74915
74443
|
break;
|
|
74916
74444
|
}
|
|
74917
74445
|
reportsForCategory.forEach((report) => {
|
|
74918
|
-
const layouts = generateLayoutsForReport$
|
|
74446
|
+
const layouts = generateLayoutsForReport$3(report.title);
|
|
74919
74447
|
const defaultLayout = layouts.find((l) => l.isDefault) || layouts[0];
|
|
74920
74448
|
reports.push({
|
|
74921
74449
|
id: AXPDataGenerator.uuid(),
|
|
@@ -74930,7 +74458,7 @@ function generateReportDefinitions$2() {
|
|
|
74930
74458
|
});
|
|
74931
74459
|
return reports;
|
|
74932
74460
|
}
|
|
74933
|
-
const EMPLOYEE_REPORT_DEFINITIONS = generateReportDefinitions$
|
|
74461
|
+
const EMPLOYEE_REPORT_DEFINITIONS = generateReportDefinitions$3();
|
|
74934
74462
|
//#endregion
|
|
74935
74463
|
//#region ---- Category-Report Mapping ----
|
|
74936
74464
|
/**
|
|
@@ -74955,8 +74483,8 @@ class AXMEmployeeReportDefinitionDataSeeder {
|
|
|
74955
74483
|
this.storageService = inject(AXPEntityStorageService);
|
|
74956
74484
|
}
|
|
74957
74485
|
async seed() {
|
|
74958
|
-
await this.storageService.initial(`${RootConfig$
|
|
74959
|
-
await this.storageService.initial(`${RootConfig$
|
|
74486
|
+
await this.storageService.initial(`${RootConfig$D.module.name}.${RootConfig$D.entities.report.name}`, EMPLOYEE_REPORT_DEFINITIONS);
|
|
74487
|
+
await this.storageService.initial(`${RootConfig$D.module.name}.${RootConfig$D.entities.report.name}Category`, EMPLOYEE_REPORT_CATEGORIES);
|
|
74960
74488
|
}
|
|
74961
74489
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMEmployeeReportDefinitionDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
74962
74490
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMEmployeeReportDefinitionDataSeeder }); }
|
|
@@ -74969,7 +74497,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
74969
74497
|
/**
|
|
74970
74498
|
* Generate report categories for location reports
|
|
74971
74499
|
*/
|
|
74972
|
-
function generateCategories$
|
|
74500
|
+
function generateCategories$2() {
|
|
74973
74501
|
const categories = [];
|
|
74974
74502
|
// Root categories with child count metadata
|
|
74975
74503
|
const rootCategories = [
|
|
@@ -75022,7 +74550,7 @@ function generateCategories$1() {
|
|
|
75022
74550
|
});
|
|
75023
74551
|
return categories;
|
|
75024
74552
|
}
|
|
75025
|
-
const LOCATION_REPORT_CATEGORIES = generateCategories$
|
|
74553
|
+
const LOCATION_REPORT_CATEGORIES = generateCategories$2();
|
|
75026
74554
|
//#endregion
|
|
75027
74555
|
//#region ---- Mock Parameter Groups ----
|
|
75028
74556
|
const locationReportParameterGroups = [
|
|
@@ -75152,7 +74680,7 @@ const locationReportParameterGroups = [
|
|
|
75152
74680
|
];
|
|
75153
74681
|
//#endregion
|
|
75154
74682
|
//#region ---- Layout Definitions Generator ----
|
|
75155
|
-
function generateLayoutsForReport$
|
|
74683
|
+
function generateLayoutsForReport$2(reportTitle) {
|
|
75156
74684
|
const layouts = [];
|
|
75157
74685
|
const titleLower = reportTitle.toLowerCase();
|
|
75158
74686
|
// Generate base export options
|
|
@@ -75251,7 +74779,7 @@ function generateLayoutsForReport$1(reportTitle) {
|
|
|
75251
74779
|
*
|
|
75252
74780
|
* Optimization: Only generates reports for categories with itemsCount > 0
|
|
75253
74781
|
*/
|
|
75254
|
-
function generateReportDefinitions$
|
|
74782
|
+
function generateReportDefinitions$2() {
|
|
75255
74783
|
const reports = [];
|
|
75256
74784
|
// ✅ Get categories that have reports (itemsCount > 0)
|
|
75257
74785
|
const categoriesWithReports = LOCATION_REPORT_CATEGORIES.filter((cat) => (cat.itemsCount ?? 0) > 0);
|
|
@@ -75269,7 +74797,7 @@ function generateReportDefinitions$1() {
|
|
|
75269
74797
|
break;
|
|
75270
74798
|
}
|
|
75271
74799
|
reportsForCategory.forEach((report) => {
|
|
75272
|
-
const layouts = generateLayoutsForReport$
|
|
74800
|
+
const layouts = generateLayoutsForReport$2(report.title);
|
|
75273
74801
|
const defaultLayout = layouts.find((l) => l.isDefault) || layouts[0];
|
|
75274
74802
|
reports.push({
|
|
75275
74803
|
id: AXPDataGenerator.uuid(),
|
|
@@ -75284,7 +74812,7 @@ function generateReportDefinitions$1() {
|
|
|
75284
74812
|
});
|
|
75285
74813
|
return reports;
|
|
75286
74814
|
}
|
|
75287
|
-
const LOCATION_REPORT_DEFINITIONS = generateReportDefinitions$
|
|
74815
|
+
const LOCATION_REPORT_DEFINITIONS = generateReportDefinitions$2();
|
|
75288
74816
|
//#endregion
|
|
75289
74817
|
//#region ---- Category-Report Mapping ----
|
|
75290
74818
|
/**
|
|
@@ -75309,8 +74837,8 @@ class AXMLocationReportDefinitionDataSeeder {
|
|
|
75309
74837
|
this.storageService = inject(AXPEntityStorageService);
|
|
75310
74838
|
}
|
|
75311
74839
|
async seed() {
|
|
75312
|
-
await this.storageService.initial(`${RootConfig$
|
|
75313
|
-
await this.storageService.initial(`${RootConfig$
|
|
74840
|
+
await this.storageService.initial(`${RootConfig$D.module.name}.${RootConfig$D.entities.report.name}`, LOCATION_REPORT_DEFINITIONS);
|
|
74841
|
+
await this.storageService.initial(`${RootConfig$D.module.name}.${RootConfig$D.entities.report.name}Category`, LOCATION_REPORT_CATEGORIES);
|
|
75314
74842
|
}
|
|
75315
74843
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMLocationReportDefinitionDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
75316
74844
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMLocationReportDefinitionDataSeeder }); }
|
|
@@ -75319,6 +74847,476 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
75319
74847
|
type: Injectable
|
|
75320
74848
|
}] });
|
|
75321
74849
|
|
|
74850
|
+
//#region ---- Stable Catalog IDs ----
|
|
74851
|
+
const PRODUCT_CATALOG_ROOT_CATEGORY_ID = 'c2000001-0000-4000-8000-000000000001';
|
|
74852
|
+
const PRODUCT_ANALYSIS_CATEGORY_ID = 'c2000002-0000-4000-8000-000000000002';
|
|
74853
|
+
const PRODUCTS_BY_BRAND_REPORT_ID = 'c1000001-0000-4000-8000-000000000001';
|
|
74854
|
+
const PRODUCTS_BY_BRAND_TABLE_LAYOUT_ID = 'c1000011-0000-4000-8000-000000000001';
|
|
74855
|
+
//#endregion
|
|
74856
|
+
//#region ---- Mock Categories ----
|
|
74857
|
+
/**
|
|
74858
|
+
* Generate report categories with optimized count metadata
|
|
74859
|
+
*
|
|
74860
|
+
* Uses childrenCount & itemsCount for performance:
|
|
74861
|
+
* - childrenCount: Direct child categories (for lazy loading)
|
|
74862
|
+
* - itemsCount: Direct reports in this category
|
|
74863
|
+
* - No need for boolean flags (hasChild, hasReport)
|
|
74864
|
+
*/
|
|
74865
|
+
function generateCategories$1() {
|
|
74866
|
+
const categories = [];
|
|
74867
|
+
// Root categories with child count metadata
|
|
74868
|
+
const rootCategories = [
|
|
74869
|
+
{
|
|
74870
|
+
title: 'Product Catalog',
|
|
74871
|
+
description: 'Product catalog analysis and reports',
|
|
74872
|
+
childrenCount: 1, // Has 1 child category
|
|
74873
|
+
itemsCount: 0, // No direct reports
|
|
74874
|
+
},
|
|
74875
|
+
];
|
|
74876
|
+
rootCategories.forEach(({ title, description, childrenCount, itemsCount }) => {
|
|
74877
|
+
categories.push({
|
|
74878
|
+
id: PRODUCT_CATALOG_ROOT_CATEGORY_ID,
|
|
74879
|
+
title,
|
|
74880
|
+
description,
|
|
74881
|
+
parentId: undefined,
|
|
74882
|
+
childrenCount,
|
|
74883
|
+
itemsCount,
|
|
74884
|
+
});
|
|
74885
|
+
});
|
|
74886
|
+
// Child categories (leaf nodes with reports)
|
|
74887
|
+
const childCategories = [
|
|
74888
|
+
{
|
|
74889
|
+
parent: 'Product Catalog',
|
|
74890
|
+
children: [
|
|
74891
|
+
{
|
|
74892
|
+
title: 'Product Analysis',
|
|
74893
|
+
description: 'Product catalog analysis and insights',
|
|
74894
|
+
childrenCount: 0,
|
|
74895
|
+
itemsCount: 1,
|
|
74896
|
+
},
|
|
74897
|
+
],
|
|
74898
|
+
},
|
|
74899
|
+
];
|
|
74900
|
+
childCategories.forEach(({ parent, children }) => {
|
|
74901
|
+
const parentCat = categories.find((c) => resolveMultiLanguageString(c.title, 'en-US') === parent);
|
|
74902
|
+
if (parentCat) {
|
|
74903
|
+
children.forEach(({ title, description, childrenCount, itemsCount }) => {
|
|
74904
|
+
categories.push({
|
|
74905
|
+
id: PRODUCT_ANALYSIS_CATEGORY_ID,
|
|
74906
|
+
title,
|
|
74907
|
+
description,
|
|
74908
|
+
parentId: parentCat.id,
|
|
74909
|
+
childrenCount,
|
|
74910
|
+
itemsCount,
|
|
74911
|
+
});
|
|
74912
|
+
});
|
|
74913
|
+
}
|
|
74914
|
+
});
|
|
74915
|
+
return categories;
|
|
74916
|
+
}
|
|
74917
|
+
const PRODUCT_REPORT_CATEGORIES = generateCategories$1();
|
|
74918
|
+
//#endregion
|
|
74919
|
+
//#region ---- Mock Parameter Groups ----
|
|
74920
|
+
const productCatalogParameterGroups = [
|
|
74921
|
+
{
|
|
74922
|
+
name: 'productDetails',
|
|
74923
|
+
title: 'Product Details',
|
|
74924
|
+
description: 'Product catalog filtering options',
|
|
74925
|
+
parameters: [
|
|
74926
|
+
{
|
|
74927
|
+
path: 'brand',
|
|
74928
|
+
title: 'Brand',
|
|
74929
|
+
description: 'Filter by specific brand',
|
|
74930
|
+
widget: {
|
|
74931
|
+
type: AXPWidgetsList.Editors.LookupBox,
|
|
74932
|
+
options: {
|
|
74933
|
+
entity: 'ProductCatalog.Brand',
|
|
74934
|
+
multiple: true,
|
|
74935
|
+
},
|
|
74936
|
+
},
|
|
74937
|
+
},
|
|
74938
|
+
{
|
|
74939
|
+
path: 'category',
|
|
74940
|
+
title: 'Category',
|
|
74941
|
+
description: 'Filter by product category',
|
|
74942
|
+
widget: {
|
|
74943
|
+
type: AXPWidgetsList.Editors.LookupBox,
|
|
74944
|
+
options: {
|
|
74945
|
+
entity: 'ProductCatalog.ProductCategory',
|
|
74946
|
+
multiple: true,
|
|
74947
|
+
},
|
|
74948
|
+
},
|
|
74949
|
+
},
|
|
74950
|
+
{
|
|
74951
|
+
path: 'status',
|
|
74952
|
+
title: 'Status',
|
|
74953
|
+
description: 'Filter by product status',
|
|
74954
|
+
widget: {
|
|
74955
|
+
type: AXPWidgetsList.Editors.SelectBox,
|
|
74956
|
+
options: {
|
|
74957
|
+
valueField: 'value',
|
|
74958
|
+
textField: 'text',
|
|
74959
|
+
dataSource: [
|
|
74960
|
+
{ value: 'all', text: 'All' },
|
|
74961
|
+
{ value: 'approved', text: 'Approved' },
|
|
74962
|
+
{ value: 'in-review', text: 'In Review' },
|
|
74963
|
+
{ value: 'draft', text: 'Draft' },
|
|
74964
|
+
{ value: 'rejected', text: 'Rejected' },
|
|
74965
|
+
],
|
|
74966
|
+
},
|
|
74967
|
+
},
|
|
74968
|
+
},
|
|
74969
|
+
{
|
|
74970
|
+
path: 'priceRange',
|
|
74971
|
+
title: 'Price Range',
|
|
74972
|
+
description: 'Filter by price range',
|
|
74973
|
+
widget: {
|
|
74974
|
+
type: AXPWidgetsList.Editors.SelectBox,
|
|
74975
|
+
options: {
|
|
74976
|
+
valueField: 'value',
|
|
74977
|
+
textField: 'text',
|
|
74978
|
+
dataSource: [
|
|
74979
|
+
{ value: 'all', text: 'All' },
|
|
74980
|
+
{ value: 'under-50', text: 'Under $50' },
|
|
74981
|
+
{ value: '50-100', text: '$50 - $100' },
|
|
74982
|
+
{ value: '100-500', text: '$100 - $500' },
|
|
74983
|
+
{ value: '500-1000', text: '$500 - $1000' },
|
|
74984
|
+
{ value: 'over-1000', text: 'Over $1000' },
|
|
74985
|
+
],
|
|
74986
|
+
},
|
|
74987
|
+
},
|
|
74988
|
+
},
|
|
74989
|
+
],
|
|
74990
|
+
},
|
|
74991
|
+
];
|
|
74992
|
+
//#endregion
|
|
74993
|
+
//#region ---- Layout Definitions Generator ----
|
|
74994
|
+
function generateProductsByBrandLayouts() {
|
|
74995
|
+
const baseExportOptions = {
|
|
74996
|
+
fileNameTemplate: 'Report_{date}_{user}',
|
|
74997
|
+
pdf: {
|
|
74998
|
+
enabled: true,
|
|
74999
|
+
pageSize: 'A4',
|
|
75000
|
+
headerEnabled: true,
|
|
75001
|
+
footerEnabled: true,
|
|
75002
|
+
showPageNumbers: true,
|
|
75003
|
+
watermarkText: 'Mock Report',
|
|
75004
|
+
watermarkOpacity: 0.5,
|
|
75005
|
+
compression: true,
|
|
75006
|
+
embedImages: true,
|
|
75007
|
+
},
|
|
75008
|
+
};
|
|
75009
|
+
const layouts = [];
|
|
75010
|
+
layouts.push({
|
|
75011
|
+
id: PRODUCTS_BY_BRAND_TABLE_LAYOUT_ID,
|
|
75012
|
+
title: 'Table View',
|
|
75013
|
+
description: 'Detailed tabular view of the data',
|
|
75014
|
+
icon: 'fa-light fa-table',
|
|
75015
|
+
isDefault: true,
|
|
75016
|
+
layout: {
|
|
75017
|
+
type: 'table',
|
|
75018
|
+
columns: [
|
|
75019
|
+
{
|
|
75020
|
+
field: 'brand',
|
|
75021
|
+
title: 'Brand',
|
|
75022
|
+
visible: true,
|
|
75023
|
+
width: 150,
|
|
75024
|
+
align: 'left',
|
|
75025
|
+
pin: 'start',
|
|
75026
|
+
sortable: true,
|
|
75027
|
+
widget: { type: AXPWidgetsList.Editors.TextBox, path: 'brand' },
|
|
75028
|
+
},
|
|
75029
|
+
{
|
|
75030
|
+
field: 'manufacturer',
|
|
75031
|
+
title: 'Manufacturer',
|
|
75032
|
+
visible: true,
|
|
75033
|
+
width: 150,
|
|
75034
|
+
align: 'left',
|
|
75035
|
+
sortable: true,
|
|
75036
|
+
widget: { type: AXPWidgetsList.Editors.TextBox, path: 'manufacturer' },
|
|
75037
|
+
},
|
|
75038
|
+
{
|
|
75039
|
+
field: 'productCount',
|
|
75040
|
+
title: 'Product Count',
|
|
75041
|
+
visible: true,
|
|
75042
|
+
width: 120,
|
|
75043
|
+
align: 'right',
|
|
75044
|
+
sortable: true,
|
|
75045
|
+
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'productCount' },
|
|
75046
|
+
},
|
|
75047
|
+
{
|
|
75048
|
+
field: 'totalValue',
|
|
75049
|
+
title: 'Total Value',
|
|
75050
|
+
visible: true,
|
|
75051
|
+
width: 120,
|
|
75052
|
+
align: 'right',
|
|
75053
|
+
sortable: true,
|
|
75054
|
+
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'totalValue' },
|
|
75055
|
+
},
|
|
75056
|
+
{
|
|
75057
|
+
field: 'averagePrice',
|
|
75058
|
+
title: 'Average Price',
|
|
75059
|
+
visible: true,
|
|
75060
|
+
width: 120,
|
|
75061
|
+
align: 'right',
|
|
75062
|
+
sortable: true,
|
|
75063
|
+
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'averagePrice' },
|
|
75064
|
+
},
|
|
75065
|
+
{
|
|
75066
|
+
field: 'minPrice',
|
|
75067
|
+
title: 'Min Price',
|
|
75068
|
+
visible: true,
|
|
75069
|
+
width: 100,
|
|
75070
|
+
align: 'right',
|
|
75071
|
+
sortable: true,
|
|
75072
|
+
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'minPrice' },
|
|
75073
|
+
},
|
|
75074
|
+
{
|
|
75075
|
+
field: 'maxPrice',
|
|
75076
|
+
title: 'Max Price',
|
|
75077
|
+
visible: true,
|
|
75078
|
+
width: 100,
|
|
75079
|
+
align: 'right',
|
|
75080
|
+
sortable: true,
|
|
75081
|
+
widget: { type: AXPWidgetsList.Editors.NumberBox, path: 'maxPrice' },
|
|
75082
|
+
},
|
|
75083
|
+
{
|
|
75084
|
+
field: 'categories',
|
|
75085
|
+
title: 'Categories',
|
|
75086
|
+
visible: true,
|
|
75087
|
+
width: 200,
|
|
75088
|
+
align: 'left',
|
|
75089
|
+
widget: { type: AXPWidgetsList.Editors.TextBox, path: 'categories' },
|
|
75090
|
+
},
|
|
75091
|
+
],
|
|
75092
|
+
groupBy: [
|
|
75093
|
+
{
|
|
75094
|
+
fields: ['brandId'],
|
|
75095
|
+
displayField: 'brand',
|
|
75096
|
+
title: 'View Products',
|
|
75097
|
+
default: true,
|
|
75098
|
+
drillDown: {
|
|
75099
|
+
title: "Products for {{ context.eval('brand') }}",
|
|
75100
|
+
parameters: {
|
|
75101
|
+
brand: 'brandId',
|
|
75102
|
+
},
|
|
75103
|
+
},
|
|
75104
|
+
},
|
|
75105
|
+
{
|
|
75106
|
+
fields: ['manufacturerId'],
|
|
75107
|
+
displayField: 'manufacturer',
|
|
75108
|
+
title: 'View by Manufacturer',
|
|
75109
|
+
drillDown: {
|
|
75110
|
+
title: "Products for {{ context.eval('manufacturer') }}",
|
|
75111
|
+
parameters: {
|
|
75112
|
+
manufacturer: 'manufacturerId',
|
|
75113
|
+
},
|
|
75114
|
+
},
|
|
75115
|
+
},
|
|
75116
|
+
],
|
|
75117
|
+
options: {
|
|
75118
|
+
pagination: true,
|
|
75119
|
+
stickyHeader: true,
|
|
75120
|
+
stripedRows: true,
|
|
75121
|
+
sorting: [{ name: 'brand', dir: 'asc' }],
|
|
75122
|
+
},
|
|
75123
|
+
summary: [
|
|
75124
|
+
{ field: 'totalValue', operation: 'sum', displayIn: 'reportFooter' },
|
|
75125
|
+
{ field: 'averagePrice', operation: 'sum', displayIn: 'reportFooter' },
|
|
75126
|
+
{ field: 'minPrice', operation: 'sum', displayIn: 'reportFooter' },
|
|
75127
|
+
{ field: 'maxPrice', operation: 'sum', displayIn: 'reportFooter' },
|
|
75128
|
+
],
|
|
75129
|
+
},
|
|
75130
|
+
dataSource: {
|
|
75131
|
+
type: 'query',
|
|
75132
|
+
name: 'getProductList',
|
|
75133
|
+
pagination: true,
|
|
75134
|
+
sortFields: [{ name: 'brand', dir: 'asc' }],
|
|
75135
|
+
},
|
|
75136
|
+
export: {
|
|
75137
|
+
...baseExportOptions,
|
|
75138
|
+
fileNameTemplate: 'Report_{date}_{user}',
|
|
75139
|
+
excel: {
|
|
75140
|
+
enabled: true,
|
|
75141
|
+
sheetName: 'Report',
|
|
75142
|
+
},
|
|
75143
|
+
csv: {
|
|
75144
|
+
enabled: true,
|
|
75145
|
+
},
|
|
75146
|
+
pdf: {
|
|
75147
|
+
enabled: true,
|
|
75148
|
+
},
|
|
75149
|
+
},
|
|
75150
|
+
});
|
|
75151
|
+
layouts.push({
|
|
75152
|
+
id: 'c1000013-0000-4000-8000-000000000003',
|
|
75153
|
+
title: 'Bar Chart View',
|
|
75154
|
+
description: 'Visual Bar chart representation of products by brand',
|
|
75155
|
+
icon: 'fa-light fa-chart-bar',
|
|
75156
|
+
layout: {
|
|
75157
|
+
type: 'chart',
|
|
75158
|
+
options: {
|
|
75159
|
+
chartType: 'bar',
|
|
75160
|
+
dataMapping: {
|
|
75161
|
+
xField: 'brand',
|
|
75162
|
+
yFields: 'productCount',
|
|
75163
|
+
groupBy: 'brand',
|
|
75164
|
+
aggregation: {
|
|
75165
|
+
method: 'sum',
|
|
75166
|
+
field: 'productCount',
|
|
75167
|
+
},
|
|
75168
|
+
},
|
|
75169
|
+
styling: {
|
|
75170
|
+
colorScheme: 'primary',
|
|
75171
|
+
gridLines: true,
|
|
75172
|
+
legend: {
|
|
75173
|
+
show: true,
|
|
75174
|
+
position: 'bottom',
|
|
75175
|
+
},
|
|
75176
|
+
animation: {
|
|
75177
|
+
enabled: true,
|
|
75178
|
+
duration: 750,
|
|
75179
|
+
},
|
|
75180
|
+
},
|
|
75181
|
+
interactivity: {
|
|
75182
|
+
tooltips: {
|
|
75183
|
+
enabled: true,
|
|
75184
|
+
showOnHover: true,
|
|
75185
|
+
},
|
|
75186
|
+
zoom: {
|
|
75187
|
+
enabled: true,
|
|
75188
|
+
mode: 'x',
|
|
75189
|
+
},
|
|
75190
|
+
export: {
|
|
75191
|
+
enabled: true,
|
|
75192
|
+
formats: ['png', 'pdf', 'svg'],
|
|
75193
|
+
},
|
|
75194
|
+
},
|
|
75195
|
+
},
|
|
75196
|
+
},
|
|
75197
|
+
dataSource: {
|
|
75198
|
+
type: 'query',
|
|
75199
|
+
name: 'getProductChartData',
|
|
75200
|
+
},
|
|
75201
|
+
});
|
|
75202
|
+
return layouts;
|
|
75203
|
+
}
|
|
75204
|
+
function generateLayoutsForReport$1(reportTitle) {
|
|
75205
|
+
const titleLower = reportTitle.toLowerCase();
|
|
75206
|
+
if (titleLower === 'products by brand') {
|
|
75207
|
+
return generateProductsByBrandLayouts();
|
|
75208
|
+
}
|
|
75209
|
+
return [];
|
|
75210
|
+
}
|
|
75211
|
+
//#endregion
|
|
75212
|
+
//#region ---- Mock Report Definitions ----
|
|
75213
|
+
/**
|
|
75214
|
+
* Generate report definitions for categories
|
|
75215
|
+
*
|
|
75216
|
+
* Optimization: Only generates reports for categories with itemsCount > 0
|
|
75217
|
+
*/
|
|
75218
|
+
function generateReportDefinitions$1() {
|
|
75219
|
+
const reports = [];
|
|
75220
|
+
// ✅ Get categories that have reports (itemsCount > 0)
|
|
75221
|
+
const categoriesWithReports = PRODUCT_REPORT_CATEGORIES.filter((cat) => (cat.itemsCount ?? 0) > 0);
|
|
75222
|
+
categoriesWithReports.forEach((category) => {
|
|
75223
|
+
let reportsForCategory = [];
|
|
75224
|
+
switch (resolveMultiLanguageString(category.title, 'en-US')) {
|
|
75225
|
+
case 'Product Analysis':
|
|
75226
|
+
reportsForCategory = [
|
|
75227
|
+
{
|
|
75228
|
+
id: PRODUCTS_BY_BRAND_REPORT_ID,
|
|
75229
|
+
title: 'Products by Brand',
|
|
75230
|
+
description: 'Product catalog analysis grouped by brand with drill-down to product list',
|
|
75231
|
+
parameterGroups: [...productCatalogParameterGroups],
|
|
75232
|
+
},
|
|
75233
|
+
];
|
|
75234
|
+
break;
|
|
75235
|
+
}
|
|
75236
|
+
reportsForCategory.forEach((report) => {
|
|
75237
|
+
const layouts = generateLayoutsForReport$1(report.title);
|
|
75238
|
+
const defaultLayout = layouts.find((l) => l.isDefault) || layouts[0];
|
|
75239
|
+
reports.push({
|
|
75240
|
+
id: report.id,
|
|
75241
|
+
title: report.title,
|
|
75242
|
+
description: report.description,
|
|
75243
|
+
categoryIds: [category.id],
|
|
75244
|
+
parameterGroups: report.parameterGroups,
|
|
75245
|
+
layouts: layouts,
|
|
75246
|
+
defaultLayoutId: defaultLayout?.id || '',
|
|
75247
|
+
});
|
|
75248
|
+
});
|
|
75249
|
+
});
|
|
75250
|
+
return reports;
|
|
75251
|
+
}
|
|
75252
|
+
const PRODUCT_REPORT_DEFINITIONS = generateReportDefinitions$1();
|
|
75253
|
+
//#endregion
|
|
75254
|
+
//#region ---- Category-Report Mapping ----
|
|
75255
|
+
/**
|
|
75256
|
+
* Create a mapping of categories to their reports for easy lookup
|
|
75257
|
+
*
|
|
75258
|
+
* Optimization: Only processes categories with itemsCount > 0
|
|
75259
|
+
*/
|
|
75260
|
+
const CATEGORY_REPORT_MAPPING$1 = new Map();
|
|
75261
|
+
PRODUCT_REPORT_CATEGORIES.filter((cat) => (cat.itemsCount ?? 0) > 0).forEach((category) => {
|
|
75262
|
+
const categoryTitleLc = resolveMultiLanguageString(category.title, 'en-US').toLowerCase();
|
|
75263
|
+
const categoryReports = PRODUCT_REPORT_DEFINITIONS.filter((report) => {
|
|
75264
|
+
// Simple matching based on category title and report title
|
|
75265
|
+
return (report.title.toLowerCase().includes(categoryTitleLc) ||
|
|
75266
|
+
report.description?.toLowerCase().includes(categoryTitleLc));
|
|
75267
|
+
});
|
|
75268
|
+
CATEGORY_REPORT_MAPPING$1.set(category.id, categoryReports);
|
|
75269
|
+
});
|
|
75270
|
+
//#endregion
|
|
75271
|
+
|
|
75272
|
+
//#region ---- Entity Names ----
|
|
75273
|
+
const REPORT_ENTITY = `${RootConfig$D.module.name}.${RootConfig$D.entities.report.name}`;
|
|
75274
|
+
const REPORT_CATEGORY_ENTITY = `${RootConfig$D.module.name}.${RootConfig$D.entities.report.name}Category`;
|
|
75275
|
+
//#endregion
|
|
75276
|
+
//#region ---- Sync Helpers ----
|
|
75277
|
+
/**
|
|
75278
|
+
* Upserts report catalog rows so multiple module seeders can contribute without `initial()` skip conflicts.
|
|
75279
|
+
*/
|
|
75280
|
+
async function syncReportCatalog(storageService, categories, definitions) {
|
|
75281
|
+
await syncById(storageService, REPORT_CATEGORY_ENTITY, categories);
|
|
75282
|
+
await syncById(storageService, REPORT_ENTITY, definitions);
|
|
75283
|
+
}
|
|
75284
|
+
async function syncById(storageService, entityName, items) {
|
|
75285
|
+
const existing = await storageService.getAll(entityName);
|
|
75286
|
+
const existingIds = new Set(existing.map((row) => String(row.id)));
|
|
75287
|
+
for (const item of items) {
|
|
75288
|
+
if (existingIds.has(item.id)) {
|
|
75289
|
+
await storageService.updateOne(entityName, item.id, item);
|
|
75290
|
+
}
|
|
75291
|
+
else {
|
|
75292
|
+
await storageService.insertOne(entityName, item);
|
|
75293
|
+
}
|
|
75294
|
+
}
|
|
75295
|
+
}
|
|
75296
|
+
//#endregion
|
|
75297
|
+
|
|
75298
|
+
//#region ---- Report Catalog Seeder ----
|
|
75299
|
+
/**
|
|
75300
|
+
* Syncs report categories and definitions that are not covered by the first `initial()` seeder pass.
|
|
75301
|
+
* Product Catalog (and other late modules) use stable ids and upsert so they appear alongside Platform Analytics.
|
|
75302
|
+
*/
|
|
75303
|
+
class AXMReportCatalogDataSeeder {
|
|
75304
|
+
constructor() {
|
|
75305
|
+
//#region ---- Services & Dependencies ----
|
|
75306
|
+
this.storageService = inject(AXPEntityStorageService);
|
|
75307
|
+
}
|
|
75308
|
+
//#endregion
|
|
75309
|
+
//#region ---- Seed ----
|
|
75310
|
+
async seed() {
|
|
75311
|
+
await syncReportCatalog(this.storageService, PRODUCT_REPORT_CATEGORIES, PRODUCT_REPORT_DEFINITIONS);
|
|
75312
|
+
}
|
|
75313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMReportCatalogDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
75314
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMReportCatalogDataSeeder }); }
|
|
75315
|
+
}
|
|
75316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMReportCatalogDataSeeder, decorators: [{
|
|
75317
|
+
type: Injectable
|
|
75318
|
+
}] });
|
|
75319
|
+
|
|
75322
75320
|
class AXCReportManagementMockModule {
|
|
75323
75321
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportManagementMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
75324
75322
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXCReportManagementMockModule, imports: [AXPRuntimeModule] }); }
|
|
@@ -75332,6 +75330,10 @@ class AXCReportManagementMockModule {
|
|
|
75332
75330
|
key: 'ReportManagement.Report:SampleAction',
|
|
75333
75331
|
command: () => import('./acorex-connectivity-mock-sample.command-CJmDL4pL.mjs').then((c) => c.AXMReportSampleActionExecuteCommand),
|
|
75334
75332
|
},
|
|
75333
|
+
{
|
|
75334
|
+
key: 'ReportManagement.Report:DrillToReport',
|
|
75335
|
+
command: () => import('@acorex/modules/report-management').then((m) => m.AXPDrillToReportCommand),
|
|
75336
|
+
},
|
|
75335
75337
|
]),
|
|
75336
75338
|
// Register sample report queries
|
|
75337
75339
|
provideQuerySetups([
|
|
@@ -75355,6 +75357,11 @@ class AXCReportManagementMockModule {
|
|
|
75355
75357
|
useClass: AXMLocationReportDefinitionDataSeeder,
|
|
75356
75358
|
multi: true,
|
|
75357
75359
|
},
|
|
75360
|
+
{
|
|
75361
|
+
provide: AXP_DATA_SEEDER_TOKEN,
|
|
75362
|
+
useClass: AXMReportCatalogDataSeeder,
|
|
75363
|
+
multi: true,
|
|
75364
|
+
},
|
|
75358
75365
|
], imports: [AXPRuntimeModule] }); }
|
|
75359
75366
|
}
|
|
75360
75367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCReportManagementMockModule, decorators: [{
|
|
@@ -75373,6 +75380,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
75373
75380
|
key: 'ReportManagement.Report:SampleAction',
|
|
75374
75381
|
command: () => import('./acorex-connectivity-mock-sample.command-CJmDL4pL.mjs').then((c) => c.AXMReportSampleActionExecuteCommand),
|
|
75375
75382
|
},
|
|
75383
|
+
{
|
|
75384
|
+
key: 'ReportManagement.Report:DrillToReport',
|
|
75385
|
+
command: () => import('@acorex/modules/report-management').then((m) => m.AXPDrillToReportCommand),
|
|
75386
|
+
},
|
|
75376
75387
|
]),
|
|
75377
75388
|
// Register sample report queries
|
|
75378
75389
|
provideQuerySetups([
|
|
@@ -75396,6 +75407,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
75396
75407
|
useClass: AXMLocationReportDefinitionDataSeeder,
|
|
75397
75408
|
multi: true,
|
|
75398
75409
|
},
|
|
75410
|
+
{
|
|
75411
|
+
provide: AXP_DATA_SEEDER_TOKEN,
|
|
75412
|
+
useClass: AXMReportCatalogDataSeeder,
|
|
75413
|
+
multi: true,
|
|
75414
|
+
},
|
|
75399
75415
|
],
|
|
75400
75416
|
}]
|
|
75401
75417
|
}] });
|
|
@@ -76024,7 +76040,7 @@ class AXCSecurityManagementMockModule {
|
|
|
76024
76040
|
provideQuerySetups([
|
|
76025
76041
|
{
|
|
76026
76042
|
key: 'SecurityManagement:User:RolesForListColumn',
|
|
76027
|
-
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-
|
|
76043
|
+
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-D5BRGlk3.mjs').then((m) => m.UserRolesForListColumnQuery),
|
|
76028
76044
|
},
|
|
76029
76045
|
]),
|
|
76030
76046
|
] }); }
|
|
@@ -76068,7 +76084,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
76068
76084
|
provideQuerySetups([
|
|
76069
76085
|
{
|
|
76070
76086
|
key: 'SecurityManagement:User:RolesForListColumn',
|
|
76071
|
-
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-
|
|
76087
|
+
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-D5BRGlk3.mjs').then((m) => m.UserRolesForListColumnQuery),
|
|
76072
76088
|
},
|
|
76073
76089
|
]),
|
|
76074
76090
|
],
|
|
@@ -79617,8 +79633,8 @@ class AXMPlatformAnalyticsReportDefinitionDataSeeder {
|
|
|
79617
79633
|
this.storageService = inject(AXPEntityStorageService);
|
|
79618
79634
|
}
|
|
79619
79635
|
async seed() {
|
|
79620
|
-
await this.storageService.initial(`${RootConfig$
|
|
79621
|
-
await this.storageService.initial(`${RootConfig$
|
|
79636
|
+
await this.storageService.initial(`${RootConfig$D.module.name}.${RootConfig$D.entities.report.name}`, PLATFORM_ANALYTICS_REPORT_DEFINITIONS);
|
|
79637
|
+
await this.storageService.initial(`${RootConfig$D.module.name}.${RootConfig$D.entities.report.name}Category`, PLATFORM_ANALYTICS_REPORT_CATEGORIES);
|
|
79622
79638
|
}
|
|
79623
79639
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMPlatformAnalyticsReportDefinitionDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
79624
79640
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMPlatformAnalyticsReportDefinitionDataSeeder }); }
|
|
@@ -83929,7 +83945,7 @@ class AXCWorkflowManagementMockModule {
|
|
|
83929
83945
|
provideCommandSetups([
|
|
83930
83946
|
{
|
|
83931
83947
|
key: 'workflow-activity:assign-to-manager',
|
|
83932
|
-
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-
|
|
83948
|
+
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-C2nbx_nS.mjs').then((c) => c.AssignToManagerActivity),
|
|
83933
83949
|
},
|
|
83934
83950
|
{
|
|
83935
83951
|
key: 'workflow-activity:get-current-user-manager',
|
|
@@ -84024,7 +84040,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
84024
84040
|
provideCommandSetups([
|
|
84025
84041
|
{
|
|
84026
84042
|
key: 'workflow-activity:assign-to-manager',
|
|
84027
|
-
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-
|
|
84043
|
+
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-C2nbx_nS.mjs').then((c) => c.AssignToManagerActivity),
|
|
84028
84044
|
},
|
|
84029
84045
|
{
|
|
84030
84046
|
key: 'workflow-activity:get-current-user-manager',
|
|
@@ -90339,7 +90355,7 @@ class AXCMockModule {
|
|
|
90339
90355
|
return;
|
|
90340
90356
|
}
|
|
90341
90357
|
const seedStartedAt = performance.now();
|
|
90342
|
-
await seederService.seed();
|
|
90358
|
+
await dexieStorage.runDuringSeeding(() => seederService.seed());
|
|
90343
90359
|
const durationSec = (performance.now() - seedStartedAt) / 1000;
|
|
90344
90360
|
await dexieStorage.markMockEntitySeedComplete(durationSec);
|
|
90345
90361
|
const seedMeta = await dexieStorage.getMockEntitySeedMeta();
|
|
@@ -90676,4 +90692,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
90676
90692
|
*/
|
|
90677
90693
|
|
|
90678
90694
|
export { AXCFirestoreEntityStorageService as $, AXCAiChatRouterService as A, AXCAssetManagementMockModule as B, AXCAuthMockModule as C, AXCCalendarDataSeeder as D, AXCCalendarManagementMockModule as E, AXCCalendarOccasionDataSeeder as F, AXCCommandRegistryDataSeeder as G, AXCCommonMockModule as H, AXCContactCoreMockModule as I, AXCContentManagementMockModule as J, AXCConversationMockModule as K, AXCConversationMockUploaderService as L, AXCCustomerManagementMockModule as M, AXCDashboardManagementMockModule as N, OPENROUTER_GEMINI_FLASH_TTS_DEFAULT_FORMAT as O, AXCDataManagementMockModule as P, AXCDexieEntityStorageService as Q, AXCDocumentManagementMockModule as R, AXCEditionDataSeeder as S, AXCEntityDefinitionSeederService as T, AXCEntityDefinitionsModule as U, AXCEntityStorageInsertCommand as V, AXCEntityStorageModule as W, AXCEntityStorageQueryQuery as X, AXCFileStorageServiceDexie as Y, AXCFileStorageServiceFirestore as Z, AXCFinancialCoreMockModule as _, AXMAiModelStableIds as a, AXMAiDemisGeneralAssistId as a$, AXCFormTemplateManagementMockModule as a0, AXCGoogleStrategyMock as a1, AXCHealthCoreMockModule as a2, AXCHelpDeskMockModule as a3, AXCHumanCapitalManagementMockModule as a4, AXCIdentifierManagementMockModule as a5, AXCImageCaptchaChallengeProviderMock as a6, AXCIntegrationLifecycleEventsService as a7, AXCIntegrationManagementMockModule as a8, AXCIntegrationOAuthMockService as a9, AXCSecurityManagementMockModule as aA, AXCStoredEntityDefinitionLoader as aB, AXCSubscriptionManagementMockModule as aC, AXCSupplierManagementMockModule as aD, AXCTaskManagementMockModule as aE, AXCTenantManagementMockModule as aF, AXCTenantSeeder as aG, AXCTextTemplateRenderBackend as aH, AXCTokensDataSeeder as aI, AXCUserPassStrategyMock as aJ, AXCVersionDB as aK, AXCVersioningService as aL, AXCWidgetCatalogDataSeeder as aM, AXCWorkflowCategorySeeder as aN, AXCWorkflowDefinitionDataSeeder as aO, AXCWorkflowEngine as aP, AXCWorkflowExecutionDB as aQ, AXCWorkflowExecutionStoreDexie as aR, AXCWorkflowExecutionStoreFirestore as aS, AXCWorkflowInstanceCartableDemoSeeder as aT, AXCWorkflowManagementMockModule as aU, AXC_ENTITY_STORAGE_BACKEND_TYPE as aV, AXC_FIRESTORE_CONFIG as aW, AXC_FIRESTORE_DB as aX, AXC_WORKFLOW_EXECUTION_STORE as aY, AXMAiDemisAssistAgentUuid as aZ, AXMAiDemisAssistId as a_, AXCIntegrationSecretStoreMock as aa, AXCIntegrationTokenRefreshService as ab, AXCJiraManagementMockModule as ac, AXCLearningManagementMockModule as ad, AXCLocaleManagementMockModule as ae, AXCLocationManagementMockModule as af, AXCLockService as ag, AXCMeasurementCoreMockModule as ah, AXCMeetingManagementMockModule as ai, AXCMetaDataDefinitionDataSeeder as aj, AXCMetadataCategorySeeder as ak, AXCMiddlewaresModule as al, AXCMockCaptchaChallengeComponent as am, AXCMockEntityLogListener as an, AXCMockModule as ao, AXCMockShowMetaDataFormPopupCommand as ap, AXCNotificationManagementMockModule as aq, AXCOrderManagementMockModule as ar, AXCOrganizationManagementMockModule as as, AXCPersonCoreMockModule as at, AXCPlatformManagementMockModule as au, AXCProcurementManagementMockModule as av, AXCProductCatalogMockModule as aw, AXCProjectManagementMockModule as ax, AXCQueryRegistryDataSeeder as ay, AXCReportManagementMockModule as az, resolveAssistSpeechModelId as b, JOB_DEFINITIONS_CATEGORY_MOCK as b$, AXMAiPlatformAssistantAssistId as b0, AXMAutomationDataSeeder as b1, AXMBusinessUnitDataSeeder as b2, AXMCalendarOccasionTypeSeeder as b3, AXMDashboardChartDataSourceDefinition as b4, AXMEmployeeDataSeeder as b5, AXMEmploymentTypeDataSeeder as b6, AXMFormDataSourcesProvider as b7, AXMJiraManagementMockIds as b8, AXMJobDefinitionDataSeeder as b9, AXPIdentifierDB as bA, AXPMessageDataSeeder as bB, AXPMockChecksumProvider as bC, AXPMockClockProvider as bD, AXPMockIdentifierService as bE, AXPMockLookupProvider as bF, AXPMockPolicyProvider as bG, AXPMockSequenceProvider as bH, AXPRoomDataSeeder as bI, AXPSecurityManagementRoleDataSeeder as bJ, AXPSecurityManagementUserDataSeeder as bK, AXPTaskBoardPlatformManagementTaskProvider as bL, AXVChangeType as bM, BCC as bN, BOC as bO, BUSINESS_UNITS_MOCK as bP, COLLABORATION_STANDARD as bQ, CP as bR, DASHBOARDS as bS, EDITIONS as bT, EMPLOYEES_MOCK as bU, EMPLOYMENT_TYPES_MOCK as bV, ENTITY_DEFINITION_MAP as bW, ENTITY_REGISTRY as bX, G as bY, HR_ENTERPRISE as bZ, HW as b_, AXMJobLevelDataSeeder as ba, AXMLeaveRequestDataSeeder as bb, AXMMeetingDataSeeder as bc, AXMMeetingFilesDataSeeder as bd, AXMMeetingParticipantDataSeeder as be, AXMMeetingRoleTypeDataSeeder as bf, AXMMeetingSessionDataSeeder as bg, AXMMeetingTypeDataSeeder as bh, AXMMeetingTypeFileTemplateDataSeeder as bi, AXMPositionAssignmentDataSeeder as bj, AXMPositionDataSeeder as bk, AXMQuestionBankItemCategoryDataSeeder as bl, AXMQuestionBankItemDataSeeder as bm, AXMQuestionnaireCategoryDataSeeder as bn, AXMQuestionnaireDataSeeder as bo, AXMResponsibilityDataSeeder as bp, AXMTagDataSeeder as bq, AXMTeamBusinessUnitDataSeeder as br, AXMTeamDataSeeder as bs, AXMTeamMemberDataSeeder as bt, AXMTeamMemberRoleDataSeeder as bu, AXMWorkflowDashboardChartDataSourceDefinition as bv, AXM_AI_REGISTRY_COMMAND_NAME as bw, AXM_AI_REGISTRY_QUERY_NAME as bx, AXM_CORPORATE_BUSINESS_UNIT_ID as by, AXPDashboardDataSeeder as bz, resolveDelegatedAssistOptionString as c, automationCommandMiddleware as c$, JOB_DEFINITIONS_MOCK as c0, JOB_DEFINITION_CATEGORY_KEY_TO_ID as c1, JOB_LEVELS_MOCK as c2, LASER_PLUMBING_TENANT_ID as c3, LEAVE_REQUESTS_MOCK as c4, MAGFA_COMMERCE_STANDARD as c5, MAGFA_CONVERSATION_DASHBOARD as c6, MAGFA_TENANT_ID as c7, METADATA_CATEGORY_IDS as c8, METADATA_GENERAL_CATEGORY_REFS as c9, RESPONSIBILITIES_MOCK as cA, RESPONSIBILITY_CATEGORY_KEY_TO_ID as cB, SAFETYMINDER_BASIC as cC, SAFETYMINDER_ENTERPRISE as cD, SAFETYMINDER_PROFESSIONAL as cE, TAGS_MOCK as cF, TASKS as cG, TASK_STATUSES as cH, TASK_TEMPLATES as cI, TASK_TYPES as cJ, TEAMS_CATEGORY_MOCK as cK, TEAMS_MOCK as cL, TEAM_BUSINESS_UNITS_MOCK as cM, TEAM_CATEGORY_KEY_TO_ID as cN, TEAM_MEMBERS_MOCK as cO, TEAM_MEMBER_ROLES_MOCK as cP, TIMEPLICITY_TENANT_ID as cQ, TLA as cR, TOKENS as cS, TPC as cT, VISIBILITY_FILTER_BYPASS as cU, WORKFLOW_CATEGORIES as cV, WS as cW, activityCategoryMocks as cX, activityDefinitionEntityMock as cY, applyEntityDefinitionFirestoreSnapshot as cZ, attachmentsInterface as c_, METADATA_SYSTEM_CATEGORY_REFS as ca, MLC as cb, MOCK_CALENDAR_AUSTRALIA_ID as cc, MOCK_CALENDAR_INTERNATIONAL_GREGORIAN_ID as cd, MOCK_CALENDAR_IRAN_PERSIAN_ID as ce, MOCK_CALENDAR_NEW_ZEALAND_ID as cf, MOCK_DATA_SEED_VERSION as cg, MOCK_ENTITY_SEED_META_KEY as ch, OHR as ci, OWNERSHIP_FILTER_BYPASS as cj, PLATFORM_CONSOLE as ck, PLATFORM_TENANT_ID as cl, PM as cm, POSITIONS_CATEGORY_MOCK as cn, POSITIONS_MOCK as co, POSITION_ASSIGNMENTS_MOCK as cp, QCP as cq, QGEN as cr, QHW as cs, QOHR as ct, QPM as cu, QTLE as cv, QUESTIONNAIRE_CATEGORY_MOCK as cw, QUESTION_BANK_ITEM_CATEGORY_MOCK as cx, QWS as cy, RESPONSIBILITIES_CATEGORY_MOCK as cz, resolveOpenAiCompatibleTtsVoice as d, mergeQuickSearchIntoRequest as d$, automationMock as d0, avatarInterface as d1, axVersionDB as d2, axWorkflowExecutionDB as d3, axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows as d4, axcPatchEmployeeActivePrimaryPositionRefsFromRows as d5, axcPatchEmployeeManagerRefsFromRows as d6, axcResolveCommandRegistrySeedId as d7, axcResolveQueryRegistrySeedId as d8, axcResolveWidgetCatalogSeedId as d9, enrichWorkflowGraph as dA, entityDefDb as dB, entityValidationMiddleware as dC, finalizeActivityCategoryItemCounts as dD, findEmployeeById as dE, folderStorageMiddleware as dF, groupOrderItemCalculatorMiddleware as dG, historyMiddleware as dH, identifierCommitMiddleware as dI, imageInterface as dJ, inspectionOkXNaInterface as dK, loadMockPropertyDefinitions as dL, lockGuardMiddleware as dM, longTextAnswerInterface as dN, lookupInterface as dO, lookupResolverMiddleware as dP, mapInterface as dQ, meetingFilesMock as dR, meetingIds as dS, meetingMock as dT, meetingParticipantMock as dU, meetingRoleTypeMock as dV, meetingSessionMock as dW, meetingTimeSlotMock as dX, meetingTypeFileTemplateMock as dY, meetingTypeMock as dZ, mergeDetailRelationMiddleware as d_, bankCategory as da, buildEntityStorageQuickSearchFilter as db, buildWorkflowInstanceCartableDemoRows as dc, bypassAllFilters as dd, bypassOwnershipFilter as de, bypassVisibilityFilter as df, calendarMock as dg, calendarOccasionMock as dh, calendarOccasionSeedData as di, calendarOccasionTypeMockData as dj, checkboxInterface as dk, childCountMiddleware as dl, clearEntityDefinitionFirestoreCollections as dm, colorInterface as dn, computeDiff as dp, contactInterface as dq, createFileCastMiddleware as dr, createWidgetLayoutConfig as ds, createWorkflowDefinitionEntityMock as dt, dateInterface as du, dateTimeInterface as dv, descriptionInterface as dw, documentFolderSyncMiddleware as dx, emailInterface as dy, enrichCalendarOccasionForStorage as dz, axcSyncSingleEmployeeDenormalizedOrgFields as e, metadataCategoryMocks as e0, mockQuestionBankItemByName as e1, mockRoleDefinitions as e2, multipleChoiceInterface as e3, multipleSelectInterface as e4, normalizeAnyFileArrayForView as e5, normalizeSnapshotFileFieldsForView as e6, numberInterface as e7, parseEntityStorageInsertData as e8, parseEntityStorageQueryRequest as e9, titleInterface as eA, toUiRows as eB, toggleInterface as eC, tokenCategoryIds as eD, tokenCategoryMocks as eE, urlInterface as eF, versionInterface as eG, visibilityFilterMiddleware as eH, workflowDefinitionEntityMock as eI, workflowDefinitionIds as eJ, workflowDefinitionMock as eK, yesNoInterface as eL, participantIds as ea, passwordInterface as eb, personIdentifierTypeMock as ec, personIds as ed, personLegalIds as ee, personMock as ef, personNaturalIds as eg, phoneInterface as eh, primaryMiddleware as ei, provideMockPropertySetups as ej, qrcodeInterface as ek, questionBankItemMock as el, questionnaireMock as em, ratingInterface as en, richTextInterface as eo, scaleInterface as ep, selectInterface as eq, selectionListInterface as er, sexAtBirthInterface as es, signatureInterface as et, statusDefaultMiddleware as eu, tagInterface as ev, tenantMocks as ew, textAreaInterface as ex, textInterface as ey, timeDurationInterface as ez, ACTIVITY_CATEGORIES as f, ACTIVITY_CATEGORY_ID_BY_KEY as g, ACTIVITY_DEFINITIONS as h, AI_ASSIST_MOCK as i, AI_MODEL_MOCK as j, APPLICATIONS as k, APPLICATION_CATEGORY_IDS as l, mockUsers as m, APPLICATION_CATEGORY_MOCKS as n, AXCActivityCategorySeeder as o, AXCActivityDefinitionSeeder as p, AXCAiAssistSeeder as q, resolveDelegatedAssistOptionModel as r, AXCAiManagementMockModule as s, AXCAiModelSeeder as t, AXCAppTermDataSeeder as u, AXCAppVersionDataSeeder as v, AXCApplicationCategoryDataSeeder as w, AXCApplicationDataSeeder as x, AXCApplicationManagementMockModule as y, AXCAssessmentManagementMockModule as z };
|
|
90679
|
-
//# sourceMappingURL=acorex-connectivity-mock-acorex-connectivity-mock-
|
|
90695
|
+
//# sourceMappingURL=acorex-connectivity-mock-acorex-connectivity-mock-DILmgDYe.mjs.map
|