@acorex/modules 20.7.19 → 20.7.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/asset-management/index.d.ts +24 -33
  2. package/dashboard-management/index.d.ts +40 -5
  3. package/document-management/index.d.ts +1 -26
  4. package/fesm2022/acorex-modules-asset-management-asset.entity-D_w4zjNb.mjs +612 -0
  5. package/fesm2022/acorex-modules-asset-management-asset.entity-D_w4zjNb.mjs.map +1 -0
  6. package/fesm2022/acorex-modules-asset-management-manual-asset-category.entity-DyIV_vbE.mjs +267 -0
  7. package/fesm2022/acorex-modules-asset-management-manual-asset-category.entity-DyIV_vbE.mjs.map +1 -0
  8. package/fesm2022/acorex-modules-asset-management.mjs +59 -117
  9. package/fesm2022/acorex-modules-asset-management.mjs.map +1 -1
  10. package/fesm2022/acorex-modules-dashboard-management.mjs +454 -116
  11. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  12. package/fesm2022/acorex-modules-data-management.mjs +4 -2
  13. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  14. package/fesm2022/acorex-modules-document-management.mjs +40 -99
  15. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  16. package/fesm2022/acorex-modules-maintenance-management.mjs +194 -103
  17. package/fesm2022/acorex-modules-maintenance-management.mjs.map +1 -1
  18. package/fesm2022/acorex-modules-notification-management.mjs +21 -6
  19. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  20. package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-CkHGIQ38.mjs +2135 -0
  21. package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-CkHGIQ38.mjs.map +1 -0
  22. package/fesm2022/acorex-modules-reservation-management-reservation-class-status.entity-Clyj7r2x.mjs +263 -0
  23. package/fesm2022/acorex-modules-reservation-management-reservation-class-status.entity-Clyj7r2x.mjs.map +1 -0
  24. package/fesm2022/acorex-modules-reservation-management-reservation-resource-type.entity-BXb0FTQ5.mjs +184 -0
  25. package/fesm2022/acorex-modules-reservation-management-reservation-resource-type.entity-BXb0FTQ5.mjs.map +1 -0
  26. package/fesm2022/acorex-modules-reservation-management-reservation-status-transition.entity-BT8GQ9MC.mjs +247 -0
  27. package/fesm2022/acorex-modules-reservation-management-reservation-status-transition.entity-BT8GQ9MC.mjs.map +1 -0
  28. package/fesm2022/acorex-modules-reservation-management.mjs +1 -3325
  29. package/fesm2022/acorex-modules-reservation-management.mjs.map +1 -1
  30. package/fesm2022/{acorex-modules-task-management-task-board.page-BOOY3qla.mjs → acorex-modules-task-management-task-board.page-BBKB4yir.mjs} +114 -62
  31. package/fesm2022/acorex-modules-task-management-task-board.page-BBKB4yir.mjs.map +1 -0
  32. package/fesm2022/acorex-modules-task-management.mjs +43 -13
  33. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  34. package/maintenance-management/index.d.ts +7 -3
  35. package/package.json +10 -10
  36. package/reservation-management/index.d.ts +84 -338
  37. package/fesm2022/acorex-modules-asset-management-asset.entity-C57iN3Bo.mjs +0 -357
  38. package/fesm2022/acorex-modules-asset-management-asset.entity-C57iN3Bo.mjs.map +0 -1
  39. package/fesm2022/acorex-modules-asset-management-inspection.entity-CpDuN-qj.mjs +0 -198
  40. package/fesm2022/acorex-modules-asset-management-inspection.entity-CpDuN-qj.mjs.map +0 -1
  41. package/fesm2022/acorex-modules-task-management-task-board.page-BOOY3qla.mjs.map +0 -1
@@ -0,0 +1,2135 @@
1
+ import { AXPWidgetsList, AXPCommonMenuKeys } from '@acorex/modules/common';
2
+ import { createAllQueryView, AXPEntityQueryType, AXPEntityCommandScope, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXPSearchCommandProvider } from '@acorex/platform/common';
3
+ import { AXMEntityCrudServiceImpl, entityMasterCrudActions, entityMasterRecordActions, entityDetailsCrudActions, entityDetailsSimpleCondition, AXPEntityService, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
4
+ import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
5
+ import * as i0 from '@angular/core';
6
+ import { Injectable, NgModule, inject, Injector } from '@angular/core';
7
+ import { AXPSystemActionType, AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider } from '@acorex/platform/core';
8
+ import { AXTranslationService } from '@acorex/core/translation';
9
+ import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
10
+
11
+ //#region ---- Root Configuration ----
12
+ const config = {
13
+ i18n: 'reservation-management',
14
+ module: 'ReservationManagement',
15
+ route: 'reservation-management',
16
+ };
17
+ const RootConfig = {
18
+ config,
19
+ module: {
20
+ route: config.route,
21
+ name: config.module,
22
+ title: '@reservation-management:module.title',
23
+ icon: 'fa-light fa-calendar-check',
24
+ },
25
+ entities: {
26
+ reservationType: {
27
+ name: 'ReservationType',
28
+ source: `${config.module}.ReservationType`,
29
+ title: '@reservation-management:reservation-types.entities.reservation-type.title',
30
+ titlePlural: '@reservation-management:reservation-types.entities.reservation-type.plural',
31
+ icon: 'fa-light fa-list',
32
+ },
33
+ reservationStatus: {
34
+ name: 'ReservationStatus',
35
+ source: `${config.module}.ReservationStatus`,
36
+ title: '@reservation-management:reservation-statuses.entities.reservation-status.title',
37
+ titlePlural: '@reservation-management:reservation-statuses.entities.reservation-status.plural',
38
+ icon: 'fa-light fa-flag',
39
+ },
40
+ reservationClass: {
41
+ name: 'ReservationClass',
42
+ source: `${config.module}.ReservationClass`,
43
+ title: '@reservation-management:reservation-classes.entities.reservation-class.title',
44
+ titlePlural: '@reservation-management:reservation-classes.entities.reservation-class.plural',
45
+ icon: 'fa-light fa-tag',
46
+ },
47
+ reservation: {
48
+ name: 'Reservation',
49
+ source: `${config.module}.Reservation`,
50
+ title: '@reservation-management:reservations.entities.reservation.title',
51
+ titlePlural: '@reservation-management:reservations.entities.reservation.plural',
52
+ icon: 'fa-light fa-calendar-check',
53
+ },
54
+ reservationEvent: {
55
+ name: 'ReservationEvent',
56
+ source: `${config.module}.ReservationEvent`,
57
+ title: '@reservation-management:reservation-events.entities.reservation-event.title',
58
+ titlePlural: '@reservation-management:reservation-events.entities.reservation-event.plural',
59
+ icon: 'fa-light fa-calendar-alt',
60
+ },
61
+ reservationHold: {
62
+ name: 'ReservationHold',
63
+ source: `${config.module}.ReservationHold`,
64
+ title: '@reservation-management:reservation-holds.entities.reservation-hold.title',
65
+ titlePlural: '@reservation-management:reservation-holds.entities.reservation-hold.plural',
66
+ icon: 'fa-light fa-pause-circle',
67
+ },
68
+ reservationStatusTransition: {
69
+ name: 'ReservationStatusTransition',
70
+ source: `${config.module}.ReservationStatusTransition`,
71
+ title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.title',
72
+ titlePlural: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.plural',
73
+ icon: 'fa-light fa-right-left',
74
+ },
75
+ reservationResourceType: {
76
+ name: 'ReservationResourceType',
77
+ source: `${config.module}.ReservationResourceType`,
78
+ title: '@reservation-management:reservation-resource-types.entities.reservation-resource-type.title',
79
+ titlePlural: '@reservation-management:reservation-resource-types.entities.reservation-resource-type.plural',
80
+ icon: 'fa-light fa-cube',
81
+ },
82
+ reservationClassStatus: {
83
+ name: 'ReservationClassStatus',
84
+ source: `${config.module}.ReservationClassStatus`,
85
+ title: '@reservation-management:reservation-class-statuses.entities.reservation-class-status.title',
86
+ titlePlural: '@reservation-management:reservation-class-statuses.entities.reservation-class-status.plural',
87
+ icon: 'fa-light fa-circle-nodes',
88
+ },
89
+ reservationClassType: {
90
+ name: 'ReservationClassType',
91
+ source: `${config.module}.ReservationClassType`,
92
+ title: '@reservation-management:reservation-class-types.entities.reservation-class-type.title',
93
+ titlePlural: '@reservation-management:reservation-class-types.entities.reservation-class-type.plural',
94
+ icon: 'fa-light fa-layer-group',
95
+ },
96
+ },
97
+ };
98
+ //#endregion
99
+
100
+ class AXPReservationManagementReservationService extends AXMEntityCrudServiceImpl {
101
+ }
102
+ class AXPReservationManagementReservationServiceImpl extends AXPReservationManagementReservationService {
103
+ constructor() {
104
+ super(`${RootConfig.module.name}.${RootConfig.entities.reservation.name}`);
105
+ }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
107
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationServiceImpl, providedIn: 'root' }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationServiceImpl, decorators: [{
110
+ type: Injectable,
111
+ args: [{ providedIn: 'root' }]
112
+ }], ctorParameters: () => [] });
113
+
114
+ //#region ---- Imports ----
115
+ //#endregion
116
+ //#region ---- Entity Factory ----
117
+ async function reservationFactory(injector) {
118
+ const dataService = injector.get(AXPReservationManagementReservationService);
119
+ const i18n = RootConfig.config.i18n;
120
+ const entityDef = {
121
+ module: RootConfig.module.name,
122
+ name: RootConfig.entities.reservation.name,
123
+ title: RootConfig.entities.reservation.title,
124
+ icon: RootConfig.entities.reservation.icon,
125
+ formats: {
126
+ individual: RootConfig.entities.reservation.title,
127
+ plural: RootConfig.entities.reservation.titlePlural,
128
+ searchResult: {
129
+ title: '{{ title }}',
130
+ description: '{{ code }}',
131
+ },
132
+ },
133
+ plugins: [{ name: 'notes' }],
134
+ groups: [
135
+ {
136
+ id: 'reservation-information',
137
+ title: '@reservation-management:reservations.entities.reservation.groups.reservation-information',
138
+ },
139
+ {
140
+ id: 'approve-information',
141
+ title: '@reservation-management:reservations.entities.reservation.groups.approve-information',
142
+ },
143
+ ],
144
+ properties: [
145
+ {
146
+ name: 'id',
147
+ title: '@general:terms.common.id',
148
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
149
+ },
150
+ {
151
+ name: 'reservationResourceTypeId',
152
+ title: '@reservation-management:reservations.entities.reservation.fields.reservation-resource-type-id',
153
+ groupId: 'reservation-information',
154
+ schema: {
155
+ dataType: 'object',
156
+ interface: {
157
+ type: AXPWidgetsCatalog.lookup,
158
+ options: {
159
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationResourceType.name}`,
160
+ look: 'select',
161
+ textField: 'title',
162
+ valueField: 'id',
163
+ columns: ['name', 'title', 'reservationClass'],
164
+ expose: [
165
+ { source: 'id', target: 'reservationResourceType.id' },
166
+ { source: 'title', target: 'reservationResourceType.title' },
167
+ ],
168
+ },
169
+ },
170
+ },
171
+ options: {
172
+ sort: { enabled: true },
173
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
174
+ },
175
+ },
176
+ {
177
+ name: 'reservationTypeId',
178
+ title: '@reservation-management:reservations.entities.reservation.fields.reservation-type-id',
179
+ groupId: 'reservation-information',
180
+ schema: {
181
+ dataType: 'string',
182
+ interface: {
183
+ type: AXPWidgetsCatalog.lookup,
184
+ options: {
185
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationType.name}`,
186
+ look: 'select',
187
+ textField: 'title',
188
+ valueField: 'id',
189
+ columns: ['name', 'title', 'isBlocking'],
190
+ expose: [
191
+ { source: 'id', target: 'reservationType.id' },
192
+ { source: 'title', target: 'reservationType.title' },
193
+ { source: 'name', target: 'reservationType.name' },
194
+ ],
195
+ },
196
+ },
197
+ },
198
+ options: {
199
+ sort: { enabled: true },
200
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
201
+ },
202
+ validations: [{ rule: 'required' }],
203
+ },
204
+ {
205
+ name: 'reservationStatusId',
206
+ title: '@reservation-management:reservations.entities.reservation.fields.reservation-status-id',
207
+ groupId: 'reservation-information',
208
+ schema: {
209
+ dataType: 'string',
210
+ readonly: true,
211
+ interface: {
212
+ type: AXPWidgetsCatalog.lookup,
213
+ options: {
214
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationStatus.name}`,
215
+ look: 'select',
216
+ textField: 'title',
217
+ valueField: 'id',
218
+ columns: ['name', 'title', 'color'],
219
+ expose: [
220
+ { source: 'id', target: 'reservationStatus.id' },
221
+ { source: 'title', target: 'reservationStatus.title' },
222
+ { source: 'name', target: 'reservationStatus.name' },
223
+ { source: 'color', target: 'reservationStatus.color' },
224
+ ],
225
+ },
226
+ },
227
+ },
228
+ options: {
229
+ sort: { enabled: true },
230
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
231
+ },
232
+ },
233
+ {
234
+ name: 'resourceEntityId',
235
+ title: '@reservation-management:reservations.entities.reservation.fields.resource-entity-id',
236
+ groupId: 'reservation-information',
237
+ schema: {
238
+ dataType: 'string',
239
+ interface: {
240
+ type: AXPWidgetsList.Editors.SelectBox,
241
+ options: {
242
+ valueField: 'entity',
243
+ textField: 'title',
244
+ allowSearch: true,
245
+ dataSource: 'entities'
246
+ },
247
+ },
248
+ },
249
+ options: {
250
+ sort: { enabled: true },
251
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
252
+ },
253
+ validations: [{ rule: 'required' }],
254
+ },
255
+ // {
256
+ // name: 'resourceId',
257
+ // title: '@reservation-management:reservations.entities.reservation.fields.resource-id',
258
+ // groupId: 'reservation-information',
259
+ // schema: {
260
+ // dataType: 'object',
261
+ // interface: {
262
+ // type: AXPWidgetsCatalog.lookup,
263
+ // options: {
264
+ // entity: `{{ context.eval('resourceEntityId') }}`,
265
+ // textField: 'title',
266
+ // valueField: 'id',
267
+ // columns: ['title'],
268
+ // expose: [
269
+ // { source: 'id', target: 'resource.id' },
270
+ // { source: 'title', target: 'resource.title' },
271
+ // ],
272
+ // triggers: [
273
+ // {
274
+ // event: "{{ events.context('resourceEntityId') }}",
275
+ // action: `{{ widget.refresh() }}`,
276
+ // },
277
+ // ],
278
+ // },
279
+ // },
280
+ // },
281
+ // options: {
282
+ // sort: { enabled: true },
283
+ // filter: { advance: { enabled: true }, inline: { enabled: true } },
284
+ // },
285
+ // validations: [{ rule: 'required' }],
286
+ // },
287
+ {
288
+ name: 'startDate',
289
+ title: '@reservation-management:reservations.entities.reservation.fields.start-date',
290
+ groupId: 'reservation-information',
291
+ schema: {
292
+ dataType: 'date',
293
+ // readonly : true ,
294
+ interface: {
295
+ type: AXPWidgetsCatalog.dateTime,
296
+ options: {
297
+ format: 'datetime',
298
+ },
299
+ },
300
+ },
301
+ options: {
302
+ sort: { enabled: true },
303
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
304
+ },
305
+ validations: [{ rule: 'required' }],
306
+ },
307
+ {
308
+ name: 'endDate',
309
+ title: '@reservation-management:reservations.entities.reservation.fields.end-date',
310
+ groupId: 'reservation-information',
311
+ schema: {
312
+ dataType: 'date',
313
+ interface: {
314
+ type: AXPWidgetsCatalog.dateTime,
315
+ options: {
316
+ format: 'datetime',
317
+ },
318
+ },
319
+ },
320
+ options: {
321
+ sort: { enabled: true },
322
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
323
+ },
324
+ validations: [{ rule: 'required' }],
325
+ },
326
+ {
327
+ name: 'requestedById',
328
+ title: '@reservation-management:reservations.entities.reservation.fields.requested-by-id',
329
+ groupId: 'approve-information',
330
+ schema: {
331
+ dataType: 'string',
332
+ interface: {
333
+ type: AXPWidgetsCatalog.lookup,
334
+ options: {
335
+ entity: 'HumanCapitalManagement.Employee',
336
+ textField: 'person.displayName',
337
+ valueField: 'id',
338
+ columns: ['person.displayName', 'person.primaryContact'],
339
+ expose: [
340
+ { source: 'id', target: 'requestedBy.id' },
341
+ { source: 'person.displayName', target: 'requestedBy.displayName' },
342
+ ],
343
+ },
344
+ },
345
+ },
346
+ options: {
347
+ sort: { enabled: true },
348
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
349
+ },
350
+ },
351
+ {
352
+ name: 'requestedDate',
353
+ title: '@reservation-management:reservations.entities.reservation.fields.requested-date',
354
+ groupId: 'approve-information',
355
+ schema: {
356
+ dataType: 'date',
357
+ readonly: true,
358
+ interface: {
359
+ type: AXPWidgetsCatalog.dateTime,
360
+ options: {
361
+ format: 'datetime',
362
+ defaultValue: Date.now(),
363
+ },
364
+ },
365
+ },
366
+ options: {
367
+ sort: { enabled: true },
368
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
369
+ },
370
+ },
371
+ {
372
+ name: 'approvedById',
373
+ title: '@reservation-management:reservations.entities.reservation.fields.approved-by-id',
374
+ groupId: 'approve-information',
375
+ schema: {
376
+ dataType: 'string',
377
+ interface: {
378
+ type: AXPWidgetsCatalog.lookup,
379
+ options: {
380
+ entity: 'HumanCapitalManagement.Employee',
381
+ textField: 'person.displayName',
382
+ valueField: 'id',
383
+ columns: ['person.displayName', 'person.primaryContact'],
384
+ expose: [
385
+ { source: 'id', target: 'approvedBy.id' },
386
+ { source: 'person.displayName', target: 'approvedBy.displayName' },
387
+ ],
388
+ },
389
+ },
390
+ },
391
+ options: {
392
+ sort: { enabled: true },
393
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
394
+ },
395
+ },
396
+ {
397
+ name: 'approvedDate',
398
+ title: '@reservation-management:reservations.entities.reservation.fields.approved-date',
399
+ groupId: 'approve-information',
400
+ schema: {
401
+ dataType: 'date',
402
+ interface: {
403
+ type: AXPWidgetsCatalog.dateTime,
404
+ options: {
405
+ format: 'datetime',
406
+ },
407
+ },
408
+ },
409
+ options: {
410
+ sort: { enabled: true },
411
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
412
+ },
413
+ },
414
+ ],
415
+ columns: [
416
+ { name: 'reservationTypeId', options: { dataPath: 'reservationType' } },
417
+ { name: 'reservationResourceTypeId', options: { dataPath: 'reservationResourceType' } },
418
+ // { name: 'resourceId', options: { dataPath: 'resource' } },
419
+ { name: 'startDate' },
420
+ { name: 'endDate' },
421
+ { name: 'reservationStatusId', options: { dataPath: 'reservationStatus' } },
422
+ { name: 'requestedById', options: { dataPath: 'requestedBy' } },
423
+ ],
424
+ commands: {
425
+ create: {
426
+ execute: async (data) => {
427
+ return { id: await dataService.insertOne(data) };
428
+ },
429
+ },
430
+ update: {
431
+ execute: async (data) => {
432
+ return await dataService.updateOne(data.id, data);
433
+ },
434
+ },
435
+ delete: {
436
+ execute: async (id) => {
437
+ return await dataService.deleteOne(id);
438
+ },
439
+ },
440
+ },
441
+ queries: {
442
+ byKey: {
443
+ execute: async (id) => {
444
+ return await dataService.getOne(id);
445
+ },
446
+ type: AXPEntityQueryType.Single,
447
+ },
448
+ list: {
449
+ execute: async (e) => {
450
+ return await dataService.query({
451
+ skip: e.skip,
452
+ take: e.take,
453
+ filter: e.filter,
454
+ sort: e.sort,
455
+ });
456
+ },
457
+ type: AXPEntityQueryType.List,
458
+ },
459
+ },
460
+ interfaces: {
461
+ master: {
462
+ create: {
463
+ sections: [
464
+ { id: 'reservation-information', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },
465
+ { id: 'approve-information', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },
466
+ ],
467
+ properties: [
468
+ { name: 'reservationTypeId', layout: { positions: { lg: { colSpan: 6 } } } },
469
+ { name: 'reservationResourceTypeId', layout: { positions: { lg: { colSpan: 6 } } } },
470
+ { name: 'reservationStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
471
+ { name: 'resourceEntityId', layout: { positions: { lg: { colSpan: 6 } } } },
472
+ // { name: 'resourceId', layout: { positions: { lg: { colSpan: 6 } } } },
473
+ { name: 'startDate', layout: { positions: { lg: { colStart: 1, colSpan: 6 } } } },
474
+ { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },
475
+ { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },
476
+ { name: 'requestedDate', layout: { positions: { lg: { colSpan: 6 } } } },
477
+ { name: 'approvedById', layout: { positions: { lg: { colSpan: 6 } } } },
478
+ { name: 'approvedDate', layout: { positions: { lg: { colSpan: 6 } } } },
479
+ ],
480
+ },
481
+ update: {
482
+ sections: [
483
+ { id: 'reservation-information', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },
484
+ { id: 'approve-information', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },
485
+ ],
486
+ properties: [
487
+ { name: 'reservationTypeId', layout: { positions: { lg: { colSpan: 6 } } } },
488
+ { name: 'reservationResourceTypeId', layout: { positions: { lg: { colSpan: 6 } } } },
489
+ { name: 'reservationStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
490
+ { name: 'resourceEntityId', layout: { positions: { lg: { colSpan: 6 } } } },
491
+ // { name: 'resourceId', layout: { positions: { lg: { colSpan: 6 } } } },
492
+ { name: 'startDate', layout: { positions: { lg: { colStart: 1, colSpan: 6 } } } },
493
+ { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },
494
+ { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },
495
+ { name: 'requestedDate', layout: { positions: { lg: { colSpan: 6 } } } },
496
+ { name: 'approvedById', layout: { positions: { lg: { colSpan: 6 } } } },
497
+ { name: 'approvedDate', layout: { positions: { lg: { colSpan: 6 } } } },
498
+ ],
499
+ },
500
+ single: {
501
+ title: '{{ title }}',
502
+ sections: [
503
+ { id: 'reservation-information', order: 1, layout: { positions: { lg: { colSpan: 12 } } } },
504
+ { id: 'approve-information', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },
505
+ ],
506
+ properties: [
507
+ { name: 'reservationTypeId', layout: { positions: { lg: { colSpan: 6 } } } },
508
+ { name: 'reservationResourceTypeId', layout: { positions: { lg: { colSpan: 6 } } } },
509
+ { name: 'reservationStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
510
+ { name: 'resourceEntityId', layout: { positions: { lg: { colSpan: 6 } } } },
511
+ // { name: 'resourceId', layout: { positions: { lg: { colSpan: 6 } } } },
512
+ { name: 'startDate', layout: { positions: { lg: { colStart: 1, colSpan: 6 } } } },
513
+ { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },
514
+ { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },
515
+ { name: 'requestedDate', layout: { positions: { lg: { colSpan: 6 } } } },
516
+ { name: 'approvedById', layout: { positions: { lg: { colSpan: 6 } } } },
517
+ { name: 'approvedDate', layout: { positions: { lg: { colSpan: 6 } } } },
518
+ ],
519
+ actions: [...entityMasterRecordActions()],
520
+ },
521
+ list: {
522
+ actions: [...entityMasterCrudActions()],
523
+ views: [
524
+ createAllQueryView({
525
+ sorts: [{ name: 'startDate', dir: 'desc' }],
526
+ }),
527
+ ],
528
+ },
529
+ },
530
+ },
531
+ };
532
+ return entityDef;
533
+ }
534
+ //#endregion
535
+
536
+ var reservation_entity = /*#__PURE__*/Object.freeze({
537
+ __proto__: null,
538
+ reservationFactory: reservationFactory
539
+ });
540
+
541
+ class AXPReservationManagementReservationEntityModule {
542
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
543
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEntityModule }); }
544
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEntityModule, providers: [
545
+ {
546
+ provide: AXPReservationManagementReservationService,
547
+ useClass: AXPReservationManagementReservationServiceImpl,
548
+ },
549
+ ] }); }
550
+ }
551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEntityModule, decorators: [{
552
+ type: NgModule,
553
+ args: [{
554
+ providers: [
555
+ {
556
+ provide: AXPReservationManagementReservationService,
557
+ useClass: AXPReservationManagementReservationServiceImpl,
558
+ },
559
+ ],
560
+ }]
561
+ }] });
562
+
563
+ class AXPReservationManagementReservationClassService extends AXMEntityCrudServiceImpl {
564
+ }
565
+ class AXPReservationManagementReservationClassServiceImpl extends AXPReservationManagementReservationClassService {
566
+ constructor() {
567
+ super(`${RootConfig.module.name}.${RootConfig.entities.reservationClass.name}`);
568
+ }
569
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
570
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassServiceImpl }); }
571
+ }
572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassServiceImpl, decorators: [{
573
+ type: Injectable
574
+ }], ctorParameters: () => [] });
575
+
576
+ //#region ---- Imports ----
577
+ //#endregion
578
+ //#region ---- Entity Factory ----
579
+ async function reservationClassFactory(injector) {
580
+ const dataService = injector.get(AXPReservationManagementReservationClassService);
581
+ const i18n = RootConfig.config.i18n;
582
+ const entityDef = {
583
+ module: RootConfig.module.name,
584
+ name: RootConfig.entities.reservationClass.name,
585
+ title: RootConfig.entities.reservationClass.title,
586
+ icon: RootConfig.entities.reservationClass.icon,
587
+ plugins: [{ name: 'archive' }],
588
+ formats: {
589
+ individual: RootConfig.entities.reservationClass.title,
590
+ plural: RootConfig.entities.reservationClass.titlePlural,
591
+ displayName: '@reservation-management:reservation-classes.entities.reservation-class.title',
592
+ searchResult: {
593
+ title: '{{ title }}',
594
+ description: '{{ code }}',
595
+ },
596
+ },
597
+ relatedEntities: [
598
+ {
599
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationClassStatus.name}`,
600
+ title: '@reservation-management:reservation-classes.entities.reservation-class.related-entities.reservation-class-statuses.title',
601
+ icon: RootConfig.entities.reservationClassStatus.icon,
602
+ conditions: [entityDetailsSimpleCondition('reservationClassId')],
603
+ actions: [...entityDetailsCrudActions('reservationClassId')],
604
+ layout: { type: 'page-list', position: 'after', order: 1 },
605
+ },
606
+ {
607
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationStatusTransition.name}`,
608
+ title: '@reservation-management:reservation-classes.entities.reservation-class.related-entities.reservation-status-transitions.title',
609
+ icon: RootConfig.entities.reservationStatusTransition.icon,
610
+ conditions: [entityDetailsSimpleCondition('reservationClassId')],
611
+ actions: [...entityDetailsCrudActions('reservationClassId')],
612
+ layout: { type: 'page-list', position: 'after', order: 2 },
613
+ },
614
+ ],
615
+ groups: [
616
+ {
617
+ id: 'basic-information',
618
+ title: '@reservation-management:reservation-classes.entities.reservation-class.groups.basic-information',
619
+ },
620
+ ],
621
+ properties: [
622
+ {
623
+ name: 'id',
624
+ title: '@general:terms.common.id',
625
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
626
+ },
627
+ {
628
+ name: 'name',
629
+ title: '@reservation-management:reservation-classes.entities.reservation-class.fields.name.title',
630
+ groupId: 'basic-information',
631
+ schema: {
632
+ dataType: 'string',
633
+ interface: {
634
+ type: AXPWidgetsList.Editors.TextBox,
635
+ options: {
636
+ placeholder: '@reservation-management:reservation-classes.entities.reservation-class.fields.name.placeholder',
637
+ },
638
+ },
639
+ },
640
+ options: {
641
+ sort: { enabled: true },
642
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
643
+ },
644
+ validations: [{ rule: 'required' }],
645
+ },
646
+ {
647
+ name: 'title',
648
+ title: '@reservation-management:reservation-classes.entities.reservation-class.fields.title.title',
649
+ groupId: 'basic-information',
650
+ schema: {
651
+ dataType: 'string',
652
+ interface: {
653
+ type: AXPWidgetsList.Editors.TextBox,
654
+ options: {
655
+ placeholder: '@reservation-management:reservation-classes.entities.reservation-class.fields.title.placeholder',
656
+ },
657
+ },
658
+ },
659
+ options: {
660
+ sort: { enabled: true },
661
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
662
+ },
663
+ validations: [{ rule: 'required' }],
664
+ },
665
+ {
666
+ name: 'reservationTypeIds',
667
+ title: '@reservation-management:reservation-classes.entities.reservation-class.fields.reservation-type-ids.title',
668
+ groupId: 'basic-information',
669
+ schema: {
670
+ dataType: 'object',
671
+ interface: {
672
+ type: AXPWidgetsCatalog.lookup,
673
+ options: {
674
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationType.name}`,
675
+ textField: 'title',
676
+ valueField: 'id',
677
+ columns: ['name', 'title'],
678
+ multiple: true,
679
+ expose: [
680
+ { source: 'id', target: 'reservationTypes.{id}' },
681
+ { source: 'title', target: 'reservationTypes.{title}' },
682
+ { source: 'name', target: 'reservationTypes.{name}' },
683
+ ],
684
+ },
685
+ },
686
+ },
687
+ options: {
688
+ sort: { enabled: true },
689
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
690
+ },
691
+ validations: [{ rule: 'required' }],
692
+ },
693
+ {
694
+ name: 'reservationTypes',
695
+ title: '@reservation-management:reservation-classes.entities.reservation-class.fields.reservation-type-ids.title',
696
+ schema: {
697
+ dataType: 'array',
698
+ interface: {
699
+ type: AXPWidgetsCatalog.text,
700
+ },
701
+ },
702
+ options: {
703
+ sort: { enabled: false },
704
+ filter: { advance: { enabled: false }, inline: { enabled: false } },
705
+ },
706
+ },
707
+ ],
708
+ columns: [
709
+ { name: 'name', options: { order: 1 } },
710
+ { name: 'title', options: { order: 2 } },
711
+ { name: 'reservationTypeIds', options: { order: 3, dataPath: 'reservationTypes' } }
712
+ ],
713
+ commands: {
714
+ create: {
715
+ execute: async (data) => {
716
+ return { id: await dataService.insertOne(data) };
717
+ },
718
+ },
719
+ update: {
720
+ execute: async (data) => {
721
+ return await dataService.updateOne(data.id, data);
722
+ },
723
+ },
724
+ delete: {
725
+ execute: async (id) => {
726
+ return await dataService.deleteOne(id);
727
+ },
728
+ },
729
+ },
730
+ queries: {
731
+ byKey: {
732
+ execute: async (id) => {
733
+ return await dataService.getOne(id);
734
+ },
735
+ type: AXPEntityQueryType.Single,
736
+ },
737
+ list: {
738
+ execute: async (e) => {
739
+ return await dataService.query({
740
+ skip: e.skip,
741
+ take: e.take,
742
+ filter: e.filter,
743
+ sort: e.sort,
744
+ });
745
+ },
746
+ type: AXPEntityQueryType.List,
747
+ },
748
+ },
749
+ interfaces: {
750
+ master: {
751
+ create: {
752
+ sections: [
753
+ { id: 'basic-information', order: 1 },
754
+ ],
755
+ properties: [
756
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
757
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
758
+ { name: 'reservationTypeIds', layout: { positions: { lg: { colSpan: 12 } } } },
759
+ ],
760
+ },
761
+ update: {
762
+ sections: [
763
+ { id: 'basic-information', order: 1 },
764
+ ],
765
+ properties: [
766
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
767
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
768
+ { name: 'reservationTypeIds', layout: { positions: { lg: { colSpan: 12 } } } },
769
+ ],
770
+ },
771
+ single: {
772
+ title: '{{ title }}',
773
+ sections: [
774
+ { id: 'basic-information', order: 1 },
775
+ ],
776
+ properties: [
777
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
778
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
779
+ { name: 'reservationTypeIds', layout: { positions: { lg: { colSpan: 12 } } } },
780
+ ],
781
+ actions: [...entityMasterRecordActions()],
782
+ },
783
+ list: {
784
+ actions: [
785
+ ...entityMasterCrudActions(),
786
+ {
787
+ title: '@general:actions.archive.title',
788
+ command: 'archive-entity',
789
+ priority: 'secondary',
790
+ type: AXPSystemActionType.Archive,
791
+ scope: AXPEntityCommandScope.Individual,
792
+ },
793
+ ],
794
+ views: [
795
+ createAllQueryView({
796
+ sorts: [{ name: 'name', dir: 'asc' }],
797
+ }),
798
+ ],
799
+ },
800
+ },
801
+ },
802
+ };
803
+ return entityDef;
804
+ }
805
+ //#endregion
806
+
807
+ var reservationClass_entity = /*#__PURE__*/Object.freeze({
808
+ __proto__: null,
809
+ reservationClassFactory: reservationClassFactory
810
+ });
811
+
812
+ class AXPReservationManagementReservationEventService extends AXMEntityCrudServiceImpl {
813
+ }
814
+ class AXPReservationManagementReservationEventServiceImpl extends AXPReservationManagementReservationEventService {
815
+ constructor() {
816
+ super(`${RootConfig.module.name}.${RootConfig.entities.reservationEvent.name}`);
817
+ }
818
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEventServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
819
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEventServiceImpl }); }
820
+ }
821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEventServiceImpl, decorators: [{
822
+ type: Injectable
823
+ }], ctorParameters: () => [] });
824
+
825
+ //#region ---- Imports ----
826
+ //#endregion
827
+ //#region ---- Entity Factory ----
828
+ async function reservationEventFactory(injector) {
829
+ const dataService = injector.get(AXPReservationManagementReservationEventService);
830
+ const i18n = RootConfig.config.i18n;
831
+ const entityDef = {
832
+ module: RootConfig.module.name,
833
+ name: RootConfig.entities.reservationEvent.name,
834
+ title: RootConfig.entities.reservationEvent.title,
835
+ icon: RootConfig.entities.reservationEvent.icon,
836
+ formats: {
837
+ individual: RootConfig.entities.reservationEvent.title,
838
+ plural: RootConfig.entities.reservationEvent.titlePlural,
839
+ searchResult: {
840
+ title: '',
841
+ },
842
+ },
843
+ // Property groups
844
+ groups: [
845
+ {
846
+ id: 'basic-information',
847
+ title: '@reservation-management:reservation-events.entities.reservation-event.groups.basic-information',
848
+ },
849
+ ],
850
+ // Entity properties
851
+ properties: [
852
+ {
853
+ name: 'id',
854
+ title: '@general:terms.common.id',
855
+ groupId: 'basic-information',
856
+ options: {
857
+ sort: { enabled: true },
858
+ filter: {
859
+ advance: { enabled: true },
860
+ inline: { enabled: true },
861
+ },
862
+ },
863
+ schema: {
864
+ dataType: 'string',
865
+ visible: false,
866
+ interface: {
867
+ type: AXPWidgetsList.Editors.TextBox,
868
+ options: {
869
+ readonly: true,
870
+ visible: false,
871
+ },
872
+ },
873
+ },
874
+ },
875
+ {
876
+ name: 'reservationId',
877
+ title: '@ ',
878
+ groupId: 'basic-information',
879
+ options: {
880
+ sort: { enabled: true },
881
+ filter: {
882
+ advance: { enabled: true },
883
+ inline: { enabled: true },
884
+ },
885
+ },
886
+ schema: {
887
+ dataType: 'object',
888
+ interface: {
889
+ type: AXPWidgetsList.Editors.LookupBox,
890
+ options: {
891
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservation.name}`,
892
+ expose: [
893
+ { source: 'id', target: 'reservation.{id}' },
894
+ { source: 'resource', target: 'reservation.{resource}' },
895
+ ],
896
+ },
897
+ },
898
+ },
899
+ validations: [{ rule: 'required' }],
900
+ },
901
+ ],
902
+ // Columns for list views
903
+ columns: [
904
+ { name: 'reservationId', options: { dataPath: 'reservation' } },
905
+ { name: 'reservationEventId', options: { dataPath: 'reservationEvent' } },
906
+ { name: 'eventDate' },
907
+ { name: 'actorId', options: { dataPath: 'actor' } },
908
+ { name: 'fromStatusId', options: { dataPath: 'fromStatus' } },
909
+ { name: 'toStatusId', options: { dataPath: 'toStatus' } },
910
+ ],
911
+ // Commands
912
+ commands: {
913
+ create: {
914
+ execute: async (data) => {
915
+ return await dataService.insertOne(data);
916
+ },
917
+ },
918
+ update: {
919
+ execute: async (data) => {
920
+ return await dataService.updateOne(data.id, data);
921
+ },
922
+ },
923
+ delete: {
924
+ execute: async (id) => {
925
+ return await dataService.deleteOne(id);
926
+ },
927
+ },
928
+ },
929
+ // Queries
930
+ queries: {
931
+ byKey: {
932
+ execute: async (id) => {
933
+ return await dataService.getOne(id);
934
+ },
935
+ type: AXPEntityQueryType.Single,
936
+ },
937
+ list: {
938
+ execute: async (e) => {
939
+ return await dataService.query({
940
+ skip: e.skip,
941
+ take: e.take,
942
+ filter: e.filter,
943
+ });
944
+ },
945
+ type: AXPEntityQueryType.List,
946
+ },
947
+ },
948
+ // Interfaces
949
+ interfaces: {
950
+ master: {
951
+ create: {
952
+ sections: [{ id: 'basic-information', order: 1, layout: { positions: { lg: { colSpan: 12 } } } }],
953
+ properties: [
954
+ {
955
+ name: 'id',
956
+ layout: { positions: { lg: { colSpan: 6 } } },
957
+ },
958
+ {
959
+ name: 'reservationId',
960
+ layout: { positions: { lg: { colSpan: 12 } } },
961
+ },
962
+ {
963
+ name: 'reservationEventId',
964
+ layout: { positions: { lg: { colSpan: 12 } } },
965
+ },
966
+ {
967
+ name: 'eventDate',
968
+ layout: { positions: { lg: { colSpan: 12 } } },
969
+ },
970
+ {
971
+ name: 'actorId',
972
+ layout: { positions: { lg: { colSpan: 12 } } },
973
+ },
974
+ {
975
+ name: 'fromStatusId',
976
+ layout: { positions: { lg: { colSpan: 12 } } },
977
+ },
978
+ {
979
+ name: 'toStatusId',
980
+ layout: { positions: { lg: { colSpan: 12 } } },
981
+ },
982
+ ],
983
+ },
984
+ update: {
985
+ sections: [{ id: 'basic-information', order: 1, layout: { positions: { lg: { colSpan: 12 } } } }],
986
+ properties: [
987
+ {
988
+ name: 'id',
989
+ layout: { positions: { lg: { colSpan: 6 } } },
990
+ },
991
+ {
992
+ name: 'reservationId',
993
+ layout: { positions: { lg: { colSpan: 12 } } },
994
+ },
995
+ {
996
+ name: 'reservationEventId',
997
+ layout: { positions: { lg: { colSpan: 12 } } },
998
+ },
999
+ {
1000
+ name: 'eventDate',
1001
+ layout: { positions: { lg: { colSpan: 12 } } },
1002
+ },
1003
+ {
1004
+ name: 'actorId',
1005
+ layout: { positions: { lg: { colSpan: 12 } } },
1006
+ },
1007
+ {
1008
+ name: 'fromStatusId',
1009
+ layout: { positions: { lg: { colSpan: 12 } } },
1010
+ },
1011
+ {
1012
+ name: 'toStatusId',
1013
+ layout: { positions: { lg: { colSpan: 12 } } },
1014
+ },
1015
+ ],
1016
+ },
1017
+ single: {
1018
+ title: '{{ resource }}',
1019
+ sections: [{ id: 'basic-information', order: 1, layout: { positions: { lg: { colSpan: 12 } } } }],
1020
+ properties: [
1021
+ {
1022
+ name: 'id',
1023
+ layout: { positions: { lg: { colSpan: 6 } } },
1024
+ },
1025
+ {
1026
+ name: 'reservationId',
1027
+ layout: { positions: { lg: { colSpan: 12 } } },
1028
+ },
1029
+ {
1030
+ name: 'reservationEventId',
1031
+ layout: { positions: { lg: { colSpan: 12 } } },
1032
+ },
1033
+ {
1034
+ name: 'eventDate',
1035
+ layout: { positions: { lg: { colSpan: 12 } } },
1036
+ },
1037
+ {
1038
+ name: 'actorId',
1039
+ layout: { positions: { lg: { colSpan: 12 } } },
1040
+ },
1041
+ {
1042
+ name: 'fromStatusId',
1043
+ layout: { positions: { lg: { colSpan: 12 } } },
1044
+ },
1045
+ {
1046
+ name: 'toStatusId',
1047
+ layout: { positions: { lg: { colSpan: 12 } } },
1048
+ },
1049
+ ],
1050
+ actions: [
1051
+ {
1052
+ title: '@general:actions.edit.title',
1053
+ command: 'quick-modify-entity',
1054
+ priority: 'primary',
1055
+ type: 'update',
1056
+ scope: AXPEntityCommandScope.Individual,
1057
+ },
1058
+ ],
1059
+ },
1060
+ list: {
1061
+ actions: [
1062
+ {
1063
+ title: '@general:actions.create.title',
1064
+ command: 'create-entity',
1065
+ priority: 'primary',
1066
+ type: 'create',
1067
+ scope: AXPEntityCommandScope.TypeLevel,
1068
+ },
1069
+ {
1070
+ title: '@general:actions.edit.title',
1071
+ command: 'quick-modify-entity',
1072
+ priority: 'primary',
1073
+ type: 'update',
1074
+ scope: AXPEntityCommandScope.Individual,
1075
+ default: true, // Enable double-click to open edit mode
1076
+ },
1077
+ {
1078
+ title: '@general:actions.delete.title',
1079
+ command: 'delete-entity',
1080
+ priority: 'secondary',
1081
+ type: 'delete',
1082
+ scope: AXPEntityCommandScope.Individual,
1083
+ },
1084
+ ],
1085
+ views: [
1086
+ createAllQueryView({
1087
+ sorts: [{ name: 'title', dir: 'asc' }],
1088
+ }),
1089
+ ],
1090
+ },
1091
+ },
1092
+ },
1093
+ };
1094
+ return entityDef;
1095
+ }
1096
+ //#endregion
1097
+
1098
+ var reservationEvent_entity = /*#__PURE__*/Object.freeze({
1099
+ __proto__: null,
1100
+ reservationEventFactory: reservationEventFactory
1101
+ });
1102
+
1103
+ //#region ---- Imports ----
1104
+ //#endregion
1105
+ //#region ---- Service ----
1106
+ class AXPReservationManagementReservationStatusService extends AXMEntityCrudServiceImpl {
1107
+ }
1108
+ class AXPReservationManagementReservationStatusServiceImpl extends AXPReservationManagementReservationStatusService {
1109
+ constructor() {
1110
+ super(`${RootConfig.module.name}.${RootConfig.entities.reservationStatus.name}`);
1111
+ }
1112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1113
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusServiceImpl, providedIn: 'root' }); }
1114
+ }
1115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusServiceImpl, decorators: [{
1116
+ type: Injectable,
1117
+ args: [{
1118
+ providedIn: 'root',
1119
+ }]
1120
+ }], ctorParameters: () => [] });
1121
+
1122
+ //#region ---- Imports ----
1123
+ //#endregion
1124
+ //#region ---- Entity Factory ----
1125
+ async function reservationStatusFactory(injector) {
1126
+ const dataService = injector.get(AXPReservationManagementReservationStatusService);
1127
+ const i18n = RootConfig.config.i18n;
1128
+ const entityDef = {
1129
+ module: RootConfig.module.name,
1130
+ name: RootConfig.entities.reservationStatus.name,
1131
+ title: RootConfig.entities.reservationStatus.title,
1132
+ icon: RootConfig.entities.reservationStatus.icon,
1133
+ formats: {
1134
+ individual: RootConfig.entities.reservationStatus.title,
1135
+ plural: RootConfig.entities.reservationStatus.titlePlural,
1136
+ searchResult: {
1137
+ title: '{{ title }}',
1138
+ description: '{{ name }}',
1139
+ },
1140
+ },
1141
+ groups: [
1142
+ {
1143
+ id: 'basic-information',
1144
+ title: '@reservation-management:reservation-statuses.entities.reservation-status.groups.basic-information',
1145
+ },
1146
+ ],
1147
+ properties: [
1148
+ {
1149
+ name: 'id',
1150
+ title: '@general:terms.common.id',
1151
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true },
1152
+ },
1153
+ {
1154
+ name: 'name',
1155
+ title: '@reservation-management:reservation-statuses.entities.reservation-status.fields.name.title',
1156
+ groupId: 'basic-information',
1157
+ schema: {
1158
+ dataType: 'string',
1159
+ interface: {
1160
+ type: AXPWidgetsList.Editors.TextBox,
1161
+ options: {
1162
+ placeholder: '@reservation-management:reservation-statuses.entities.reservation-status.fields.name.placeholder',
1163
+ },
1164
+ },
1165
+ },
1166
+ options: {
1167
+ sort: { enabled: true },
1168
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
1169
+ },
1170
+ validations: [{ rule: 'required' }],
1171
+ },
1172
+ {
1173
+ name: 'title',
1174
+ title: '@reservation-management:reservation-statuses.entities.reservation-status.fields.title.title',
1175
+ groupId: 'basic-information',
1176
+ schema: {
1177
+ dataType: 'string',
1178
+ interface: {
1179
+ type: AXPWidgetsList.Editors.TextBox,
1180
+ options: {
1181
+ placeholder: '@reservation-management:reservation-statuses.entities.reservation-status.fields.title.placeholder',
1182
+ },
1183
+ },
1184
+ },
1185
+ options: {
1186
+ sort: { enabled: true },
1187
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
1188
+ },
1189
+ validations: [{ rule: 'required' }],
1190
+ },
1191
+ {
1192
+ name: 'color',
1193
+ title: '@reservation-management:reservation-statuses.entities.reservation-status.fields.color.title',
1194
+ groupId: 'basic-information',
1195
+ schema: {
1196
+ dataType: 'string',
1197
+ interface: {
1198
+ type: AXPWidgetsList.Editors.ColorPalette,
1199
+ options: {},
1200
+ },
1201
+ },
1202
+ options: {
1203
+ sort: { enabled: false },
1204
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
1205
+ },
1206
+ validations: [{ rule: 'required' }],
1207
+ },
1208
+ {
1209
+ name: 'icon',
1210
+ title: '@reservation-management:reservation-statuses.entities.reservation-status.fields.icon.title',
1211
+ groupId: 'basic-information',
1212
+ schema: {
1213
+ dataType: 'string',
1214
+ interface: {
1215
+ type: AXPWidgetsCatalog.iconChooser,
1216
+ },
1217
+ },
1218
+ },
1219
+ ],
1220
+ columns: [{ name: 'name', options: { order: 1 } }, { name: 'title', options: { order: 2 } }, { name: 'color', options: { order: 3 } }, { name: 'icon', options: { order: 4 } }],
1221
+ commands: {
1222
+ // create: {
1223
+ // execute: async (data: any) => {
1224
+ // return { id: await dataService.insertOne(data) };
1225
+ // },
1226
+ // },
1227
+ // update: {
1228
+ // execute: async (data: any) => {
1229
+ // return await dataService.updateOne(data.id, data);
1230
+ // },
1231
+ // },
1232
+ // delete: {
1233
+ // execute: async (id: string) => {
1234
+ // return await dataService.deleteOne(id);
1235
+ // },
1236
+ // },
1237
+ },
1238
+ queries: {
1239
+ byKey: {
1240
+ execute: async (id) => {
1241
+ return await dataService.getOne(id);
1242
+ },
1243
+ type: AXPEntityQueryType.Single,
1244
+ },
1245
+ list: {
1246
+ execute: async (e) => {
1247
+ return await dataService.query({
1248
+ skip: e.skip,
1249
+ take: e.take,
1250
+ filter: e.filter,
1251
+ sort: e.sort,
1252
+ });
1253
+ },
1254
+ type: AXPEntityQueryType.List,
1255
+ },
1256
+ },
1257
+ interfaces: {
1258
+ master: {
1259
+ create: {
1260
+ sections: [{ id: 'basic-information' }],
1261
+ properties: [
1262
+ { name: 'code', layout: { positions: { lg: { colSpan: 6 } } } },
1263
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
1264
+ { name: 'color', layout: { positions: { lg: { colSpan: 6 } } } },
1265
+ { name: 'icon', layout: { positions: { lg: { colSpan: 6 } } } },
1266
+ ],
1267
+ },
1268
+ update: {
1269
+ sections: [{ id: 'basic-information' }],
1270
+ properties: [
1271
+ { name: 'code', layout: { positions: { lg: { colSpan: 6 } } } },
1272
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
1273
+ { name: 'color', layout: { positions: { lg: { colSpan: 6 } } } },
1274
+ { name: 'icon', layout: { positions: { lg: { colSpan: 6 } } } },
1275
+ ],
1276
+ },
1277
+ single: {
1278
+ title: '{{ title }}',
1279
+ sections: [{ id: 'basic-information' }],
1280
+ properties: [
1281
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
1282
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
1283
+ { name: 'color', layout: { positions: { lg: { colSpan: 6 } } } },
1284
+ { name: 'icon', layout: { positions: { lg: { colSpan: 6 } } } },
1285
+ ],
1286
+ actions: [...entityMasterRecordActions()],
1287
+ },
1288
+ list: {
1289
+ actions: [...entityMasterCrudActions({ create: false, delete: false })],
1290
+ views: [
1291
+ createAllQueryView({
1292
+ sorts: [
1293
+ { name: 'name', dir: 'asc' },
1294
+ ],
1295
+ }),
1296
+ ],
1297
+ },
1298
+ },
1299
+ },
1300
+ };
1301
+ return entityDef;
1302
+ }
1303
+ //#endregion
1304
+
1305
+ var reservationStatus_entity = /*#__PURE__*/Object.freeze({
1306
+ __proto__: null,
1307
+ reservationStatusFactory: reservationStatusFactory
1308
+ });
1309
+
1310
+ //#region ---- Imports ----
1311
+ //#endregion
1312
+ //#region ---- Reservation Status Entity Module ----
1313
+ class AXPReservationManagementReservationStatusEntityModule {
1314
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1315
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusEntityModule }); }
1316
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusEntityModule, providers: [
1317
+ {
1318
+ provide: AXPReservationManagementReservationStatusService,
1319
+ useClass: AXPReservationManagementReservationStatusServiceImpl,
1320
+ },
1321
+ ] }); }
1322
+ }
1323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusEntityModule, decorators: [{
1324
+ type: NgModule,
1325
+ args: [{
1326
+ providers: [
1327
+ {
1328
+ provide: AXPReservationManagementReservationStatusService,
1329
+ useClass: AXPReservationManagementReservationStatusServiceImpl,
1330
+ },
1331
+ ],
1332
+ }]
1333
+ }] });
1334
+
1335
+ //#region ---- Imports ----
1336
+ //#endregion
1337
+ //#region ---- Service ----
1338
+ class AXPReservationManagementReservationTypeService extends AXMEntityCrudServiceImpl {
1339
+ }
1340
+ class AXPReservationManagementReservationTypeServiceImpl extends AXPReservationManagementReservationTypeService {
1341
+ constructor() {
1342
+ super(`${RootConfig.module.name}.${RootConfig.entities.reservationType.name}`);
1343
+ }
1344
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationTypeServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1345
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationTypeServiceImpl, providedIn: 'root' }); }
1346
+ }
1347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationTypeServiceImpl, decorators: [{
1348
+ type: Injectable,
1349
+ args: [{
1350
+ providedIn: 'root',
1351
+ }]
1352
+ }], ctorParameters: () => [] });
1353
+
1354
+ //#region ---- Imports ----
1355
+ //#endregion
1356
+ //#region ---- Entity Factory ----
1357
+ async function reservationTypeFactory(injector) {
1358
+ const dataService = injector.get(AXPReservationManagementReservationTypeService);
1359
+ const i18n = RootConfig.config.i18n;
1360
+ const entityDef = {
1361
+ module: RootConfig.module.name,
1362
+ name: RootConfig.entities.reservationType.name,
1363
+ title: RootConfig.entities.reservationType.title,
1364
+ icon: RootConfig.entities.reservationType.icon,
1365
+ plugins: [{ name: 'archive' }],
1366
+ formats: {
1367
+ individual: RootConfig.entities.reservationType.title,
1368
+ plural: RootConfig.entities.reservationType.titlePlural,
1369
+ searchResult: {
1370
+ title: '{{ title }}',
1371
+ description: '{{ name }}',
1372
+ },
1373
+ },
1374
+ groups: [
1375
+ {
1376
+ id: 'basic-information',
1377
+ title: '@reservation-management:reservation-types.entities.reservation-type.groups.basic-information',
1378
+ },
1379
+ ],
1380
+ properties: [
1381
+ {
1382
+ name: 'id',
1383
+ title: '@general:terms.common.id',
1384
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
1385
+ },
1386
+ {
1387
+ name: 'name',
1388
+ title: '@reservation-management:reservation-types.entities.reservation-type.fields.name.title',
1389
+ groupId: 'basic-information',
1390
+ schema: {
1391
+ dataType: 'number',
1392
+ interface: {
1393
+ type: AXPWidgetsList.Editors.TextBox,
1394
+ options: {
1395
+ placeholder: '@reservation-management:reservation-types.entities.reservation-type.fields.name.placeholder',
1396
+ },
1397
+ },
1398
+ },
1399
+ options: {
1400
+ sort: { enabled: true },
1401
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
1402
+ },
1403
+ validations: [{ rule: 'required' }],
1404
+ },
1405
+ {
1406
+ name: 'title',
1407
+ title: '@reservation-management:reservation-types.entities.reservation-type.fields.title.title',
1408
+ groupId: 'basic-information',
1409
+ schema: {
1410
+ dataType: 'string',
1411
+ interface: {
1412
+ type: AXPWidgetsList.Editors.TextBox,
1413
+ options: {
1414
+ placeholder: '@reservation-management:reservation-types.entities.reservation-type.fields.title.placeholder',
1415
+ },
1416
+ },
1417
+ },
1418
+ options: {
1419
+ sort: { enabled: true },
1420
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
1421
+ },
1422
+ validations: [{ rule: 'required' }],
1423
+ },
1424
+ {
1425
+ name: 'isBlocking',
1426
+ title: '@reservation-management:reservation-types.entities.reservation-type.fields.is-blocking.title',
1427
+ groupId: 'basic-information',
1428
+ schema: {
1429
+ dataType: 'boolean',
1430
+ interface: {
1431
+ type: AXPWidgetsCatalog.toggle,
1432
+ },
1433
+ },
1434
+ options: {
1435
+ sort: { enabled: false },
1436
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
1437
+ },
1438
+ },
1439
+ ],
1440
+ columns: [{ name: 'name', options: { order: 1 } }, { name: 'title', options: { order: 2 } }, { name: 'resourceEntityIds', options: { order: 3 } }, { name: 'isBlocking', options: { order: 4 } }],
1441
+ commands: {
1442
+ create: {
1443
+ execute: async (data) => {
1444
+ return { id: await dataService.insertOne(data) };
1445
+ },
1446
+ },
1447
+ update: {
1448
+ execute: async (data) => {
1449
+ return await dataService.updateOne(data.id, data);
1450
+ },
1451
+ },
1452
+ delete: {
1453
+ execute: async (id) => {
1454
+ return await dataService.deleteOne(id);
1455
+ },
1456
+ },
1457
+ },
1458
+ queries: {
1459
+ byKey: {
1460
+ execute: async (id) => {
1461
+ return await dataService.getOne(id);
1462
+ },
1463
+ type: AXPEntityQueryType.Single,
1464
+ },
1465
+ list: {
1466
+ execute: async (e) => {
1467
+ return await dataService.query({
1468
+ skip: e.skip,
1469
+ take: e.take,
1470
+ filter: e.filter,
1471
+ sort: e.sort,
1472
+ });
1473
+ },
1474
+ type: AXPEntityQueryType.List,
1475
+ },
1476
+ },
1477
+ interfaces: {
1478
+ master: {
1479
+ create: {
1480
+ sections: [{ id: 'basic-information' }],
1481
+ properties: [
1482
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
1483
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
1484
+ { name: 'isBlocking', layout: { positions: { lg: { colSpan: 12 } } } },
1485
+ ],
1486
+ },
1487
+ update: {
1488
+ sections: [{ id: 'basic-information' }],
1489
+ properties: [
1490
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
1491
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
1492
+ { name: 'isBlocking', layout: { positions: { lg: { colSpan: 12 } } } },
1493
+ ],
1494
+ },
1495
+ single: {
1496
+ title: '{{ title }}',
1497
+ sections: [{ id: 'basic-information' }],
1498
+ properties: [
1499
+ { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },
1500
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
1501
+ { name: 'isBlocking', layout: { positions: { lg: { colSpan: 12 } } } },
1502
+ ],
1503
+ actions: [...entityMasterRecordActions()],
1504
+ },
1505
+ list: {
1506
+ actions: [
1507
+ ...entityMasterCrudActions(),
1508
+ {
1509
+ title: '@general:actions.archive.title',
1510
+ command: 'archive-entity',
1511
+ priority: 'secondary',
1512
+ type: AXPSystemActionType.Archive,
1513
+ scope: AXPEntityCommandScope.Individual,
1514
+ },
1515
+ ],
1516
+ views: [
1517
+ createAllQueryView({
1518
+ sorts: [{ name: 'name', dir: 'asc' }],
1519
+ }),
1520
+ ],
1521
+ },
1522
+ },
1523
+ },
1524
+ };
1525
+ return entityDef;
1526
+ }
1527
+ //#endregion
1528
+
1529
+ var reservationType_entity = /*#__PURE__*/Object.freeze({
1530
+ __proto__: null,
1531
+ reservationTypeFactory: reservationTypeFactory
1532
+ });
1533
+
1534
+ //#region ---- Imports ----
1535
+ //#endregion
1536
+ //#region ---- Reservation Type Entity Module ----
1537
+ class AXPReservationManagementReservationTypeEntityModule {
1538
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationTypeEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1539
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationTypeEntityModule }); }
1540
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationTypeEntityModule, providers: [
1541
+ {
1542
+ provide: AXPReservationManagementReservationTypeService,
1543
+ useClass: AXPReservationManagementReservationTypeServiceImpl,
1544
+ },
1545
+ ] }); }
1546
+ }
1547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationTypeEntityModule, decorators: [{
1548
+ type: NgModule,
1549
+ args: [{
1550
+ providers: [
1551
+ {
1552
+ provide: AXPReservationManagementReservationTypeService,
1553
+ useClass: AXPReservationManagementReservationTypeServiceImpl,
1554
+ },
1555
+ ],
1556
+ }]
1557
+ }] });
1558
+
1559
+ class AXMReservationManagementEntityProvider {
1560
+ constructor() {
1561
+ this.injector = inject(Injector);
1562
+ }
1563
+ preload() {
1564
+ const module = RootConfig.module.name;
1565
+ return Array.from(Object.values(RootConfig.entities)).map((entity) => ({
1566
+ module: module,
1567
+ entity: entity.name,
1568
+ }));
1569
+ }
1570
+ async get(moduleName, entityName) {
1571
+ if (moduleName == RootConfig.module.name) {
1572
+ switch (entityName) {
1573
+ case RootConfig.entities.reservationType.name:
1574
+ return (await Promise.resolve().then(function () { return reservationType_entity; })).reservationTypeFactory(this.injector);
1575
+ case RootConfig.entities.reservationStatus.name:
1576
+ return (await Promise.resolve().then(function () { return reservationStatus_entity; })).reservationStatusFactory(this.injector);
1577
+ case RootConfig.entities.reservationClass.name:
1578
+ return (await Promise.resolve().then(function () { return reservationClass_entity; })).reservationClassFactory(this.injector);
1579
+ case RootConfig.entities.reservationEvent.name:
1580
+ return (await Promise.resolve().then(function () { return reservationEvent_entity; })).reservationEventFactory(this.injector);
1581
+ case RootConfig.entities.reservation.name:
1582
+ return (await Promise.resolve().then(function () { return reservation_entity; })).reservationFactory(this.injector);
1583
+ case RootConfig.entities.reservationStatusTransition.name:
1584
+ return (await import('./acorex-modules-reservation-management-reservation-status-transition.entity-BT8GQ9MC.mjs')).reservationStatusTransitionFactory(this.injector);
1585
+ case RootConfig.entities.reservationResourceType.name:
1586
+ return (await import('./acorex-modules-reservation-management-reservation-resource-type.entity-BXb0FTQ5.mjs')).reservationResourceTypeFactory(this.injector);
1587
+ case RootConfig.entities.reservationClassStatus.name:
1588
+ return (await import('./acorex-modules-reservation-management-reservation-class-status.entity-Clyj7r2x.mjs')).reservationClassStatusFactory(this.injector);
1589
+ }
1590
+ }
1591
+ return null;
1592
+ }
1593
+ async list() {
1594
+ const m = RootConfig.module.name;
1595
+ return Promise.resolve(Object.values(RootConfig.entities).map((e) => ({ name: e.name, module: m })));
1596
+ }
1597
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationManagementEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1598
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationManagementEntityProvider }); }
1599
+ }
1600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationManagementEntityProvider, decorators: [{
1601
+ type: Injectable
1602
+ }] });
1603
+
1604
+ var entity_provider = /*#__PURE__*/Object.freeze({
1605
+ __proto__: null,
1606
+ AXMReservationManagementEntityProvider: AXMReservationManagementEntityProvider
1607
+ });
1608
+
1609
+ const AXMReservationManagementMenuKeys = {
1610
+ ReservationTypes: 'reservation-management:Menu:ReservationTypes',
1611
+ ReservationStatuses: 'reservation-management:Menu:ReservationStatuses',
1612
+ ReservationClasses: 'reservation-management:Menu:ReservationClasses',
1613
+ Reservations: 'reservation-management:Menu:Reservations',
1614
+ };
1615
+
1616
+ const AXMPermissionsKeys = {
1617
+ ReservationManagement: {
1618
+ Management: 'ReservationManagement:Permission:Management',
1619
+ ReservationType: {
1620
+ Management: 'ReservationManagement:Permission:ReservationType.Management',
1621
+ },
1622
+ ReservationStatus: {
1623
+ Management: 'ReservationManagement:Permission:ReservationStatus.Management',
1624
+ },
1625
+ ReservationClass: {
1626
+ Management: 'ReservationManagement:Permission:ReservationClass.Management',
1627
+ },
1628
+ Reservation: {
1629
+ Management: 'ReservationManagement:Permission:Reservation.Management',
1630
+ },
1631
+ },
1632
+ };
1633
+
1634
+ //#region ---- Imports ----
1635
+ //#endregion
1636
+ //#region ---- Menu Provider ----
1637
+ class AXMReservationManagementMenuProvider {
1638
+ constructor() {
1639
+ this.entityService = inject(AXPEntityService);
1640
+ }
1641
+ async provide(context) {
1642
+ const module = RootConfig.module;
1643
+ const keys = AXMPermissionsKeys.ReservationManagement;
1644
+ // Configuration > Reservation: Types, Statuses, Classes
1645
+ const reservationConfigMenu = context.find(AXPCommonMenuKeys.ReservationConfig);
1646
+ if (!reservationConfigMenu.exists) {
1647
+ context.find(AXPCommonMenuKeys.Configuration).addItems([
1648
+ {
1649
+ name: AXPCommonMenuKeys.ReservationConfig,
1650
+ priority: 8942,
1651
+ text: '@general:menus.reservation.title',
1652
+ icon: module.icon,
1653
+ type: 'menu',
1654
+ children: [],
1655
+ policy: {
1656
+ features: [module.name],
1657
+ },
1658
+ },
1659
+ ]);
1660
+ }
1661
+ context.find(AXPCommonMenuKeys.ReservationConfig).addItems([
1662
+ {
1663
+ name: AXMReservationManagementMenuKeys.ReservationTypes,
1664
+ text: '@reservation-management:reservation-types.menus.reservation-types.title',
1665
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservationType.name),
1666
+ icon: 'fa-light fa-list',
1667
+ priority: 1,
1668
+ policy: {
1669
+ permissions: [keys.ReservationType.Management],
1670
+ },
1671
+ },
1672
+ {
1673
+ name: AXMReservationManagementMenuKeys.ReservationStatuses,
1674
+ text: '@reservation-management:reservation-statuses.menus.reservation-statuses.title',
1675
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservationStatus.name),
1676
+ icon: 'fa-light fa-flag',
1677
+ priority: 2,
1678
+ policy: {
1679
+ permissions: [keys.ReservationStatus.Management],
1680
+ },
1681
+ },
1682
+ {
1683
+ name: AXMReservationManagementMenuKeys.ReservationClasses,
1684
+ text: '@reservation-management:reservation-classes.menus.reservation-classes.title',
1685
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservationClass.name),
1686
+ icon: 'fa-light fa-tag',
1687
+ priority: 3,
1688
+ policy: {
1689
+ permissions: [keys.ReservationClass.Management],
1690
+ },
1691
+ },
1692
+ ]);
1693
+ // Root under MODULES: Reservations (operational)
1694
+ context.addItems([
1695
+ {
1696
+ name: AXMReservationManagementMenuKeys.Reservations,
1697
+ priority: 9051,
1698
+ text: '@general:menus.reservations.title',
1699
+ icon: RootConfig.entities.reservation.icon,
1700
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservation.name),
1701
+ policy: {
1702
+ features: [module.name],
1703
+ permissions: [keys.Reservation.Management],
1704
+ },
1705
+ children: [
1706
+ {
1707
+ name: AXMReservationManagementMenuKeys.ReservationTypes,
1708
+ text: '@reservation-management:reservation-types.menus.reservation-types.title',
1709
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservationType.name),
1710
+ icon: 'fa-light fa-list',
1711
+ priority: 1,
1712
+ },
1713
+ {
1714
+ name: AXMReservationManagementMenuKeys.ReservationClasses,
1715
+ text: '@reservation-management:reservation-classes.menus.reservation-classes.title',
1716
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservationClass.name),
1717
+ icon: 'fa-light fa-tag',
1718
+ priority: 2,
1719
+ },
1720
+ {
1721
+ name: AXMReservationManagementMenuKeys.ReservationTypes,
1722
+ text: '@reservation-management:reservation-resource-types.menus.reservation-resource-types.title',
1723
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservationResourceType.name),
1724
+ icon: 'fa-light fa-cubes',
1725
+ priority: 3,
1726
+ },
1727
+ {
1728
+ name: AXMReservationManagementMenuKeys.ReservationStatuses,
1729
+ text: '@reservation-management:reservation-statuses.menus.reservation-statuses.title',
1730
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservationStatus.name),
1731
+ icon: 'fa-light fa-flag',
1732
+ priority: 4,
1733
+ },
1734
+ {
1735
+ name: AXMReservationManagementMenuKeys.Reservations,
1736
+ text: '@reservation-management:reservations.menus.reservations.title',
1737
+ path: this.entityService.createPath(module.name, RootConfig.entities.reservation.name),
1738
+ icon: 'fa-light fa-calendar-check',
1739
+ priority: 5,
1740
+ },
1741
+ ],
1742
+ },
1743
+ ]);
1744
+ }
1745
+ }
1746
+ //#endregion
1747
+
1748
+ var menu_provider = /*#__PURE__*/Object.freeze({
1749
+ __proto__: null,
1750
+ AXMReservationManagementMenuProvider: AXMReservationManagementMenuProvider
1751
+ });
1752
+
1753
+ class AXMReservationManagementPermissionDefinitionProvider {
1754
+ constructor() {
1755
+ this.translateService = inject(AXTranslationService);
1756
+ }
1757
+ async define(context) {
1758
+ const scope = RootConfig.config.i18n;
1759
+ const moduleTitle = await this.translateService.translateAsync(`@${scope}:module.title`);
1760
+ const typeTrans = async (key, field = 'title') => await this.translateService.translateAsync(`@${scope}:reservation-types.permissions.${key}.${field}`);
1761
+ const statusTrans = async (key, field = 'title') => await this.translateService.translateAsync(`@${scope}:reservation-statuses.permissions.${key}.${field}`);
1762
+ const classTrans = async (key, field = 'title') => await this.translateService.translateAsync(`@${scope}:reservation-classes.permissions.${key}.${field}`);
1763
+ const reservationTitle = await this.translateService.translateAsync(`@${scope}:reservations.permissions.reservations.title`);
1764
+ const reservationDesc = await this.translateService.translateAsync(`@${scope}:reservations.permissions.reservations.description`);
1765
+ const keys = AXMPermissionsKeys.ReservationManagement;
1766
+ context
1767
+ .addGroup(RootConfig.module.name, moduleTitle)
1768
+ .addPermission(keys.ReservationType.Management, await typeTrans('manage'), await typeTrans('manage', 'description'))
1769
+ .endPermission()
1770
+ .addPermission(keys.ReservationStatus.Management, await statusTrans('manage'), await statusTrans('manage', 'description'))
1771
+ .endPermission()
1772
+ .addPermission(keys.ReservationClass.Management, await classTrans('manage'), await classTrans('manage', 'description'))
1773
+ .endPermission()
1774
+ .addPermission(keys.Reservation.Management, reservationTitle, reservationDesc)
1775
+ .endPermission()
1776
+ .endGroup();
1777
+ }
1778
+ }
1779
+
1780
+ var permissionDefinition_provider = /*#__PURE__*/Object.freeze({
1781
+ __proto__: null,
1782
+ AXMReservationManagementPermissionDefinitionProvider: AXMReservationManagementPermissionDefinitionProvider
1783
+ });
1784
+
1785
+ //#region ---- Imports ----
1786
+ //#endregion
1787
+ //#region ---- Event Type Entity Module ----
1788
+ class AXPReservationManagementReservationClassEntityModule {
1789
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1790
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassEntityModule }); }
1791
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassEntityModule, providers: [
1792
+ {
1793
+ provide: AXPReservationManagementReservationClassService,
1794
+ useClass: AXPReservationManagementReservationClassServiceImpl,
1795
+ },
1796
+ ] }); }
1797
+ }
1798
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassEntityModule, decorators: [{
1799
+ type: NgModule,
1800
+ args: [{
1801
+ providers: [
1802
+ {
1803
+ provide: AXPReservationManagementReservationClassService,
1804
+ useClass: AXPReservationManagementReservationClassServiceImpl,
1805
+ },
1806
+ ],
1807
+ }]
1808
+ }] });
1809
+
1810
+ class AXPReservationManagementReservationClassStatusService extends AXMEntityCrudServiceImpl {
1811
+ }
1812
+ class AXPReservationManagementReservationClassStatusServiceImpl extends AXPReservationManagementReservationClassStatusService {
1813
+ constructor() {
1814
+ super(`${RootConfig.module.name}.${RootConfig.entities.reservationClassStatus.name}`);
1815
+ }
1816
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassStatusServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1817
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassStatusServiceImpl }); }
1818
+ }
1819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassStatusServiceImpl, decorators: [{
1820
+ type: Injectable
1821
+ }], ctorParameters: () => [] });
1822
+
1823
+ //#region ---- Imports ----
1824
+ //#endregion
1825
+ //#region ---- Reservation Class Status Entity Module ----
1826
+ class AXPReservationManagementReservationClassStatusEntityModule {
1827
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassStatusEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1828
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassStatusEntityModule }); }
1829
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassStatusEntityModule, providers: [
1830
+ {
1831
+ provide: AXPReservationManagementReservationClassStatusService,
1832
+ useClass: AXPReservationManagementReservationClassStatusServiceImpl,
1833
+ },
1834
+ ] }); }
1835
+ }
1836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationClassStatusEntityModule, decorators: [{
1837
+ type: NgModule,
1838
+ args: [{
1839
+ providers: [
1840
+ {
1841
+ provide: AXPReservationManagementReservationClassStatusService,
1842
+ useClass: AXPReservationManagementReservationClassStatusServiceImpl,
1843
+ },
1844
+ ],
1845
+ }]
1846
+ }] });
1847
+
1848
+ //#region ---- Imports ----
1849
+ //#endregion
1850
+ //#region ---- Hold Type Entity Module ----
1851
+ class AXPReservationManagementReservationEventEntityModule {
1852
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEventEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1853
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEventEntityModule }); }
1854
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEventEntityModule, providers: [
1855
+ {
1856
+ provide: AXPReservationManagementReservationEventService,
1857
+ useClass: AXPReservationManagementReservationEventServiceImpl,
1858
+ },
1859
+ ] }); }
1860
+ }
1861
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationEventEntityModule, decorators: [{
1862
+ type: NgModule,
1863
+ args: [{
1864
+ providers: [
1865
+ {
1866
+ provide: AXPReservationManagementReservationEventService,
1867
+ useClass: AXPReservationManagementReservationEventServiceImpl,
1868
+ },
1869
+ ],
1870
+ }]
1871
+ }] });
1872
+
1873
+ //#region ---- Imports ----
1874
+ //#endregion
1875
+ //#region ---- Service ----
1876
+ class AXPReservationManagementReservationResourceTypeService extends AXMEntityCrudServiceImpl {
1877
+ }
1878
+ class AXPReservationManagementReservationResourceTypeServiceImpl extends AXPReservationManagementReservationResourceTypeService {
1879
+ constructor() {
1880
+ super(`${RootConfig.module.name}.${RootConfig.entities.reservationResourceType.name}`);
1881
+ }
1882
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationResourceTypeServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1883
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationResourceTypeServiceImpl, providedIn: 'root' }); }
1884
+ }
1885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationResourceTypeServiceImpl, decorators: [{
1886
+ type: Injectable,
1887
+ args: [{
1888
+ providedIn: 'root',
1889
+ }]
1890
+ }], ctorParameters: () => [] });
1891
+
1892
+ //#region ---- Imports ----
1893
+ //#endregion
1894
+ //#region ---- Reservation Resource Type Entity Module ----
1895
+ class AXPReservationManagementReservationResourceTypeEntityModule {
1896
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationResourceTypeEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1897
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationResourceTypeEntityModule }); }
1898
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationResourceTypeEntityModule, providers: [
1899
+ {
1900
+ provide: AXPReservationManagementReservationResourceTypeService,
1901
+ useClass: AXPReservationManagementReservationResourceTypeServiceImpl,
1902
+ },
1903
+ ] }); }
1904
+ }
1905
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationResourceTypeEntityModule, decorators: [{
1906
+ type: NgModule,
1907
+ args: [{
1908
+ providers: [
1909
+ {
1910
+ provide: AXPReservationManagementReservationResourceTypeService,
1911
+ useClass: AXPReservationManagementReservationResourceTypeServiceImpl,
1912
+ },
1913
+ ],
1914
+ }]
1915
+ }] });
1916
+
1917
+ //#region ---- Imports ----
1918
+ //#endregion
1919
+ //#region ---- Service ----
1920
+ class AXPReservationManagementReservationStatusTransitionService extends AXMEntityCrudServiceImpl {
1921
+ }
1922
+ class AXPReservationManagementReservationStatusTransitionServiceImpl extends AXPReservationManagementReservationStatusTransitionService {
1923
+ constructor() {
1924
+ super(`${RootConfig.module.name}.${RootConfig.entities.reservationStatusTransition.name}`);
1925
+ }
1926
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusTransitionServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1927
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusTransitionServiceImpl, providedIn: 'root' }); }
1928
+ }
1929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusTransitionServiceImpl, decorators: [{
1930
+ type: Injectable,
1931
+ args: [{
1932
+ providedIn: 'root',
1933
+ }]
1934
+ }], ctorParameters: () => [] });
1935
+
1936
+ //#region ---- Imports ----
1937
+ //#endregion
1938
+ //#region ---- Reservation Status Transition Entity Module ----
1939
+ class AXPReservationManagementReservationStatusTransitionEntityModule {
1940
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusTransitionEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1941
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusTransitionEntityModule }); }
1942
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusTransitionEntityModule, providers: [
1943
+ {
1944
+ provide: AXPReservationManagementReservationStatusTransitionService,
1945
+ useClass: AXPReservationManagementReservationStatusTransitionServiceImpl,
1946
+ },
1947
+ ] }); }
1948
+ }
1949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPReservationManagementReservationStatusTransitionEntityModule, decorators: [{
1950
+ type: NgModule,
1951
+ args: [{
1952
+ providers: [
1953
+ {
1954
+ provide: AXPReservationManagementReservationStatusTransitionService,
1955
+ useClass: AXPReservationManagementReservationStatusTransitionServiceImpl,
1956
+ },
1957
+ ],
1958
+ }]
1959
+ }] });
1960
+
1961
+ //#region ---- Imports ----
1962
+ //#endregion
1963
+ //#region ---- Manifest Definition ----
1964
+ /**
1965
+ * Reservation Management Module Manifest.
1966
+ * Defines module metadata, features, and provider references.
1967
+ */
1968
+ const ReservationManagementManifest = {
1969
+ name: RootConfig.module.name,
1970
+ version: '1.0.0',
1971
+ title: RootConfig.module.title,
1972
+ icon: RootConfig.module.icon,
1973
+ i18n: RootConfig.config.i18n,
1974
+ required: false,
1975
+ // Module dependencies (optional)
1976
+ };
1977
+ //#endregion
1978
+
1979
+ //#region ---- Imports ----
1980
+ //#endregion
1981
+ //#region ---- Module ----
1982
+ class AXMReservationManagementModule {
1983
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1984
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationManagementModule, imports: [AXPReservationManagementReservationTypeEntityModule,
1985
+ AXPReservationManagementReservationStatusEntityModule,
1986
+ AXPReservationManagementReservationClassEntityModule,
1987
+ AXPReservationManagementReservationClassStatusEntityModule,
1988
+ AXPReservationManagementReservationStatusTransitionEntityModule,
1989
+ AXPReservationManagementReservationResourceTypeEntityModule,
1990
+ AXPReservationManagementReservationEventEntityModule,
1991
+ AXPReservationManagementReservationEntityModule] }); }
1992
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationManagementModule, providers: [
1993
+ // Module Manifest Provider
1994
+ {
1995
+ provide: AXP_MODULE_MANIFEST_PROVIDER,
1996
+ useValue: ReservationManagementManifest,
1997
+ multi: true,
1998
+ },
1999
+ // Provider references (now using tokens)
2000
+ provideLazyProvider(AXP_PERMISSION_DEFINITION_PROVIDER, () => Promise.resolve().then(function () { return permissionDefinition_provider; }).then((m) => m.AXMReservationManagementPermissionDefinitionProvider)),
2001
+ provideLazyProvider(AXP_MENU_PROVIDER, () => Promise.resolve().then(function () { return menu_provider; }).then((m) => m.AXMReservationManagementMenuProvider)),
2002
+ provideLazyProvider(AXP_ENTITY_DEFINITION_LOADER, () => Promise.resolve().then(function () { return entity_provider; }).then((m) => m.AXMReservationManagementEntityProvider)),
2003
+ provideLazyProvider(AXP_SEARCH_PROVIDER, () => Promise.resolve().then(function () { return search_provider; }).then((m) => m.AXMReservationManagementSearchCommandProvider)),
2004
+ ], imports: [AXPReservationManagementReservationTypeEntityModule,
2005
+ AXPReservationManagementReservationStatusEntityModule,
2006
+ AXPReservationManagementReservationClassEntityModule,
2007
+ AXPReservationManagementReservationClassStatusEntityModule,
2008
+ AXPReservationManagementReservationStatusTransitionEntityModule,
2009
+ AXPReservationManagementReservationResourceTypeEntityModule,
2010
+ AXPReservationManagementReservationEventEntityModule,
2011
+ AXPReservationManagementReservationEntityModule] }); }
2012
+ }
2013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMReservationManagementModule, decorators: [{
2014
+ type: NgModule,
2015
+ args: [{
2016
+ imports: [
2017
+ AXPReservationManagementReservationTypeEntityModule,
2018
+ AXPReservationManagementReservationStatusEntityModule,
2019
+ AXPReservationManagementReservationClassEntityModule,
2020
+ AXPReservationManagementReservationClassStatusEntityModule,
2021
+ AXPReservationManagementReservationStatusTransitionEntityModule,
2022
+ AXPReservationManagementReservationResourceTypeEntityModule,
2023
+ AXPReservationManagementReservationEventEntityModule,
2024
+ AXPReservationManagementReservationEntityModule,
2025
+ ],
2026
+ providers: [
2027
+ // Module Manifest Provider
2028
+ {
2029
+ provide: AXP_MODULE_MANIFEST_PROVIDER,
2030
+ useValue: ReservationManagementManifest,
2031
+ multi: true,
2032
+ },
2033
+ // Provider references (now using tokens)
2034
+ provideLazyProvider(AXP_PERMISSION_DEFINITION_PROVIDER, () => Promise.resolve().then(function () { return permissionDefinition_provider; }).then((m) => m.AXMReservationManagementPermissionDefinitionProvider)),
2035
+ provideLazyProvider(AXP_MENU_PROVIDER, () => Promise.resolve().then(function () { return menu_provider; }).then((m) => m.AXMReservationManagementMenuProvider)),
2036
+ provideLazyProvider(AXP_ENTITY_DEFINITION_LOADER, () => Promise.resolve().then(function () { return entity_provider; }).then((m) => m.AXMReservationManagementEntityProvider)),
2037
+ provideLazyProvider(AXP_SEARCH_PROVIDER, () => Promise.resolve().then(function () { return search_provider; }).then((m) => m.AXMReservationManagementSearchCommandProvider)),
2038
+ ],
2039
+ }]
2040
+ }] });
2041
+
2042
+ class AXMSearchCommandProvider extends AXPSearchCommandProvider {
2043
+ constructor() {
2044
+ super(...arguments);
2045
+ this.commands = [
2046
+ // {
2047
+ // group: 'command',
2048
+ // title: 'New Form Template',
2049
+ // icon: RootConfig.entities.template.icon,
2050
+ // description: 'Create a new form template for designing reusable forms.', // Added description
2051
+ // commands: {
2052
+ // 'create-entity': {
2053
+ // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,
2054
+ // },
2055
+ // },
2056
+ // }
2057
+ ];
2058
+ }
2059
+ }
2060
+
2061
+ //#region ---- Imports ----
2062
+ //#endregion
2063
+ //#region ---- Search Provider ----
2064
+ class AXMReservationManagementSearchCommandProvider extends AXPSearchCommandProvider {
2065
+ constructor() {
2066
+ super(...arguments);
2067
+ this.commands = [
2068
+ {
2069
+ group: 'entity',
2070
+ title: '@reservation-management:assets.search.create-asset.title',
2071
+ icon: RootConfig.entities.reservation.icon,
2072
+ description: '@reservation-management:assets.search.create-asset.description',
2073
+ command: {
2074
+ name: 'create-entity',
2075
+ options: {
2076
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservation.name}`,
2077
+ },
2078
+ },
2079
+ },
2080
+ // {
2081
+ // group: 'entity',
2082
+ // title: '@asset-management:asset-statuses.search.create-asset-status.title',
2083
+ // icon: RootConfig.entities.assetStatus.icon,
2084
+ // description: '@asset-management:asset-statuses.search.create-asset-status.description',
2085
+ // command: {
2086
+ // name: 'create-entity',
2087
+ // options: {
2088
+ // entity: `${RootConfig.module.name}.${RootConfig.entities.assetStatus.name}`,
2089
+ // },
2090
+ // },
2091
+ // },
2092
+ ];
2093
+ }
2094
+ }
2095
+ //#endregion
2096
+
2097
+ var search_provider = /*#__PURE__*/Object.freeze({
2098
+ __proto__: null,
2099
+ AXMReservationManagementSearchCommandProvider: AXMReservationManagementSearchCommandProvider
2100
+ });
2101
+
2102
+ class AXMSettingProvider {
2103
+ async provide(context) {
2104
+ // context
2105
+ // // Add Form Template Group
2106
+ // .addGroup('form-template', 'Form Template', 'Settings related to form templates.', RootConfig.module.icon)
2107
+ // // Start Interface Section
2108
+ // .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')
2109
+ // .addSetting({
2110
+ // key: 'history-panel',
2111
+ // title: 'Show History Panel',
2112
+ // scope: 'U',
2113
+ // isInherited: true,
2114
+ // defaultValue: false,
2115
+ // widget: {
2116
+ // type: AXPWidgetsCatalog.toggle,
2117
+ // },
2118
+ // description: 'Enable or disable the history panel for forms.',
2119
+ // validationRules: [
2120
+ // {
2121
+ // rule: 'required',
2122
+ // },
2123
+ // ],
2124
+ // })
2125
+ // .endSection()
2126
+ // .endGroup();
2127
+ }
2128
+ }
2129
+
2130
+ /**
2131
+ * Generated bundle index. Do not edit.
2132
+ */
2133
+
2134
+ export { AXPReservationManagementReservationStatusTransitionService as A, AXMSearchCommandProvider as B, AXMReservationManagementSearchCommandProvider as C, AXMSettingProvider as D, RootConfig as R, AXPReservationManagementReservationResourceTypeService as a, AXPReservationManagementReservationClassStatusService as b, AXPReservationManagementReservationEntityModule as c, AXPReservationManagementReservationService as d, AXPReservationManagementReservationServiceImpl as e, reservationClassFactory as f, AXPReservationManagementReservationClassService as g, AXPReservationManagementReservationClassServiceImpl as h, reservationEventFactory as i, AXPReservationManagementReservationEventService as j, AXPReservationManagementReservationEventServiceImpl as k, reservationStatusFactory as l, AXPReservationManagementReservationStatusEntityModule as m, AXPReservationManagementReservationStatusService as n, AXPReservationManagementReservationStatusServiceImpl as o, reservationTypeFactory as p, AXPReservationManagementReservationTypeEntityModule as q, reservationFactory as r, AXPReservationManagementReservationTypeService as s, AXPReservationManagementReservationTypeServiceImpl as t, AXMReservationManagementEntityProvider as u, AXMReservationManagementMenuKeys as v, AXMReservationManagementMenuProvider as w, AXMReservationManagementPermissionDefinitionProvider as x, AXMPermissionsKeys as y, AXMReservationManagementModule as z };
2135
+ //# sourceMappingURL=acorex-modules-reservation-management-acorex-modules-reservation-management-CkHGIQ38.mjs.map