@acorex/modules 20.6.5 → 20.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-modules-meeting-management.mjs +469 -199
- package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-CtXx8vc6.mjs → acorex-modules-task-management-task-board.page-CtKJhgmF.mjs} +2 -2
- package/fesm2022/acorex-modules-task-management-task-board.page-CtKJhgmF.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/meeting-management/index.d.ts +30 -5
- package/package.json +6 -6
- package/fesm2022/acorex-modules-task-management-task-board.page-CtXx8vc6.mjs.map +0 -1
|
@@ -5,6 +5,7 @@ import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/p
|
|
|
5
5
|
import { createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPSearchCommandProvider, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
|
|
6
6
|
import { AXMEntityCrudServiceImpl, entityMasterCrudActions, entityMasterRecordActions, entityDetailsCreateActions, entityDetailsSimpleCondition, AXPEntityService, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
|
|
7
7
|
import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
|
|
8
|
+
import { AXPStatusProvider, systemStatusToDefinition, AXPSystemStatusType, AXPSystemActionType, AXP_STATUS_PROVIDERS } from '@acorex/platform/core';
|
|
8
9
|
import * as i2 from '@angular/router';
|
|
9
10
|
import { RouterModule } from '@angular/router';
|
|
10
11
|
import { AXPRootLayoutComponent } from '@acorex/platform/themes/default';
|
|
@@ -12,7 +13,6 @@ import * as i1 from '@acorex/platform/workflow';
|
|
|
12
13
|
import { AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
|
|
13
14
|
import { AXPopupService } from '@acorex/components/popup';
|
|
14
15
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
15
|
-
import { AXPSystemActionType } from '@acorex/platform/core';
|
|
16
16
|
|
|
17
17
|
const config = {
|
|
18
18
|
i18n: 'meeting-management',
|
|
@@ -27,26 +27,26 @@ const RootConfig = {
|
|
|
27
27
|
entities: {
|
|
28
28
|
meeting: {
|
|
29
29
|
name: 'Meeting',
|
|
30
|
-
title: '@meeting-management:meetings.
|
|
31
|
-
titlePlural: '@meeting-management:meetings.
|
|
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.
|
|
37
|
-
titlePlural: '@meeting-management:meeting-participants.
|
|
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.
|
|
43
|
-
titlePlural: '@meeting-management:meeting-role-types.
|
|
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.
|
|
49
|
-
titlePlural: '@meeting-management:meeting-types.
|
|
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.
|
|
61
|
-
titlePlural: '@meeting-management:meeting-sessions.
|
|
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.
|
|
67
|
-
titlePlural: '@meeting-management:meeting-type-file-templates.
|
|
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: {
|
|
@@ -91,7 +91,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
91
91
|
|
|
92
92
|
async function meetingFactory(injector) {
|
|
93
93
|
const dataService = injector.get(AXMMeetingService);
|
|
94
|
-
const i18n = RootConfig.config.i18n;
|
|
95
94
|
const entityDef = {
|
|
96
95
|
module: RootConfig.module.name,
|
|
97
96
|
name: RootConfig.entities.meeting.name,
|
|
@@ -119,6 +118,18 @@ async function meetingFactory(injector) {
|
|
|
119
118
|
plugins: [],
|
|
120
119
|
},
|
|
121
120
|
},
|
|
121
|
+
{
|
|
122
|
+
name: 'status',
|
|
123
|
+
options: {
|
|
124
|
+
field: 'meetingStatusId',
|
|
125
|
+
definition: 'meeting-management.status.meeting-status',
|
|
126
|
+
generate: {
|
|
127
|
+
actions: {
|
|
128
|
+
enabled: false,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
},
|
|
122
133
|
],
|
|
123
134
|
relatedEntities: [
|
|
124
135
|
{
|
|
@@ -127,35 +138,26 @@ async function meetingFactory(injector) {
|
|
|
127
138
|
columns: ['jointime', 'leftTime', 'userId', 'participantStatus', 'meetingRoleTypeIds'],
|
|
128
139
|
conditions: [entityDetailsSimpleCondition('meetingId')],
|
|
129
140
|
actions: [entityDetailsCreateActions('meetingId')],
|
|
141
|
+
layout: { type: 'page-list', position: 'after', order: 1 },
|
|
130
142
|
},
|
|
131
|
-
// {
|
|
132
|
-
// entity: 'DocumentManagement.DocumentRelated',
|
|
133
|
-
// title: 'related documents',
|
|
134
|
-
// columns: ['name', 'type', 'size'],
|
|
135
|
-
// conditions: [entityDetailsSimpleCondition('meetingId')],
|
|
136
|
-
// actions: [entityDetailsCreateActions('meetingId')],
|
|
137
|
-
// },
|
|
138
143
|
{
|
|
139
144
|
entity: `${RootConfig.module.name}.${RootConfig.entities.meetingSession.name}`,
|
|
140
145
|
title: RootConfig.entities.meetingSession.title,
|
|
141
146
|
columns: ['title', 'scheduleDate', 'startTime', 'endTime', 'actualDate', 'actualStartTime', 'actualEndTime'],
|
|
142
147
|
conditions: [entityDetailsSimpleCondition('meetingId')],
|
|
143
148
|
actions: [entityDetailsCreateActions('meetingId')],
|
|
149
|
+
layout: { type: 'page-list', position: 'after', order: 2 },
|
|
144
150
|
},
|
|
145
151
|
],
|
|
146
152
|
groups: [
|
|
147
153
|
{
|
|
148
154
|
id: 'basic-info',
|
|
149
|
-
title: '@
|
|
155
|
+
title: '@general:terms.interface.basic-info',
|
|
150
156
|
},
|
|
151
157
|
{
|
|
152
158
|
id: 'details',
|
|
153
|
-
title: '@meeting-management:
|
|
154
|
-
}
|
|
155
|
-
{
|
|
156
|
-
id: 'status',
|
|
157
|
-
title: '@meeting-management:meeting.meeting-status',
|
|
158
|
-
},
|
|
159
|
+
title: '@meeting-management:meetings.groups.meeting-details',
|
|
160
|
+
}
|
|
159
161
|
],
|
|
160
162
|
properties: [
|
|
161
163
|
{
|
|
@@ -189,7 +191,7 @@ async function meetingFactory(injector) {
|
|
|
189
191
|
},
|
|
190
192
|
{
|
|
191
193
|
name: 'meetingNotes',
|
|
192
|
-
title: '@meeting-management:meeting
|
|
194
|
+
title: '@meeting-management:meetings.terms.meeting-notes',
|
|
193
195
|
groupId: 'basic-info',
|
|
194
196
|
options: {
|
|
195
197
|
sort: {
|
|
@@ -207,13 +209,13 @@ async function meetingFactory(injector) {
|
|
|
207
209
|
schema: {
|
|
208
210
|
dataType: 'string',
|
|
209
211
|
interface: {
|
|
210
|
-
type: AXPWidgetsCatalog.
|
|
212
|
+
type: AXPWidgetsCatalog.largeText,
|
|
211
213
|
},
|
|
212
214
|
},
|
|
213
215
|
},
|
|
214
216
|
{
|
|
215
217
|
name: 'meetingType',
|
|
216
|
-
title: '@meeting-management:meeting
|
|
218
|
+
title: '@meeting-management:meetings.terms.meeting-type',
|
|
217
219
|
groupId: 'basic-info',
|
|
218
220
|
options: {
|
|
219
221
|
sort: {
|
|
@@ -250,7 +252,7 @@ async function meetingFactory(injector) {
|
|
|
250
252
|
},
|
|
251
253
|
{
|
|
252
254
|
name: 'meetingProviderType',
|
|
253
|
-
title: '@meeting-management:meeting
|
|
255
|
+
title: '@meeting-management:meetings.terms.meeting-provider-type',
|
|
254
256
|
groupId: 'details',
|
|
255
257
|
options: {
|
|
256
258
|
sort: {
|
|
@@ -285,7 +287,7 @@ async function meetingFactory(injector) {
|
|
|
285
287
|
},
|
|
286
288
|
{
|
|
287
289
|
name: 'joinUrl',
|
|
288
|
-
title: '@meeting-management:
|
|
290
|
+
title: '@meeting-management:meetings.terms.join-url',
|
|
289
291
|
groupId: 'details',
|
|
290
292
|
options: {
|
|
291
293
|
sort: {
|
|
@@ -310,7 +312,7 @@ async function meetingFactory(injector) {
|
|
|
310
312
|
},
|
|
311
313
|
{
|
|
312
314
|
name: 'hostUrl',
|
|
313
|
-
title: '@meeting-management:
|
|
315
|
+
title: '@meeting-management:meetings.terms.host-url',
|
|
314
316
|
groupId: 'details',
|
|
315
317
|
options: {
|
|
316
318
|
sort: {
|
|
@@ -336,8 +338,8 @@ async function meetingFactory(injector) {
|
|
|
336
338
|
},
|
|
337
339
|
{
|
|
338
340
|
name: 'isRecorded',
|
|
339
|
-
title: '@meeting-management:
|
|
340
|
-
groupId: '
|
|
341
|
+
title: '@meeting-management:meetings.terms.is-recorded',
|
|
342
|
+
groupId: 'details',
|
|
341
343
|
options: {
|
|
342
344
|
sort: {
|
|
343
345
|
enabled: false,
|
|
@@ -359,9 +361,9 @@ async function meetingFactory(injector) {
|
|
|
359
361
|
},
|
|
360
362
|
},
|
|
361
363
|
{
|
|
362
|
-
name: '
|
|
363
|
-
title: '@meeting-management:
|
|
364
|
-
groupId: '
|
|
364
|
+
name: 'setInGoogleCalendar',
|
|
365
|
+
title: '@meeting-management:meetings.terms.set-in-google-calendar',
|
|
366
|
+
groupId: 'basic-info',
|
|
365
367
|
options: {
|
|
366
368
|
sort: {
|
|
367
369
|
enabled: false,
|
|
@@ -376,33 +378,16 @@ async function meetingFactory(injector) {
|
|
|
376
378
|
},
|
|
377
379
|
},
|
|
378
380
|
schema: {
|
|
379
|
-
dataType: '
|
|
381
|
+
dataType: 'boolean',
|
|
380
382
|
interface: {
|
|
381
|
-
type: AXPWidgetsCatalog.
|
|
382
|
-
options: {
|
|
383
|
-
valueField: 'id',
|
|
384
|
-
textField: 'title',
|
|
385
|
-
dataSource: [
|
|
386
|
-
{ title: 'Inprogress', id: 1 },
|
|
387
|
-
{ title: 'Completed', id: 2 },
|
|
388
|
-
{ title: 'Cancelled', id: 3 },
|
|
389
|
-
{ title: 'Archived', id: 4 },
|
|
390
|
-
],
|
|
391
|
-
direction: 'horizontal',
|
|
392
|
-
multiple: false,
|
|
393
|
-
},
|
|
383
|
+
type: AXPWidgetsCatalog.toggle,
|
|
394
384
|
},
|
|
395
385
|
},
|
|
396
|
-
validations: [
|
|
397
|
-
{
|
|
398
|
-
rule: 'required',
|
|
399
|
-
},
|
|
400
|
-
],
|
|
401
386
|
},
|
|
402
387
|
{
|
|
403
388
|
name: 'isFullysignedOff',
|
|
404
|
-
title: '@meeting-management:
|
|
405
|
-
groupId: '
|
|
389
|
+
title: '@meeting-management:meetings.terms.is-fully-signed-off',
|
|
390
|
+
groupId: 'basic-info',
|
|
406
391
|
options: {
|
|
407
392
|
sort: {
|
|
408
393
|
enabled: false,
|
|
@@ -425,7 +410,7 @@ async function meetingFactory(injector) {
|
|
|
425
410
|
},
|
|
426
411
|
{
|
|
427
412
|
name: 'meetingLocationId',
|
|
428
|
-
title: '@meeting-management:meeting
|
|
413
|
+
title: '@meeting-management:meetings.terms.meeting-location',
|
|
429
414
|
groupId: 'details',
|
|
430
415
|
options: {
|
|
431
416
|
sort: {
|
|
@@ -451,39 +436,19 @@ async function meetingFactory(injector) {
|
|
|
451
436
|
{ source: 'id', target: 'location.id' },
|
|
452
437
|
{ source: 'title', target: 'location.title' },
|
|
453
438
|
],
|
|
454
|
-
|
|
455
|
-
},
|
|
456
|
-
},
|
|
457
|
-
},
|
|
458
|
-
},
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
// },
|
|
467
|
-
// filter: {
|
|
468
|
-
// advance: {
|
|
469
|
-
// enabled: false,
|
|
470
|
-
// },
|
|
471
|
-
// inline: {
|
|
472
|
-
// enabled: false,
|
|
473
|
-
// },
|
|
474
|
-
// },
|
|
475
|
-
// },
|
|
476
|
-
// schema: {
|
|
477
|
-
// dataType: 'object',
|
|
478
|
-
// interface: {
|
|
479
|
-
// type: AXPWidgetsCatalog.documentUploader,
|
|
480
|
-
// options: {
|
|
481
|
-
// },
|
|
482
|
-
// },
|
|
483
|
-
// },
|
|
484
|
-
// },
|
|
439
|
+
visible: `{{context.eval("meetingProviderType").id != "1"}}`,
|
|
440
|
+
},
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
},
|
|
444
|
+
],
|
|
445
|
+
columns: [
|
|
446
|
+
{ name: 'title' },
|
|
447
|
+
{ name: 'meetingType' },
|
|
448
|
+
{ name: 'meetingProviderType' },
|
|
449
|
+
{ name: 'isFullysignedOff' },
|
|
450
|
+
{ name: 'meetingStatusId' },
|
|
485
451
|
],
|
|
486
|
-
columns: [{ name: 'title' }, { name: 'meetingNotes' }, { name: 'meetingType' }, { name: 'mettingStatus' }],
|
|
487
452
|
commands: {
|
|
488
453
|
create: {
|
|
489
454
|
execute: async (data) => {
|
|
@@ -526,9 +491,6 @@ async function meetingFactory(injector) {
|
|
|
526
491
|
{
|
|
527
492
|
id: 'details',
|
|
528
493
|
},
|
|
529
|
-
{
|
|
530
|
-
id: 'status',
|
|
531
|
-
},
|
|
532
494
|
],
|
|
533
495
|
properties: [
|
|
534
496
|
{
|
|
@@ -614,7 +576,7 @@ async function meetingFactory(injector) {
|
|
|
614
576
|
positions: {
|
|
615
577
|
lg: {
|
|
616
578
|
colSpan: 6,
|
|
617
|
-
order:
|
|
579
|
+
order: 9,
|
|
618
580
|
},
|
|
619
581
|
},
|
|
620
582
|
},
|
|
@@ -625,7 +587,18 @@ async function meetingFactory(injector) {
|
|
|
625
587
|
positions: {
|
|
626
588
|
lg: {
|
|
627
589
|
colSpan: 12,
|
|
628
|
-
order:
|
|
590
|
+
order: 10,
|
|
591
|
+
},
|
|
592
|
+
},
|
|
593
|
+
},
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
name: 'setInGoogleCalendar',
|
|
597
|
+
layout: {
|
|
598
|
+
positions: {
|
|
599
|
+
lg: {
|
|
600
|
+
colSpan: 6,
|
|
601
|
+
order: 12,
|
|
629
602
|
},
|
|
630
603
|
},
|
|
631
604
|
},
|
|
@@ -636,7 +609,7 @@ async function meetingFactory(injector) {
|
|
|
636
609
|
positions: {
|
|
637
610
|
lg: {
|
|
638
611
|
colSpan: 6,
|
|
639
|
-
order:
|
|
612
|
+
order: 11,
|
|
640
613
|
},
|
|
641
614
|
},
|
|
642
615
|
},
|
|
@@ -651,9 +624,6 @@ async function meetingFactory(injector) {
|
|
|
651
624
|
{
|
|
652
625
|
id: 'details',
|
|
653
626
|
},
|
|
654
|
-
{
|
|
655
|
-
id: 'status',
|
|
656
|
-
},
|
|
657
627
|
],
|
|
658
628
|
properties: [
|
|
659
629
|
{
|
|
@@ -739,7 +709,7 @@ async function meetingFactory(injector) {
|
|
|
739
709
|
positions: {
|
|
740
710
|
lg: {
|
|
741
711
|
colSpan: 6,
|
|
742
|
-
order:
|
|
712
|
+
order: 9,
|
|
743
713
|
},
|
|
744
714
|
},
|
|
745
715
|
},
|
|
@@ -750,13 +720,13 @@ async function meetingFactory(injector) {
|
|
|
750
720
|
positions: {
|
|
751
721
|
lg: {
|
|
752
722
|
colSpan: 12,
|
|
753
|
-
order:
|
|
723
|
+
order: 10,
|
|
754
724
|
},
|
|
755
725
|
},
|
|
756
726
|
},
|
|
757
727
|
},
|
|
758
728
|
{
|
|
759
|
-
name: '
|
|
729
|
+
name: 'setInGoogleCalendar',
|
|
760
730
|
layout: {
|
|
761
731
|
positions: {
|
|
762
732
|
lg: {
|
|
@@ -766,27 +736,28 @@ async function meetingFactory(injector) {
|
|
|
766
736
|
},
|
|
767
737
|
},
|
|
768
738
|
},
|
|
769
|
-
],
|
|
770
|
-
},
|
|
771
|
-
single: {
|
|
772
|
-
title: '{{title}}',
|
|
773
|
-
sections: [
|
|
774
739
|
{
|
|
775
|
-
|
|
740
|
+
name: 'mettingStatus',
|
|
776
741
|
layout: {
|
|
777
742
|
positions: {
|
|
778
743
|
lg: {
|
|
779
|
-
colSpan:
|
|
744
|
+
colSpan: 6,
|
|
745
|
+
order: 12,
|
|
780
746
|
},
|
|
781
747
|
},
|
|
782
748
|
},
|
|
783
749
|
},
|
|
750
|
+
],
|
|
751
|
+
},
|
|
752
|
+
single: {
|
|
753
|
+
title: '{{title}}',
|
|
754
|
+
sections: [
|
|
784
755
|
{
|
|
785
|
-
id: '
|
|
756
|
+
id: 'basic-info',
|
|
786
757
|
layout: {
|
|
787
758
|
positions: {
|
|
788
759
|
lg: {
|
|
789
|
-
colSpan:
|
|
760
|
+
colSpan: 12,
|
|
790
761
|
},
|
|
791
762
|
},
|
|
792
763
|
},
|
|
@@ -796,7 +767,7 @@ async function meetingFactory(injector) {
|
|
|
796
767
|
layout: {
|
|
797
768
|
positions: {
|
|
798
769
|
lg: {
|
|
799
|
-
colSpan:
|
|
770
|
+
colSpan: 12,
|
|
800
771
|
},
|
|
801
772
|
},
|
|
802
773
|
},
|
|
@@ -886,7 +857,7 @@ async function meetingFactory(injector) {
|
|
|
886
857
|
positions: {
|
|
887
858
|
lg: {
|
|
888
859
|
colSpan: 6,
|
|
889
|
-
order:
|
|
860
|
+
order: 9,
|
|
890
861
|
},
|
|
891
862
|
},
|
|
892
863
|
},
|
|
@@ -897,7 +868,18 @@ async function meetingFactory(injector) {
|
|
|
897
868
|
positions: {
|
|
898
869
|
lg: {
|
|
899
870
|
colSpan: 12,
|
|
900
|
-
order:
|
|
871
|
+
order: 11,
|
|
872
|
+
},
|
|
873
|
+
},
|
|
874
|
+
},
|
|
875
|
+
},
|
|
876
|
+
{
|
|
877
|
+
name: 'setInGoogleCalendar',
|
|
878
|
+
layout: {
|
|
879
|
+
positions: {
|
|
880
|
+
lg: {
|
|
881
|
+
colSpan: 6,
|
|
882
|
+
order: 8,
|
|
901
883
|
},
|
|
902
884
|
},
|
|
903
885
|
},
|
|
@@ -908,7 +890,7 @@ async function meetingFactory(injector) {
|
|
|
908
890
|
positions: {
|
|
909
891
|
lg: {
|
|
910
892
|
colSpan: 6,
|
|
911
|
-
order:
|
|
893
|
+
order: 11,
|
|
912
894
|
},
|
|
913
895
|
},
|
|
914
896
|
},
|
|
@@ -916,18 +898,76 @@ async function meetingFactory(injector) {
|
|
|
916
898
|
],
|
|
917
899
|
actions: [
|
|
918
900
|
...entityMasterRecordActions(),
|
|
901
|
+
{
|
|
902
|
+
title: '@meeting-management:meetings.actions.start-event',
|
|
903
|
+
command: {
|
|
904
|
+
name: 'MeetingManagement.Meeting:StartEvent',
|
|
905
|
+
options: {
|
|
906
|
+
id: '{{ context.eval("id") }}',
|
|
907
|
+
},
|
|
908
|
+
},
|
|
909
|
+
priority: 'secondary',
|
|
910
|
+
type: 'custom',
|
|
911
|
+
icon: 'fa-light fa-play',
|
|
912
|
+
scope: AXPEntityCommandScope.Individual,
|
|
913
|
+
hidden: `{{ context.eval("meetingStatusId") != "approved" && context.eval("meetingStatusId") != "in-progress"}}`,
|
|
914
|
+
},
|
|
915
|
+
{
|
|
916
|
+
title: '@meeting-management:meetings.actions.end-event',
|
|
917
|
+
command: {
|
|
918
|
+
name: 'MeetingManagement.Meeting:EndEvent',
|
|
919
|
+
options: {
|
|
920
|
+
id: '{{ context.eval("id") }}',
|
|
921
|
+
},
|
|
922
|
+
},
|
|
923
|
+
priority: 'secondary',
|
|
924
|
+
type: 'custom',
|
|
925
|
+
icon: 'fa-light fa-stop',
|
|
926
|
+
scope: AXPEntityCommandScope.Individual,
|
|
927
|
+
hidden: `{{ context.eval("meetingStatusId") != "in-progress" }}`,
|
|
928
|
+
},
|
|
919
929
|
{
|
|
920
930
|
title: 'Publish',
|
|
921
931
|
command: 'meeting-publish',
|
|
922
932
|
priority: 'primary',
|
|
923
933
|
type: 'update',
|
|
924
934
|
scope: AXPEntityCommandScope.Individual,
|
|
925
|
-
hidden: '{{context.eval("
|
|
935
|
+
hidden: '{{context.eval("meetingStatusId") != "approved"}}',
|
|
926
936
|
},
|
|
927
937
|
],
|
|
928
938
|
},
|
|
929
939
|
list: {
|
|
930
|
-
actions: [
|
|
940
|
+
actions: [
|
|
941
|
+
...entityMasterCrudActions(),
|
|
942
|
+
{
|
|
943
|
+
title: '@meeting-management:meetings.actions.start-event',
|
|
944
|
+
command: {
|
|
945
|
+
name: 'MeetingManagement.Meeting:StartEvent',
|
|
946
|
+
options: {
|
|
947
|
+
id: '{{ context.eval("id") }}',
|
|
948
|
+
},
|
|
949
|
+
},
|
|
950
|
+
priority: 'secondary',
|
|
951
|
+
type: 'custom',
|
|
952
|
+
icon: 'fa-light fa-play',
|
|
953
|
+
scope: AXPEntityCommandScope.Individual,
|
|
954
|
+
hidden: `{{ context.eval("meetingStatusId") != "in-progress" && context.eval("meetingStatusId") != "approved" }}`,
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
title: '@meeting-management:meetings.actions.end-event',
|
|
958
|
+
command: {
|
|
959
|
+
name: 'MeetingManagement.Meeting:EndEvent',
|
|
960
|
+
options: {
|
|
961
|
+
id: '{{ context.eval("id") }}',
|
|
962
|
+
},
|
|
963
|
+
},
|
|
964
|
+
priority: 'secondary',
|
|
965
|
+
type: 'custom',
|
|
966
|
+
icon: 'fa-light fa-stop',
|
|
967
|
+
scope: AXPEntityCommandScope.Individual,
|
|
968
|
+
hidden: `{{ context.eval("meetingStatusId") != "in-progress" }}`,
|
|
969
|
+
},
|
|
970
|
+
],
|
|
931
971
|
views: [
|
|
932
972
|
createAllQueryView({
|
|
933
973
|
sorts: [{ name: 'title', dir: 'asc' }],
|
|
@@ -960,7 +1000,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
960
1000
|
|
|
961
1001
|
async function meetingParticipantFactory(injector) {
|
|
962
1002
|
const dataService = injector.get(AXMMeetingParticipantService);
|
|
963
|
-
const i18n = RootConfig.config.i18n;
|
|
964
1003
|
const entityDef = {
|
|
965
1004
|
module: RootConfig.module.name,
|
|
966
1005
|
name: RootConfig.entities.meetingParticipant.name,
|
|
@@ -975,6 +1014,20 @@ async function meetingParticipantFactory(injector) {
|
|
|
975
1014
|
},
|
|
976
1015
|
},
|
|
977
1016
|
relatedEntities: [],
|
|
1017
|
+
plugins: [
|
|
1018
|
+
{
|
|
1019
|
+
name: 'status',
|
|
1020
|
+
options: {
|
|
1021
|
+
field: 'participantStatusId',
|
|
1022
|
+
definition: 'meeting-management.status.meeting-participant-status',
|
|
1023
|
+
generate: {
|
|
1024
|
+
actions: {
|
|
1025
|
+
enabled: false,
|
|
1026
|
+
},
|
|
1027
|
+
},
|
|
1028
|
+
},
|
|
1029
|
+
},
|
|
1030
|
+
],
|
|
978
1031
|
groups: [
|
|
979
1032
|
{
|
|
980
1033
|
id: 'section',
|
|
@@ -983,8 +1036,8 @@ async function meetingParticipantFactory(injector) {
|
|
|
983
1036
|
],
|
|
984
1037
|
properties: [
|
|
985
1038
|
{
|
|
986
|
-
name: '
|
|
987
|
-
title: '@meeting-management:meeting-
|
|
1039
|
+
name: 'employeeId',
|
|
1040
|
+
title: '@meeting-management:meetings.meeting-participants.employee-id',
|
|
988
1041
|
groupId: 'section',
|
|
989
1042
|
options: {
|
|
990
1043
|
sort: {
|
|
@@ -1005,10 +1058,12 @@ async function meetingParticipantFactory(injector) {
|
|
|
1005
1058
|
type: AXPWidgetsCatalog.lookup,
|
|
1006
1059
|
options: {
|
|
1007
1060
|
look: 'select',
|
|
1008
|
-
entity: '
|
|
1061
|
+
entity: 'HumanCapitalManagement.Employee',
|
|
1062
|
+
textField: 'party.displayName',
|
|
1063
|
+
valueField: 'id',
|
|
1009
1064
|
expose: [
|
|
1010
|
-
{ source: 'id', target: '
|
|
1011
|
-
{ source: '
|
|
1065
|
+
{ source: 'id', target: 'Employee.id' },
|
|
1066
|
+
{ source: 'party.displayName', target: 'employee.party.displayName' },
|
|
1012
1067
|
],
|
|
1013
1068
|
},
|
|
1014
1069
|
},
|
|
@@ -1021,7 +1076,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1021
1076
|
},
|
|
1022
1077
|
{
|
|
1023
1078
|
name: 'jointime',
|
|
1024
|
-
title: '@meeting-management:meeting-
|
|
1079
|
+
title: '@meeting-management:meetings.meeting-participants.join-time',
|
|
1025
1080
|
groupId: 'section',
|
|
1026
1081
|
options: {
|
|
1027
1082
|
sort: {
|
|
@@ -1050,7 +1105,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1050
1105
|
},
|
|
1051
1106
|
{
|
|
1052
1107
|
name: 'leftTime',
|
|
1053
|
-
title: '@meeting-management:meeting-
|
|
1108
|
+
title: '@meeting-management:meetings.meeting-participants.left-time',
|
|
1054
1109
|
groupId: 'section',
|
|
1055
1110
|
options: {
|
|
1056
1111
|
sort: {
|
|
@@ -1074,7 +1129,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1074
1129
|
},
|
|
1075
1130
|
{
|
|
1076
1131
|
name: 'duration',
|
|
1077
|
-
title: '@meeting-management:meeting-
|
|
1132
|
+
title: '@meeting-management:meetings.meeting-participants.duration',
|
|
1078
1133
|
groupId: 'section',
|
|
1079
1134
|
options: {
|
|
1080
1135
|
sort: {
|
|
@@ -1098,7 +1153,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1098
1153
|
},
|
|
1099
1154
|
{
|
|
1100
1155
|
name: 'signedOffAt',
|
|
1101
|
-
title: '@meeting-management:meeting-
|
|
1156
|
+
title: '@meeting-management:meetings.meeting-participants.signed-off-at',
|
|
1102
1157
|
groupId: 'section',
|
|
1103
1158
|
options: {
|
|
1104
1159
|
sort: {
|
|
@@ -1121,50 +1176,9 @@ async function meetingParticipantFactory(injector) {
|
|
|
1121
1176
|
},
|
|
1122
1177
|
validations: [],
|
|
1123
1178
|
},
|
|
1124
|
-
{
|
|
1125
|
-
name: 'participantStatus',
|
|
1126
|
-
title: '@meeting-management:meeting-participant.participantStatus',
|
|
1127
|
-
groupId: 'section',
|
|
1128
|
-
options: {
|
|
1129
|
-
sort: {
|
|
1130
|
-
enabled: false,
|
|
1131
|
-
},
|
|
1132
|
-
filter: {
|
|
1133
|
-
advance: {
|
|
1134
|
-
enabled: false,
|
|
1135
|
-
},
|
|
1136
|
-
inline: {
|
|
1137
|
-
enabled: false,
|
|
1138
|
-
},
|
|
1139
|
-
},
|
|
1140
|
-
},
|
|
1141
|
-
schema: {
|
|
1142
|
-
dataType: 'string',
|
|
1143
|
-
interface: {
|
|
1144
|
-
type: AXPWidgetsCatalog.select,
|
|
1145
|
-
options: {
|
|
1146
|
-
valueField: 'id',
|
|
1147
|
-
textField: 'title',
|
|
1148
|
-
dataSource: [
|
|
1149
|
-
{ title: 'Absent', id: 1 },
|
|
1150
|
-
{ title: 'Present', id: 2 },
|
|
1151
|
-
{ title: 'Accept', id: 3 },
|
|
1152
|
-
{ title: 'Decline', id: 4 },
|
|
1153
|
-
],
|
|
1154
|
-
direction: 'horizontal',
|
|
1155
|
-
multiple: false,
|
|
1156
|
-
},
|
|
1157
|
-
},
|
|
1158
|
-
},
|
|
1159
|
-
validations: [
|
|
1160
|
-
{
|
|
1161
|
-
rule: 'required',
|
|
1162
|
-
},
|
|
1163
|
-
],
|
|
1164
|
-
},
|
|
1165
1179
|
{
|
|
1166
1180
|
name: 'meetingRoleTypeIds',
|
|
1167
|
-
title: '@meeting-management:meeting-
|
|
1181
|
+
title: '@meeting-management:meetings.meeting-participants.meeting-role-type-ids',
|
|
1168
1182
|
groupId: 'section',
|
|
1169
1183
|
options: {
|
|
1170
1184
|
sort: {
|
|
@@ -1200,7 +1214,17 @@ async function meetingParticipantFactory(injector) {
|
|
|
1200
1214
|
],
|
|
1201
1215
|
},
|
|
1202
1216
|
],
|
|
1203
|
-
columns: [
|
|
1217
|
+
columns: [
|
|
1218
|
+
{
|
|
1219
|
+
name: 'employee.party.displayName',
|
|
1220
|
+
title: '@meeting-management:meetings.meeting-participants.employee-id',
|
|
1221
|
+
showAs: { type: AXPWidgetsCatalog.text },
|
|
1222
|
+
},
|
|
1223
|
+
{ name: 'jointime' },
|
|
1224
|
+
{ name: 'leftTime' },
|
|
1225
|
+
{ name: 'duration' },
|
|
1226
|
+
{ name: 'participantStatusId' }
|
|
1227
|
+
],
|
|
1204
1228
|
commands: {
|
|
1205
1229
|
create: {
|
|
1206
1230
|
execute: async (data) => {
|
|
@@ -1243,7 +1267,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1243
1267
|
],
|
|
1244
1268
|
properties: [
|
|
1245
1269
|
{
|
|
1246
|
-
name: '
|
|
1270
|
+
name: 'employeeId',
|
|
1247
1271
|
layout: {
|
|
1248
1272
|
positions: {
|
|
1249
1273
|
lg: {
|
|
@@ -1309,7 +1333,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1309
1333
|
},
|
|
1310
1334
|
},
|
|
1311
1335
|
{
|
|
1312
|
-
name: '
|
|
1336
|
+
name: 'participantStatusId',
|
|
1313
1337
|
layout: {
|
|
1314
1338
|
positions: {
|
|
1315
1339
|
lg: {
|
|
@@ -1329,7 +1353,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1329
1353
|
],
|
|
1330
1354
|
properties: [
|
|
1331
1355
|
{
|
|
1332
|
-
name: '
|
|
1356
|
+
name: 'employeeId',
|
|
1333
1357
|
layout: {
|
|
1334
1358
|
positions: {
|
|
1335
1359
|
lg: {
|
|
@@ -1395,7 +1419,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1395
1419
|
},
|
|
1396
1420
|
},
|
|
1397
1421
|
{
|
|
1398
|
-
name: '
|
|
1422
|
+
name: 'participantStatusId',
|
|
1399
1423
|
layout: {
|
|
1400
1424
|
positions: {
|
|
1401
1425
|
lg: {
|
|
@@ -1408,7 +1432,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1408
1432
|
],
|
|
1409
1433
|
},
|
|
1410
1434
|
single: {
|
|
1411
|
-
title: '
|
|
1435
|
+
title: 'Participant',
|
|
1412
1436
|
sections: [
|
|
1413
1437
|
{
|
|
1414
1438
|
id: 'section',
|
|
@@ -1423,7 +1447,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1423
1447
|
],
|
|
1424
1448
|
properties: [
|
|
1425
1449
|
{
|
|
1426
|
-
name: '
|
|
1450
|
+
name: 'employeeId',
|
|
1427
1451
|
layout: {
|
|
1428
1452
|
positions: {
|
|
1429
1453
|
lg: {
|
|
@@ -1489,7 +1513,7 @@ async function meetingParticipantFactory(injector) {
|
|
|
1489
1513
|
},
|
|
1490
1514
|
},
|
|
1491
1515
|
{
|
|
1492
|
-
name: '
|
|
1516
|
+
name: 'participantStatusId',
|
|
1493
1517
|
layout: {
|
|
1494
1518
|
positions: {
|
|
1495
1519
|
lg: {
|
|
@@ -1944,47 +1968,47 @@ async function meetingSessionFactory(injector) {
|
|
|
1944
1968
|
properties: [
|
|
1945
1969
|
{
|
|
1946
1970
|
name: 'title',
|
|
1947
|
-
title: '@
|
|
1971
|
+
title: '@general:terms.common.title',
|
|
1948
1972
|
groupId: 'section',
|
|
1949
1973
|
schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },
|
|
1950
1974
|
validations: [{ rule: 'required' }],
|
|
1951
1975
|
},
|
|
1952
1976
|
{
|
|
1953
1977
|
name: 'scheduleDate',
|
|
1954
|
-
title: '@meeting-management:meeting-
|
|
1978
|
+
title: '@meeting-management:meetings.meeting-sessions.schedule-date',
|
|
1955
1979
|
groupId: 'section',
|
|
1956
1980
|
schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },
|
|
1957
1981
|
validations: [{ rule: 'required' }],
|
|
1958
1982
|
},
|
|
1959
1983
|
{
|
|
1960
1984
|
name: 'startTime',
|
|
1961
|
-
title: '@meeting-management:meeting-
|
|
1985
|
+
title: '@meeting-management:meetings.meeting-sessions.start-time',
|
|
1962
1986
|
groupId: 'section',
|
|
1963
1987
|
schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'time' } } },
|
|
1964
1988
|
validations: [{ rule: 'required' }],
|
|
1965
1989
|
},
|
|
1966
1990
|
{
|
|
1967
1991
|
name: 'endTime',
|
|
1968
|
-
title: '@meeting-management:meeting-
|
|
1992
|
+
title: '@meeting-management:meetings.meeting-sessions.end-time',
|
|
1969
1993
|
groupId: 'section',
|
|
1970
1994
|
schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'time' } } },
|
|
1971
1995
|
validations: [{ rule: 'required' }],
|
|
1972
1996
|
},
|
|
1973
1997
|
{
|
|
1974
1998
|
name: 'actualDate',
|
|
1975
|
-
title: '@meeting-management:meeting-
|
|
1999
|
+
title: '@meeting-management:meetings.meeting-sessions.actual-date',
|
|
1976
2000
|
groupId: 'section',
|
|
1977
2001
|
schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'date' } } },
|
|
1978
2002
|
},
|
|
1979
2003
|
{
|
|
1980
2004
|
name: 'actualStartTime',
|
|
1981
|
-
title: '@meeting-management:meeting-
|
|
2005
|
+
title: '@meeting-management:meetings.meeting-sessions.actual-start-time',
|
|
1982
2006
|
groupId: 'section',
|
|
1983
2007
|
schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'time' } } },
|
|
1984
2008
|
},
|
|
1985
2009
|
{
|
|
1986
2010
|
name: 'actualEndTime',
|
|
1987
|
-
title: '@meeting-management:meeting-
|
|
2011
|
+
title: '@meeting-management:meetings.meeting-sessions.actual-end-time',
|
|
1988
2012
|
groupId: 'section',
|
|
1989
2013
|
schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'time' } } },
|
|
1990
2014
|
},
|
|
@@ -2103,14 +2127,14 @@ async function meetingTypeFileTemplateFactory(injector) {
|
|
|
2103
2127
|
properties: [
|
|
2104
2128
|
{
|
|
2105
2129
|
name: 'title',
|
|
2106
|
-
title: '@
|
|
2130
|
+
title: '@general:terms.common.title',
|
|
2107
2131
|
groupId: 'section',
|
|
2108
2132
|
schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },
|
|
2109
2133
|
validations: [{ rule: 'required' }],
|
|
2110
2134
|
},
|
|
2111
2135
|
{
|
|
2112
2136
|
name: 'templateId',
|
|
2113
|
-
title: '@meeting-management:meeting-type-file-
|
|
2137
|
+
title: '@meeting-management:meetings.meeting-type-file-templates.templateId',
|
|
2114
2138
|
groupId: 'section',
|
|
2115
2139
|
schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },
|
|
2116
2140
|
validations: [{ rule: 'required' }],
|
|
@@ -2186,6 +2210,153 @@ var meetingTypeFileTemplate_entity = /*#__PURE__*/Object.freeze({
|
|
|
2186
2210
|
meetingTypeFileTemplateFactory: meetingTypeFileTemplateFactory
|
|
2187
2211
|
});
|
|
2188
2212
|
|
|
2213
|
+
//#region ---- Imports ----
|
|
2214
|
+
//#endregion
|
|
2215
|
+
//#region ---- Meeting Status Provider ----
|
|
2216
|
+
/**
|
|
2217
|
+
* Meeting status provider defining lifecycle states: Pending, InProgress, Approved, Rejected, Cancelled.
|
|
2218
|
+
* Used by the status plugin to manage meeting status transitions and metadata.
|
|
2219
|
+
*/
|
|
2220
|
+
class AXMMeetingStatusProvider extends AXPStatusProvider {
|
|
2221
|
+
constructor() {
|
|
2222
|
+
super(...arguments);
|
|
2223
|
+
this.key = 'meeting-management.status.meeting-status';
|
|
2224
|
+
this.statuses = [
|
|
2225
|
+
systemStatusToDefinition(AXPSystemStatusType.Pending, {
|
|
2226
|
+
title: '@meeting-management:meetings.states.pending',
|
|
2227
|
+
generateView: true,
|
|
2228
|
+
}),
|
|
2229
|
+
systemStatusToDefinition(AXPSystemStatusType.InProgress, {
|
|
2230
|
+
title: '@meeting-management:meetings.states.in-progress',
|
|
2231
|
+
generateView: true,
|
|
2232
|
+
}),
|
|
2233
|
+
systemStatusToDefinition(AXPSystemStatusType.Approved, {
|
|
2234
|
+
title: '@meeting-management:meetings.states.approved',
|
|
2235
|
+
generateView: true,
|
|
2236
|
+
}),
|
|
2237
|
+
systemStatusToDefinition(AXPSystemStatusType.Rejected, {
|
|
2238
|
+
title: '@meeting-management:meetings.states.rejected',
|
|
2239
|
+
generateView: true,
|
|
2240
|
+
}),
|
|
2241
|
+
systemStatusToDefinition(AXPSystemStatusType.Cancelled, {
|
|
2242
|
+
title: '@meeting-management:meetings.states.cancelled',
|
|
2243
|
+
generateView: true,
|
|
2244
|
+
}),
|
|
2245
|
+
systemStatusToDefinition(AXPSystemStatusType.Published, {
|
|
2246
|
+
title: '@meeting-management:meetings.states.is-published',
|
|
2247
|
+
generateView: true,
|
|
2248
|
+
}),
|
|
2249
|
+
systemStatusToDefinition(AXPSystemStatusType.Completed, {
|
|
2250
|
+
title: '@meeting-management:meetings.states.completed',
|
|
2251
|
+
generateView: true,
|
|
2252
|
+
}),
|
|
2253
|
+
];
|
|
2254
|
+
this.transitions = [
|
|
2255
|
+
{
|
|
2256
|
+
from: AXPSystemStatusType.Pending,
|
|
2257
|
+
to: AXPSystemStatusType.InProgress,
|
|
2258
|
+
title: '@meeting-management:meetings.actions.start',
|
|
2259
|
+
color: '#3b82f6',
|
|
2260
|
+
},
|
|
2261
|
+
{
|
|
2262
|
+
from: AXPSystemStatusType.Pending,
|
|
2263
|
+
to: AXPSystemStatusType.Approved,
|
|
2264
|
+
title: '@general:statuses.transitions.approve',
|
|
2265
|
+
color: '#10b981',
|
|
2266
|
+
},
|
|
2267
|
+
{
|
|
2268
|
+
from: AXPSystemStatusType.Pending,
|
|
2269
|
+
to: AXPSystemStatusType.Rejected,
|
|
2270
|
+
title: '@general:statuses.transitions.reject',
|
|
2271
|
+
color: '#ef4444',
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
from: AXPSystemStatusType.Pending,
|
|
2275
|
+
to: AXPSystemStatusType.Cancelled,
|
|
2276
|
+
title: '@general:statuses.transitions.cancel',
|
|
2277
|
+
color: '#64748b',
|
|
2278
|
+
},
|
|
2279
|
+
{
|
|
2280
|
+
from: AXPSystemStatusType.InProgress,
|
|
2281
|
+
to: AXPSystemStatusType.Approved,
|
|
2282
|
+
title: '@general:statuses.transitions.approve',
|
|
2283
|
+
color: '#10b981',
|
|
2284
|
+
},
|
|
2285
|
+
{
|
|
2286
|
+
from: AXPSystemStatusType.InProgress,
|
|
2287
|
+
to: AXPSystemStatusType.Rejected,
|
|
2288
|
+
title: '@general:statuses.transitions.reject',
|
|
2289
|
+
color: '#ef4444',
|
|
2290
|
+
},
|
|
2291
|
+
{
|
|
2292
|
+
from: AXPSystemStatusType.InProgress,
|
|
2293
|
+
to: AXPSystemStatusType.Cancelled,
|
|
2294
|
+
title: '@general:statuses.transitions.cancel',
|
|
2295
|
+
color: '#64748b',
|
|
2296
|
+
},
|
|
2297
|
+
{
|
|
2298
|
+
from: AXPSystemStatusType.Approved,
|
|
2299
|
+
to: AXPSystemStatusType.Published,
|
|
2300
|
+
title: '@general:statuses.transitions.publish',
|
|
2301
|
+
color: '#1761A6',
|
|
2302
|
+
},
|
|
2303
|
+
{
|
|
2304
|
+
from: AXPSystemStatusType.Published,
|
|
2305
|
+
to: AXPSystemStatusType.Completed,
|
|
2306
|
+
title: '@general:statuses.transitions.completed',
|
|
2307
|
+
color: '#9CBA9C',
|
|
2308
|
+
},
|
|
2309
|
+
];
|
|
2310
|
+
this.workflowActions = [
|
|
2311
|
+
{
|
|
2312
|
+
name: 'approveMeeting',
|
|
2313
|
+
title: '@general:actions.approve.title',
|
|
2314
|
+
command: {
|
|
2315
|
+
name: 'MeetingManagement.Meeting:Approve',
|
|
2316
|
+
options: {
|
|
2317
|
+
id: '{{ context.eval("id") }}',
|
|
2318
|
+
},
|
|
2319
|
+
},
|
|
2320
|
+
hidden: `{{ context.eval("meetingStatusId") !== "${AXPSystemStatusType.Pending}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.InProgress}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.Rejected}" }}`,
|
|
2321
|
+
priority: 'secondary',
|
|
2322
|
+
type: AXPSystemActionType.Approve,
|
|
2323
|
+
scope: 'individual',
|
|
2324
|
+
},
|
|
2325
|
+
{
|
|
2326
|
+
name: 'rejectMeeting',
|
|
2327
|
+
title: '@general:actions.reject.title',
|
|
2328
|
+
command: {
|
|
2329
|
+
name: 'MeetingManagement.Meeting:Reject',
|
|
2330
|
+
options: {
|
|
2331
|
+
id: '{{ context.eval("id") }}',
|
|
2332
|
+
},
|
|
2333
|
+
},
|
|
2334
|
+
hidden: `{{ context.eval("meetingStatusId") !== "${AXPSystemStatusType.Pending}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.InProgress}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.Approved}" }}`,
|
|
2335
|
+
priority: 'secondary',
|
|
2336
|
+
type: AXPSystemActionType.Reject,
|
|
2337
|
+
scope: 'individual',
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
name: 'cancelMeeting',
|
|
2341
|
+
title: '@general:actions.cancel.title',
|
|
2342
|
+
command: {
|
|
2343
|
+
name: 'MeetingManagement.Meeting:Cancel',
|
|
2344
|
+
options: {
|
|
2345
|
+
id: '{{ context.eval("id") }}',
|
|
2346
|
+
},
|
|
2347
|
+
},
|
|
2348
|
+
hidden: `{{ context.eval("meetingStatusId") !== "${AXPSystemStatusType.Pending}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.InProgress}" && context.eval("meetingStatusId") !== "${AXPSystemStatusType.Approved}" }}`,
|
|
2349
|
+
priority: 'secondary',
|
|
2350
|
+
type: AXPSystemActionType.Cancel,
|
|
2351
|
+
scope: 'individual',
|
|
2352
|
+
separated: true,
|
|
2353
|
+
},
|
|
2354
|
+
];
|
|
2355
|
+
this.defaultStatus = AXPSystemStatusType.Pending;
|
|
2356
|
+
}
|
|
2357
|
+
}
|
|
2358
|
+
//#endregion
|
|
2359
|
+
|
|
2189
2360
|
class AXMMeetingEntityModule {
|
|
2190
2361
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMMeetingEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2191
2362
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AXMMeetingEntityModule }); }
|
|
@@ -2194,6 +2365,11 @@ class AXMMeetingEntityModule {
|
|
|
2194
2365
|
provide: AXMMeetingService,
|
|
2195
2366
|
useClass: AXMMeetingServiceImpl,
|
|
2196
2367
|
},
|
|
2368
|
+
{
|
|
2369
|
+
provide: AXP_STATUS_PROVIDERS,
|
|
2370
|
+
useClass: AXMMeetingStatusProvider,
|
|
2371
|
+
multi: true,
|
|
2372
|
+
},
|
|
2197
2373
|
] }); }
|
|
2198
2374
|
}
|
|
2199
2375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMMeetingEntityModule, decorators: [{
|
|
@@ -2207,10 +2383,100 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
2207
2383
|
provide: AXMMeetingService,
|
|
2208
2384
|
useClass: AXMMeetingServiceImpl,
|
|
2209
2385
|
},
|
|
2386
|
+
{
|
|
2387
|
+
provide: AXP_STATUS_PROVIDERS,
|
|
2388
|
+
useClass: AXMMeetingStatusProvider,
|
|
2389
|
+
multi: true,
|
|
2390
|
+
},
|
|
2210
2391
|
],
|
|
2211
2392
|
}]
|
|
2212
2393
|
}] });
|
|
2213
2394
|
|
|
2395
|
+
//#region ---- Imports ----
|
|
2396
|
+
//#endregion
|
|
2397
|
+
//#region ---- Participant Status Provider ----
|
|
2398
|
+
/**
|
|
2399
|
+
* Helper function to create status definitions
|
|
2400
|
+
*/
|
|
2401
|
+
const status = (name, title, color, options = {}) => ({
|
|
2402
|
+
name,
|
|
2403
|
+
title,
|
|
2404
|
+
color,
|
|
2405
|
+
...options,
|
|
2406
|
+
});
|
|
2407
|
+
/**
|
|
2408
|
+
* Meeting participant status provider defining lifecycle states: Absent, Present, Accept, Decline.
|
|
2409
|
+
* Used by the status plugin to manage participant status transitions and metadata.
|
|
2410
|
+
*/
|
|
2411
|
+
class AXMMeetingParticipantStatusProvider extends AXPStatusProvider {
|
|
2412
|
+
constructor() {
|
|
2413
|
+
super(...arguments);
|
|
2414
|
+
this.key = 'meeting-management.status.meeting-participant-status';
|
|
2415
|
+
this.statuses = [
|
|
2416
|
+
status('absent', '@meeting-management:meetings.meeting-participants.states.absent', 'neutral', {
|
|
2417
|
+
order: 1,
|
|
2418
|
+
generateView: true,
|
|
2419
|
+
icon: 'fa-light fa-user-slash',
|
|
2420
|
+
}),
|
|
2421
|
+
status('present', '@meeting-management:meetings.meeting-participants.states.present', 'warning', {
|
|
2422
|
+
order: 2,
|
|
2423
|
+
generateView: true,
|
|
2424
|
+
icon: 'fa-light fa-user-check',
|
|
2425
|
+
}),
|
|
2426
|
+
status('accept', '@meeting-management:meetings.meeting-participants.states.accept', 'success', {
|
|
2427
|
+
order: 3,
|
|
2428
|
+
generateView: true,
|
|
2429
|
+
icon: 'fa-light fa-check-circle',
|
|
2430
|
+
}),
|
|
2431
|
+
status('decline', '@meeting-management:meetings.meeting-participants.states.decline', 'danger', {
|
|
2432
|
+
order: 4,
|
|
2433
|
+
generateView: true,
|
|
2434
|
+
icon: 'fa-light fa-times-circle',
|
|
2435
|
+
}),
|
|
2436
|
+
];
|
|
2437
|
+
this.transitions = [
|
|
2438
|
+
{
|
|
2439
|
+
from: 'absent',
|
|
2440
|
+
to: 'present',
|
|
2441
|
+
title: '@meeting-management:meetings.meeting-participants.transitions.mark-present',
|
|
2442
|
+
color: '#10b981',
|
|
2443
|
+
},
|
|
2444
|
+
{
|
|
2445
|
+
from: 'absent',
|
|
2446
|
+
to: 'accept',
|
|
2447
|
+
title: '@meeting-management:meetings.meeting-participants.transitions.accept',
|
|
2448
|
+
color: '#10b981',
|
|
2449
|
+
},
|
|
2450
|
+
{
|
|
2451
|
+
from: 'absent',
|
|
2452
|
+
to: 'decline',
|
|
2453
|
+
title: '@meeting-management:meetings.meeting-participants.transitions.decline',
|
|
2454
|
+
color: '#ef4444',
|
|
2455
|
+
},
|
|
2456
|
+
{
|
|
2457
|
+
from: 'present',
|
|
2458
|
+
to: 'absent',
|
|
2459
|
+
title: '@meeting-management:meetings.meeting-participants.transitions.mark-absent',
|
|
2460
|
+
color: '#6b7280',
|
|
2461
|
+
},
|
|
2462
|
+
{
|
|
2463
|
+
from: 'accept',
|
|
2464
|
+
to: 'decline',
|
|
2465
|
+
title: '@meeting-management:meetings.meeting-participants.transitions.decline',
|
|
2466
|
+
color: '#ef4444',
|
|
2467
|
+
},
|
|
2468
|
+
{
|
|
2469
|
+
from: 'decline',
|
|
2470
|
+
to: 'accept',
|
|
2471
|
+
title: '@meeting-management:meetings.meeting-participants.transitions.accept',
|
|
2472
|
+
color: '#10b981',
|
|
2473
|
+
},
|
|
2474
|
+
];
|
|
2475
|
+
this.defaultStatus = 'absent';
|
|
2476
|
+
}
|
|
2477
|
+
}
|
|
2478
|
+
//#endregion
|
|
2479
|
+
|
|
2214
2480
|
class AXMMeetingParticipantEntityModule {
|
|
2215
2481
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMMeetingParticipantEntityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2216
2482
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AXMMeetingParticipantEntityModule }); }
|
|
@@ -2219,6 +2485,11 @@ class AXMMeetingParticipantEntityModule {
|
|
|
2219
2485
|
provide: AXMMeetingParticipantService,
|
|
2220
2486
|
useClass: AXMMeetingParticipantServiceImpl,
|
|
2221
2487
|
},
|
|
2488
|
+
{
|
|
2489
|
+
provide: AXP_STATUS_PROVIDERS,
|
|
2490
|
+
useClass: AXMMeetingParticipantStatusProvider,
|
|
2491
|
+
multi: true,
|
|
2492
|
+
},
|
|
2222
2493
|
] }); }
|
|
2223
2494
|
}
|
|
2224
2495
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMMeetingParticipantEntityModule, decorators: [{
|
|
@@ -2232,6 +2503,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
2232
2503
|
provide: AXMMeetingParticipantService,
|
|
2233
2504
|
useClass: AXMMeetingParticipantServiceImpl,
|
|
2234
2505
|
},
|
|
2506
|
+
{
|
|
2507
|
+
provide: AXP_STATUS_PROVIDERS,
|
|
2508
|
+
useClass: AXMMeetingParticipantStatusProvider,
|
|
2509
|
+
multi: true,
|
|
2510
|
+
},
|
|
2235
2511
|
],
|
|
2236
2512
|
}]
|
|
2237
2513
|
}] });
|
|
@@ -2429,27 +2705,21 @@ class AXMMeetingManagementMenuProvider {
|
|
|
2429
2705
|
children: [
|
|
2430
2706
|
{
|
|
2431
2707
|
name: AXPMeetingManagementMenuKeys.Meetings,
|
|
2432
|
-
text: '@meeting-management:meetings.
|
|
2708
|
+
text: '@meeting-management:meetings.terms.plural',
|
|
2433
2709
|
path: this.entityService.createPath(module.name, RootConfig.entities.meeting.name),
|
|
2434
2710
|
icon: RootConfig.entities.meeting.icon,
|
|
2435
2711
|
priority: 1,
|
|
2436
2712
|
},
|
|
2437
|
-
// {
|
|
2438
|
-
// text: '@meeting-management:meeting-participant.plural-title',
|
|
2439
|
-
// path: this.entityService.createPath(module.name, RootConfig.entities.meetingParticipant.name),
|
|
2440
|
-
// icon: RootConfig.entities.meetingParticipant.icon,
|
|
2441
|
-
// priority: 2,
|
|
2442
|
-
// },
|
|
2443
2713
|
{
|
|
2444
2714
|
name: AXPMeetingManagementMenuKeys.MeetingTypes,
|
|
2445
|
-
text: '@meeting-management:meeting-types.
|
|
2715
|
+
text: '@meeting-management:meetings.meeting-types.plural',
|
|
2446
2716
|
path: this.entityService.createPath(module.name, RootConfig.entities.meetingType.name),
|
|
2447
2717
|
icon: RootConfig.entities.meetingType.icon,
|
|
2448
2718
|
priority: 2,
|
|
2449
2719
|
},
|
|
2450
2720
|
{
|
|
2451
2721
|
name: AXPMeetingManagementMenuKeys.MeetingRoleTypes,
|
|
2452
|
-
text: '@meeting-management:meeting-role-types.
|
|
2722
|
+
text: '@meeting-management:meetings.meeting-role-types.plural',
|
|
2453
2723
|
path: this.entityService.createPath(module.name, RootConfig.entities.meetingRoleType.name),
|
|
2454
2724
|
icon: RootConfig.entities.meetingRoleType.icon,
|
|
2455
2725
|
priority: 3,
|
|
@@ -2764,5 +3034,5 @@ var permissionDefinition_provider = /*#__PURE__*/Object.freeze({
|
|
|
2764
3034
|
* Generated bundle index. Do not edit.
|
|
2765
3035
|
*/
|
|
2766
3036
|
|
|
2767
|
-
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 };
|
|
3037
|
+
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 };
|
|
2768
3038
|
//# sourceMappingURL=acorex-modules-meeting-management.mjs.map
|