@acorex/connectivity 20.7.20 → 20.7.22

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.
@@ -3,7 +3,7 @@ import * as i2$2 from '@acorex/platform/auth';
3
3
  import { AXPSessionService, AXP_APPLICATION_LOADER, AXP_FEATURE_LOADER, AXP_PERMISSION_LOADER, AXP_TENANT_LOADER, AXP_PERMISSION_CHECKER, AXP_FEATURE_CHECKER, AXPLoginChallengeComponentBase, AXPLoginChallengeProvider, AXPAuthStrategy, AXPAuthModule, AXP_LOGIN_CHALLENGE_PROVIDER } from '@acorex/platform/auth';
4
4
  import * as i1$2 from '@acorex/platform/core';
5
5
  import { AXPDataGenerator, AXPIconLogoConfig, AXPModuleManifestRegistry, AXPActivityLogProvider, AXPExpressionEvaluatorService, AXP_ACTIVITY_LOG_PROVIDER, AXPDataSourceDefinitionProviderService, AXPPlatformScope, AXP_DATASOURCE_DEFINITION_PROVIDER, applySortArray, applyFilterArray, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER } from '@acorex/platform/core';
6
- import { AXPEntityStorageService, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_STORAGE_BACKEND, AXPEntityService, AXMEntityCrudServiceImpl, AXPEntityDefinitionRegistryService, AXPMiddlewareAbortError, AXP_ENTITY_STORAGE_MIDDLEWARE, eventDispatchMiddleware, AXPDataSeederService } from '@acorex/platform/layout/entity';
6
+ import { AXPEntityStorageService, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_ENTITY_STORAGE_BACKEND, AXPEntityService, AXMEntityCrudServiceImpl, AXPEntityDefinitionRegistryService, AXPMiddlewareAbortError, eventDispatchMiddleware, AXPDataSeederService } from '@acorex/platform/layout/entity';
7
7
  import * as i0 from '@angular/core';
8
8
  import { inject, Injectable, NgModule, Injector, runInInjectionContext, signal, Component } from '@angular/core';
9
9
  import { AXMAssetManagementFeatureKeys, RootConfig as RootConfig$2, AXMAssetStatus } from '@acorex/modules/asset-management';
@@ -77,6 +77,7 @@ import { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
77
77
  import { Router } from '@angular/router';
78
78
  import { RootConfig as RootConfig$B } from '@acorex/modules/workflow-management';
79
79
  import { AXCalendarService } from '@acorex/core/date-time';
80
+ import { RootConfig as RootConfig$C } from '@acorex/modules/maintenance-management';
80
81
  import { AXCExternalAuthorizationService } from '@acorex/connectivity/utils';
81
82
 
82
83
  //#endregion
@@ -2227,16 +2228,234 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
2227
2228
  //#region ---- Module Export ----
2228
2229
  //#endregion
2229
2230
 
2230
- const uuid$l = AXPDataGenerator.uuid;
2231
- const assetCategoryMock = [
2231
+ //#region ---- Stable IDs ----
2232
+ const maintenanceTypeIds = {
2233
+ fireEquipmentMaintenance: 'maintenance-type-fire-equipment',
2234
+ calibration: 'maintenance-type-calibration',
2235
+ vehicleMaintenance: 'maintenance-type-vehicle',
2236
+ };
2237
+ //#endregion
2238
+ //#region ---- Mock Data ----
2239
+ const maintenanceTypeMock = [
2240
+ {
2241
+ id: maintenanceTypeIds.fireEquipmentMaintenance,
2242
+ name: 'fire-equipment-maintenance',
2243
+ title: 'Fire Equipment Maintenance',
2244
+ metaDataList: {
2245
+ groups: [
2246
+ {
2247
+ name: 'fire-inspection',
2248
+ title: 'Fire Inspection Details',
2249
+ order: 1,
2250
+ fields: [
2251
+ {
2252
+ id: 'fire-ext-type',
2253
+ name: 'extinguisher-type',
2254
+ title: 'Extinguisher Type',
2255
+ interface: {
2256
+ type: 'select-editor',
2257
+ options: {
2258
+ dataSource: [
2259
+ { id: 'CO2', title: 'CO2' },
2260
+ { id: 'Foam', title: 'Foam' },
2261
+ { id: 'Powder', title: 'Powder' },
2262
+ { id: 'Water', title: 'Water' },
2263
+ ],
2264
+ placeholder: 'Select extinguisher type',
2265
+ },
2266
+ },
2267
+ order: 1,
2268
+ },
2269
+ {
2270
+ id: 'fire-pressure',
2271
+ name: 'pressure-level',
2272
+ title: 'Pressure Level (Bar)',
2273
+ interface: { type: 'number-editor' },
2274
+ order: 2,
2275
+ },
2276
+ {
2277
+ id: 'fire-next-inspection',
2278
+ name: 'next-inspection-date',
2279
+ title: 'Next Inspection Date',
2280
+ interface: { type: 'date-editor' },
2281
+ order: 3,
2282
+ },
2283
+ {
2284
+ id: 'fire-notes',
2285
+ name: 'inspection-notes',
2286
+ title: 'Inspection Notes',
2287
+ interface: { type: 'text-area-editor' },
2288
+ order: 4,
2289
+ },
2290
+ ],
2291
+ },
2292
+ ],
2293
+ },
2294
+ },
2295
+ {
2296
+ id: maintenanceTypeIds.calibration,
2297
+ name: 'calibration',
2298
+ title: 'Calibration',
2299
+ metaDataList: {
2300
+ groups: [
2301
+ {
2302
+ name: 'calibration-details',
2303
+ title: 'Calibration Details',
2304
+ order: 1,
2305
+ fields: [
2306
+ {
2307
+ id: 'cal-standard',
2308
+ name: 'calibration-standard',
2309
+ title: 'Calibration Standard',
2310
+ interface: {
2311
+ type: 'select-editor',
2312
+ options: {
2313
+ dataSource: [
2314
+ { id: 'ISO-17025', title: 'ISO 17025' },
2315
+ { id: 'ANSI-Z540', title: 'ANSI Z540' },
2316
+ { id: 'NIST', title: 'NIST Traceable' },
2317
+ { id: 'IEC-17025', title: 'IEC 17025' },
2318
+ ],
2319
+ placeholder: 'Select calibration standard',
2320
+ },
2321
+ },
2322
+ order: 1,
2323
+ },
2324
+ {
2325
+ id: 'cal-tolerance',
2326
+ name: 'tolerance',
2327
+ title: 'Tolerance (%)',
2328
+ interface: { type: 'number-editor' },
2329
+ order: 2,
2330
+ },
2331
+ {
2332
+ id: 'cal-range-min',
2333
+ name: 'measurement-range-min',
2334
+ title: 'Measurement Range (Min)',
2335
+ interface: { type: 'number-editor' },
2336
+ order: 3,
2337
+ },
2338
+ {
2339
+ id: 'cal-range-max',
2340
+ name: 'measurement-range-max',
2341
+ title: 'Measurement Range (Max)',
2342
+ interface: { type: 'number-editor' },
2343
+ order: 4,
2344
+ },
2345
+ {
2346
+ id: 'cal-result',
2347
+ name: 'calibration-result',
2348
+ title: 'Calibration Result',
2349
+ interface: {
2350
+ type: 'select-editor',
2351
+ options: {
2352
+ dataSource: [
2353
+ { id: 'Pass', title: 'Pass' },
2354
+ { id: 'Fail', title: 'Fail' },
2355
+ { id: 'Adjusted', title: 'Adjusted & Pass' },
2356
+ ],
2357
+ placeholder: 'Select result',
2358
+ },
2359
+ },
2360
+ order: 5,
2361
+ },
2362
+ ],
2363
+ },
2364
+ ],
2365
+ },
2366
+ },
2367
+ {
2368
+ id: maintenanceTypeIds.vehicleMaintenance,
2369
+ name: 'vehicle-maintenance',
2370
+ title: 'Vehicle Maintenance',
2371
+ metaDataList: {
2372
+ groups: [
2373
+ {
2374
+ name: 'vehicle-service',
2375
+ title: 'Vehicle Service Details',
2376
+ order: 1,
2377
+ fields: [
2378
+ {
2379
+ id: 'veh-odometer',
2380
+ name: 'odometer-reading',
2381
+ title: 'Odometer Reading (km)',
2382
+ interface: { type: 'number-editor' },
2383
+ order: 1,
2384
+ },
2385
+ {
2386
+ id: 'veh-service-type',
2387
+ name: 'service-type',
2388
+ title: 'Service Type',
2389
+ interface: {
2390
+ type: 'select-editor',
2391
+ options: {
2392
+ dataSource: [
2393
+ { id: 'Oil Change', title: 'Oil Change' },
2394
+ { id: 'Tire Rotation', title: 'Tire Rotation' },
2395
+ { id: 'Brake Inspection', title: 'Brake Inspection' },
2396
+ { id: 'Full Service', title: 'Full Service' },
2397
+ { id: 'Engine Tune-up', title: 'Engine Tune-up' },
2398
+ { id: 'Transmission', title: 'Transmission Service' },
2399
+ ],
2400
+ placeholder: 'Select service type',
2401
+ },
2402
+ },
2403
+ order: 2,
2404
+ },
2405
+ {
2406
+ id: 'veh-next-service',
2407
+ name: 'next-service-date',
2408
+ title: 'Next Service Date',
2409
+ interface: { type: 'date-editor' },
2410
+ order: 3,
2411
+ },
2412
+ {
2413
+ id: 'veh-next-km',
2414
+ name: 'next-service-km',
2415
+ title: 'Next Service at (km)',
2416
+ interface: { type: 'number-editor' },
2417
+ order: 4,
2418
+ },
2419
+ ],
2420
+ },
2421
+ ],
2422
+ },
2423
+ },
2424
+ ];
2425
+ //#endregion
2426
+
2427
+ const uuid$n = AXPDataGenerator.uuid;
2428
+ /** Helper to resolve maintenance type objects from IDs */
2429
+ const getMaintenanceTypes = (ids) => ids.map((id) => maintenanceTypeMock.find((mt) => mt.id === id)).filter(Boolean).map((mt) => ({ id: mt.id, title: mt.title }));
2430
+ //#region ---- Category IDs ----
2431
+ const assetCategoryManualIds = {
2432
+ itEquipment: 'asset-category-it-equipment',
2433
+ computers: 'asset-category-computers',
2434
+ networking: 'asset-category-networking',
2435
+ facility: 'asset-category-facility',
2436
+ hvac: 'asset-category-hvac',
2437
+ electrical: 'asset-category-electrical',
2438
+ vehicle: 'asset-category-vehicle',
2439
+ heavyVehicle: 'asset-category-heavy-vehicle',
2440
+ };
2441
+ //#endregion
2442
+ //#region ---- Mock Data ----
2443
+ const manualAssetCategoryMock = [
2444
+ //#region ---- IT Equipment (Root) ----
2232
2445
  {
2233
- id: 'asset-category-it-equipment',
2446
+ id: assetCategoryManualIds.itEquipment,
2234
2447
  title: 'IT Equipment',
2235
2448
  description: 'Computers, servers, networking devices, and technology peripherals.',
2236
- childrenCount: 0,
2449
+ childrenCount: 2,
2450
+ hasMaintenance: true,
2451
+ hasInspection: false,
2452
+ maintenanceTypeIds: [maintenanceTypeIds.calibration],
2453
+ maintenanceTypes: getMaintenanceTypes([maintenanceTypeIds.calibration]),
2454
+ icon: 'fa-light fa-microchip',
2455
+ color: '#3b82f6',
2237
2456
  metaDataList: [
2238
2457
  {
2239
- id: uuid$l(),
2458
+ id: uuid$n(),
2240
2459
  name: 'warranty-expiry',
2241
2460
  title: 'Warranty Expiry',
2242
2461
  text: 'Warranty Expiry',
@@ -2246,7 +2465,7 @@ const assetCategoryMock = [
2246
2465
  interface: '{"type":"date-time-editor","path":"warranty.expiry","options":{"validations":[{"rule":"required"}]}}',
2247
2466
  },
2248
2467
  {
2249
- id: uuid$l(),
2468
+ id: uuid$n(),
2250
2469
  name: 'operating-system',
2251
2470
  title: 'Operating System',
2252
2471
  text: 'Operating System',
@@ -2257,13 +2476,47 @@ const assetCategoryMock = [
2257
2476
  ],
2258
2477
  },
2259
2478
  {
2260
- id: 'asset-category-facility',
2479
+ id: assetCategoryManualIds.computers,
2480
+ title: 'Computers',
2481
+ description: 'Desktop and laptop computers.',
2482
+ parentId: assetCategoryManualIds.itEquipment,
2483
+ childrenCount: 0,
2484
+ hasMaintenance: true,
2485
+ hasInspection: false,
2486
+ maintenanceTypeIds: [maintenanceTypeIds.calibration],
2487
+ maintenanceTypes: getMaintenanceTypes([maintenanceTypeIds.calibration]),
2488
+ icon: 'fa-light fa-computer',
2489
+ color: '#8b5cf6',
2490
+ },
2491
+ {
2492
+ id: assetCategoryManualIds.networking,
2493
+ title: 'Networking',
2494
+ description: 'Routers, switches, and networking infrastructure.',
2495
+ parentId: assetCategoryManualIds.itEquipment,
2496
+ childrenCount: 0,
2497
+ hasMaintenance: true,
2498
+ hasInspection: false,
2499
+ maintenanceTypeIds: [maintenanceTypeIds.calibration],
2500
+ maintenanceTypes: getMaintenanceTypes([maintenanceTypeIds.calibration]),
2501
+ icon: 'fa-light fa-network-wired',
2502
+ color: '#06b6d4',
2503
+ },
2504
+ //#endregion
2505
+ //#region ---- Facilities (Root) ----
2506
+ {
2507
+ id: assetCategoryManualIds.facility,
2261
2508
  title: 'Facilities',
2262
2509
  description: 'Building systems, utilities, and infrastructure assets.',
2263
- childrenCount: 0,
2510
+ childrenCount: 2,
2511
+ hasMaintenance: true,
2512
+ hasInspection: true,
2513
+ maintenanceTypeIds: [maintenanceTypeIds.fireEquipmentMaintenance, maintenanceTypeIds.calibration],
2514
+ maintenanceTypes: getMaintenanceTypes([maintenanceTypeIds.fireEquipmentMaintenance, maintenanceTypeIds.calibration]),
2515
+ icon: 'fa-light fa-building',
2516
+ color: '#f59e0b',
2264
2517
  metaDataList: [
2265
2518
  {
2266
- id: uuid$l(),
2519
+ id: uuid$n(),
2267
2520
  name: 'inspection-date',
2268
2521
  title: 'Last Inspection Date',
2269
2522
  text: 'Last Inspection Date',
@@ -2272,7 +2525,7 @@ const assetCategoryMock = [
2272
2525
  interface: '{"type":"date-time-editor","path":"compliance.lastInspection","options":{"validations":[{"rule":"required"}]}}',
2273
2526
  },
2274
2527
  {
2275
- id: uuid$l(),
2528
+ id: uuid$n(),
2276
2529
  name: 'safety-notes',
2277
2530
  title: 'Safety Notes',
2278
2531
  text: 'Safety Notes',
@@ -2283,13 +2536,47 @@ const assetCategoryMock = [
2283
2536
  ],
2284
2537
  },
2285
2538
  {
2286
- id: 'asset-category-vehicle',
2539
+ id: assetCategoryManualIds.hvac,
2540
+ title: 'HVAC Systems',
2541
+ description: 'Heating, ventilation, and air conditioning systems.',
2542
+ parentId: assetCategoryManualIds.facility,
2543
+ childrenCount: 0,
2544
+ hasMaintenance: true,
2545
+ hasInspection: true,
2546
+ maintenanceTypeIds: [maintenanceTypeIds.fireEquipmentMaintenance],
2547
+ maintenanceTypes: getMaintenanceTypes([maintenanceTypeIds.fireEquipmentMaintenance]),
2548
+ icon: 'fa-light fa-fan',
2549
+ color: '#10b981',
2550
+ },
2551
+ {
2552
+ id: assetCategoryManualIds.electrical,
2553
+ title: 'Electrical Systems',
2554
+ description: 'Electrical panels, wiring, and power distribution.',
2555
+ parentId: assetCategoryManualIds.facility,
2556
+ childrenCount: 0,
2557
+ hasMaintenance: true,
2558
+ hasInspection: true,
2559
+ maintenanceTypeIds: [maintenanceTypeIds.calibration],
2560
+ maintenanceTypes: getMaintenanceTypes([maintenanceTypeIds.calibration]),
2561
+ icon: 'fa-light fa-bolt',
2562
+ color: '#ef4444',
2563
+ },
2564
+ //#endregion
2565
+ //#region ---- Fleet Vehicles (Root) ----
2566
+ {
2567
+ id: assetCategoryManualIds.vehicle,
2287
2568
  title: 'Fleet Vehicles',
2288
2569
  description: 'Operational vehicles and transportation equipment.',
2289
- childrenCount: 0,
2570
+ childrenCount: 1,
2571
+ hasMaintenance: true,
2572
+ hasInspection: true,
2573
+ maintenanceTypeIds: [maintenanceTypeIds.vehicleMaintenance],
2574
+ maintenanceTypes: getMaintenanceTypes([maintenanceTypeIds.vehicleMaintenance]),
2575
+ icon: 'fa-light fa-truck',
2576
+ color: '#6366f1',
2290
2577
  metaDataList: [
2291
2578
  {
2292
- id: uuid$l(),
2579
+ id: uuid$n(),
2293
2580
  name: 'license-plate',
2294
2581
  title: 'License Plate',
2295
2582
  text: 'License Plate',
@@ -2298,7 +2585,7 @@ const assetCategoryMock = [
2298
2585
  interface: '{"type":"text-editor","path":"vehicle.licensePlate","options":{"validations":[{"rule":"required"}]}}',
2299
2586
  },
2300
2587
  {
2301
- id: uuid$l(),
2588
+ id: uuid$n(),
2302
2589
  name: 'last-service',
2303
2590
  title: 'Last Service Date',
2304
2591
  text: 'Last Service Date',
@@ -2308,19 +2595,34 @@ const assetCategoryMock = [
2308
2595
  },
2309
2596
  ],
2310
2597
  },
2598
+ {
2599
+ id: assetCategoryManualIds.heavyVehicle,
2600
+ title: 'Heavy Vehicles',
2601
+ description: 'Trucks, forklifts, and heavy machinery vehicles.',
2602
+ parentId: assetCategoryManualIds.vehicle,
2603
+ childrenCount: 0,
2604
+ hasMaintenance: true,
2605
+ hasInspection: true,
2606
+ maintenanceTypeIds: [maintenanceTypeIds.vehicleMaintenance],
2607
+ maintenanceTypes: getMaintenanceTypes([maintenanceTypeIds.vehicleMaintenance]),
2608
+ icon: 'fa-light fa-truck-monster',
2609
+ color: '#a855f7',
2610
+ },
2611
+ //#endregion
2311
2612
  ];
2613
+ //#endregion
2312
2614
 
2313
- class AXMAssetCategoryDataSeeder {
2615
+ class AXMManualAssetCategoryDataSeeder {
2314
2616
  constructor() {
2315
2617
  this.storage = inject(AXPEntityStorageService);
2316
2618
  }
2317
2619
  async seed() {
2318
- await this.storage.initial(`${RootConfig$2.config.module}.${RootConfig$2.entities.asset.name}Category`, assetCategoryMock);
2620
+ await this.storage.initial(`${RootConfig$2.config.module}.${RootConfig$2.entities.manualAssetCategory.name}`, manualAssetCategoryMock);
2319
2621
  }
2320
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMAssetCategoryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2321
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMAssetCategoryDataSeeder }); }
2622
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMManualAssetCategoryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2623
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMManualAssetCategoryDataSeeder }); }
2322
2624
  }
2323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMAssetCategoryDataSeeder, decorators: [{
2625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMManualAssetCategoryDataSeeder, decorators: [{
2324
2626
  type: Injectable
2325
2627
  }] });
2326
2628
 
@@ -3251,10 +3553,10 @@ const LASER_PLUMBING_TENANT_ID = AXPDataGenerator.uuid();
3251
3553
  //#region ---- Imports ----
3252
3554
  //#endregion
3253
3555
  //#region ---- Mock Data ----
3254
- const uuid$k = AXPDataGenerator.uuid;
3556
+ const uuid$m = AXPDataGenerator.uuid;
3255
3557
  const mockRoleDefinitions = [
3256
3558
  {
3257
- id: uuid$k(),
3559
+ id: uuid$m(),
3258
3560
  name: 'root',
3259
3561
  title: 'Super Administrator',
3260
3562
  description: 'Full system access with all administrative privileges',
@@ -3307,7 +3609,7 @@ const mockRoleDefinitions = [
3307
3609
  },
3308
3610
  },
3309
3611
  {
3310
- id: uuid$k(),
3612
+ id: uuid$m(),
3311
3613
  name: 'platform-application-administrator',
3312
3614
  title: 'Platform Application Administrator',
3313
3615
  description: 'Full platform application access with all administrative privileges',
@@ -3327,7 +3629,7 @@ const mockRoleDefinitions = [
3327
3629
  },
3328
3630
  },
3329
3631
  {
3330
- id: uuid$k(),
3632
+ id: uuid$m(),
3331
3633
  name: 'admin',
3332
3634
  title: 'Administrator',
3333
3635
  description: 'Full system access with all administrative privileges',
@@ -3348,7 +3650,7 @@ const mockRoleDefinitions = [
3348
3650
  },
3349
3651
  },
3350
3652
  {
3351
- id: uuid$k(),
3653
+ id: uuid$m(),
3352
3654
  name: 'manager',
3353
3655
  title: 'Manager',
3354
3656
  description: 'Manages users and has access to most system features',
@@ -3366,7 +3668,7 @@ const mockRoleDefinitions = [
3366
3668
  },
3367
3669
  },
3368
3670
  {
3369
- id: uuid$k(),
3671
+ id: uuid$m(),
3370
3672
  name: 'user',
3371
3673
  title: 'Regular User',
3372
3674
  description: 'Standard user with basic system access',
@@ -3384,7 +3686,7 @@ const mockRoleDefinitions = [
3384
3686
  },
3385
3687
  },
3386
3688
  {
3387
- id: uuid$k(),
3689
+ id: uuid$m(),
3388
3690
  name: 'support',
3389
3691
  title: 'Support Staff',
3390
3692
  description: 'Customer support and ticket management access',
@@ -3402,7 +3704,7 @@ const mockRoleDefinitions = [
3402
3704
  },
3403
3705
  },
3404
3706
  {
3405
- id: uuid$k(),
3707
+ id: uuid$m(),
3406
3708
  name: 'hr',
3407
3709
  title: 'Human Resources',
3408
3710
  description: 'Access to HR-related features and user management',
@@ -3420,7 +3722,7 @@ const mockRoleDefinitions = [
3420
3722
  },
3421
3723
  },
3422
3724
  {
3423
- id: uuid$k(),
3725
+ id: uuid$m(),
3424
3726
  name: 'finance',
3425
3727
  title: 'Finance',
3426
3728
  description: 'Access to financial reports and invoicing features',
@@ -3438,7 +3740,7 @@ const mockRoleDefinitions = [
3438
3740
  },
3439
3741
  },
3440
3742
  {
3441
- id: uuid$k(),
3743
+ id: uuid$m(),
3442
3744
  name: 'dev',
3443
3745
  title: 'Developer',
3444
3746
  description: 'Technical access to development and debugging features',
@@ -3460,7 +3762,7 @@ const mockRoleDefinitions = [
3460
3762
  },
3461
3763
  },
3462
3764
  {
3463
- id: uuid$k(),
3765
+ id: uuid$m(),
3464
3766
  name: 'account-holder',
3465
3767
  title: 'Account Holder',
3466
3768
  description: 'Primary account owner with full tenant management privileges',
@@ -3480,7 +3782,7 @@ const mockRoleDefinitions = [
3480
3782
  },
3481
3783
  },
3482
3784
  {
3483
- id: uuid$k(),
3785
+ id: uuid$m(),
3484
3786
  name: 'tenant-administrator',
3485
3787
  title: 'Tenant Administrator',
3486
3788
  description: 'Tenant-level administrator with full CRUD access to users and roles',
@@ -7153,7 +7455,7 @@ function generateEmploymentType() {
7153
7455
  }
7154
7456
  const EMPLOYMENT_TYPES_MOCK = generateEmploymentType();
7155
7457
 
7156
- const uuid$j = AXPDataGenerator.uuid;
7458
+ const uuid$l = AXPDataGenerator.uuid;
7157
7459
  // Helper function to get employee by ID
7158
7460
  function findEmployeeById(employeeId) {
7159
7461
  return EMPLOYEES_MOCK.find((emp) => emp.id === employeeId);
@@ -7171,7 +7473,7 @@ function findPersonByPersonId(personId) {
7171
7473
  }
7172
7474
  const EMPLOYEES_MOCK = [
7173
7475
  {
7174
- id: uuid$j(),
7476
+ id: uuid$l(),
7175
7477
  userId: findUserByPersonId(personNaturalIds.sarahJohnson)?.id || '',
7176
7478
  personId: personNaturalIds.sarahJohnson,
7177
7479
  person: findPersonByPersonId(personNaturalIds.sarahJohnson),
@@ -7187,7 +7489,7 @@ const EMPLOYEES_MOCK = [
7187
7489
  imageId: [],
7188
7490
  },
7189
7491
  {
7190
- id: uuid$j(),
7492
+ id: uuid$l(),
7191
7493
  userId: findUserByPersonId(personNaturalIds.mikeChen)?.id || '',
7192
7494
  personId: personNaturalIds.mikeChen,
7193
7495
  person: findPersonByPersonId(personNaturalIds.mikeChen),
@@ -7203,7 +7505,7 @@ const EMPLOYEES_MOCK = [
7203
7505
  imageId: [],
7204
7506
  },
7205
7507
  {
7206
- id: uuid$j(),
7508
+ id: uuid$l(),
7207
7509
  userId: findUserByPersonId(personNaturalIds.emilyRodriguez)?.id || '',
7208
7510
  personId: personNaturalIds.emilyRodriguez,
7209
7511
  person: findPersonByPersonId(personNaturalIds.emilyRodriguez),
@@ -7219,7 +7521,7 @@ const EMPLOYEES_MOCK = [
7219
7521
  imageId: [],
7220
7522
  },
7221
7523
  {
7222
- id: uuid$j(),
7524
+ id: uuid$l(),
7223
7525
  userId: findUserByPersonId(personNaturalIds.davidThompson)?.id || '',
7224
7526
  personId: personNaturalIds.davidThompson,
7225
7527
  person: findPersonByPersonId(personNaturalIds.davidThompson),
@@ -7235,7 +7537,7 @@ const EMPLOYEES_MOCK = [
7235
7537
  imageId: [],
7236
7538
  },
7237
7539
  {
7238
- id: uuid$j(),
7540
+ id: uuid$l(),
7239
7541
  userId: findUserByPersonId(personNaturalIds.lisaWang)?.id || '',
7240
7542
  personId: personNaturalIds.lisaWang,
7241
7543
  person: findPersonByPersonId(personNaturalIds.lisaWang),
@@ -7251,7 +7553,7 @@ const EMPLOYEES_MOCK = [
7251
7553
  imageId: [],
7252
7554
  },
7253
7555
  {
7254
- id: uuid$j(),
7556
+ id: uuid$l(),
7255
7557
  userId: findUserByPersonId(personNaturalIds.johnSmith)?.id || '',
7256
7558
  personId: personNaturalIds.johnSmith,
7257
7559
  person: findPersonByPersonId(personNaturalIds.johnSmith),
@@ -7267,7 +7569,7 @@ const EMPLOYEES_MOCK = [
7267
7569
  imageId: [],
7268
7570
  },
7269
7571
  {
7270
- id: uuid$j(),
7572
+ id: uuid$l(),
7271
7573
  userId: findUserByPersonId(personNaturalIds.jenniferLopez)?.id || '',
7272
7574
  personId: personNaturalIds.jenniferLopez,
7273
7575
  person: findPersonByPersonId(personNaturalIds.jenniferLopez),
@@ -7283,7 +7585,7 @@ const EMPLOYEES_MOCK = [
7283
7585
  imageId: [],
7284
7586
  },
7285
7587
  {
7286
- id: uuid$j(),
7588
+ id: uuid$l(),
7287
7589
  userId: findUserByPersonId(personNaturalIds.robertWilson)?.id || '',
7288
7590
  personId: personNaturalIds.robertWilson,
7289
7591
  person: findPersonByPersonId(personNaturalIds.robertWilson),
@@ -7299,7 +7601,7 @@ const EMPLOYEES_MOCK = [
7299
7601
  imageId: [],
7300
7602
  },
7301
7603
  {
7302
- id: uuid$j(),
7604
+ id: uuid$l(),
7303
7605
  userId: findUserByPersonId(personNaturalIds.mariaGarcia)?.id || '',
7304
7606
  personId: personNaturalIds.mariaGarcia,
7305
7607
  person: findPersonByPersonId(personNaturalIds.mariaGarcia),
@@ -7315,7 +7617,7 @@ const EMPLOYEES_MOCK = [
7315
7617
  imageId: [],
7316
7618
  },
7317
7619
  {
7318
- id: uuid$j(),
7620
+ id: uuid$l(),
7319
7621
  userId: findUserByPersonId(personNaturalIds.carlosRodriguez)?.id || '',
7320
7622
  personId: personNaturalIds.carlosRodriguez,
7321
7623
  person: findPersonByPersonId(personNaturalIds.carlosRodriguez),
@@ -7331,7 +7633,7 @@ const EMPLOYEES_MOCK = [
7331
7633
  imageId: [],
7332
7634
  },
7333
7635
  {
7334
- id: uuid$j(),
7636
+ id: uuid$l(),
7335
7637
  userId: findUserByPersonId(personNaturalIds.alexandraKim)?.id || '',
7336
7638
  personId: personNaturalIds.alexandraKim,
7337
7639
  person: findPersonByPersonId(personNaturalIds.alexandraKim),
@@ -7347,7 +7649,7 @@ const EMPLOYEES_MOCK = [
7347
7649
  imageId: [],
7348
7650
  },
7349
7651
  {
7350
- id: uuid$j(),
7652
+ id: uuid$l(),
7351
7653
  userId: findUserByPersonId(personNaturalIds.marcusSchmidt)?.id || '',
7352
7654
  personId: personNaturalIds.marcusSchmidt,
7353
7655
  person: findPersonByPersonId(personNaturalIds.marcusSchmidt),
@@ -7363,7 +7665,7 @@ const EMPLOYEES_MOCK = [
7363
7665
  imageId: [],
7364
7666
  },
7365
7667
  {
7366
- id: uuid$j(),
7668
+ id: uuid$l(),
7367
7669
  userId: findUserByPersonId(personNaturalIds.fatimaAlZahra)?.id || '',
7368
7670
  personId: personNaturalIds.fatimaAlZahra,
7369
7671
  person: findPersonByPersonId(personNaturalIds.fatimaAlZahra),
@@ -7379,7 +7681,7 @@ const EMPLOYEES_MOCK = [
7379
7681
  imageId: [],
7380
7682
  },
7381
7683
  {
7382
- id: uuid$j(),
7684
+ id: uuid$l(),
7383
7685
  userId: findUserByPersonId(personNaturalIds.jamesOConnor)?.id || '',
7384
7686
  personId: personNaturalIds.jamesOConnor,
7385
7687
  person: findPersonByPersonId(personNaturalIds.jamesOConnor),
@@ -7395,7 +7697,7 @@ const EMPLOYEES_MOCK = [
7395
7697
  imageId: [],
7396
7698
  },
7397
7699
  {
7398
- id: uuid$j(),
7700
+ id: uuid$l(),
7399
7701
  userId: findUserByPersonId(personNaturalIds.yukiTanaka)?.id || '',
7400
7702
  personId: personNaturalIds.yukiTanaka,
7401
7703
  person: findPersonByPersonId(personNaturalIds.yukiTanaka),
@@ -7411,7 +7713,7 @@ const EMPLOYEES_MOCK = [
7411
7713
  imageId: [],
7412
7714
  },
7413
7715
  {
7414
- id: uuid$j(),
7716
+ id: uuid$l(),
7415
7717
  userId: findUserByPersonId(personNaturalIds.root)?.id || '',
7416
7718
  personId: personNaturalIds.root,
7417
7719
  person: findPersonByPersonId(personNaturalIds.root),
@@ -7427,7 +7729,7 @@ const EMPLOYEES_MOCK = [
7427
7729
  imageId: [],
7428
7730
  },
7429
7731
  {
7430
- id: uuid$j(),
7732
+ id: uuid$l(),
7431
7733
  userId: findUserByPersonId(personNaturalIds.admin)?.id || '',
7432
7734
  personId: personNaturalIds.admin,
7433
7735
  person: findPersonByPersonId(personNaturalIds.admin),
@@ -7518,7 +7820,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
7518
7820
  type: Injectable
7519
7821
  }] });
7520
7822
 
7521
- const uuid$i = AXPDataGenerator.uuid;
7823
+ const uuid$k = AXPDataGenerator.uuid;
7522
7824
  const LEAVE_REQUEST_STATUS_DEFINITIONS = [
7523
7825
  AXPSystemStatuses.Pending,
7524
7826
  AXPSystemStatuses.Approved,
@@ -7539,7 +7841,7 @@ function buildLeaveRequests() {
7539
7841
  end.setDate(start.getDate() + duration);
7540
7842
  const statusDefinition = LEAVE_REQUEST_STATUS_DEFINITIONS[Math.floor(Math.random() * LEAVE_REQUEST_STATUS_DEFINITIONS.length)];
7541
7843
  results.push({
7542
- id: uuid$i(),
7844
+ id: uuid$k(),
7543
7845
  employeeId: employee.id,
7544
7846
  employee,
7545
7847
  leaveTypeId: leaveType.id,
@@ -7780,14 +8082,14 @@ function generatePositions() {
7780
8082
  }
7781
8083
  const POSITIONS_MOCK = generatePositions();
7782
8084
 
7783
- const uuid$h = AXPDataGenerator.uuid;
8085
+ const uuid$j = AXPDataGenerator.uuid;
7784
8086
  const BUSINESS_UNIT_TYPES_MOCK = [
7785
- { id: uuid$h(), title: 'Division', name: 'division', isLocationBased: true },
7786
- { id: uuid$h(), title: 'Department', name: 'department', isLocationBased: false },
7787
- { id: uuid$h(), title: 'Branch', name: 'branch', isLocationBased: true },
8087
+ { id: uuid$j(), title: 'Division', name: 'division', isLocationBased: true },
8088
+ { id: uuid$j(), title: 'Department', name: 'department', isLocationBased: false },
8089
+ { id: uuid$j(), title: 'Branch', name: 'branch', isLocationBased: true },
7788
8090
  ];
7789
8091
 
7790
- const uuid$g = AXPDataGenerator.uuid;
8092
+ const uuid$i = AXPDataGenerator.uuid;
7791
8093
  const TYPE = {
7792
8094
  division: BUSINESS_UNIT_TYPES_MOCK.find(t => t.name === 'division'),
7793
8095
  department: BUSINESS_UNIT_TYPES_MOCK.find(t => t.name === 'department'),
@@ -7820,7 +8122,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7820
8122
  }
7821
8123
  // Divisions (top-level)
7822
8124
  const divisionOps = {
7823
- id: uuid$g(),
8125
+ id: uuid$i(),
7824
8126
  title: 'Operations Division',
7825
8127
  description: 'Core operations across plants',
7826
8128
  typeId: TYPE.division.id,
@@ -7836,7 +8138,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7836
8138
  ...positionsByTitles(['Maintenance Engineer', 'Maintenance Technician', 'Quality Engineer', 'Quality Inspector', 'Production Supervisor', 'HSE Manager'])
7837
8139
  };
7838
8140
  const divisionSales = {
7839
- id: uuid$g(),
8141
+ id: uuid$i(),
7840
8142
  title: 'Sales Division',
7841
8143
  description: 'Global sales organization',
7842
8144
  typeId: TYPE.division.id,
@@ -7852,7 +8154,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7852
8154
  ...positionsByTitles(['Sales Associate', 'Account Executive', 'Sales Manager', 'VP of Sales'])
7853
8155
  };
7854
8156
  const divisionEngineering = {
7855
- id: uuid$g(),
8157
+ id: uuid$i(),
7856
8158
  title: 'Engineering Division',
7857
8159
  description: 'Product and platform engineering',
7858
8160
  typeId: TYPE.division.id,
@@ -7870,7 +8172,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7870
8172
  items.push(divisionOps, divisionSales, divisionEngineering);
7871
8173
  // Departments under Operations
7872
8174
  const depHSE = {
7873
- id: uuid$g(),
8175
+ id: uuid$i(),
7874
8176
  title: 'Health, Safety & Environment',
7875
8177
  description: 'WHS/OHS',
7876
8178
  typeId: TYPE.department.id,
@@ -7880,7 +8182,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7880
8182
  ...positionsByTitles(['HSE Officer', 'Safety Officer', 'Environmental Specialist', 'HSE Manager'])
7881
8183
  };
7882
8184
  const depQuality = {
7883
- id: uuid$g(),
8185
+ id: uuid$i(),
7884
8186
  title: 'Quality Assurance',
7885
8187
  description: 'QA and compliance',
7886
8188
  typeId: TYPE.department.id,
@@ -7890,7 +8192,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7890
8192
  ...positionsByTitles(['QA Analyst', 'QA Engineer', 'Senior QA Engineer', 'QA Manager', 'Quality Inspector', 'Quality Engineer'])
7891
8193
  };
7892
8194
  const depMaintenance = {
7893
- id: uuid$g(),
8195
+ id: uuid$i(),
7894
8196
  title: 'Maintenance',
7895
8197
  description: 'Asset reliability and maintenance',
7896
8198
  typeId: TYPE.department.id,
@@ -7902,7 +8204,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7902
8204
  items.push(depHSE, depQuality, depMaintenance);
7903
8205
  // Departments under Engineering
7904
8206
  const depPlatform = {
7905
- id: uuid$g(),
8207
+ id: uuid$i(),
7906
8208
  title: 'Platform Engineering',
7907
8209
  description: 'Core platform teams',
7908
8210
  typeId: TYPE.department.id,
@@ -7912,7 +8214,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7912
8214
  ...positionsByTitles(['DevOps Engineer', 'Senior DevOps Engineer', 'Engineering Team Lead', 'Director of DevOps'])
7913
8215
  };
7914
8216
  const depProduct = {
7915
- id: uuid$g(),
8217
+ id: uuid$i(),
7916
8218
  title: 'Product Engineering',
7917
8219
  description: 'Product squads',
7918
8220
  typeId: TYPE.department.id,
@@ -7924,7 +8226,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7924
8226
  items.push(depPlatform, depProduct);
7925
8227
  // Branches (location-based) under cities
7926
8228
  const branchLA = {
7927
- id: uuid$g(),
8229
+ id: uuid$i(),
7928
8230
  title: 'Los Angeles Branch',
7929
8231
  description: 'US West Region',
7930
8232
  typeId: TYPE.branch.id,
@@ -7940,7 +8242,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7940
8242
  ...positionsByTitles(['Sales Associate', 'Account Executive'])
7941
8243
  };
7942
8244
  const branchSF = {
7943
- id: uuid$g(),
8245
+ id: uuid$i(),
7944
8246
  title: 'San Francisco Branch',
7945
8247
  description: 'Bay Area',
7946
8248
  typeId: TYPE.branch.id,
@@ -7956,7 +8258,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7956
8258
  ...positionsByTitles(['Sales Associate', 'Account Executive'])
7957
8259
  };
7958
8260
  const branchSydney = {
7959
- id: uuid$g(),
8261
+ id: uuid$i(),
7960
8262
  title: 'Sydney Branch',
7961
8263
  description: 'ANZ Region',
7962
8264
  typeId: TYPE.branch.id,
@@ -7975,7 +8277,7 @@ const BUSINESS_UNITS_MOCK = (() => {
7975
8277
  return items;
7976
8278
  })();
7977
8279
 
7978
- const uuid$f = AXPDataGenerator.uuid;
8280
+ const uuid$h = AXPDataGenerator.uuid;
7979
8281
  function pick(arr) { return arr[Math.floor(Math.random() * arr.length)]; }
7980
8282
  const POSITION_ASSIGNMENTS_MOCK = (() => {
7981
8283
  const rows = [];
@@ -7997,7 +8299,7 @@ const POSITION_ASSIGNMENTS_MOCK = (() => {
7997
8299
  : managerPositions.length ? managerPositions : POSITIONS_MOCK);
7998
8300
  const position = pick(candidatePositions);
7999
8301
  rows.push({
8000
- id: uuid$f(),
8302
+ id: uuid$h(),
8001
8303
  employeeId: candidate.id,
8002
8304
  employee: candidate,
8003
8305
  positionId: position.id,
@@ -8055,8 +8357,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
8055
8357
  //#region ---- Module Export ----
8056
8358
  //#endregion
8057
8359
 
8058
- const uuid$e = AXPDataGenerator.uuid;
8059
- const getCategoryById = (id) => assetCategoryMock.find((category) => category.id === id);
8360
+ const uuid$g = AXPDataGenerator.uuid;
8361
+ const getCategoryById = (id) => manualAssetCategoryMock.find((category) => category.id === id);
8060
8362
  const getEmployeeByPersonId = (personId) => EMPLOYEES_MOCK.find((employee) => employee.personId === personId);
8061
8363
  const getLocationById = (id) => locationMock.find((location) => location.id === id);
8062
8364
  const getLocationByCode = (code) => locationMock.find((location) => location.code === code);
@@ -8130,15 +8432,32 @@ const assetEntries = [
8130
8432
  },
8131
8433
  },
8132
8434
  ];
8435
+ /**
8436
+ * Aggregates all maintenanceTypeIds from an asset's category
8437
+ * by traversing the category hierarchy (child → parent).
8438
+ */
8439
+ const getAvailableMaintenanceTypeIds = (categoryId) => {
8440
+ const ids = new Set();
8441
+ let current = getCategoryById(categoryId);
8442
+ while (current) {
8443
+ if (current.maintenanceTypeIds?.length) {
8444
+ current.maintenanceTypeIds.forEach((id) => ids.add(id));
8445
+ }
8446
+ current = current.parentId ? getCategoryById(current.parentId) : undefined;
8447
+ }
8448
+ return [...ids];
8449
+ };
8133
8450
  const assetMock = assetEntries.map((entry) => {
8134
8451
  const category = getCategoryById(entry.categoryId);
8135
8452
  const employee = getEmployeeByPersonId(entry.ownerPersonId);
8136
8453
  const location = getLocationByCode(entry.locationCode);
8137
8454
  return {
8138
- id: uuid$e(),
8455
+ id: uuid$g(),
8139
8456
  code: entry.code,
8140
8457
  title: entry.title,
8141
8458
  categoryIds: entry.categoryId ? [entry.categoryId] : undefined,
8459
+ hasMaintenance: category?.hasMaintenance ?? false,
8460
+ availableMaintenanceTypeIds: getAvailableMaintenanceTypeIds(entry.categoryId),
8142
8461
  assetStatusId: AXMAssetStatus.Available,
8143
8462
  ownerId: employee?.id,
8144
8463
  owner: employee
@@ -8180,20 +8499,109 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
8180
8499
  type: Injectable
8181
8500
  }] });
8182
8501
 
8502
+ const CATEGORY_ENTITY = 'AssetManagement.ManualAssetCategory';
8503
+ /**
8504
+ * Collects maintenanceTypeIds by traversing a category and its parent hierarchy.
8505
+ */
8506
+ const collectMaintenanceTypeIds = (category, allCategories) => {
8507
+ const ids = new Set();
8508
+ let current = category;
8509
+ while (current) {
8510
+ if (current.maintenanceTypeIds?.length) {
8511
+ current.maintenanceTypeIds.forEach((id) => ids.add(id));
8512
+ }
8513
+ current = current.parentId
8514
+ ? allCategories.find((c) => c.id === current.parentId)
8515
+ : null;
8516
+ }
8517
+ return [...ids];
8518
+ };
8519
+ /**
8520
+ * Checks if a category or any of its parents has hasMaintenance enabled.
8521
+ */
8522
+ const checkHasMaintenance = (category, allCategories) => {
8523
+ let current = category;
8524
+ while (current) {
8525
+ if (current.hasMaintenance === true)
8526
+ return true;
8527
+ current = current.parentId
8528
+ ? allCategories.find((c) => c.id === current.parentId)
8529
+ : null;
8530
+ }
8531
+ return false;
8532
+ };
8533
+ /**
8534
+ * Enriches a single asset record with `hasMaintenance` and `availableMaintenanceTypeIds`
8535
+ * by reading live ManualAssetCategory data from backend storage.
8536
+ * Traverses the parent hierarchy of each assigned category.
8537
+ */
8538
+ const enrichAsset = async (asset, backend) => {
8539
+ if (!asset?.categoryIds?.length) {
8540
+ return { ...asset, hasMaintenance: false, availableMaintenanceTypeIds: [] };
8541
+ }
8542
+ try {
8543
+ // Query all categories from live storage
8544
+ const result = await backend.query(CATEGORY_ENTITY, { skip: 0, take: 1000 });
8545
+ const allCategories = result?.items ?? [];
8546
+ // Find matching categories for this asset
8547
+ const matchingCategories = allCategories.filter((c) => asset.categoryIds.includes(c.id));
8548
+ // Check hasMaintenance across matching categories and their parents
8549
+ const hasMaintenance = matchingCategories.some((c) => checkHasMaintenance(c, allCategories));
8550
+ // Aggregate maintenanceTypeIds from all matching categories (including parent hierarchy)
8551
+ const availableMaintenanceTypeIds = [...new Set(matchingCategories.flatMap((c) => collectMaintenanceTypeIds(c, allCategories)))];
8552
+ return { ...asset, hasMaintenance, availableMaintenanceTypeIds };
8553
+ }
8554
+ catch {
8555
+ return { ...asset, hasMaintenance: false, availableMaintenanceTypeIds: [] };
8556
+ }
8557
+ };
8558
+ const assetManagementMiddleware = {
8559
+ target: { entity: 'AssetManagement.Asset', ops: ['create', 'update', 'getOne', 'query'], order: 90 },
8560
+ execute: async (ctx, next) => {
8561
+ if (ctx.op === 'create' || ctx.op === 'update') {
8562
+ // Enrich data BEFORE saving
8563
+ ctx.data = await enrichAsset(ctx.data, ctx.backend);
8564
+ await next();
8565
+ }
8566
+ else if (ctx.op === 'getOne') {
8567
+ // Fetch data first, then enrich the result
8568
+ await next();
8569
+ if (ctx.result) {
8570
+ ctx.result = await enrichAsset(ctx.result, ctx.backend);
8571
+ }
8572
+ }
8573
+ else if (ctx.op === 'query') {
8574
+ // Fetch list first, then enrich each item
8575
+ await next();
8576
+ if (ctx.result?.items?.length) {
8577
+ ctx.result = {
8578
+ ...ctx.result,
8579
+ items: await Promise.all(ctx.result.items.map((item) => enrichAsset(item, ctx.backend))),
8580
+ };
8581
+ }
8582
+ }
8583
+ else {
8584
+ await next();
8585
+ }
8586
+ },
8587
+ };
8588
+
8183
8589
  class AXCAssetManagementMockModule {
8184
8590
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCAssetManagementMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8185
8591
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXCAssetManagementMockModule }); }
8186
8592
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCAssetManagementMockModule, providers: [
8187
- { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMAssetCategoryDataSeeder, multi: true },
8593
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMManualAssetCategoryDataSeeder, multi: true },
8188
8594
  { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMAssetDataSeeder, multi: true },
8595
+ { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: assetManagementMiddleware },
8189
8596
  ] }); }
8190
8597
  }
8191
8598
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCAssetManagementMockModule, decorators: [{
8192
8599
  type: NgModule,
8193
8600
  args: [{
8194
8601
  providers: [
8195
- { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMAssetCategoryDataSeeder, multi: true },
8602
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMManualAssetCategoryDataSeeder, multi: true },
8196
8603
  { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMAssetDataSeeder, multi: true },
8604
+ { provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: assetManagementMiddleware },
8197
8605
  ],
8198
8606
  }]
8199
8607
  }] });
@@ -13469,13 +13877,13 @@ function toSummary(c) {
13469
13877
  }
13470
13878
  //#endregion
13471
13879
 
13472
- const uuid$d = AXPDataGenerator.uuid;
13880
+ const uuid$f = AXPDataGenerator.uuid;
13473
13881
  const emergencyServiceCategoryIds = {
13474
- emergency: uuid$d(),
13475
- health: uuid$d(),
13476
- safety: uuid$d(),
13477
- utilities: uuid$d(),
13478
- hotlines: uuid$d(),
13882
+ emergency: uuid$f(),
13883
+ health: uuid$f(),
13884
+ safety: uuid$f(),
13885
+ utilities: uuid$f(),
13886
+ hotlines: uuid$f(),
13479
13887
  };
13480
13888
  const emergencyServiceCategoryMocks = [
13481
13889
  {
@@ -14487,7 +14895,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
14487
14895
  }]
14488
14896
  }] });
14489
14897
 
14490
- const uuid$c = AXPDataGenerator.uuid;
14898
+ const uuid$e = AXPDataGenerator.uuid;
14491
14899
  function findOrganizationPersonMinimal$1(id) {
14492
14900
  const org = personMock.find((p) => p.id === id && p.typeId === 'legal');
14493
14901
  if (!org)
@@ -14496,7 +14904,7 @@ function findOrganizationPersonMinimal$1(id) {
14496
14904
  }
14497
14905
  const CUSTOMERS_MOCK = [
14498
14906
  {
14499
- id: uuid$c(),
14907
+ id: uuid$e(),
14500
14908
  customerCode: 'CUST-1001',
14501
14909
  personId: personLegalIds.techSolutionsInc,
14502
14910
  person: findOrganizationPersonMinimal$1(personLegalIds.techSolutionsInc),
@@ -14515,7 +14923,7 @@ const CUSTOMERS_MOCK = [
14515
14923
  notes: 'Key enterprise client.'
14516
14924
  },
14517
14925
  {
14518
- id: uuid$c(),
14926
+ id: uuid$e(),
14519
14927
  customerCode: 'CUST-1002',
14520
14928
  personId: personLegalIds.europeanManufacturingConsortium,
14521
14929
  person: findOrganizationPersonMinimal$1(personLegalIds.europeanManufacturingConsortium),
@@ -14534,7 +14942,7 @@ const CUSTOMERS_MOCK = [
14534
14942
  notes: 'Growing SMB account.'
14535
14943
  },
14536
14944
  {
14537
- id: uuid$c(),
14945
+ id: uuid$e(),
14538
14946
  customerCode: 'CUST-1003',
14539
14947
  personId: personLegalIds.innovativeSoftwareSolutions,
14540
14948
  person: findOrganizationPersonMinimal$1(personLegalIds.innovativeSoftwareSolutions),
@@ -14553,7 +14961,7 @@ const CUSTOMERS_MOCK = [
14553
14961
  notes: 'Strategic technology partner with high growth potential.'
14554
14962
  },
14555
14963
  {
14556
- id: uuid$c(),
14964
+ id: uuid$e(),
14557
14965
  customerCode: 'CUST-1004',
14558
14966
  personId: personLegalIds.globalLogisticsPartners,
14559
14967
  person: findOrganizationPersonMinimal$1(personLegalIds.globalLogisticsPartners),
@@ -14572,7 +14980,7 @@ const CUSTOMERS_MOCK = [
14572
14980
  notes: 'International logistics company with expanding operations.'
14573
14981
  },
14574
14982
  {
14575
- id: uuid$c(),
14983
+ id: uuid$e(),
14576
14984
  customerCode: 'CUST-1005',
14577
14985
  personId: personLegalIds.sustainableEnergyCorpLtd,
14578
14986
  person: findOrganizationPersonMinimal$1(personLegalIds.sustainableEnergyCorpLtd),
@@ -14591,7 +14999,7 @@ const CUSTOMERS_MOCK = [
14591
14999
  notes: 'Green energy leader with significant investment in sustainable solutions.'
14592
15000
  },
14593
15001
  {
14594
- id: uuid$c(),
15002
+ id: uuid$e(),
14595
15003
  customerCode: 'CUST-1006',
14596
15004
  personId: personLegalIds.digitalMarketingAgencyGroup,
14597
15005
  person: findOrganizationPersonMinimal$1(personLegalIds.digitalMarketingAgencyGroup),
@@ -14610,7 +15018,7 @@ const CUSTOMERS_MOCK = [
14610
15018
  notes: 'Creative digital agency serving multiple SMB clients.'
14611
15019
  },
14612
15020
  {
14613
- id: uuid$c(),
15021
+ id: uuid$e(),
14614
15022
  customerCode: 'CUST-1007',
14615
15023
  personId: personLegalIds.premiumConsultingServices,
14616
15024
  person: findOrganizationPersonMinimal$1(personLegalIds.premiumConsultingServices),
@@ -14644,14 +15052,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
14644
15052
  type: Injectable
14645
15053
  }] });
14646
15054
 
14647
- const uuid$b = AXPDataGenerator.uuid;
15055
+ const uuid$d = AXPDataGenerator.uuid;
14648
15056
  const OPPORTUNITY_STAGES_MOCK = [
14649
- { id: uuid$b(), title: 'Qualification', probability: 10, order: 1 },
14650
- { id: uuid$b(), title: 'Discovery', probability: 25, order: 2 },
14651
- { id: uuid$b(), title: 'Proposal', probability: 50, order: 3 },
14652
- { id: uuid$b(), title: 'Negotiation', probability: 75, order: 4 },
14653
- { id: uuid$b(), title: 'Closed Won', probability: 100, order: 5 },
14654
- { id: uuid$b(), title: 'Closed Lost', probability: 0, order: 6 },
15057
+ { id: uuid$d(), title: 'Qualification', probability: 10, order: 1 },
15058
+ { id: uuid$d(), title: 'Discovery', probability: 25, order: 2 },
15059
+ { id: uuid$d(), title: 'Proposal', probability: 50, order: 3 },
15060
+ { id: uuid$d(), title: 'Negotiation', probability: 75, order: 4 },
15061
+ { id: uuid$d(), title: 'Closed Won', probability: 100, order: 5 },
15062
+ { id: uuid$d(), title: 'Closed Lost', probability: 0, order: 6 },
14655
15063
  ];
14656
15064
 
14657
15065
  class AXCCrmOpportunityStageDataSeeder {
@@ -14668,9 +15076,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
14668
15076
  type: Injectable
14669
15077
  }] });
14670
15078
 
14671
- const uuid$a = AXPDataGenerator.uuid;
15079
+ const uuid$c = AXPDataGenerator.uuid;
14672
15080
  const SALES_PIPELINES_MOCK = [
14673
- { id: uuid$a(), title: 'Default Pipeline', description: 'Standard B2B pipeline', order: 1 },
15081
+ { id: uuid$c(), title: 'Default Pipeline', description: 'Standard B2B pipeline', order: 1 },
14674
15082
  ];
14675
15083
 
14676
15084
  class AXCCrmSalesPipelineDataSeeder {
@@ -14687,10 +15095,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
14687
15095
  type: Injectable
14688
15096
  }] });
14689
15097
 
14690
- const uuid$9 = AXPDataGenerator.uuid;
15098
+ const uuid$b = AXPDataGenerator.uuid;
14691
15099
  const LEADS_MOCK = [
14692
- { id: uuid$9(), name: 'Alice Johnson', email: 'alice@example.com', phone: '+1-555-0001', company: 'Alpha Corp', status: 'new', lifecycleStageId: lifecycleStageIds.prospect, source: 'web' },
14693
- { id: uuid$9(), name: 'Bob Smith', email: 'bob@example.com', phone: '+1-555-0002', company: 'Beta LLC', status: 'working', lifecycleStageId: lifecycleStageIds.onboarding, source: 'event' },
15100
+ { id: uuid$b(), name: 'Alice Johnson', email: 'alice@example.com', phone: '+1-555-0001', company: 'Alpha Corp', status: 'new', lifecycleStageId: lifecycleStageIds.prospect, source: 'web' },
15101
+ { id: uuid$b(), name: 'Bob Smith', email: 'bob@example.com', phone: '+1-555-0002', company: 'Beta LLC', status: 'working', lifecycleStageId: lifecycleStageIds.onboarding, source: 'event' },
14694
15102
  ];
14695
15103
 
14696
15104
  class AXCCrmLeadDataSeeder {
@@ -14707,10 +15115,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
14707
15115
  type: Injectable
14708
15116
  }] });
14709
15117
 
14710
- const uuid$8 = AXPDataGenerator.uuid;
15118
+ const uuid$a = AXPDataGenerator.uuid;
14711
15119
  const OPPORTUNITIES_MOCK = [
14712
15120
  {
14713
- id: uuid$8(),
15121
+ id: uuid$a(),
14714
15122
  title: 'Enterprise Renewal FY25',
14715
15123
  customerId: CUSTOMERS_MOCK[0].id,
14716
15124
  customer: CUSTOMERS_MOCK[0],
@@ -14724,7 +15132,7 @@ const OPPORTUNITIES_MOCK = [
14724
15132
  pipeline: SALES_PIPELINES_MOCK[0],
14725
15133
  },
14726
15134
  {
14727
- id: uuid$8(),
15135
+ id: uuid$a(),
14728
15136
  title: 'SMB Expansion Q4',
14729
15137
  customerId: CUSTOMERS_MOCK[1].id,
14730
15138
  customer: CUSTOMERS_MOCK[1],
@@ -14753,10 +15161,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
14753
15161
  type: Injectable
14754
15162
  }] });
14755
15163
 
14756
- const uuid$7 = AXPDataGenerator.uuid;
15164
+ const uuid$9 = AXPDataGenerator.uuid;
14757
15165
  const ACTIVITIES_MOCK = [
14758
- { id: uuid$7(), type: 'call', subject: 'Intro call', dueDate: new Date('2025-08-25'), status: 'open', opportunityId: OPPORTUNITIES_MOCK[0].id },
14759
- { id: uuid$7(), type: 'meeting', subject: 'Discovery session', dueDate: new Date('2025-08-28'), status: 'open', opportunityId: OPPORTUNITIES_MOCK[0].id },
15166
+ { id: uuid$9(), type: 'call', subject: 'Intro call', dueDate: new Date('2025-08-25'), status: 'open', opportunityId: OPPORTUNITIES_MOCK[0].id },
15167
+ { id: uuid$9(), type: 'meeting', subject: 'Discovery session', dueDate: new Date('2025-08-28'), status: 'open', opportunityId: OPPORTUNITIES_MOCK[0].id },
14760
15168
  ];
14761
15169
 
14762
15170
  class AXCCrmActivityDataSeeder {
@@ -14773,14 +15181,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
14773
15181
  type: Injectable
14774
15182
  }] });
14775
15183
 
14776
- const uuid$6 = AXPDataGenerator.uuid;
15184
+ const uuid$8 = AXPDataGenerator.uuid;
14777
15185
  function findIndividualMinimal(id) {
14778
15186
  const p = personMock.find((x) => x.id === id && x.typeId === 'natural');
14779
15187
  return p ? { id: p.id, displayName: p.displayName } : null;
14780
15188
  }
14781
15189
  const DEAL_CONTACT_ROLES_MOCK = [
14782
- { id: uuid$6(), opportunityId: OPPORTUNITIES_MOCK[0].id, opportunity: OPPORTUNITIES_MOCK[0], contactId: personNaturalIds.johnSmith, contact: findIndividualMinimal(personNaturalIds.johnSmith), role: 'decision-maker' },
14783
- { id: uuid$6(), opportunityId: OPPORTUNITIES_MOCK[0].id, opportunity: OPPORTUNITIES_MOCK[0], contactId: personNaturalIds.mikeChen, contact: findIndividualMinimal(personNaturalIds.mikeChen), role: 'influencer' },
15190
+ { id: uuid$8(), opportunityId: OPPORTUNITIES_MOCK[0].id, opportunity: OPPORTUNITIES_MOCK[0], contactId: personNaturalIds.johnSmith, contact: findIndividualMinimal(personNaturalIds.johnSmith), role: 'decision-maker' },
15191
+ { id: uuid$8(), opportunityId: OPPORTUNITIES_MOCK[0].id, opportunity: OPPORTUNITIES_MOCK[0], contactId: personNaturalIds.mikeChen, contact: findIndividualMinimal(personNaturalIds.mikeChen), role: 'influencer' },
14784
15192
  ];
14785
15193
 
14786
15194
  class AXCCrmDealContactRoleDataSeeder {
@@ -14848,10 +15256,7 @@ function generateBarChartWidget() {
14848
15256
  showDataLabels: false,
14849
15257
  };
14850
15258
  return {
14851
- config: {
14852
- id: AXPDataGenerator.uuid(),
14853
- ...AXPBarChartWidget?.meta?.['dimensions'],
14854
- },
15259
+ config: createWidgetLayoutConfig(AXPBarChartWidget?.meta?.['dimensions']),
14855
15260
  node: {
14856
15261
  name: `bar-chart-${uniqueId}`,
14857
15262
  path: `bar-chart-${uniqueId}`,
@@ -14881,10 +15286,7 @@ function generateDonutChartWidget() {
14881
15286
  showDataLabels: false,
14882
15287
  };
14883
15288
  return {
14884
- config: {
14885
- id: AXPDataGenerator.uuid(),
14886
- ...AXPDonutChartWidget?.meta?.['dimensions'],
14887
- },
15289
+ config: createWidgetLayoutConfig(AXPDonutChartWidget?.meta?.['dimensions']),
14888
15290
  node: {
14889
15291
  name: `donut-chart-${uniqueId}`,
14890
15292
  path: `donut-chart-${uniqueId}`,
@@ -14916,10 +15318,7 @@ function generateGaugeChartWidget() {
14916
15318
  ],
14917
15319
  };
14918
15320
  return {
14919
- config: {
14920
- id: AXPDataGenerator.uuid(),
14921
- ...AXPGaugeChartWidget?.meta?.['dimensions'],
14922
- },
15321
+ config: createWidgetLayoutConfig(AXPGaugeChartWidget?.meta?.['dimensions']),
14923
15322
  node: {
14924
15323
  name: `gauge-chart-${uniqueId}`,
14925
15324
  path: `gauge-chart-${uniqueId}`,
@@ -14962,10 +15361,7 @@ function generateLineChartWidget() {
14962
15361
  animationDuration: 1000,
14963
15362
  };
14964
15363
  return {
14965
- config: {
14966
- id: AXPDataGenerator.uuid(),
14967
- ...AXPLineChartWidget?.meta?.['dimensions'],
14968
- },
15364
+ config: createWidgetLayoutConfig(AXPLineChartWidget?.meta?.['dimensions']),
14969
15365
  node: {
14970
15366
  name: `line-chart-${uniqueId}`,
14971
15367
  path: `line-chart-${uniqueId}`,
@@ -14979,7 +15375,7 @@ function generateLineChartWidget() {
14979
15375
  function generateDashboardReportShortcut() {
14980
15376
  const uniqueId = AXPDataGenerator.uuid();
14981
15377
  return {
14982
- config: { id: AXPDataGenerator.uuid(), ...AXPDashboardShortcutWidget?.meta?.['dimensions'] },
15378
+ config: createWidgetLayoutConfig(AXPDashboardShortcutWidget?.meta?.['dimensions']),
14983
15379
  node: {
14984
15380
  name: `dashboard-shortcut-${uniqueId}`,
14985
15381
  path: `dashboard-shortcut-${uniqueId}`,
@@ -15003,7 +15399,7 @@ function generateDashboardReportShortcut() {
15003
15399
  function generateDashboardTaskboardShortcut() {
15004
15400
  const uniqueId = AXPDataGenerator.uuid();
15005
15401
  return {
15006
- config: { id: AXPDataGenerator.uuid(), ...AXPDashboardShortcutWidget?.meta?.['dimensions'] },
15402
+ config: createWidgetLayoutConfig(AXPDashboardShortcutWidget?.meta?.['dimensions']),
15007
15403
  node: {
15008
15404
  name: `dashboard-shortcut-${uniqueId}`,
15009
15405
  path: `dashboard-shortcut-${uniqueId}`,
@@ -15024,7 +15420,7 @@ function generateDashboardTaskboardShortcut() {
15024
15420
  function generateTaskboard1Shortcut() {
15025
15421
  const uniqueId = AXPDataGenerator.uuid();
15026
15422
  return {
15027
- config: { id: AXPDataGenerator.uuid(), ...AXPTaskBoardShortcut?.meta?.['dimensions'] },
15423
+ config: createWidgetLayoutConfig(AXPTaskBoardShortcut?.meta?.['dimensions']),
15028
15424
  node: {
15029
15425
  name: `task-board-shortcut-${uniqueId}`,
15030
15426
  path: `task-board-shortcut-${uniqueId}`,
@@ -15037,7 +15433,7 @@ function generateTaskboard1Shortcut() {
15037
15433
  function generateTaskboard2Shortcut() {
15038
15434
  const uniqueId = AXPDataGenerator.uuid();
15039
15435
  return {
15040
- config: { id: AXPDataGenerator.uuid(), ...AXPTaskBoardShortcut?.meta?.['dimensions'] },
15436
+ config: createWidgetLayoutConfig(AXPTaskBoardShortcut?.meta?.['dimensions']),
15041
15437
  node: {
15042
15438
  name: `task-board-shortcut-${uniqueId}`,
15043
15439
  path: `task-board-shortcut-${uniqueId}`,
@@ -15059,7 +15455,7 @@ function generateTaskboard2Shortcut() {
15059
15455
  function generateAdvancedWeatherWidget() {
15060
15456
  const uniqueId = AXPDataGenerator.uuid();
15061
15457
  return {
15062
- config: { id: AXPDataGenerator.uuid(), ...AXPAdvancedWeatherWidget?.meta?.['dimensions'] },
15458
+ config: createWidgetLayoutConfig(AXPAdvancedWeatherWidget?.meta?.['dimensions']),
15063
15459
  node: {
15064
15460
  name: `advanced-weather-${uniqueId}`,
15065
15461
  path: `advanced-weather-${uniqueId}`,
@@ -15135,7 +15531,7 @@ function generateAnalogClockWidget() {
15135
15531
  [AXPDataGenerator.pick(otherTimezoneOptions), AXPDataGenerator.pick(otherTimezoneOptions)],
15136
15532
  ]);
15137
15533
  return {
15138
- config: { id: AXPDataGenerator.uuid(), ...AXPAnalogClockWidget?.meta?.['dimensions'] },
15534
+ config: createWidgetLayoutConfig(AXPAnalogClockWidget?.meta?.['dimensions']),
15139
15535
  node: {
15140
15536
  name: `analog-clock-${uniqueId}`,
15141
15537
  path: `analog-clock-${uniqueId}`,
@@ -15175,7 +15571,7 @@ function generateAnalogClockWidget2() {
15175
15571
  ];
15176
15572
  const primaryTimezone = AXPDataGenerator.pick(timezoneOptions);
15177
15573
  return {
15178
- config: { id: AXPDataGenerator.uuid(), ...AXPAnalogClockWidget?.meta?.['dimensions'] },
15574
+ config: createWidgetLayoutConfig(AXPAnalogClockWidget?.meta?.['dimensions']),
15179
15575
  node: {
15180
15576
  name: `analog-clock-${uniqueId}`,
15181
15577
  path: `analog-clock-${uniqueId}`,
@@ -15188,7 +15584,7 @@ function generateAnalogClockWidget2() {
15188
15584
  function generateMinimalWeatherWidget() {
15189
15585
  const uniqueId = AXPDataGenerator.uuid();
15190
15586
  return {
15191
- config: { id: AXPDataGenerator.uuid(), ...AXPMinimalWeatherWidget?.meta?.['dimensions'] },
15587
+ config: createWidgetLayoutConfig(AXPMinimalWeatherWidget?.meta?.['dimensions']),
15192
15588
  node: {
15193
15589
  name: `minimal-weather-${uniqueId}`,
15194
15590
  path: `minimal-weather-${uniqueId}`,
@@ -15252,7 +15648,7 @@ function generateNotificationWidget() {
15252
15648
  };
15253
15649
  });
15254
15650
  return {
15255
- config: { id: AXPDataGenerator.uuid(), ...AXPMyNotificationDashboardWidget?.meta?.['dimensions'] },
15651
+ config: createWidgetLayoutConfig(AXPMyNotificationDashboardWidget?.meta?.['dimensions']),
15256
15652
  node: {
15257
15653
  name: `notification-${uniqueId}`,
15258
15654
  path: `notification-${uniqueId}`,
@@ -15273,7 +15669,7 @@ function generateNotificationWidget() {
15273
15669
  function generateStickyNoteWidget() {
15274
15670
  const uniqueId = AXPDataGenerator.uuid();
15275
15671
  return {
15276
- config: { id: AXPDataGenerator.uuid(), ...AXPStickyNoteWidget?.meta?.['dimensions'] },
15672
+ config: createWidgetLayoutConfig(AXPStickyNoteWidget?.meta?.['dimensions']),
15277
15673
  node: {
15278
15674
  name: `sticky-note-${uniqueId}`,
15279
15675
  path: `sticky-note-${uniqueId}`,
@@ -15341,7 +15737,7 @@ function generateTaskBoardWidget() {
15341
15737
  };
15342
15738
  });
15343
15739
  return {
15344
- config: { id: AXPDataGenerator.uuid(), ...AXPTaskBoardWidget?.meta?.['dimensions'] },
15740
+ config: createWidgetLayoutConfig(AXPTaskBoardWidget?.meta?.['dimensions']),
15345
15741
  node: {
15346
15742
  name: `task-board-${uniqueId}`,
15347
15743
  path: `task-board-${uniqueId}`,
@@ -15361,6 +15757,19 @@ function generateTaskBoardWidget() {
15361
15757
  };
15362
15758
  }
15363
15759
 
15760
+ /**
15761
+ * Creates a per-breakpoint widget layout config from the new dimensions format.
15762
+ * Each breakpoint node receives the shared widget id.
15763
+ */
15764
+ function createWidgetLayoutConfig(dimensions) {
15765
+ const id = AXPDataGenerator.uuid();
15766
+ return {
15767
+ id,
15768
+ lg: { id, ...(dimensions?.['lg'] ?? {}) },
15769
+ md: { id, ...(dimensions?.['md'] ?? dimensions?.['lg'] ?? {}) },
15770
+ sm: { id, width: 1, ...(dimensions?.['sm'] ?? {}) },
15771
+ };
15772
+ }
15364
15773
  // Widget types that can be used for generating mock data
15365
15774
  const widgetTypes = [
15366
15775
  'bar-chart',
@@ -54764,10 +55173,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
54764
55173
  type: Injectable
54765
55174
  }] });
54766
55175
 
54767
- const uuid$5 = AXPDataGenerator.uuid;
55176
+ const uuid$7 = AXPDataGenerator.uuid;
54768
55177
  const TEAMS_MOCK = [
54769
55178
  {
54770
- id: uuid$5(),
55179
+ id: uuid$7(),
54771
55180
  title: 'Backend Development Team',
54772
55181
  leaderId: EMPLOYEES_MOCK[1].id, // Mike Chen
54773
55182
  leader: EMPLOYEES_MOCK[1],
@@ -54782,7 +55191,7 @@ const TEAMS_MOCK = [
54782
55191
  description: 'Core backend development team responsible for server-side logic, APIs, and database design.',
54783
55192
  },
54784
55193
  {
54785
- id: uuid$5(),
55194
+ id: uuid$7(),
54786
55195
  title: 'Frontend Development Team',
54787
55196
  leaderId: EMPLOYEES_MOCK[2].id, // Emily Rodriguez
54788
55197
  leader: EMPLOYEES_MOCK[2],
@@ -54797,7 +55206,7 @@ const TEAMS_MOCK = [
54797
55206
  description: 'Frontend development team focused on user interface design and user experience optimization.',
54798
55207
  },
54799
55208
  {
54800
- id: uuid$5(),
55209
+ id: uuid$7(),
54801
55210
  title: 'Quality Assurance Team',
54802
55211
  leaderId: EMPLOYEES_MOCK[2].id, // Emily Rodriguez
54803
55212
  leader: EMPLOYEES_MOCK[2],
@@ -54812,7 +55221,7 @@ const TEAMS_MOCK = [
54812
55221
  description: 'QA team ensuring software quality through comprehensive testing and quality assurance processes.',
54813
55222
  },
54814
55223
  {
54815
- id: uuid$5(),
55224
+ id: uuid$7(),
54816
55225
  title: 'DevOps & Infrastructure Team',
54817
55226
  leaderId: EMPLOYEES_MOCK[1].id, // Mike Chen
54818
55227
  leader: EMPLOYEES_MOCK[1],
@@ -54827,7 +55236,7 @@ const TEAMS_MOCK = [
54827
55236
  description: 'DevOps team managing deployment pipelines, infrastructure automation, and system reliability.',
54828
55237
  },
54829
55238
  {
54830
- id: uuid$5(),
55239
+ id: uuid$7(),
54831
55240
  title: 'Product Management Team',
54832
55241
  leaderId: EMPLOYEES_MOCK[0].id, // Sarah Johnson
54833
55242
  leader: EMPLOYEES_MOCK[0],
@@ -54842,7 +55251,7 @@ const TEAMS_MOCK = [
54842
55251
  description: 'Product management team driving product strategy, roadmap planning, and feature prioritization.',
54843
55252
  },
54844
55253
  {
54845
- id: uuid$5(),
55254
+ id: uuid$7(),
54846
55255
  title: 'Sales & Business Development Team',
54847
55256
  leaderId: EMPLOYEES_MOCK[0].id, // Sarah Johnson
54848
55257
  leader: EMPLOYEES_MOCK[0],
@@ -54857,7 +55266,7 @@ const TEAMS_MOCK = [
54857
55266
  description: 'Sales team focused on revenue growth, client relationships, and business expansion.',
54858
55267
  },
54859
55268
  {
54860
- id: uuid$5(),
55269
+ id: uuid$7(),
54861
55270
  title: 'Human Resources Team',
54862
55271
  leaderId: EMPLOYEES_MOCK[4].id, // Lisa Wang
54863
55272
  leader: EMPLOYEES_MOCK[4],
@@ -54872,7 +55281,7 @@ const TEAMS_MOCK = [
54872
55281
  description: 'HR team managing employee relations, recruitment, training, and organizational development.',
54873
55282
  },
54874
55283
  {
54875
- id: uuid$5(),
55284
+ id: uuid$7(),
54876
55285
  title: 'Finance & Accounting Team',
54877
55286
  leaderId: EMPLOYEES_MOCK[2].id, // Emily Rodriguez
54878
55287
  leader: EMPLOYEES_MOCK[2],
@@ -54887,7 +55296,7 @@ const TEAMS_MOCK = [
54887
55296
  description: 'Finance team handling financial planning, budgeting, accounting, and regulatory compliance.',
54888
55297
  },
54889
55298
  {
54890
- id: uuid$5(),
55299
+ id: uuid$7(),
54891
55300
  title: 'IT Support Team',
54892
55301
  leaderId: EMPLOYEES_MOCK[3].id, // David Thompson
54893
55302
  leader: EMPLOYEES_MOCK[3],
@@ -54902,7 +55311,7 @@ const TEAMS_MOCK = [
54902
55311
  description: 'IT support team providing technical assistance, system administration, and infrastructure support.',
54903
55312
  },
54904
55313
  {
54905
- id: uuid$5(),
55314
+ id: uuid$7(),
54906
55315
  title: 'Security & Compliance Team',
54907
55316
  leaderId: EMPLOYEES_MOCK[3].id, // David Thompson
54908
55317
  leader: EMPLOYEES_MOCK[3],
@@ -54917,7 +55326,7 @@ const TEAMS_MOCK = [
54917
55326
  description: 'Security team managing cybersecurity, data protection, and compliance requirements.',
54918
55327
  },
54919
55328
  {
54920
- id: uuid$5(),
55329
+ id: uuid$7(),
54921
55330
  title: 'Marketing & Communications Team',
54922
55331
  leaderId: EMPLOYEES_MOCK[4].id, // Lisa Wang
54923
55332
  leader: EMPLOYEES_MOCK[4],
@@ -54932,7 +55341,7 @@ const TEAMS_MOCK = [
54932
55341
  description: 'Marketing team managing brand strategy, campaigns, and customer communications.',
54933
55342
  },
54934
55343
  {
54935
- id: uuid$5(),
55344
+ id: uuid$7(),
54936
55345
  title: 'Research & Development Team',
54937
55346
  leaderId: EMPLOYEES_MOCK[1].id, // Mike Chen
54938
55347
  leader: EMPLOYEES_MOCK[1],
@@ -54947,7 +55356,7 @@ const TEAMS_MOCK = [
54947
55356
  description: 'R&D team focusing on innovation, technology advancement, and intellectual property development.',
54948
55357
  },
54949
55358
  {
54950
- id: uuid$5(),
55359
+ id: uuid$7(),
54951
55360
  title: 'Customer Success Team',
54952
55361
  leaderId: EMPLOYEES_MOCK[4].id, // Lisa Wang
54953
55362
  leader: EMPLOYEES_MOCK[4],
@@ -54962,7 +55371,7 @@ const TEAMS_MOCK = [
54962
55371
  description: 'Customer success team ensuring customer satisfaction and driving retention and growth.',
54963
55372
  },
54964
55373
  {
54965
- id: uuid$5(),
55374
+ id: uuid$7(),
54966
55375
  title: 'Data & Analytics Team',
54967
55376
  leaderId: EMPLOYEES_MOCK[2].id, // Emily Rodriguez
54968
55377
  leader: EMPLOYEES_MOCK[2],
@@ -54977,7 +55386,7 @@ const TEAMS_MOCK = [
54977
55386
  description: 'Data team managing analytics capabilities and providing data-driven insights for decision making.',
54978
55387
  },
54979
55388
  {
54980
- id: uuid$5(),
55389
+ id: uuid$7(),
54981
55390
  title: 'Legal & Risk Management Team',
54982
55391
  leaderId: EMPLOYEES_MOCK[3].id, // David Thompson
54983
55392
  leader: EMPLOYEES_MOCK[3],
@@ -54992,7 +55401,7 @@ const TEAMS_MOCK = [
54992
55401
  description: 'Legal team handling legal matters, regulatory compliance, and risk management.',
54993
55402
  },
54994
55403
  {
54995
- id: uuid$5(),
55404
+ id: uuid$7(),
54996
55405
  title: 'HSE Compliance Team',
54997
55406
  leaderId: EMPLOYEES_MOCK[3].id, // David Thompson
54998
55407
  leader: EMPLOYEES_MOCK[3],
@@ -55022,12 +55431,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
55022
55431
  type: Injectable
55023
55432
  }] });
55024
55433
 
55025
- const uuid$4 = AXPDataGenerator.uuid;
55434
+ const uuid$6 = AXPDataGenerator.uuid;
55026
55435
  const TEAM_MEMBER_ROLES_MOCK = [
55027
- { id: uuid$4(), title: 'Leader', name: 'leader' },
55028
- { id: uuid$4(), title: 'Member', name: 'member' },
55029
- { id: uuid$4(), title: 'Co-Leader', name: 'co-leader' },
55030
- { id: uuid$4(), title: 'Advisor', name: 'advisor' },
55436
+ { id: uuid$6(), title: 'Leader', name: 'leader' },
55437
+ { id: uuid$6(), title: 'Member', name: 'member' },
55438
+ { id: uuid$6(), title: 'Co-Leader', name: 'co-leader' },
55439
+ { id: uuid$6(), title: 'Advisor', name: 'advisor' },
55031
55440
  ];
55032
55441
 
55033
55442
  class AXMTeamMemberRoleDataSeeder {
@@ -55044,7 +55453,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
55044
55453
  type: Injectable
55045
55454
  }] });
55046
55455
 
55047
- const uuid$3 = AXPDataGenerator.uuid;
55456
+ const uuid$5 = AXPDataGenerator.uuid;
55048
55457
  // Helper function to find role by name
55049
55458
  const findRoleByName$1 = (name) => {
55050
55459
  return TEAM_MEMBER_ROLES_MOCK.find((r) => r.name === name) || TEAM_MEMBER_ROLES_MOCK[1]; // default to 'member'
@@ -55056,7 +55465,7 @@ for (const team of TEAMS_MOCK) {
55056
55465
  // Add leader
55057
55466
  const leaderRole = findRoleByName$1('leader');
55058
55467
  TEAM_MEMBERS_MOCK.push({
55059
- id: uuid$3(),
55468
+ id: uuid$5(),
55060
55469
  teamId: team.id,
55061
55470
  team: team,
55062
55471
  employeeId: team.leaderId,
@@ -55074,7 +55483,7 @@ for (const team of TEAMS_MOCK) {
55074
55483
  const employee = team.members.find((m) => m.id === memberId);
55075
55484
  if (employee) {
55076
55485
  TEAM_MEMBERS_MOCK.push({
55077
- id: uuid$3(),
55486
+ id: uuid$5(),
55078
55487
  teamId: team.id,
55079
55488
  team: team,
55080
55489
  employeeId: memberId,
@@ -57258,7 +57667,7 @@ const supplierCategoryMocks = [
57258
57667
  },
57259
57668
  ];
57260
57669
 
57261
- const uuid$2 = AXPDataGenerator.uuid;
57670
+ const uuid$4 = AXPDataGenerator.uuid;
57262
57671
  function findOrganizationPersonMinimal(id) {
57263
57672
  const org = personMock.find((p) => p.id === id && p.typeId === 'legal');
57264
57673
  if (!org)
@@ -57269,7 +57678,7 @@ function findOrganizationPersonMinimal(id) {
57269
57678
  const getCategoryTitle$1 = (id) => supplierCategoryMocks.find((c) => c.id === id)?.title || '';
57270
57679
  const SUPPLIERS_MOCK = [
57271
57680
  {
57272
- id: uuid$2(),
57681
+ id: uuid$4(),
57273
57682
  supplierCode: 'SUPP-202401-0100',
57274
57683
  personId: personLegalIds.globalSuppliersLtd,
57275
57684
  person: findOrganizationPersonMinimal(personLegalIds.globalSuppliersLtd),
@@ -57299,7 +57708,7 @@ const SUPPLIERS_MOCK = [
57299
57708
  notes: 'Primary manufacturing supplier with excellent quality standards.'
57300
57709
  },
57301
57710
  {
57302
- id: uuid$2(),
57711
+ id: uuid$4(),
57303
57712
  supplierCode: 'SUPP-202401-0101',
57304
57713
  personId: personLegalIds.pacificRimTechnologies,
57305
57714
  person: findOrganizationPersonMinimal(personLegalIds.pacificRimTechnologies),
@@ -57328,7 +57737,7 @@ const SUPPLIERS_MOCK = [
57328
57737
  notes: 'Reliable distributor with good delivery performance.'
57329
57738
  },
57330
57739
  {
57331
- id: uuid$2(),
57740
+ id: uuid$4(),
57332
57741
  supplierCode: 'SUPP-202401-0102',
57333
57742
  personId: personLegalIds.asianDevelopmentPartners,
57334
57743
  person: findOrganizationPersonMinimal(personLegalIds.asianDevelopmentPartners),
@@ -57357,7 +57766,7 @@ const SUPPLIERS_MOCK = [
57357
57766
  notes: 'Wholesale supplier for bulk orders.'
57358
57767
  },
57359
57768
  {
57360
- id: uuid$2(),
57769
+ id: uuid$4(),
57361
57770
  supplierCode: 'SUPP-202401-0103',
57362
57771
  personId: personLegalIds.globalLogisticsPartners,
57363
57772
  person: findOrganizationPersonMinimal(personLegalIds.globalLogisticsPartners),
@@ -57380,7 +57789,7 @@ const SUPPLIERS_MOCK = [
57380
57789
  notes: 'New service provider under evaluation.'
57381
57790
  },
57382
57791
  {
57383
- id: uuid$2(),
57792
+ id: uuid$4(),
57384
57793
  supplierCode: 'SUPP-202401-0104',
57385
57794
  personId: personLegalIds.techSolutionsInc,
57386
57795
  person: findOrganizationPersonMinimal(personLegalIds.techSolutionsInc),
@@ -57410,7 +57819,7 @@ const SUPPLIERS_MOCK = [
57410
57819
  notes: 'Long-term technology partner with proven track record.'
57411
57820
  },
57412
57821
  {
57413
- id: uuid$2(),
57822
+ id: uuid$4(),
57414
57823
  supplierCode: 'SUPP-202401-0105',
57415
57824
  personId: personLegalIds.acmeCorporation,
57416
57825
  person: findOrganizationPersonMinimal(personLegalIds.acmeCorporation),
@@ -57439,7 +57848,7 @@ const SUPPLIERS_MOCK = [
57439
57848
  notes: 'Major food and beverage distributor with extensive network.'
57440
57849
  },
57441
57850
  {
57442
- id: uuid$2(),
57851
+ id: uuid$4(),
57443
57852
  supplierCode: 'SUPP-202401-0106',
57444
57853
  personId: personLegalIds.europeanManufacturingConsortium,
57445
57854
  person: findOrganizationPersonMinimal(personLegalIds.europeanManufacturingConsortium),
@@ -57469,7 +57878,7 @@ const SUPPLIERS_MOCK = [
57469
57878
  notes: 'European manufacturing leader with ISO certifications.'
57470
57879
  },
57471
57880
  {
57472
- id: uuid$2(),
57881
+ id: uuid$4(),
57473
57882
  supplierCode: 'SUPP-202401-0107',
57474
57883
  personId: personLegalIds.middleEastInvestmentGroup,
57475
57884
  person: findOrganizationPersonMinimal(personLegalIds.middleEastInvestmentGroup),
@@ -57492,7 +57901,7 @@ const SUPPLIERS_MOCK = [
57492
57901
  notes: 'Raw materials supplier with competitive pricing.'
57493
57902
  },
57494
57903
  {
57495
- id: uuid$2(),
57904
+ id: uuid$4(),
57496
57905
  supplierCode: 'SUPP-202401-0108',
57497
57906
  personId: personLegalIds.australianInnovationHub,
57498
57907
  person: findOrganizationPersonMinimal(personLegalIds.australianInnovationHub),
@@ -57522,7 +57931,7 @@ const SUPPLIERS_MOCK = [
57522
57931
  notes: 'Innovation consulting and IT services provider.'
57523
57932
  },
57524
57933
  {
57525
- id: uuid$2(),
57934
+ id: uuid$4(),
57526
57935
  supplierCode: 'SUPP-202401-0109',
57527
57936
  personId: personLegalIds.nordicDesignCollective,
57528
57937
  person: findOrganizationPersonMinimal(personLegalIds.nordicDesignCollective),
@@ -57545,7 +57954,7 @@ const SUPPLIERS_MOCK = [
57545
57954
  notes: 'Nordic design and textile supplier.'
57546
57955
  },
57547
57956
  {
57548
- id: uuid$2(),
57957
+ id: uuid$4(),
57549
57958
  supplierCode: 'SUPP-202401-0110',
57550
57959
  personId: personLegalIds.latinAmericanTradeAlliance,
57551
57960
  person: findOrganizationPersonMinimal(personLegalIds.latinAmericanTradeAlliance),
@@ -60032,7 +60441,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
60032
60441
  type: Injectable
60033
60442
  }] });
60034
60443
 
60035
- const uuid$1 = AXPDataGenerator.uuid;
60444
+ const uuid$3 = AXPDataGenerator.uuid;
60036
60445
  // Helper function to get a random item from array
60037
60446
  function getRandomItem(array) {
60038
60447
  return array[Math.floor(Math.random() * array.length)];
@@ -60101,7 +60510,7 @@ const workSiteLocations = locationMock.filter(l => l && l.id && l.title && (l.lo
60101
60510
  l.locationType?.title === 'Construction Site'));
60102
60511
  const jsaMock = [
60103
60512
  {
60104
- id: uuid$1(),
60513
+ id: uuid$3(),
60105
60514
  docNo: 'JSA-202508-0001',
60106
60515
  customerId: validCustomers[0]?.id || CUSTOMERS_MOCK[0]?.id,
60107
60516
  customer: getCustomerMinimal(validCustomers[0] || CUSTOMERS_MOCK[0]),
@@ -60121,7 +60530,7 @@ const jsaMock = [
60121
60530
  status: 'Pending'
60122
60531
  },
60123
60532
  {
60124
- id: uuid$1(),
60533
+ id: uuid$3(),
60125
60534
  docNo: 'JSA-202508-0002',
60126
60535
  customerId: validCustomers[1]?.id || CUSTOMERS_MOCK[1]?.id,
60127
60536
  customer: getCustomerMinimal(validCustomers[1] || CUSTOMERS_MOCK[1]),
@@ -60141,7 +60550,7 @@ const jsaMock = [
60141
60550
  status: 'Signed'
60142
60551
  },
60143
60552
  {
60144
- id: uuid$1(),
60553
+ id: uuid$3(),
60145
60554
  docNo: 'JSA-202508-0003',
60146
60555
  customerId: validCustomers[2]?.id || CUSTOMERS_MOCK[2]?.id,
60147
60556
  customer: getCustomerMinimal(validCustomers[2] || CUSTOMERS_MOCK[2]),
@@ -60161,7 +60570,7 @@ const jsaMock = [
60161
60570
  status: 'Pending'
60162
60571
  },
60163
60572
  {
60164
- id: uuid$1(),
60573
+ id: uuid$3(),
60165
60574
  docNo: 'JSA-202508-0004',
60166
60575
  customerId: validCustomers[3]?.id || CUSTOMERS_MOCK[3]?.id,
60167
60576
  customer: getCustomerMinimal(validCustomers[3] || CUSTOMERS_MOCK[3]),
@@ -60181,7 +60590,7 @@ const jsaMock = [
60181
60590
  status: 'Signed'
60182
60591
  },
60183
60592
  {
60184
- id: uuid$1(),
60593
+ id: uuid$3(),
60185
60594
  docNo: 'JSA-202508-0005',
60186
60595
  customerId: validCustomers[4]?.id || CUSTOMERS_MOCK[4]?.id,
60187
60596
  customer: getCustomerMinimal(validCustomers[4] || CUSTOMERS_MOCK[4]),
@@ -60201,7 +60610,7 @@ const jsaMock = [
60201
60610
  status: 'Setup'
60202
60611
  },
60203
60612
  {
60204
- id: uuid$1(),
60613
+ id: uuid$3(),
60205
60614
  docNo: 'JSA-202508-0006',
60206
60615
  customerId: validCustomers[5]?.id || CUSTOMERS_MOCK[5]?.id,
60207
60616
  customer: getCustomerMinimal(validCustomers[5] || CUSTOMERS_MOCK[5]),
@@ -60221,7 +60630,7 @@ const jsaMock = [
60221
60630
  status: 'Pending'
60222
60631
  },
60223
60632
  {
60224
- id: uuid$1(),
60633
+ id: uuid$3(),
60225
60634
  docNo: 'JSA-202508-0007',
60226
60635
  customerId: validCustomers[6]?.id || CUSTOMERS_MOCK[6]?.id,
60227
60636
  customer: getCustomerMinimal(validCustomers[6] || CUSTOMERS_MOCK[6]),
@@ -60241,7 +60650,7 @@ const jsaMock = [
60241
60650
  status: 'Signed'
60242
60651
  },
60243
60652
  {
60244
- id: uuid$1(),
60653
+ id: uuid$3(),
60245
60654
  docNo: 'JSA-202508-0008',
60246
60655
  customerId: CUSTOMERS_MOCK[0].id,
60247
60656
  customer: getCustomerMinimal(CUSTOMERS_MOCK[0]),
@@ -60261,7 +60670,7 @@ const jsaMock = [
60261
60670
  status: 'Pending'
60262
60671
  },
60263
60672
  {
60264
- id: uuid$1(),
60673
+ id: uuid$3(),
60265
60674
  docNo: 'JSA-202508-0009',
60266
60675
  customerId: validCustomers[1]?.id || CUSTOMERS_MOCK[1]?.id,
60267
60676
  customer: getCustomerMinimal(validCustomers[1] || CUSTOMERS_MOCK[1]),
@@ -60281,7 +60690,7 @@ const jsaMock = [
60281
60690
  status: 'Signed'
60282
60691
  },
60283
60692
  {
60284
- id: uuid$1(),
60693
+ id: uuid$3(),
60285
60694
  docNo: 'JSA-202508-0010',
60286
60695
  customerId: validCustomers[2]?.id || CUSTOMERS_MOCK[2]?.id,
60287
60696
  customer: getCustomerMinimal(validCustomers[2] || CUSTOMERS_MOCK[2]),
@@ -61514,23 +61923,91 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
61514
61923
  }]
61515
61924
  }] });
61516
61925
 
61517
- const uuid = AXPDataGenerator.uuid;
61926
+ const uuid$2 = AXPDataGenerator.uuid;
61927
+ const ReservationTypeMock = [
61928
+ {
61929
+ id: uuid$2(),
61930
+ name: 'booking',
61931
+ title: 'Booking',
61932
+ isBlocking: false
61933
+ },
61934
+ {
61935
+ id: uuid$2(),
61936
+ name: 'internal',
61937
+ title: 'Internal',
61938
+ isBlocking: false
61939
+ },
61940
+ {
61941
+ id: uuid$2(),
61942
+ name: 'outOfService',
61943
+ title: 'Out Of Service',
61944
+ isBlocking: false
61945
+ },
61946
+ {
61947
+ id: uuid$2(),
61948
+ name: 'holidays',
61949
+ title: 'Holidays',
61950
+ isBlocking: true
61951
+ },
61952
+ {
61953
+ id: uuid$2(),
61954
+ name: 'maintenance',
61955
+ title: 'Maintenance Reservation',
61956
+ isBlocking: false
61957
+ },
61958
+ {
61959
+ id: uuid$2(),
61960
+ name: 'holding',
61961
+ title: 'Holding',
61962
+ isBlocking: true
61963
+ },
61964
+ {
61965
+ id: uuid$2(),
61966
+ name: 'other',
61967
+ title: 'Other',
61968
+ isBlocking: false
61969
+ },
61970
+ ];
61971
+
61972
+ const uuid$1 = AXPDataGenerator.uuid;
61973
+ // Helper function to pick random items from array
61974
+ function pickRandom(arr, count) {
61975
+ const shuffled = [...arr].sort(() => 0.5 - Math.random());
61976
+ return shuffled.slice(0, Math.min(count, arr.length));
61977
+ }
61978
+ // Helper function to get random reservation types
61979
+ // Returns random selection of reservation types from ReservationTypeMock
61980
+ const getRandomReservationTypes = (minCount = 2, maxCount = 4) => {
61981
+ const count = Math.floor(Math.random() * (maxCount - minCount + 1)) + minCount;
61982
+ const selectedTypes = pickRandom(ReservationTypeMock, count);
61983
+ return selectedTypes.map(type => ({ id: type.id, title: type.title, name: type.name }));
61984
+ };
61985
+ // Helper function to get random reservation type IDs
61986
+ const getRandomReservationTypeIds = (minCount = 2, maxCount = 4) => {
61987
+ return getRandomReservationTypes(minCount, maxCount).map(type => type.id);
61988
+ };
61518
61989
  const ReservationClassMock = [
61519
- // {
61520
- // id: uuid(),
61521
- // code: 'asset',
61522
- // title: 'Asset',
61523
- // },
61524
- // {
61525
- // id: uuid(),
61526
- // code: 'location',
61527
- // title: 'Location',
61528
- // },
61529
- // {
61530
- // id: uuid(),
61531
- // code: 'service',
61532
- // title: 'Service',
61533
- // },
61990
+ {
61991
+ id: uuid$1(),
61992
+ name: 'asset',
61993
+ title: 'Asset',
61994
+ reservationTypeIds: getRandomReservationTypeIds(),
61995
+ reservationTypes: getRandomReservationTypes()
61996
+ },
61997
+ {
61998
+ id: uuid$1(),
61999
+ name: 'location',
62000
+ title: 'Location',
62001
+ reservationTypeIds: getRandomReservationTypeIds(),
62002
+ reservationTypes: getRandomReservationTypes()
62003
+ },
62004
+ {
62005
+ id: uuid$1(),
62006
+ name: 'service',
62007
+ title: 'Service',
62008
+ reservationTypeIds: getRandomReservationTypeIds(),
62009
+ reservationTypes: getRandomReservationTypes()
62010
+ },
61534
62011
  ];
61535
62012
 
61536
62013
  class AXMReservationClassSeeder {
@@ -61547,15 +62024,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
61547
62024
  type: Injectable
61548
62025
  }] });
61549
62026
 
62027
+ class AXMReservationTypeSeeder {
62028
+ constructor() {
62029
+ this.storageService = inject(AXPEntityStorageService);
62030
+ }
62031
+ async seed() {
62032
+ await this.storageService.initial(RootConfig$w.entities.reservationType.source, ReservationTypeMock);
62033
+ }
62034
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationTypeSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62035
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationTypeSeeder }); }
62036
+ }
62037
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationTypeSeeder, decorators: [{
62038
+ type: Injectable
62039
+ }] });
62040
+
62041
+ const uuid = AXPDataGenerator.uuid;
62042
+ const ReservationStatusMock = [
62043
+ {
62044
+ id: uuid(),
62045
+ name: 'requested',
62046
+ title: 'Requested',
62047
+ color: '#FFA500', // Orange
62048
+ icon: 'fas fa-clock' // Clock icon
62049
+ },
62050
+ {
62051
+ id: uuid(),
62052
+ name: 'available',
62053
+ title: 'Available',
62054
+ color: '#008000', // Green
62055
+ icon: 'fas fa-check-circle' // Check-circle icon
62056
+ },
62057
+ {
62058
+ id: uuid(),
62059
+ name: 'approved',
62060
+ title: 'Approved',
62061
+ color: '#0000FF', // Blue
62062
+ icon: 'fas fa-thumbs-up' // Thumbs-up icon
62063
+ },
62064
+ {
62065
+ id: uuid(),
62066
+ name: 'inUse',
62067
+ title: 'In Use',
62068
+ color: '#FFD700', // Gold
62069
+ icon: 'fas fa-cogs' // Cogs icon
62070
+ },
62071
+ {
62072
+ id: uuid(),
62073
+ name: 'checked',
62074
+ title: 'Checked',
62075
+ color: '#800080', // Purple
62076
+ icon: 'fas fa-check' // Check icon
62077
+ },
62078
+ {
62079
+ id: uuid(),
62080
+ name: 'outOfOrder',
62081
+ title: 'Out Of Order',
62082
+ color: '#FF0000', // Red
62083
+ icon: 'fas fa-exclamation-triangle' // Exclamation-triangle icon
62084
+ },
62085
+ {
62086
+ id: uuid(),
62087
+ name: 'transfering',
62088
+ title: 'Transfering',
62089
+ color: '#000000', // Black
62090
+ icon: 'fas fa-share' // Share icon
62091
+ },
62092
+ ];
62093
+
62094
+ class AXMReservationStatusSeeder {
62095
+ constructor() {
62096
+ this.storageService = inject(AXPEntityStorageService);
62097
+ }
62098
+ async seed() {
62099
+ await this.storageService.initial(RootConfig$w.entities.reservationStatus.source, ReservationStatusMock);
62100
+ }
62101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationStatusSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62102
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationStatusSeeder }); }
62103
+ }
62104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationStatusSeeder, decorators: [{
62105
+ type: Injectable
62106
+ }] });
62107
+
61550
62108
  class AXCReservationManagementMockModule {
61551
62109
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCReservationManagementMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
61552
62110
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXCReservationManagementMockModule }); }
61553
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCReservationManagementMockModule, providers: [{ provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMReservationClassSeeder, multi: true }] }); }
62111
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCReservationManagementMockModule, providers: [
62112
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMReservationTypeSeeder, multi: true },
62113
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMReservationStatusSeeder, multi: true },
62114
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMReservationClassSeeder, multi: true }
62115
+ ] }); }
61554
62116
  }
61555
62117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCReservationManagementMockModule, decorators: [{
61556
62118
  type: NgModule,
61557
62119
  args: [{
61558
- providers: [{ provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMReservationClassSeeder, multi: true }],
62120
+ providers: [
62121
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMReservationTypeSeeder, multi: true },
62122
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMReservationStatusSeeder, multi: true },
62123
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMReservationClassSeeder, multi: true }
62124
+ ],
61559
62125
  }]
61560
62126
  }] });
61561
62127
 
@@ -67587,6 +68153,56 @@ class AXPTaskBoardPlatformManagementTaskProvider extends AXPWorkflowTaskProvider
67587
68153
  //#region ---- Module Export ----
67588
68154
  //#endregion
67589
68155
 
68156
+ class AXMMaintenanceTypeDataSeeder {
68157
+ constructor() {
68158
+ this.storage = inject(AXPEntityStorageService);
68159
+ }
68160
+ async seed() {
68161
+ await this.storage.initial(RootConfig$C.entities.maintenanceType.source, maintenanceTypeMock);
68162
+ }
68163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMMaintenanceTypeDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
68164
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMMaintenanceTypeDataSeeder }); }
68165
+ }
68166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMMaintenanceTypeDataSeeder, decorators: [{
68167
+ type: Injectable
68168
+ }] });
68169
+
68170
+ const maintenanceMock = [
68171
+ {
68172
+ id: AXPDataGenerator.uuid(),
68173
+ },
68174
+ ];
68175
+
68176
+ class AXMMaintenanceDataSeeder {
68177
+ constructor() {
68178
+ this.storage = inject(AXPEntityStorageService);
68179
+ }
68180
+ async seed() {
68181
+ await this.storage.initial(RootConfig$C.entities.maintenance.source, maintenanceMock);
68182
+ }
68183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMMaintenanceDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
68184
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMMaintenanceDataSeeder }); }
68185
+ }
68186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMMaintenanceDataSeeder, decorators: [{
68187
+ type: Injectable
68188
+ }] });
68189
+
68190
+ class AXCMaintenanceManagementMockModule {
68191
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMaintenanceManagementMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
68192
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXCMaintenanceManagementMockModule }); }
68193
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMaintenanceManagementMockModule, providers: [{ provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMMaintenanceTypeDataSeeder, multi: true },
68194
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMMaintenanceDataSeeder, multi: true }
68195
+ ] }); }
68196
+ }
68197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMaintenanceManagementMockModule, decorators: [{
68198
+ type: NgModule,
68199
+ args: [{
68200
+ providers: [{ provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMMaintenanceTypeDataSeeder, multi: true },
68201
+ { provide: AXP_DATA_SEEDER_TOKEN, useClass: AXMMaintenanceDataSeeder, multi: true }
68202
+ ],
68203
+ }]
68204
+ }] });
68205
+
67590
68206
  class AXCMockModule {
67591
68207
  constructor(appInitService, injector) {
67592
68208
  const seederService = injector.get(AXPDataSeederService);
@@ -67647,6 +68263,7 @@ class AXCMockModule {
67647
68263
  AXCMeasurementCoreMockModule,
67648
68264
  AXCProductCatalogMockModule,
67649
68265
  AXCReservationManagementMockModule,
68266
+ AXCMaintenanceManagementMockModule,
67650
68267
  //
67651
68268
  AXCMiddlewaresModule] }); }
67652
68269
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMockModule, providers: [
@@ -67706,6 +68323,7 @@ class AXCMockModule {
67706
68323
  AXCMeasurementCoreMockModule,
67707
68324
  AXCProductCatalogMockModule,
67708
68325
  AXCReservationManagementMockModule,
68326
+ AXCMaintenanceManagementMockModule,
67709
68327
  //
67710
68328
  AXCMiddlewaresModule] }); }
67711
68329
  }
@@ -67763,6 +68381,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
67763
68381
  AXCMeasurementCoreMockModule,
67764
68382
  AXCProductCatalogMockModule,
67765
68383
  AXCReservationManagementMockModule,
68384
+ AXCMaintenanceManagementMockModule,
67766
68385
  //
67767
68386
  AXCMiddlewaresModule,
67768
68387
  ],
@@ -67886,5 +68505,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
67886
68505
  * Generated bundle index. Do not edit.
67887
68506
  */
67888
68507
 
67889
- export { ACTIVITY_CATEGORIES, ACTIVITY_DEFINITIONS, APPLICATIONS, AXCActivityCategorySeeder, AXCActivityDefinitionSeeder, AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCApplicationDataSeeder, AXCApplicationManagementMockModule, AXCAssessmentManagementMockModule, AXCAssetManagementMockModule, AXCAuthMockModule, AXCCalendarDataSeeder, AXCCalendarEventDataSeeder, AXCCalendarManagementMockModule, AXCCommonMockModule, AXCContactCoreMockModule, AXCContactManagementMockModule, AXCContentManagementMockModule, AXCConversationMockModule, AXCCustomerManagementMockModule, AXCDashboardManagementMockModule, AXCDataManagementMockModule, AXCDexieEntityStorageService, AXCDocumentManagementMockModule, AXCEditionDataSeeder, AXCEquipmentCategorySeeder, AXCEquipmentSeeder, AXCFileStorageService, AXCFinancialCoreMockModule, AXCFormTemplateManagementMockModule, AXCGoogleStrategyMock, AXCHealthCoreMockModule, AXCHelpDeskMockModule, AXCHumanCapitalManagementMockModule, AXCIdentifierManagementMockModule, AXCImageCaptchaChallengeProviderMock, AXCJsaSeeder, AXCLearningManagementMockModule, AXCLocaleManagementMockModule, AXCLocationManagementMockModule, AXCLockService, AXCMeasurementCoreMockModule, AXCMeetingManagementMockModule, AXCMetaDataDefinitionDataSeeder, AXCMetaDataDefinitionElectricityDataSeeder, AXCMetadataCategorySeeder, AXCMetadataElectricityCategorySeeder, AXCMiddlewaresModule, AXCMockCaptchaChallengeComponent, AXCMockEntityLogListener, AXCMockModule, AXCMockShowMetaDataFormPopupCommand, AXCNotificationManagementMockModule, AXCOrderManagementMockModule, AXCOrganizationManagementMockModule, AXCPersonCoreMockModule, AXCPersonManagementMockModule, AXCPlatformManagementMockModule, AXCProcurementManagementMockModule, AXCProductCatalogMockModule, AXCProjectManagementMockModule, AXCQueryCategoryMetadataInheritanceQuery, AXCReportManagementMockModule, AXCSecurityManagementMockModule, AXCSubscriptionManagementMockModule, AXCSupplierManagementMockModule, AXCTaskManagementMockModule, AXCTenantManagementMockModule, AXCTenantSeeder, AXCTokensDataSeeder, AXCUserPassStrategyMock, AXCVersionDB, AXCVersioningService, AXCWorkflowCategorySeeder, AXCWorkflowDefinitionDataSeeder, AXCWorkflowEngine, AXCWorkflowExecutionDB, AXCWorkflowManagementMockModule, AXMAiResponderService, AXMAssessmentCaseDataSeeder, AXMAssessmentSessionDataSeeder, AXMBusinessUnitDataSeeder, AXMCalendarEventTypeSeeder, AXMEmployeeDataSeeder, AXMEmploymentTypeDataSeeder, AXMFormDataSourcesProvider, AXMJobDefinitionDataSeeder, AXMJobLevelDataSeeder, AXMLeaveRequestDataSeeder, AXMMeetingDataSeeder, AXMMeetingFilesDataSeeder, AXMMeetingParticipantDataSeeder, AXMMeetingRoleTypeDataSeeder, AXMMeetingSessionDataSeeder, AXMMeetingTypeDataSeeder, AXMMeetingTypeFileTemplateDataSeeder, AXMPositionAssignmentDataSeeder, AXMPositionDataSeeder, AXMQuestionBankItemCategoryDataSeeder, AXMQuestionBankItemDataSeeder, AXMQuestionnaireCategoryDataSeeder, AXMQuestionnaireDataSeeder, AXMResponsibilityDataSeeder, AXMTagDataSeeder, AXMTeamDataSeeder, AXMTeamMemberDataSeeder, AXMTeamMemberRoleDataSeeder, AXPDashboardDataSeeder, AXPIdentifierDB, AXPMessageDataSeeder, AXPMockChecksumProvider, AXPMockClockProvider, AXPMockIdentifierService, AXPMockLookupProvider, AXPMockPolicyProvider, AXPMockSequenceProvider, AXPRoomDataSeeder, AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder, AXPTaskBoardPlatformManagementTaskProvider, AXPTaskBoardProjectManagementTaskProvider, AXVChangeType, BUSINESS_UNITS_MOCK, COSTMANAGER_ENTERPRISE, COSTMANAGER_PROFESSIONAL, COSTMANAGER_STANDARD, CRM_ENTERPRISE, DASHBOARDS, EDITIONS, EMPLOYEES_MOCK, EMPLOYMENT_TYPES_MOCK, EQUIPMENT_CATEGORY_ID, FINANCE_BASIC, FINANCE_ENTERPRISE, FINANCE_PRO, HR_ENTERPRISE, JOB_DEFINITIONS_CATEGORY_MOCK, JOB_DEFINITIONS_MOCK, JOB_LEVELS_MOCK, LASER_PLUMBING_TENANT_ID, LEAVE_REQUESTS_MOCK, METADATA_ELECTRICITY_MOCK, ORDERING_BASIC, ORDERING_ENTERPRISE, ORDERING_STANDARD, OWNERSHIP_FILTER_BYPASS, PLATFORM_CONSOLE, PLATFORM_TENANT_ID, POSITIONS_CATEGORY_MOCK, POSITIONS_MOCK, POSITION_ASSIGNMENTS_MOCK, QUESTIONNAIRE_CATEGORY_MOCK, QUESTION_BANK_ITEM_CATEGORY_MOCK, RESPONSIBILITIES_CATEGORY_MOCK, RESPONSIBILITIES_MOCK, SAFETYMINDER_BASIC, SAFETYMINDER_ENTERPRISE, SAFETYMINDER_PROFESSIONAL, SHOP_BASIC, SHOP_ENTERPRISE, SHOP_PRO, TAGS_MOCK, TASKS, TASK_STATUSES, TASK_TEMPLATES, TASK_TYPES, TEAMS_MOCK, TEAM_MEMBERS_MOCK, TEAM_MEMBER_ROLES_MOCK, TIMEPLICITY_TENANT_ID, TOKENS, VISIBILITY_FILTER_BYPASS, WORKFLOW_CATEGORIES, activityCategoryMocks, assessmentCaseMock, assessmentSessionMock, auditLoggerMiddleware, avatarInterface, axVersionDB, axWorkflowExecutionDB, bypassAllFilters, bypassOwnershipFilter, bypassVisibilityFilter, calendarEventMock, calendarEventTypeMockData, calendarMock, categoryResolverMiddleware, checkboxInterface, childCountMiddleware, colorInterface, computeDiff, contactInterface, createAndSaveDashboardForUser, createDashboardForUser, createFileCastMiddleware, dateInterface, dateTimeInterface, descriptionInterface, emailInterface, equipmentCategoryMocks, equipmentMocks, fileUploaderInterface, findEmployeeById, findPersonById, generateUserDashboard, groupOrderItemCalculatorMiddleware, historyLoggerMiddleware, identifierCommitMiddleware, imageInterface, lockGuardMiddleware, longTextAnswerInterface, lookupInterface, lookupResolverMiddleware, mapInterface, meetingFilesMock, meetingIds, meetingMock, meetingParticipantMock, meetingRoleTypeMock, meetingSessionMock, meetingTimeSlotMock, meetingTypeFileTemplateMock, meetingTypeMock, mergeDetailRelationMiddleware, metadataCategoryMocks, metadataElectricityCategoryMocks, mockRoleDefinitions, mockUsers, multipleChoiceInterface, multipleSelectInterface, normalizeAnyFileArrayForView, normalizeSnapshotFileFieldsForView, numberInterface, participantIds, passwordInterface, personIdentifierTypeMock, personRelationshipTypeMock, phoneInterface, primaryMiddleware, qrcodeInterface, questionBankItemMock, questionnaireMock, ratingInterface, richTextInterface, scaleInterface, selectInterface, selectionListInterface, signatureInterface, signatureLoaderMiddleware, tagInterface, tenantMocks, textAreaInterface, textInterface, timeDurationInterface, titleInterface, toUiRows, toggleInterface, urlInterface, versionInterface, visibilityFilterMiddleware, workflowDefinitionEntityMock, workflowDefinitionIds, workflowDefinitionMock, yesNoInterface };
68508
+ export { ACTIVITY_CATEGORIES, ACTIVITY_DEFINITIONS, APPLICATIONS, AXCActivityCategorySeeder, AXCActivityDefinitionSeeder, AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCApplicationDataSeeder, AXCApplicationManagementMockModule, AXCAssessmentManagementMockModule, AXCAssetManagementMockModule, AXCAuthMockModule, AXCCalendarDataSeeder, AXCCalendarEventDataSeeder, AXCCalendarManagementMockModule, AXCCommonMockModule, AXCContactCoreMockModule, AXCContactManagementMockModule, AXCContentManagementMockModule, AXCConversationMockModule, AXCCustomerManagementMockModule, AXCDashboardManagementMockModule, AXCDataManagementMockModule, AXCDexieEntityStorageService, AXCDocumentManagementMockModule, AXCEditionDataSeeder, AXCEquipmentCategorySeeder, AXCEquipmentSeeder, AXCFileStorageService, AXCFinancialCoreMockModule, AXCFormTemplateManagementMockModule, AXCGoogleStrategyMock, AXCHealthCoreMockModule, AXCHelpDeskMockModule, AXCHumanCapitalManagementMockModule, AXCIdentifierManagementMockModule, AXCImageCaptchaChallengeProviderMock, AXCJsaSeeder, AXCLearningManagementMockModule, AXCLocaleManagementMockModule, AXCLocationManagementMockModule, AXCLockService, AXCMeasurementCoreMockModule, AXCMeetingManagementMockModule, AXCMetaDataDefinitionDataSeeder, AXCMetaDataDefinitionElectricityDataSeeder, AXCMetadataCategorySeeder, AXCMetadataElectricityCategorySeeder, AXCMiddlewaresModule, AXCMockCaptchaChallengeComponent, AXCMockEntityLogListener, AXCMockModule, AXCMockShowMetaDataFormPopupCommand, AXCNotificationManagementMockModule, AXCOrderManagementMockModule, AXCOrganizationManagementMockModule, AXCPersonCoreMockModule, AXCPersonManagementMockModule, AXCPlatformManagementMockModule, AXCProcurementManagementMockModule, AXCProductCatalogMockModule, AXCProjectManagementMockModule, AXCQueryCategoryMetadataInheritanceQuery, AXCReportManagementMockModule, AXCSecurityManagementMockModule, AXCSubscriptionManagementMockModule, AXCSupplierManagementMockModule, AXCTaskManagementMockModule, AXCTenantManagementMockModule, AXCTenantSeeder, AXCTokensDataSeeder, AXCUserPassStrategyMock, AXCVersionDB, AXCVersioningService, AXCWorkflowCategorySeeder, AXCWorkflowDefinitionDataSeeder, AXCWorkflowEngine, AXCWorkflowExecutionDB, AXCWorkflowManagementMockModule, AXMAiResponderService, AXMAssessmentCaseDataSeeder, AXMAssessmentSessionDataSeeder, AXMBusinessUnitDataSeeder, AXMCalendarEventTypeSeeder, AXMEmployeeDataSeeder, AXMEmploymentTypeDataSeeder, AXMFormDataSourcesProvider, AXMJobDefinitionDataSeeder, AXMJobLevelDataSeeder, AXMLeaveRequestDataSeeder, AXMMeetingDataSeeder, AXMMeetingFilesDataSeeder, AXMMeetingParticipantDataSeeder, AXMMeetingRoleTypeDataSeeder, AXMMeetingSessionDataSeeder, AXMMeetingTypeDataSeeder, AXMMeetingTypeFileTemplateDataSeeder, AXMPositionAssignmentDataSeeder, AXMPositionDataSeeder, AXMQuestionBankItemCategoryDataSeeder, AXMQuestionBankItemDataSeeder, AXMQuestionnaireCategoryDataSeeder, AXMQuestionnaireDataSeeder, AXMResponsibilityDataSeeder, AXMTagDataSeeder, AXMTeamDataSeeder, AXMTeamMemberDataSeeder, AXMTeamMemberRoleDataSeeder, AXPDashboardDataSeeder, AXPIdentifierDB, AXPMessageDataSeeder, AXPMockChecksumProvider, AXPMockClockProvider, AXPMockIdentifierService, AXPMockLookupProvider, AXPMockPolicyProvider, AXPMockSequenceProvider, AXPRoomDataSeeder, AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder, AXPTaskBoardPlatformManagementTaskProvider, AXPTaskBoardProjectManagementTaskProvider, AXVChangeType, BUSINESS_UNITS_MOCK, COSTMANAGER_ENTERPRISE, COSTMANAGER_PROFESSIONAL, COSTMANAGER_STANDARD, CRM_ENTERPRISE, DASHBOARDS, EDITIONS, EMPLOYEES_MOCK, EMPLOYMENT_TYPES_MOCK, EQUIPMENT_CATEGORY_ID, FINANCE_BASIC, FINANCE_ENTERPRISE, FINANCE_PRO, HR_ENTERPRISE, JOB_DEFINITIONS_CATEGORY_MOCK, JOB_DEFINITIONS_MOCK, JOB_LEVELS_MOCK, LASER_PLUMBING_TENANT_ID, LEAVE_REQUESTS_MOCK, METADATA_ELECTRICITY_MOCK, ORDERING_BASIC, ORDERING_ENTERPRISE, ORDERING_STANDARD, OWNERSHIP_FILTER_BYPASS, PLATFORM_CONSOLE, PLATFORM_TENANT_ID, POSITIONS_CATEGORY_MOCK, POSITIONS_MOCK, POSITION_ASSIGNMENTS_MOCK, QUESTIONNAIRE_CATEGORY_MOCK, QUESTION_BANK_ITEM_CATEGORY_MOCK, RESPONSIBILITIES_CATEGORY_MOCK, RESPONSIBILITIES_MOCK, SAFETYMINDER_BASIC, SAFETYMINDER_ENTERPRISE, SAFETYMINDER_PROFESSIONAL, SHOP_BASIC, SHOP_ENTERPRISE, SHOP_PRO, TAGS_MOCK, TASKS, TASK_STATUSES, TASK_TEMPLATES, TASK_TYPES, TEAMS_MOCK, TEAM_MEMBERS_MOCK, TEAM_MEMBER_ROLES_MOCK, TIMEPLICITY_TENANT_ID, TOKENS, VISIBILITY_FILTER_BYPASS, WORKFLOW_CATEGORIES, activityCategoryMocks, assessmentCaseMock, assessmentSessionMock, auditLoggerMiddleware, avatarInterface, axVersionDB, axWorkflowExecutionDB, bypassAllFilters, bypassOwnershipFilter, bypassVisibilityFilter, calendarEventMock, calendarEventTypeMockData, calendarMock, categoryResolverMiddleware, checkboxInterface, childCountMiddleware, colorInterface, computeDiff, contactInterface, createAndSaveDashboardForUser, createDashboardForUser, createFileCastMiddleware, createWidgetLayoutConfig, dateInterface, dateTimeInterface, descriptionInterface, emailInterface, equipmentCategoryMocks, equipmentMocks, fileUploaderInterface, findEmployeeById, findPersonById, generateUserDashboard, groupOrderItemCalculatorMiddleware, historyLoggerMiddleware, identifierCommitMiddleware, imageInterface, lockGuardMiddleware, longTextAnswerInterface, lookupInterface, lookupResolverMiddleware, mapInterface, meetingFilesMock, meetingIds, meetingMock, meetingParticipantMock, meetingRoleTypeMock, meetingSessionMock, meetingTimeSlotMock, meetingTypeFileTemplateMock, meetingTypeMock, mergeDetailRelationMiddleware, metadataCategoryMocks, metadataElectricityCategoryMocks, mockRoleDefinitions, mockUsers, multipleChoiceInterface, multipleSelectInterface, normalizeAnyFileArrayForView, normalizeSnapshotFileFieldsForView, numberInterface, participantIds, passwordInterface, personIdentifierTypeMock, personRelationshipTypeMock, phoneInterface, primaryMiddleware, qrcodeInterface, questionBankItemMock, questionnaireMock, ratingInterface, richTextInterface, scaleInterface, selectInterface, selectionListInterface, signatureInterface, signatureLoaderMiddleware, tagInterface, tenantMocks, textAreaInterface, textInterface, timeDurationInterface, titleInterface, toUiRows, toggleInterface, urlInterface, versionInterface, visibilityFilterMiddleware, workflowDefinitionEntityMock, workflowDefinitionIds, workflowDefinitionMock, yesNoInterface };
67890
68509
  //# sourceMappingURL=acorex-connectivity-mock.mjs.map