@acorex/modules 21.0.0-next.10 → 21.0.0-next.11

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 (55) hide show
  1. package/asset-management/index.d.ts +53 -62
  2. package/document-management/index.d.ts +24 -134
  3. package/fesm2022/{acorex-modules-asset-management-asset.entity-B9ckElN7.mjs → acorex-modules-asset-management-asset.entity-C57iN3Bo.mjs} +22 -22
  4. package/fesm2022/acorex-modules-asset-management-asset.entity-C57iN3Bo.mjs.map +1 -0
  5. package/fesm2022/{acorex-modules-asset-management-inspection.entity-CkNt44Ee.mjs → acorex-modules-asset-management-inspection.entity-CpDuN-qj.mjs} +3 -13
  6. package/fesm2022/acorex-modules-asset-management-inspection.entity-CpDuN-qj.mjs.map +1 -0
  7. package/fesm2022/{acorex-modules-asset-management-maintenance-type.entity-V9ErcTNL.mjs → acorex-modules-asset-management-maintenance-type.entity-T3iF8l5n.mjs} +3 -13
  8. package/fesm2022/acorex-modules-asset-management-maintenance-type.entity-T3iF8l5n.mjs.map +1 -0
  9. package/fesm2022/{acorex-modules-asset-management-maintenance.entity-Ctt12a9H.mjs → acorex-modules-asset-management-maintenance.entity-Cxzcn0Ae.mjs} +3 -13
  10. package/fesm2022/acorex-modules-asset-management-maintenance.entity-Cxzcn0Ae.mjs.map +1 -0
  11. package/fesm2022/acorex-modules-asset-management.mjs +620 -1
  12. package/fesm2022/acorex-modules-asset-management.mjs.map +1 -1
  13. package/fesm2022/acorex-modules-content-management.mjs +7 -6
  14. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  15. package/fesm2022/acorex-modules-document-management.mjs +483 -2002
  16. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  17. package/fesm2022/acorex-modules-human-capital-management.mjs +4 -0
  18. package/fesm2022/acorex-modules-human-capital-management.mjs.map +1 -1
  19. package/fesm2022/acorex-modules-meeting-management.mjs +489 -212
  20. package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
  21. package/fesm2022/{acorex-modules-order-management-bulk-buy-order-item.entity-CS8G9l7a.mjs → acorex-modules-order-management-bulk-buy-order-item.entity-Cqsc1tku.mjs} +39 -29
  22. package/fesm2022/acorex-modules-order-management-bulk-buy-order-item.entity-Cqsc1tku.mjs.map +1 -0
  23. package/fesm2022/{acorex-modules-order-management-bulk-buy-order.entity-BAagygjM.mjs → acorex-modules-order-management-bulk-buy-order.entity-BMvkJRpA.mjs} +30 -12
  24. package/fesm2022/acorex-modules-order-management-bulk-buy-order.entity-BMvkJRpA.mjs.map +1 -0
  25. package/fesm2022/{acorex-modules-order-management-entity.provider-BXeXMpey.mjs → acorex-modules-order-management-entity.provider-CUq01hQo.mjs} +3 -3
  26. package/fesm2022/{acorex-modules-order-management-entity.provider-BXeXMpey.mjs.map → acorex-modules-order-management-entity.provider-CUq01hQo.mjs.map} +1 -1
  27. package/fesm2022/acorex-modules-order-management.mjs +2 -2
  28. package/fesm2022/{acorex-modules-person-management-person.entity-T3pPeC5H.mjs → acorex-modules-person-management-person.entity-BtaGNj8n.mjs} +12 -56
  29. package/fesm2022/acorex-modules-person-management-person.entity-BtaGNj8n.mjs.map +1 -0
  30. package/fesm2022/acorex-modules-person-management.mjs +1 -1
  31. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  32. package/fesm2022/{acorex-modules-reservation-management-acorex-modules-reservation-management-DgIxX2nQ.mjs → acorex-modules-reservation-management-acorex-modules-reservation-management-C7jb3vLV.mjs} +5 -2
  33. package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-C7jb3vLV.mjs.map +1 -0
  34. package/fesm2022/{acorex-modules-reservation-management-event-type.entity-Ddr2JufJ.mjs → acorex-modules-reservation-management-event-type.entity-Dj6e-Iay.mjs} +2 -2
  35. package/fesm2022/{acorex-modules-reservation-management-event-type.entity-Ddr2JufJ.mjs.map → acorex-modules-reservation-management-event-type.entity-Dj6e-Iay.mjs.map} +1 -1
  36. package/fesm2022/acorex-modules-reservation-management.mjs +1 -1
  37. package/fesm2022/acorex-modules-task-management.mjs +39 -16
  38. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  39. package/fesm2022/acorex-modules-workflow-management.mjs +0 -2
  40. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  41. package/meeting-management/index.d.ts +29 -6
  42. package/package.json +2 -2
  43. package/report-management/index.d.ts +2 -2
  44. package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-CZchW21Z.mjs +0 -752
  45. package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-CZchW21Z.mjs.map +0 -1
  46. package/fesm2022/acorex-modules-asset-management-asset.entity-B9ckElN7.mjs.map +0 -1
  47. package/fesm2022/acorex-modules-asset-management-inspection.entity-CkNt44Ee.mjs.map +0 -1
  48. package/fesm2022/acorex-modules-asset-management-maintenance-type.entity-V9ErcTNL.mjs.map +0 -1
  49. package/fesm2022/acorex-modules-asset-management-maintenance.entity-Ctt12a9H.mjs.map +0 -1
  50. package/fesm2022/acorex-modules-document-management-document-signature-popup.component-Stt6Gx2C.mjs +0 -145
  51. package/fesm2022/acorex-modules-document-management-document-signature-popup.component-Stt6Gx2C.mjs.map +0 -1
  52. package/fesm2022/acorex-modules-order-management-bulk-buy-order-item.entity-CS8G9l7a.mjs.map +0 -1
  53. package/fesm2022/acorex-modules-order-management-bulk-buy-order.entity-BAagygjM.mjs.map +0 -1
  54. package/fesm2022/acorex-modules-person-management-person.entity-T3pPeC5H.mjs.map +0 -1
  55. package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-DgIxX2nQ.mjs.map +0 -1
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, inject, Injector, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { AXPSystemActionType, AXP_MODULE_MANIFEST_PROVIDER } from '@acorex/platform/core';
5
- import { AXPEntityService, AXMEntityCrudServiceImpl, entityMasterCrudActions, entityMasterRecordActions, entityDetailsCreateActions, entityDetailsSimpleCondition, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
6
- import { AXPSearchCommandProvider, createAllQueryView, AXPEntityCommandScope, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
5
+ import { AXPEntityService, entityMasterCrudActions, entityMasterRecordActions, entityDetailsCreateActions, entityDetailsSimpleCondition, AXMEntityCrudServiceImpl, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
6
+ import { AXPSearchCommandProvider, createAllQueryView, AXPEntityCommandScope, AXPStatusProvider, systemStatusToDefinition, AXPSystemStatusType, AXP_STATUS_PROVIDERS, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
7
7
  import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
8
8
  import { AXTranslationService } from '@acorex/core/translation';
9
9
  import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
@@ -27,26 +27,26 @@ const RootConfig = {
27
27
  entities: {
28
28
  meeting: {
29
29
  name: 'Meeting',
30
- title: '@meeting-management:meetings.entities.meeting.title',
31
- titlePlural: '@meeting-management:meetings.entities.meeting.plural',
30
+ title: '@meeting-management:meetings.terms.title',
31
+ titlePlural: '@meeting-management:meetings.terms.plural',
32
32
  icon: 'fa-light fa-calendar-check',
33
33
  },
34
34
  meetingParticipant: {
35
35
  name: 'MeetingParticipant',
36
- title: '@meeting-management:meeting-participants.entities.meeting-participant.title',
37
- titlePlural: '@meeting-management:meeting-participants.entities.meeting-participant.plural',
36
+ title: '@meeting-management:meetings.meeting-participants.title',
37
+ titlePlural: '@meeting-management:meetings.meeting-participants.plural',
38
38
  icon: 'fa-light fa-user-group',
39
39
  },
40
40
  meetingRoleType: {
41
41
  name: 'MeetingRoleType',
42
- title: '@meeting-management:meeting-role-types.entities.meeting-role-type.title',
43
- titlePlural: '@meeting-management:meeting-role-types.entities.meeting-role-type.plural',
42
+ title: '@meeting-management:meetings.meeting-role-types.title',
43
+ titlePlural: '@meeting-management:meetings.meeting-role-types.plural',
44
44
  icon: 'fa-light fa-id-badge',
45
45
  },
46
46
  meetingType: {
47
47
  name: 'MeetingType',
48
- title: '@meeting-management:meeting-types.entities.meeting-type.title',
49
- titlePlural: '@meeting-management:meeting-types.entities.meeting-type.plural',
48
+ title: '@meeting-management:meetings.meeting-types.title',
49
+ titlePlural: '@meeting-management:meetings.meeting-types.plural',
50
50
  icon: 'fa-light fa-list',
51
51
  },
52
52
  meetingFiles: {
@@ -57,14 +57,14 @@ const RootConfig = {
57
57
  },
58
58
  meetingSession: {
59
59
  name: 'MeetingSession',
60
- title: '@meeting-management:meeting-sessions.entities.meeting-session.title',
61
- titlePlural: '@meeting-management:meeting-sessions.entities.meeting-session.plural',
60
+ title: '@meeting-management:meetings.meeting-sessions.title',
61
+ titlePlural: '@meeting-management:meetings.meeting-sessions.plural',
62
62
  icon: 'fa-light fa-clock',
63
63
  },
64
64
  meetingTypeFileTemplate: {
65
65
  name: 'MeetingTypeFileTemplate',
66
- title: '@meeting-management:meeting-type-file-templates.entities.meeting-type-file-template.title',
67
- titlePlural: '@meeting-management:meeting-type-file-templates.entities.meeting-type-file-template.plural',
66
+ title: '@meeting-management:meetings.meeting-type-file-templates.title',
67
+ titlePlural: '@meeting-management:meetings.meeting-type-file-templates.plural',
68
68
  icon: 'fa-light fa-file-lines',
69
69
  },
70
70
  meetingSchedule: {
@@ -220,27 +220,21 @@ class AXMMeetingManagementMenuProvider {
220
220
  children: [
221
221
  {
222
222
  name: AXPMeetingManagementMenuKeys.Meetings,
223
- text: '@meeting-management:meetings.entities.meeting.plural',
223
+ text: '@meeting-management:meetings.terms.plural',
224
224
  path: this.entityService.createPath(module.name, RootConfig.entities.meeting.name),
225
225
  icon: RootConfig.entities.meeting.icon,
226
226
  priority: 1,
227
227
  },
228
- // {
229
- // text: '@meeting-management:meeting-participant.plural-title',
230
- // path: this.entityService.createPath(module.name, RootConfig.entities.meetingParticipant.name),
231
- // icon: RootConfig.entities.meetingParticipant.icon,
232
- // priority: 2,
233
- // },
234
228
  {
235
229
  name: AXPMeetingManagementMenuKeys.MeetingTypes,
236
- text: '@meeting-management:meeting-types.entities.meeting-type.plural',
230
+ text: '@meeting-management:meetings.meeting-types.plural',
237
231
  path: this.entityService.createPath(module.name, RootConfig.entities.meetingType.name),
238
232
  icon: RootConfig.entities.meetingType.icon,
239
233
  priority: 2,
240
234
  },
241
235
  {
242
236
  name: AXPMeetingManagementMenuKeys.MeetingRoleTypes,
243
- text: '@meeting-management:meeting-role-types.entities.meeting-role-type.plural',
237
+ text: '@meeting-management:meetings.meeting-role-types.plural',
244
238
  path: this.entityService.createPath(module.name, RootConfig.entities.meetingRoleType.name),
245
239
  icon: RootConfig.entities.meetingRoleType.icon,
246
240
  priority: 3,
@@ -320,22 +314,7 @@ class AXMMeetingManagementSearchCommandProvider extends AXPSearchCommandProvider
320
314
  }
321
315
  }
322
316
 
323
- class AXMMeetingService extends AXMEntityCrudServiceImpl {
324
- }
325
- class AXMMeetingServiceImpl extends AXMMeetingService {
326
- constructor() {
327
- super(`${RootConfig.module.name}.${RootConfig.entities.meeting.name}`);
328
- }
329
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
330
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingServiceImpl }); }
331
- }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingServiceImpl, decorators: [{
333
- type: Injectable
334
- }], ctorParameters: () => [] });
335
-
336
317
  async function meetingFactory(injector) {
337
- const dataService = injector.get(AXMMeetingService);
338
- const i18n = RootConfig.config.i18n;
339
318
  const entityDef = {
340
319
  module: RootConfig.module.name,
341
320
  name: RootConfig.entities.meeting.name,
@@ -363,7 +342,18 @@ async function meetingFactory(injector) {
363
342
  plugins: [],
364
343
  },
365
344
  },
366
- { name: 'notes' },
345
+ {
346
+ name: 'status',
347
+ options: {
348
+ field: 'meetingStatusId',
349
+ definition: 'meeting-management.status.meeting-status',
350
+ generate: {
351
+ actions: {
352
+ enabled: false,
353
+ },
354
+ },
355
+ },
356
+ },
367
357
  ],
368
358
  relatedEntities: [
369
359
  {
@@ -372,34 +362,25 @@ async function meetingFactory(injector) {
372
362
  columns: ['jointime', 'leftTime', 'userId', 'participantStatus', 'meetingRoleTypeIds'],
373
363
  conditions: [entityDetailsSimpleCondition('meetingId')],
374
364
  actions: [entityDetailsCreateActions('meetingId')],
365
+ layout: { type: 'page-list', position: 'after', order: 1 },
375
366
  },
376
- // {
377
- // entity: 'DocumentManagement.DocumentRelated',
378
- // title: 'related documents',
379
- // columns: ['name', 'type', 'size'],
380
- // conditions: [entityDetailsSimpleCondition('meetingId')],
381
- // actions: [entityDetailsCreateActions('meetingId')],
382
- // },
383
367
  {
384
368
  entity: `${RootConfig.module.name}.${RootConfig.entities.meetingSession.name}`,
385
369
  title: RootConfig.entities.meetingSession.title,
386
370
  columns: ['title', 'scheduleDate', 'startTime', 'endTime', 'actualDate', 'actualStartTime', 'actualEndTime'],
387
371
  conditions: [entityDetailsSimpleCondition('meetingId')],
388
372
  actions: [entityDetailsCreateActions('meetingId')],
373
+ layout: { type: 'page-list', position: 'after', order: 2 },
389
374
  },
390
375
  ],
391
376
  groups: [
392
377
  {
393
378
  id: 'basic-info',
394
- title: '@meeting-management:meeting.basic-information',
379
+ title: '@general:terms.interface.basic-info',
395
380
  },
396
381
  {
397
382
  id: 'details',
398
- title: '@meeting-management:meeting.meeting-details',
399
- },
400
- {
401
- id: 'status',
402
- title: '@meeting-management:meeting.meeting-status',
383
+ title: '@meeting-management:meetings.groups.meeting-details',
403
384
  },
404
385
  ],
405
386
  properties: [
@@ -432,9 +413,33 @@ async function meetingFactory(injector) {
432
413
  },
433
414
  ],
434
415
  },
416
+ {
417
+ name: 'meetingNotes',
418
+ title: '@meeting-management:meetings.terms.meeting-notes',
419
+ groupId: 'basic-info',
420
+ options: {
421
+ sort: {
422
+ enabled: false,
423
+ },
424
+ filter: {
425
+ advance: {
426
+ enabled: false,
427
+ },
428
+ inline: {
429
+ enabled: false,
430
+ },
431
+ },
432
+ },
433
+ schema: {
434
+ dataType: 'string',
435
+ interface: {
436
+ type: AXPWidgetsCatalog.largeText,
437
+ },
438
+ },
439
+ },
435
440
  {
436
441
  name: 'meetingType',
437
- title: '@meeting-management:meeting.meetingType',
442
+ title: '@meeting-management:meetings.terms.meeting-type',
438
443
  groupId: 'basic-info',
439
444
  options: {
440
445
  sort: {
@@ -471,7 +476,7 @@ async function meetingFactory(injector) {
471
476
  },
472
477
  {
473
478
  name: 'meetingProviderType',
474
- title: '@meeting-management:meeting.meetingProviderType',
479
+ title: '@meeting-management:meetings.terms.meeting-provider-type',
475
480
  groupId: 'details',
476
481
  options: {
477
482
  sort: {
@@ -506,7 +511,7 @@ async function meetingFactory(injector) {
506
511
  },
507
512
  {
508
513
  name: 'joinUrl',
509
- title: '@meeting-management:meeting.joinUrl',
514
+ title: '@meeting-management:meetings.terms.join-url',
510
515
  groupId: 'details',
511
516
  options: {
512
517
  sort: {
@@ -531,7 +536,7 @@ async function meetingFactory(injector) {
531
536
  },
532
537
  {
533
538
  name: 'hostUrl',
534
- title: '@meeting-management:meeting.hostUrl',
539
+ title: '@meeting-management:meetings.terms.host-url',
535
540
  groupId: 'details',
536
541
  options: {
537
542
  sort: {
@@ -557,8 +562,8 @@ async function meetingFactory(injector) {
557
562
  },
558
563
  {
559
564
  name: 'isRecorded',
560
- title: '@meeting-management:meeting.isRecorded',
561
- groupId: 'status',
565
+ title: '@meeting-management:meetings.terms.is-recorded',
566
+ groupId: 'details',
562
567
  options: {
563
568
  sort: {
564
569
  enabled: false,
@@ -580,9 +585,9 @@ async function meetingFactory(injector) {
580
585
  },
581
586
  },
582
587
  {
583
- name: 'mettingStatus',
584
- title: '@meeting-management:meeting.mettingStatus',
585
- groupId: 'status',
588
+ name: 'setInGoogleCalendar',
589
+ title: '@meeting-management:meetings.terms.set-in-google-calendar',
590
+ groupId: 'basic-info',
586
591
  options: {
587
592
  sort: {
588
593
  enabled: false,
@@ -597,33 +602,16 @@ async function meetingFactory(injector) {
597
602
  },
598
603
  },
599
604
  schema: {
600
- dataType: 'string',
605
+ dataType: 'boolean',
601
606
  interface: {
602
- type: AXPWidgetsCatalog.select,
603
- options: {
604
- valueField: 'id',
605
- textField: 'title',
606
- dataSource: [
607
- { title: 'Inprogress', id: 1 },
608
- { title: 'Completed', id: 2 },
609
- { title: 'Cancelled', id: 3 },
610
- { title: 'Archived', id: 4 },
611
- ],
612
- direction: 'horizontal',
613
- multiple: false,
614
- },
607
+ type: AXPWidgetsCatalog.toggle,
615
608
  },
616
609
  },
617
- validations: [
618
- {
619
- rule: 'required',
620
- },
621
- ],
622
610
  },
623
611
  {
624
612
  name: 'isFullysignedOff',
625
- title: '@meeting-management:meeting.isFullysignedOff',
626
- groupId: 'status',
613
+ title: '@meeting-management:meetings.terms.is-fully-signed-off',
614
+ groupId: 'basic-info',
627
615
  options: {
628
616
  sort: {
629
617
  enabled: false,
@@ -646,7 +634,7 @@ async function meetingFactory(injector) {
646
634
  },
647
635
  {
648
636
  name: 'meetingLocationId',
649
- title: '@meeting-management:meeting.meetingLocationId',
637
+ title: '@meeting-management:meetings.terms.meeting-location',
650
638
  groupId: 'details',
651
639
  options: {
652
640
  sort: {
@@ -672,39 +660,19 @@ async function meetingFactory(injector) {
672
660
  { source: 'id', target: 'location.id' },
673
661
  { source: 'title', target: 'location.title' },
674
662
  ],
675
- hidden: `{{context.eval("meetingProviderType").id == "1"}}`,
676
- },
677
- },
678
- },
679
- },
680
- // {
681
- // name: 'meetingFiles',
682
- // title: '@meeting-management:meeting.meetingFiles',
683
- // // groupId: 'details',
684
- // options: {
685
- // sort: {
686
- // enabled: false,
687
- // },
688
- // filter: {
689
- // advance: {
690
- // enabled: false,
691
- // },
692
- // inline: {
693
- // enabled: false,
694
- // },
695
- // },
696
- // },
697
- // schema: {
698
- // dataType: 'object',
699
- // interface: {
700
- // type: AXPWidgetsCatalog.documentUploader,
701
- // options: {
702
- // },
703
- // },
704
- // },
705
- // },
663
+ visible: `{{context.eval("meetingProviderType").id != "1"}}`,
664
+ },
665
+ },
666
+ },
667
+ },
668
+ ],
669
+ columns: [
670
+ { name: 'title' },
671
+ { name: 'meetingType' },
672
+ { name: 'meetingProviderType' },
673
+ { name: 'isFullysignedOff' },
674
+ { name: 'meetingStatusId' },
706
675
  ],
707
- columns: [{ name: 'title' }, { name: 'notes' }, { name: 'meetingType' }, { name: 'mettingStatus' }],
708
676
  interfaces: {
709
677
  master: {
710
678
  create: {
@@ -715,9 +683,6 @@ async function meetingFactory(injector) {
715
683
  {
716
684
  id: 'details',
717
685
  },
718
- {
719
- id: 'status',
720
- },
721
686
  ],
722
687
  properties: [
723
688
  {
@@ -792,7 +757,7 @@ async function meetingFactory(injector) {
792
757
  positions: {
793
758
  lg: {
794
759
  colSpan: 6,
795
- order: 8,
760
+ order: 9,
796
761
  },
797
762
  },
798
763
  },
@@ -803,7 +768,18 @@ async function meetingFactory(injector) {
803
768
  positions: {
804
769
  lg: {
805
770
  colSpan: 12,
806
- order: 9,
771
+ order: 10,
772
+ },
773
+ },
774
+ },
775
+ },
776
+ {
777
+ name: 'setInGoogleCalendar',
778
+ layout: {
779
+ positions: {
780
+ lg: {
781
+ colSpan: 6,
782
+ order: 12,
807
783
  },
808
784
  },
809
785
  },
@@ -814,7 +790,7 @@ async function meetingFactory(injector) {
814
790
  positions: {
815
791
  lg: {
816
792
  colSpan: 6,
817
- order: 10,
793
+ order: 11,
818
794
  },
819
795
  },
820
796
  },
@@ -829,9 +805,6 @@ async function meetingFactory(injector) {
829
805
  {
830
806
  id: 'details',
831
807
  },
832
- {
833
- id: 'status',
834
- },
835
808
  ],
836
809
  properties: [
837
810
  {
@@ -906,7 +879,7 @@ async function meetingFactory(injector) {
906
879
  positions: {
907
880
  lg: {
908
881
  colSpan: 6,
909
- order: 8,
882
+ order: 9,
910
883
  },
911
884
  },
912
885
  },
@@ -917,13 +890,13 @@ async function meetingFactory(injector) {
917
890
  positions: {
918
891
  lg: {
919
892
  colSpan: 12,
920
- order: 9,
893
+ order: 10,
921
894
  },
922
895
  },
923
896
  },
924
897
  },
925
898
  {
926
- name: 'mettingStatus',
899
+ name: 'setInGoogleCalendar',
927
900
  layout: {
928
901
  positions: {
929
902
  lg: {
@@ -933,27 +906,28 @@ async function meetingFactory(injector) {
933
906
  },
934
907
  },
935
908
  },
936
- ],
937
- },
938
- single: {
939
- title: '{{title}}',
940
- sections: [
941
909
  {
942
- id: 'basic-info',
910
+ name: 'mettingStatus',
943
911
  layout: {
944
912
  positions: {
945
913
  lg: {
946
- colSpan: 12,
914
+ colSpan: 6,
915
+ order: 12,
947
916
  },
948
917
  },
949
918
  },
950
919
  },
920
+ ],
921
+ },
922
+ single: {
923
+ title: '{{title}}',
924
+ sections: [
951
925
  {
952
- id: 'status',
926
+ id: 'basic-info',
953
927
  layout: {
954
928
  positions: {
955
929
  lg: {
956
- colSpan: 6,
930
+ colSpan: 12,
957
931
  },
958
932
  },
959
933
  },
@@ -963,7 +937,7 @@ async function meetingFactory(injector) {
963
937
  layout: {
964
938
  positions: {
965
939
  lg: {
966
- colSpan: 6,
940
+ colSpan: 12,
967
941
  },
968
942
  },
969
943
  },
@@ -1042,7 +1016,7 @@ async function meetingFactory(injector) {
1042
1016
  positions: {
1043
1017
  lg: {
1044
1018
  colSpan: 6,
1045
- order: 8,
1019
+ order: 9,
1046
1020
  },
1047
1021
  },
1048
1022
  },
@@ -1053,7 +1027,18 @@ async function meetingFactory(injector) {
1053
1027
  positions: {
1054
1028
  lg: {
1055
1029
  colSpan: 12,
1056
- order: 9,
1030
+ order: 11,
1031
+ },
1032
+ },
1033
+ },
1034
+ },
1035
+ {
1036
+ name: 'setInGoogleCalendar',
1037
+ layout: {
1038
+ positions: {
1039
+ lg: {
1040
+ colSpan: 6,
1041
+ order: 8,
1057
1042
  },
1058
1043
  },
1059
1044
  },
@@ -1064,7 +1049,7 @@ async function meetingFactory(injector) {
1064
1049
  positions: {
1065
1050
  lg: {
1066
1051
  colSpan: 6,
1067
- order: 10,
1052
+ order: 11,
1068
1053
  },
1069
1054
  },
1070
1055
  },
@@ -1072,18 +1057,76 @@ async function meetingFactory(injector) {
1072
1057
  ],
1073
1058
  actions: [
1074
1059
  ...entityMasterRecordActions(),
1060
+ {
1061
+ title: '@meeting-management:meetings.actions.start-event',
1062
+ command: {
1063
+ name: 'MeetingManagement.Meeting:StartEvent',
1064
+ options: {
1065
+ id: '{{ context.eval("id") }}',
1066
+ },
1067
+ },
1068
+ priority: 'secondary',
1069
+ type: 'custom',
1070
+ icon: 'fa-light fa-play',
1071
+ scope: AXPEntityCommandScope.Individual,
1072
+ hidden: `{{ context.eval("meetingStatusId") != "approved" && context.eval("meetingStatusId") != "in-progress"}}`,
1073
+ },
1074
+ {
1075
+ title: '@meeting-management:meetings.actions.end-event',
1076
+ command: {
1077
+ name: 'MeetingManagement.Meeting:EndEvent',
1078
+ options: {
1079
+ id: '{{ context.eval("id") }}',
1080
+ },
1081
+ },
1082
+ priority: 'secondary',
1083
+ type: 'custom',
1084
+ icon: 'fa-light fa-stop',
1085
+ scope: AXPEntityCommandScope.Individual,
1086
+ hidden: `{{ context.eval("meetingStatusId") != "in-progress" }}`,
1087
+ },
1075
1088
  {
1076
1089
  title: 'Publish',
1077
1090
  command: 'meeting-publish',
1078
1091
  priority: 'primary',
1079
1092
  type: 'update',
1080
1093
  scope: AXPEntityCommandScope.Individual,
1081
- hidden: '{{context.eval("mettingStatus") != "Completed"}}',
1094
+ hidden: '{{context.eval("meetingStatusId") != "approved"}}',
1082
1095
  },
1083
1096
  ],
1084
1097
  },
1085
1098
  list: {
1086
- actions: [...entityMasterCrudActions()],
1099
+ actions: [
1100
+ ...entityMasterCrudActions(),
1101
+ {
1102
+ title: '@meeting-management:meetings.actions.start-event',
1103
+ command: {
1104
+ name: 'MeetingManagement.Meeting:StartEvent',
1105
+ options: {
1106
+ id: '{{ context.eval("id") }}',
1107
+ },
1108
+ },
1109
+ priority: 'secondary',
1110
+ type: 'custom',
1111
+ icon: 'fa-light fa-play',
1112
+ scope: AXPEntityCommandScope.Individual,
1113
+ hidden: `{{ context.eval("meetingStatusId") != "in-progress" && context.eval("meetingStatusId") != "approved" }}`,
1114
+ },
1115
+ {
1116
+ title: '@meeting-management:meetings.actions.end-event',
1117
+ command: {
1118
+ name: 'MeetingManagement.Meeting:EndEvent',
1119
+ options: {
1120
+ id: '{{ context.eval("id") }}',
1121
+ },
1122
+ },
1123
+ priority: 'secondary',
1124
+ type: 'custom',
1125
+ icon: 'fa-light fa-stop',
1126
+ scope: AXPEntityCommandScope.Individual,
1127
+ hidden: `{{ context.eval("meetingStatusId") != "in-progress" }}`,
1128
+ },
1129
+ ],
1087
1130
  views: [
1088
1131
  createAllQueryView({
1089
1132
  sorts: [{ name: 'title', dir: 'asc' }],
@@ -1101,8 +1144,20 @@ var meeting_entity = /*#__PURE__*/Object.freeze({
1101
1144
  meetingFactory: meetingFactory
1102
1145
  });
1103
1146
 
1147
+ class AXMMeetingService extends AXMEntityCrudServiceImpl {
1148
+ }
1149
+ class AXMMeetingServiceImpl extends AXMMeetingService {
1150
+ constructor() {
1151
+ super(`${RootConfig.module.name}.${RootConfig.entities.meeting.name}`);
1152
+ }
1153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1154
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingServiceImpl }); }
1155
+ }
1156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingServiceImpl, decorators: [{
1157
+ type: Injectable
1158
+ }], ctorParameters: () => [] });
1159
+
1104
1160
  async function meetingParticipantFactory(injector) {
1105
- const i18n = RootConfig.config.i18n;
1106
1161
  const entityDef = {
1107
1162
  module: RootConfig.module.name,
1108
1163
  name: RootConfig.entities.meetingParticipant.name,
@@ -1117,6 +1172,20 @@ async function meetingParticipantFactory(injector) {
1117
1172
  },
1118
1173
  },
1119
1174
  relatedEntities: [],
1175
+ plugins: [
1176
+ {
1177
+ name: 'status',
1178
+ options: {
1179
+ field: 'participantStatusId',
1180
+ definition: 'meeting-management.status.meeting-participant-status',
1181
+ generate: {
1182
+ actions: {
1183
+ enabled: false,
1184
+ },
1185
+ },
1186
+ },
1187
+ },
1188
+ ],
1120
1189
  groups: [
1121
1190
  {
1122
1191
  id: 'section',
@@ -1125,8 +1194,8 @@ async function meetingParticipantFactory(injector) {
1125
1194
  ],
1126
1195
  properties: [
1127
1196
  {
1128
- name: 'userId',
1129
- title: '@meeting-management:meeting-participant.userId',
1197
+ name: 'employeeId',
1198
+ title: '@meeting-management:meetings.meeting-participants.employee-id',
1130
1199
  groupId: 'section',
1131
1200
  options: {
1132
1201
  sort: {
@@ -1147,10 +1216,12 @@ async function meetingParticipantFactory(injector) {
1147
1216
  type: AXPWidgetsCatalog.lookup,
1148
1217
  options: {
1149
1218
  look: 'select',
1150
- entity: 'SecurityManagement.User',
1219
+ entity: 'HumanCapitalManagement.Employee',
1220
+ textField: 'party.displayName',
1221
+ valueField: 'id',
1151
1222
  expose: [
1152
- { source: 'id', target: 'User.id' },
1153
- { source: 'title', target: 'User.title' },
1223
+ { source: 'id', target: 'Employee.id' },
1224
+ { source: 'party.displayName', target: 'employee.party.displayName' },
1154
1225
  ],
1155
1226
  },
1156
1227
  },
@@ -1163,7 +1234,7 @@ async function meetingParticipantFactory(injector) {
1163
1234
  },
1164
1235
  {
1165
1236
  name: 'jointime',
1166
- title: '@meeting-management:meeting-participant.jointime',
1237
+ title: '@meeting-management:meetings.meeting-participants.join-time',
1167
1238
  groupId: 'section',
1168
1239
  options: {
1169
1240
  sort: {
@@ -1192,7 +1263,7 @@ async function meetingParticipantFactory(injector) {
1192
1263
  },
1193
1264
  {
1194
1265
  name: 'leftTime',
1195
- title: '@meeting-management:meeting-participant.leftTime',
1266
+ title: '@meeting-management:meetings.meeting-participants.left-time',
1196
1267
  groupId: 'section',
1197
1268
  options: {
1198
1269
  sort: {
@@ -1216,7 +1287,7 @@ async function meetingParticipantFactory(injector) {
1216
1287
  },
1217
1288
  {
1218
1289
  name: 'duration',
1219
- title: '@meeting-management:meeting-participant.duration',
1290
+ title: '@meeting-management:meetings.meeting-participants.duration',
1220
1291
  groupId: 'section',
1221
1292
  options: {
1222
1293
  sort: {
@@ -1240,7 +1311,7 @@ async function meetingParticipantFactory(injector) {
1240
1311
  },
1241
1312
  {
1242
1313
  name: 'signedOffAt',
1243
- title: '@meeting-management:meeting-participant.signedOffAt',
1314
+ title: '@meeting-management:meetings.meeting-participants.signed-off-at',
1244
1315
  groupId: 'section',
1245
1316
  options: {
1246
1317
  sort: {
@@ -1263,50 +1334,9 @@ async function meetingParticipantFactory(injector) {
1263
1334
  },
1264
1335
  validations: [],
1265
1336
  },
1266
- {
1267
- name: 'participantStatus',
1268
- title: '@meeting-management:meeting-participant.participantStatus',
1269
- groupId: 'section',
1270
- options: {
1271
- sort: {
1272
- enabled: false,
1273
- },
1274
- filter: {
1275
- advance: {
1276
- enabled: false,
1277
- },
1278
- inline: {
1279
- enabled: false,
1280
- },
1281
- },
1282
- },
1283
- schema: {
1284
- dataType: 'string',
1285
- interface: {
1286
- type: AXPWidgetsCatalog.select,
1287
- options: {
1288
- valueField: 'id',
1289
- textField: 'title',
1290
- dataSource: [
1291
- { title: 'Absent', id: 1 },
1292
- { title: 'Present', id: 2 },
1293
- { title: 'Accept', id: 3 },
1294
- { title: 'Decline', id: 4 },
1295
- ],
1296
- direction: 'horizontal',
1297
- multiple: false,
1298
- },
1299
- },
1300
- },
1301
- validations: [
1302
- {
1303
- rule: 'required',
1304
- },
1305
- ],
1306
- },
1307
1337
  {
1308
1338
  name: 'meetingRoleTypeIds',
1309
- title: '@meeting-management:meeting-participant.meetingRoleTypeIds',
1339
+ title: '@meeting-management:meetings.meeting-participants.meeting-role-type-ids',
1310
1340
  groupId: 'section',
1311
1341
  options: {
1312
1342
  sort: {
@@ -1342,7 +1372,17 @@ async function meetingParticipantFactory(injector) {
1342
1372
  ],
1343
1373
  },
1344
1374
  ],
1345
- columns: [{ name: 'jointime' }, { name: 'leftTime' }, { name: 'userId' }, { name: 'participantStatus' }],
1375
+ columns: [
1376
+ {
1377
+ name: 'employee.party.displayName',
1378
+ title: '@meeting-management:meetings.meeting-participants.employee-id',
1379
+ showAs: { type: AXPWidgetsCatalog.text },
1380
+ },
1381
+ { name: 'jointime' },
1382
+ { name: 'leftTime' },
1383
+ { name: 'duration' },
1384
+ { name: 'participantStatusId' },
1385
+ ],
1346
1386
  interfaces: {
1347
1387
  master: {
1348
1388
  create: {
@@ -1353,7 +1393,7 @@ async function meetingParticipantFactory(injector) {
1353
1393
  ],
1354
1394
  properties: [
1355
1395
  {
1356
- name: 'userId',
1396
+ name: 'employeeId',
1357
1397
  layout: {
1358
1398
  positions: {
1359
1399
  lg: {
@@ -1419,7 +1459,7 @@ async function meetingParticipantFactory(injector) {
1419
1459
  },
1420
1460
  },
1421
1461
  {
1422
- name: 'participantStatus',
1462
+ name: 'participantStatusId',
1423
1463
  layout: {
1424
1464
  positions: {
1425
1465
  lg: {
@@ -1439,7 +1479,7 @@ async function meetingParticipantFactory(injector) {
1439
1479
  ],
1440
1480
  properties: [
1441
1481
  {
1442
- name: 'userId',
1482
+ name: 'employeeId',
1443
1483
  layout: {
1444
1484
  positions: {
1445
1485
  lg: {
@@ -1505,7 +1545,7 @@ async function meetingParticipantFactory(injector) {
1505
1545
  },
1506
1546
  },
1507
1547
  {
1508
- name: 'participantStatus',
1548
+ name: 'participantStatusId',
1509
1549
  layout: {
1510
1550
  positions: {
1511
1551
  lg: {
@@ -1518,7 +1558,7 @@ async function meetingParticipantFactory(injector) {
1518
1558
  ],
1519
1559
  },
1520
1560
  single: {
1521
- title: '{{userId}}',
1561
+ title: 'Participant',
1522
1562
  sections: [
1523
1563
  {
1524
1564
  id: 'section',
@@ -1533,7 +1573,7 @@ async function meetingParticipantFactory(injector) {
1533
1573
  ],
1534
1574
  properties: [
1535
1575
  {
1536
- name: 'userId',
1576
+ name: 'employeeId',
1537
1577
  layout: {
1538
1578
  positions: {
1539
1579
  lg: {
@@ -1599,7 +1639,7 @@ async function meetingParticipantFactory(injector) {
1599
1639
  },
1600
1640
  },
1601
1641
  {
1602
- name: 'participantStatus',
1642
+ name: 'participantStatusId',
1603
1643
  layout: {
1604
1644
  positions: {
1605
1645
  lg: {
@@ -1995,47 +2035,47 @@ async function meetingSessionFactory(injector) {
1995
2035
  properties: [
1996
2036
  {
1997
2037
  name: 'title',
1998
- title: '@meeting-management:meeting-session.title',
2038
+ title: '@general:terms.common.title',
1999
2039
  groupId: 'section',
2000
2040
  schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },
2001
2041
  validations: [{ rule: 'required' }],
2002
2042
  },
2003
2043
  {
2004
2044
  name: 'scheduleDate',
2005
- title: '@meeting-management:meeting-session.scheduleDate',
2045
+ title: '@meeting-management:meetings.meeting-sessions.schedule-date',
2006
2046
  groupId: 'section',
2007
2047
  schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },
2008
2048
  validations: [{ rule: 'required' }],
2009
2049
  },
2010
2050
  {
2011
2051
  name: 'startTime',
2012
- title: '@meeting-management:meeting-session.startTime',
2052
+ title: '@meeting-management:meetings.meeting-sessions.start-time',
2013
2053
  groupId: 'section',
2014
2054
  schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'time' } } },
2015
2055
  validations: [{ rule: 'required' }],
2016
2056
  },
2017
2057
  {
2018
2058
  name: 'endTime',
2019
- title: '@meeting-management:meeting-session.endTime',
2059
+ title: '@meeting-management:meetings.meeting-sessions.end-time',
2020
2060
  groupId: 'section',
2021
2061
  schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'time' } } },
2022
2062
  validations: [{ rule: 'required' }],
2023
2063
  },
2024
2064
  {
2025
2065
  name: 'actualDate',
2026
- title: '@meeting-management:meeting-session.actualDate',
2066
+ title: '@meeting-management:meetings.meeting-sessions.actual-date',
2027
2067
  groupId: 'section',
2028
2068
  schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'date' } } },
2029
2069
  },
2030
2070
  {
2031
2071
  name: 'actualStartTime',
2032
- title: '@meeting-management:meeting-session.actualStartTime',
2072
+ title: '@meeting-management:meetings.meeting-sessions.actual-start-time',
2033
2073
  groupId: 'section',
2034
2074
  schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'time' } } },
2035
2075
  },
2036
2076
  {
2037
2077
  name: 'actualEndTime',
2038
- title: '@meeting-management:meeting-session.actualEndTime',
2078
+ title: '@meeting-management:meetings.meeting-sessions.actual-end-time',
2039
2079
  groupId: 'section',
2040
2080
  schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'time' } } },
2041
2081
  },
@@ -2141,14 +2181,14 @@ async function meetingTypeFileTemplateFactory(injector) {
2141
2181
  properties: [
2142
2182
  {
2143
2183
  name: 'title',
2144
- title: '@meeting-management:meeting-type-file-template.title',
2184
+ title: '@general:terms.common.title',
2145
2185
  groupId: 'section',
2146
2186
  schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },
2147
2187
  validations: [{ rule: 'required' }],
2148
2188
  },
2149
2189
  {
2150
2190
  name: 'templateId',
2151
- title: '@meeting-management:meeting-type-file-template.templateId',
2191
+ title: '@meeting-management:meetings.meeting-type-file-templates.templateId',
2152
2192
  groupId: 'section',
2153
2193
  schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },
2154
2194
  validations: [{ rule: 'required' }],
@@ -2215,6 +2255,144 @@ var meetingTypeFileTemplate_entity = /*#__PURE__*/Object.freeze({
2215
2255
  meetingTypeFileTemplateFactory: meetingTypeFileTemplateFactory
2216
2256
  });
2217
2257
 
2258
+ //#region ---- Imports ----
2259
+ //#endregion
2260
+ //#region ---- Meeting Status Provider ----
2261
+ /**
2262
+ * Meeting status provider defining lifecycle states: Pending, InProgress, Approved, Rejected, Cancelled.
2263
+ * Used by the status plugin to manage meeting status transitions and metadata.
2264
+ */
2265
+ class AXMMeetingStatusProvider extends AXPStatusProvider {
2266
+ constructor() {
2267
+ super(...arguments);
2268
+ this.key = 'meeting-management.status.meeting-status';
2269
+ this.statuses = [
2270
+ systemStatusToDefinition(AXPSystemStatusType.Pending, {
2271
+ title: '@meeting-management:meetings.states.pending',
2272
+ generateView: true,
2273
+ }),
2274
+ systemStatusToDefinition(AXPSystemStatusType.InProgress, {
2275
+ title: '@meeting-management:meetings.states.in-progress',
2276
+ generateView: true,
2277
+ }),
2278
+ systemStatusToDefinition(AXPSystemStatusType.Approved, {
2279
+ title: '@meeting-management:meetings.states.approved',
2280
+ generateView: true,
2281
+ }),
2282
+ systemStatusToDefinition(AXPSystemStatusType.Rejected, {
2283
+ title: '@meeting-management:meetings.states.rejected',
2284
+ generateView: true,
2285
+ }),
2286
+ systemStatusToDefinition(AXPSystemStatusType.Cancelled, {
2287
+ title: '@meeting-management:meetings.states.cancelled',
2288
+ generateView: true,
2289
+ }),
2290
+ systemStatusToDefinition(AXPSystemStatusType.Published, {
2291
+ title: '@meeting-management:meetings.states.is-published',
2292
+ generateView: true,
2293
+ }),
2294
+ systemStatusToDefinition(AXPSystemStatusType.Completed, {
2295
+ title: '@meeting-management:meetings.states.completed',
2296
+ generateView: true,
2297
+ }),
2298
+ ];
2299
+ this.transitions = [
2300
+ {
2301
+ from: AXPSystemStatusType.Pending,
2302
+ to: AXPSystemStatusType.InProgress,
2303
+ title: '@meeting-management:meetings.actions.start',
2304
+ },
2305
+ {
2306
+ from: AXPSystemStatusType.Pending,
2307
+ to: AXPSystemStatusType.Approved,
2308
+ title: '@general:statuses.transitions.approve',
2309
+ },
2310
+ {
2311
+ from: AXPSystemStatusType.Pending,
2312
+ to: AXPSystemStatusType.Rejected,
2313
+ title: '@general:statuses.transitions.reject',
2314
+ },
2315
+ {
2316
+ from: AXPSystemStatusType.Pending,
2317
+ to: AXPSystemStatusType.Cancelled,
2318
+ title: '@general:statuses.transitions.cancel',
2319
+ },
2320
+ {
2321
+ from: AXPSystemStatusType.InProgress,
2322
+ to: AXPSystemStatusType.Approved,
2323
+ title: '@general:statuses.transitions.approve',
2324
+ },
2325
+ {
2326
+ from: AXPSystemStatusType.InProgress,
2327
+ to: AXPSystemStatusType.Rejected,
2328
+ title: '@general:statuses.transitions.reject',
2329
+ },
2330
+ {
2331
+ from: AXPSystemStatusType.InProgress,
2332
+ to: AXPSystemStatusType.Cancelled,
2333
+ title: '@general:statuses.transitions.cancel',
2334
+ },
2335
+ {
2336
+ from: AXPSystemStatusType.Approved,
2337
+ to: AXPSystemStatusType.Published,
2338
+ title: '@general:statuses.transitions.publish',
2339
+ },
2340
+ {
2341
+ from: AXPSystemStatusType.Published,
2342
+ to: AXPSystemStatusType.Completed,
2343
+ title: '@general:statuses.transitions.completed',
2344
+ },
2345
+ ];
2346
+ // override readonly workflowActions: AXPStatusWorkflowAction[] = [
2347
+ // {
2348
+ // name: 'approveMeeting',
2349
+ // title: '@general:actions.approve.title',
2350
+ // command: {
2351
+ // name: 'MeetingManagement.Meeting:Approve',
2352
+ // options: {
2353
+ // id: '{{ context.eval("id") }}',
2354
+ // },
2355
+ // },
2356
+ // hidden: `{{ context.eval("meetingStatusId") !== "${AXPSystemStatusType.Pending}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.InProgress}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.Rejected}" }}`,
2357
+ // priority: 'secondary',
2358
+ // type: AXPSystemActionType.Approve,
2359
+ // scope: 'individual',
2360
+ // },
2361
+ // {
2362
+ // name: 'rejectMeeting',
2363
+ // title: '@general:actions.reject.title',
2364
+ // command: {
2365
+ // name: 'MeetingManagement.Meeting:Reject',
2366
+ // options: {
2367
+ // id: '{{ context.eval("id") }}',
2368
+ // },
2369
+ // },
2370
+ // hidden: `{{ context.eval("meetingStatusId") !== "${AXPSystemStatusType.Pending}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.InProgress}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.Approved}" }}`,
2371
+ // priority: 'secondary',
2372
+ // type: AXPSystemActionType.Reject,
2373
+ // scope: 'individual',
2374
+ // },
2375
+ // {
2376
+ // name: 'cancelMeeting',
2377
+ // title: '@general:actions.cancel.title',
2378
+ // command: {
2379
+ // name: 'MeetingManagement.Meeting:Cancel',
2380
+ // options: {
2381
+ // id: '{{ context.eval("id") }}',
2382
+ // },
2383
+ // },
2384
+ // hidden: `{{ context.eval("meetingStatusId") !== "${AXPSystemStatusType.Pending}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.InProgress}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.Approved}" }}`,
2385
+ // priority: 'secondary',
2386
+ // type: AXPSystemActionType.Cancel,
2387
+ // scope: 'individual',
2388
+ // separated: true,
2389
+ // },
2390
+ // ];
2391
+ this.defaultStatus = AXPSystemStatusType.Pending;
2392
+ }
2393
+ }
2394
+ //#endregion
2395
+
2218
2396
  class AXMMeetingEntityModule {
2219
2397
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2220
2398
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingEntityModule }); }
@@ -2223,6 +2401,11 @@ class AXMMeetingEntityModule {
2223
2401
  provide: AXMMeetingService,
2224
2402
  useClass: AXMMeetingServiceImpl,
2225
2403
  },
2404
+ {
2405
+ provide: AXP_STATUS_PROVIDERS,
2406
+ useClass: AXMMeetingStatusProvider,
2407
+ multi: true,
2408
+ },
2226
2409
  ] }); }
2227
2410
  }
2228
2411
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingEntityModule, decorators: [{
@@ -2236,10 +2419,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2236
2419
  provide: AXMMeetingService,
2237
2420
  useClass: AXMMeetingServiceImpl,
2238
2421
  },
2422
+ {
2423
+ provide: AXP_STATUS_PROVIDERS,
2424
+ useClass: AXMMeetingStatusProvider,
2425
+ multi: true,
2426
+ },
2239
2427
  ],
2240
2428
  }]
2241
2429
  }] });
2242
2430
 
2431
+ //#region ---- Imports ----
2432
+ //#endregion
2433
+ //#region ---- Participant Status Provider ----
2434
+ /**
2435
+ * Helper function to create status definitions
2436
+ */
2437
+ const status = (name, title, color, options = {}) => ({
2438
+ name,
2439
+ title,
2440
+ color,
2441
+ ...options,
2442
+ });
2443
+ /**
2444
+ * Meeting participant status provider defining lifecycle states: Absent, Present, Accept, Decline.
2445
+ * Used by the status plugin to manage participant status transitions and metadata.
2446
+ */
2447
+ class AXMMeetingParticipantStatusProvider extends AXPStatusProvider {
2448
+ constructor() {
2449
+ super(...arguments);
2450
+ this.key = 'meeting-management.status.meeting-participant-status';
2451
+ this.statuses = [
2452
+ status('absent', '@meeting-management:meetings.meeting-participants.states.absent', 'neutral', {
2453
+ order: 1,
2454
+ generateView: true,
2455
+ icon: 'fa-light fa-user-slash',
2456
+ }),
2457
+ status('present', '@meeting-management:meetings.meeting-participants.states.present', 'warning', {
2458
+ order: 2,
2459
+ generateView: true,
2460
+ icon: 'fa-light fa-user-check',
2461
+ }),
2462
+ status('accept', '@meeting-management:meetings.meeting-participants.states.accept', 'success', {
2463
+ order: 3,
2464
+ generateView: true,
2465
+ icon: 'fa-light fa-check-circle',
2466
+ }),
2467
+ status('decline', '@meeting-management:meetings.meeting-participants.states.decline', 'danger', {
2468
+ order: 4,
2469
+ generateView: true,
2470
+ icon: 'fa-light fa-times-circle',
2471
+ }),
2472
+ ];
2473
+ this.transitions = [
2474
+ {
2475
+ from: 'absent',
2476
+ to: 'present',
2477
+ title: '@meeting-management:meetings.meeting-participants.transitions.mark-present',
2478
+ },
2479
+ {
2480
+ from: 'absent',
2481
+ to: 'accept',
2482
+ title: '@meeting-management:meetings.meeting-participants.transitions.accept',
2483
+ },
2484
+ {
2485
+ from: 'absent',
2486
+ to: 'decline',
2487
+ title: '@meeting-management:meetings.meeting-participants.transitions.decline',
2488
+ },
2489
+ {
2490
+ from: 'present',
2491
+ to: 'absent',
2492
+ title: '@meeting-management:meetings.meeting-participants.transitions.mark-absent',
2493
+ },
2494
+ {
2495
+ from: 'accept',
2496
+ to: 'decline',
2497
+ title: '@meeting-management:meetings.meeting-participants.transitions.decline',
2498
+ },
2499
+ {
2500
+ from: 'decline',
2501
+ to: 'accept',
2502
+ title: '@meeting-management:meetings.meeting-participants.transitions.accept',
2503
+ },
2504
+ ];
2505
+ this.defaultStatus = 'absent';
2506
+ }
2507
+ }
2508
+ //#endregion
2509
+
2243
2510
  class AXMMeetingParticipantEntityModule {
2244
2511
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingParticipantEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2245
2512
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingParticipantEntityModule }); }
@@ -2248,6 +2515,11 @@ class AXMMeetingParticipantEntityModule {
2248
2515
  provide: AXMMeetingParticipantService,
2249
2516
  useClass: AXMMeetingParticipantServiceImpl,
2250
2517
  },
2518
+ {
2519
+ provide: AXP_STATUS_PROVIDERS,
2520
+ useClass: AXMMeetingParticipantStatusProvider,
2521
+ multi: true,
2522
+ },
2251
2523
  ] }); }
2252
2524
  }
2253
2525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXMMeetingParticipantEntityModule, decorators: [{
@@ -2261,6 +2533,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2261
2533
  provide: AXMMeetingParticipantService,
2262
2534
  useClass: AXMMeetingParticipantServiceImpl,
2263
2535
  },
2536
+ {
2537
+ provide: AXP_STATUS_PROVIDERS,
2538
+ useClass: AXMMeetingParticipantStatusProvider,
2539
+ multi: true,
2540
+ },
2264
2541
  ],
2265
2542
  }]
2266
2543
  }] });
@@ -2572,5 +2849,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2572
2849
  * Generated bundle index. Do not edit.
2573
2850
  */
2574
2851
 
2575
- export { AXMMeetingEntityModule, AXMMeetingFilesEntityModule, AXMMeetingFilesService, AXMMeetingFilesServiceImpl, AXMMeetingManagementEntityProvider, AXMMeetingManagementMenuProvider, AXMMeetingManagementModule, AXMMeetingManagementSearchCommandProvider, AXMMeetingParticipantEntityModule, AXMMeetingParticipantService, AXMMeetingParticipantServiceImpl, AXMMeetingRoleTypeEntityModule, AXMMeetingRoleTypeService, AXMMeetingRoleTypeServiceImpl, AXMMeetingService, AXMMeetingServiceImpl, AXMMeetingSessionEntityModule, AXMMeetingSessionService, AXMMeetingSessionServiceImpl, AXMMeetingTypeEntityModule, AXMMeetingTypeFileTemplateEntityModule, AXMMeetingTypeFileTemplateService, AXMMeetingTypeFileTemplateServiceImpl, AXMMeetingTypeService, AXMMeetingTypeServiceImpl, AXMPermissionDefinitionProvider, RootConfig, meetingFactory, meetingFilesFactory, meetingParticipantFactory, meetingRoleTypeFactory, meetingSessionFactory, meetingTypeFactory, meetingTypeFileTemplateFactory };
2852
+ export { AXMMeetingEntityModule, AXMMeetingFilesEntityModule, AXMMeetingFilesService, AXMMeetingFilesServiceImpl, AXMMeetingManagementEntityProvider, AXMMeetingManagementMenuProvider, AXMMeetingManagementModule, AXMMeetingManagementSearchCommandProvider, AXMMeetingParticipantEntityModule, AXMMeetingParticipantService, AXMMeetingParticipantServiceImpl, AXMMeetingRoleTypeEntityModule, AXMMeetingRoleTypeService, AXMMeetingRoleTypeServiceImpl, AXMMeetingService, AXMMeetingServiceImpl, AXMMeetingSessionEntityModule, AXMMeetingSessionService, AXMMeetingSessionServiceImpl, AXMMeetingStatusProvider, AXMMeetingTypeEntityModule, AXMMeetingTypeFileTemplateEntityModule, AXMMeetingTypeFileTemplateService, AXMMeetingTypeFileTemplateServiceImpl, AXMMeetingTypeService, AXMMeetingTypeServiceImpl, AXMPermissionDefinitionProvider, RootConfig, meetingFactory, meetingFilesFactory, meetingParticipantFactory, meetingRoleTypeFactory, meetingSessionFactory, meetingTypeFactory, meetingTypeFileTemplateFactory };
2576
2853
  //# sourceMappingURL=acorex-modules-meeting-management.mjs.map