@acorex-platform/module-help-desk-client 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (17) hide show
  1. package/fesm2022/acorex-platform-module-help-desk-client-acorex-platform-module-help-desk-client-OtDtf3iY.mjs +783 -0
  2. package/fesm2022/acorex-platform-module-help-desk-client-acorex-platform-module-help-desk-client-OtDtf3iY.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-help-desk-client-capture-screen.component-AyM-9U5W.mjs +28 -0
  4. package/fesm2022/acorex-platform-module-help-desk-client-capture-screen.component-AyM-9U5W.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-help-desk-client-contracts.mjs +1375 -0
  6. package/fesm2022/acorex-platform-module-help-desk-client-contracts.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-help-desk-client-download-log-file.command-eMaHHzLd.mjs +30 -0
  8. package/fesm2022/acorex-platform-module-help-desk-client-download-log-file.command-eMaHHzLd.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-help-desk-client-report-new-issue.component-C-vY_x_C.mjs +246 -0
  10. package/fesm2022/acorex-platform-module-help-desk-client-report-new-issue.component-C-vY_x_C.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-help-desk-client-show-report-issue.command-q2fqdnAS.mjs +23 -0
  12. package/fesm2022/acorex-platform-module-help-desk-client-show-report-issue.command-q2fqdnAS.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-help-desk-client.mjs +2 -0
  14. package/fesm2022/acorex-platform-module-help-desk-client.mjs.map +1 -0
  15. package/package.json +29 -0
  16. package/types/acorex-platform-module-help-desk-client-contracts.d.ts +149 -0
  17. package/types/acorex-platform-module-help-desk-client.d.ts +58 -0
@@ -0,0 +1,1375 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions, AXPEntityCommandScope } from '@acorex-platform/framework-shared/entity';
3
+
4
+ //#region ---- Console monitor types ----
5
+ //#endregion
6
+
7
+ const AXPHelpDeskMenuKeys = {
8
+ ReportedIssues: 'help-desk:menu:reported-issues',
9
+ IssueTypes: 'help-desk:menu:issue-types',
10
+ MyReportedIssues: 'help-desk:my-reported-issues',
11
+ Divider1: 'help-desk:divider-1',
12
+ };
13
+
14
+ /**
15
+ * Collaboration capabilities used by this module.
16
+ * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).
17
+ */
18
+ const AXPCollaborationPermissionKeys = {
19
+ Access: 'Collaboration:Permission:Access',
20
+ MaintainConversations: 'Collaboration:Permission:MaintainConversations',
21
+ MaintainMeetings: 'Collaboration:Permission:MaintainMeetings',
22
+ MaintainCalendars: 'Collaboration:Permission:MaintainCalendars',
23
+ MaintainCommunications: 'Collaboration:Permission:MaintainCommunications',
24
+ MaintainReservations: 'Collaboration:Permission:MaintainReservations',
25
+ MaintainHelpDesk: 'Collaboration:Permission:MaintainHelpDesk',
26
+ Setup: 'Collaboration:Permission:Setup',
27
+ };
28
+ const maintainHelpDesk = AXPCollaborationPermissionKeys.MaintainHelpDesk;
29
+ function issueCrud() {
30
+ return {
31
+ Management: maintainHelpDesk,
32
+ View: maintainHelpDesk,
33
+ Edit: maintainHelpDesk,
34
+ Delete: maintainHelpDesk,
35
+ Create: maintainHelpDesk,
36
+ };
37
+ }
38
+ /**
39
+ * @deprecated Prefer {@link AXPCollaborationPermissionKeys}.
40
+ * Legacy nested shape kept so existing imports compile during migration.
41
+ */
42
+ const AXMPermissionsKeys = {
43
+ Issue: {
44
+ Management: maintainHelpDesk,
45
+ MyReportedIssues: issueCrud(),
46
+ ReportedIssues: issueCrud(),
47
+ },
48
+ };
49
+
50
+ const config = {
51
+ i18n: 'help-desk',
52
+ };
53
+ const RootConfig = {
54
+ config,
55
+ module: {
56
+ route: 'help-desk',
57
+ name: 'HelpDesk',
58
+ title: '@help-desk:module.title',
59
+ icon: 'fa-light fa-file-invoice',
60
+ },
61
+ entities: {
62
+ issueType: {
63
+ name: 'IssueType',
64
+ title: '@help-desk:issue-types.entities.issue-type.title',
65
+ titlePlural: '@help-desk:issue-types.entities.issue-type.plural',
66
+ icon: 'fa-light fa-list',
67
+ },
68
+ reportedIssues: {
69
+ name: 'ReportedIssues',
70
+ title: '@help-desk:reported-issues.entities.reported-issue.title',
71
+ titlePlural: '@help-desk:reported-issues.entities.reported-issue.plural',
72
+ icon: 'fa-light fa-bug',
73
+ },
74
+ myReportedIssues: {
75
+ name: 'MyReportedIssues',
76
+ title: '@help-desk:my-reported-issues.entities.my-reported-issue.title',
77
+ titlePlural: '@help-desk:my-reported-issues.entities.my-reported-issue.plural',
78
+ icon: 'fa-light fa-message-exclamation',
79
+ },
80
+ reportNewIssue: {
81
+ name: 'ReportNewIssue',
82
+ title: '@help-desk:report-new-issue.entities.report-new-issue.title',
83
+ titlePlural: '@help-desk:report-new-issue.entities.report-new-issue.plural',
84
+ icon: 'fa-light fa-clipboard-list-check',
85
+ },
86
+ },
87
+ };
88
+
89
+ async function issueTypeEntityFactory() {
90
+ const entityDef = {
91
+ module: RootConfig.module.name,
92
+ name: RootConfig.entities.issueType.name,
93
+ title: RootConfig.entities.issueType.title,
94
+ icon: RootConfig.entities.issueType.icon,
95
+ formats: {
96
+ individual: RootConfig.entities.issueType.title,
97
+ plural: RootConfig.entities.issueType.titlePlural,
98
+ searchResult: {
99
+ title: '{{ title }}',
100
+ description: '{{ description }}',
101
+ },
102
+ },
103
+ relatedEntities: [],
104
+ groups: [
105
+ {
106
+ id: 'main',
107
+ title: '@help-desk:issue-types.entities.issue-type.groups.main',
108
+ },
109
+ ],
110
+ properties: [
111
+ {
112
+ name: 'id',
113
+ title: 'ID',
114
+ groupId: 'main',
115
+ schema: {
116
+ dataType: 'string',
117
+ visible: false,
118
+ nullable: false,
119
+ readonly: true,
120
+ unique: {
121
+ enabled: true,
122
+ },
123
+ },
124
+ },
125
+ {
126
+ name: 'title',
127
+ title: '@help-desk:issue-types.entities.issue-type.fields.title',
128
+ groupId: 'main',
129
+ options: {
130
+ sort: {
131
+ enabled: true,
132
+ },
133
+ filter: {
134
+ advance: {
135
+ enabled: true,
136
+ },
137
+ inline: {
138
+ enabled: true,
139
+ },
140
+ },
141
+ },
142
+ schema: {
143
+ dataType: 'string',
144
+ interface: {
145
+ type: AXPWidgetsCatalog.text,
146
+ },
147
+ },
148
+ validations: [
149
+ {
150
+ rule: 'required',
151
+ },
152
+ ],
153
+ },
154
+ {
155
+ name: 'description',
156
+ title: '@help-desk:issue-types.entities.issue-type.fields.description',
157
+ groupId: 'main',
158
+ options: {
159
+ sort: {
160
+ enabled: false,
161
+ },
162
+ filter: {
163
+ advance: {
164
+ enabled: true,
165
+ },
166
+ inline: {
167
+ enabled: false,
168
+ },
169
+ },
170
+ },
171
+ schema: {
172
+ dataType: 'string',
173
+ interface: {
174
+ type: AXPWidgetsCatalog.largeText,
175
+ options: {
176
+ rows: 3,
177
+ },
178
+ },
179
+ },
180
+ validations: [
181
+ {
182
+ rule: 'required',
183
+ },
184
+ ],
185
+ },
186
+ ],
187
+ columns: [{ name: 'title' }, { name: 'description' }],
188
+ interfaces: {
189
+ master: {
190
+ create: {
191
+ sections: [
192
+ {
193
+ id: 'main',
194
+ },
195
+ ],
196
+ properties: [
197
+ {
198
+ name: 'title',
199
+ layout: {
200
+ positions: {
201
+ lg: {
202
+ colSpan: 12,
203
+ order: 1,
204
+ },
205
+ },
206
+ },
207
+ },
208
+ {
209
+ name: 'description',
210
+ layout: {
211
+ positions: {
212
+ lg: {
213
+ colSpan: 12,
214
+ order: 2,
215
+ },
216
+ },
217
+ },
218
+ },
219
+ ],
220
+ },
221
+ update: {
222
+ sections: [
223
+ {
224
+ id: 'main',
225
+ },
226
+ ],
227
+ properties: [
228
+ {
229
+ name: 'title',
230
+ layout: {
231
+ positions: {
232
+ lg: {
233
+ colSpan: 12,
234
+ order: 1,
235
+ },
236
+ },
237
+ },
238
+ },
239
+ {
240
+ name: 'description',
241
+ layout: {
242
+ positions: {
243
+ lg: {
244
+ colSpan: 12,
245
+ order: 2,
246
+ },
247
+ },
248
+ },
249
+ },
250
+ ],
251
+ },
252
+ single: {
253
+ title: '{{title}}',
254
+ sections: [
255
+ {
256
+ id: 'main',
257
+ },
258
+ ],
259
+ properties: [
260
+ {
261
+ name: 'title',
262
+ layout: {
263
+ positions: {
264
+ lg: {
265
+ colSpan: 12,
266
+ order: 1,
267
+ },
268
+ },
269
+ },
270
+ },
271
+ {
272
+ name: 'description',
273
+ layout: {
274
+ positions: {
275
+ lg: {
276
+ colSpan: 12,
277
+ order: 2,
278
+ },
279
+ },
280
+ },
281
+ },
282
+ ],
283
+ actions: [...entityMasterRecordActions()],
284
+ },
285
+ list: {
286
+ actions: [...entityMasterCrudActions()],
287
+ views: [
288
+ createAllQueryView({
289
+ sorts: [{ name: 'title', dir: 'asc' }],
290
+ }),
291
+ ],
292
+ },
293
+ },
294
+ },
295
+ };
296
+ return entityDef;
297
+ }
298
+
299
+ async function myReportedIssuesEntityFactory() {
300
+ const i18n = RootConfig.config.i18n;
301
+ const entityName = 'my-reported-issues';
302
+ const i18nName = 'reported-issues-list';
303
+ const entityDef = {
304
+ module: RootConfig.module.name,
305
+ name: RootConfig.entities.myReportedIssues.name,
306
+ title: `@${i18n}:${entityName}.individual-title`,
307
+ formats: {
308
+ individual: `@${i18n}:${entityName}.individual-title`,
309
+ plural: `@${i18n}:${entityName}.plural-title`,
310
+ searchResult: {
311
+ title: '{{ title }}',
312
+ description: RootConfig.module.title,
313
+ },
314
+ },
315
+ relatedEntities: [],
316
+ groups: [
317
+ {
318
+ id: 'main',
319
+ title: `@${i18n}:${i18nName}.main-section`,
320
+ },
321
+ {
322
+ id: 'details',
323
+ title: `@${i18n}:${i18nName}.details-section`,
324
+ },
325
+ {
326
+ id: 'system',
327
+ title: `@${i18n}:${i18nName}.system-section`,
328
+ },
329
+ ],
330
+ properties: [
331
+ {
332
+ name: 'id',
333
+ title: 'ID',
334
+ schema: {
335
+ dataType: 'uuid',
336
+ visible: false,
337
+ nullable: false,
338
+ readonly: true,
339
+ unique: {
340
+ enabled: true,
341
+ },
342
+ },
343
+ },
344
+ {
345
+ name: 'title',
346
+ title: `@${i18n}:${i18nName}.title`,
347
+ groupId: 'main',
348
+ options: {
349
+ sort: {
350
+ enabled: true,
351
+ },
352
+ filter: {
353
+ advance: {
354
+ enabled: true,
355
+ },
356
+ inline: {
357
+ enabled: true,
358
+ },
359
+ },
360
+ },
361
+ schema: {
362
+ dataType: 'string',
363
+ interface: {
364
+ type: AXPWidgetsCatalog.text,
365
+ },
366
+ },
367
+ validations: [
368
+ {
369
+ rule: 'required',
370
+ },
371
+ ],
372
+ },
373
+ {
374
+ name: 'user',
375
+ title: `@${i18n}:${i18nName}.user`,
376
+ groupId: 'main',
377
+ options: {
378
+ sort: {
379
+ enabled: true,
380
+ },
381
+ filter: {
382
+ advance: {
383
+ enabled: true,
384
+ },
385
+ inline: {
386
+ enabled: true,
387
+ },
388
+ },
389
+ },
390
+ schema: {
391
+ dataType: 'object',
392
+ interface: {
393
+ type: AXPWidgetsCatalog.lookup,
394
+ options: {
395
+ entityName: 'users',
396
+ // textField: 'fullName',
397
+ },
398
+ },
399
+ },
400
+ validations: [
401
+ {
402
+ rule: 'required',
403
+ },
404
+ ],
405
+ },
406
+ {
407
+ name: 'issueType',
408
+ title: `@${i18n}:${i18nName}.issue-type`,
409
+ groupId: 'main',
410
+ options: {
411
+ sort: {
412
+ enabled: true,
413
+ },
414
+ filter: {
415
+ advance: {
416
+ enabled: true,
417
+ },
418
+ inline: {
419
+ enabled: true,
420
+ },
421
+ },
422
+ },
423
+ schema: {
424
+ dataType: 'string',
425
+ interface: {
426
+ type: AXPWidgetsCatalog.lookup,
427
+ options: {
428
+ entityName: 'issueType',
429
+ // displayField: 'title',
430
+ // valueField: 'id',
431
+ },
432
+ },
433
+ },
434
+ validations: [
435
+ {
436
+ rule: 'required',
437
+ },
438
+ ],
439
+ },
440
+ {
441
+ name: 'priority',
442
+ title: `@${i18n}:${i18nName}.priority`,
443
+ groupId: 'main',
444
+ options: {
445
+ sort: {
446
+ enabled: true,
447
+ },
448
+ filter: {
449
+ advance: {
450
+ enabled: true,
451
+ },
452
+ inline: {
453
+ enabled: true,
454
+ },
455
+ },
456
+ },
457
+ schema: {
458
+ dataType: 'string',
459
+ interface: {
460
+ type: AXPWidgetsCatalog.select,
461
+ options: {
462
+ items: [
463
+ { title: 'Low', id: 1 },
464
+ { title: 'Medium', id: 2 },
465
+ { title: 'High', id: 3 },
466
+ { title: 'Critical', id: 4 },
467
+ ],
468
+ },
469
+ },
470
+ },
471
+ validations: [
472
+ {
473
+ rule: 'required',
474
+ },
475
+ ],
476
+ },
477
+ {
478
+ name: 'status',
479
+ title: `@${i18n}:${i18nName}.status`,
480
+ groupId: 'main',
481
+ options: {
482
+ sort: {
483
+ enabled: true,
484
+ },
485
+ filter: {
486
+ advance: {
487
+ enabled: true,
488
+ },
489
+ inline: {
490
+ enabled: true,
491
+ },
492
+ },
493
+ },
494
+ schema: {
495
+ dataType: 'string',
496
+ interface: {
497
+ type: AXPWidgetsCatalog.select,
498
+ options: {
499
+ items: [
500
+ { value: 'new', title: 'New' },
501
+ { value: 'in-progress', title: 'In Progress' },
502
+ { value: 'pending', title: 'Pending' },
503
+ { value: 'resolved', title: 'Resolved' },
504
+ { value: 'closed', title: 'Closed' },
505
+ ],
506
+ },
507
+ },
508
+ },
509
+ validations: [
510
+ {
511
+ rule: 'required',
512
+ },
513
+ ],
514
+ },
515
+ {
516
+ name: 'description',
517
+ title: `@${i18n}:${i18nName}.description`,
518
+ groupId: 'details',
519
+ options: {
520
+ sort: {
521
+ enabled: false,
522
+ },
523
+ filter: {
524
+ advance: {
525
+ enabled: true,
526
+ },
527
+ inline: {
528
+ enabled: false,
529
+ },
530
+ },
531
+ },
532
+ schema: {
533
+ dataType: 'string',
534
+ interface: {
535
+ type: AXPWidgetsCatalog.largeText,
536
+ options: {
537
+ rows: 4,
538
+ },
539
+ },
540
+ },
541
+ validations: [
542
+ {
543
+ rule: 'required',
544
+ },
545
+ ],
546
+ },
547
+ {
548
+ name: 'attachments',
549
+ title: `@${i18n}:${i18nName}.attachments`,
550
+ groupId: 'details',
551
+ options: {
552
+ sort: {
553
+ enabled: false,
554
+ },
555
+ filter: {
556
+ advance: {
557
+ enabled: false,
558
+ },
559
+ inline: {
560
+ enabled: false,
561
+ },
562
+ },
563
+ },
564
+ schema: {
565
+ dataType: 'array',
566
+ interface: {
567
+ type: AXPWidgetsCatalog.attachments,
568
+ options: {
569
+ multiple: true,
570
+ entity: `${RootConfig.module.name}.${RootConfig.entities.myReportedIssues.name}`,
571
+ record: '{{context.eval("id")}}',
572
+ accept: '*/*',
573
+ },
574
+ },
575
+ },
576
+ },
577
+ {
578
+ name: 'systemInfo',
579
+ title: `@${i18n}:${i18nName}.system-info`,
580
+ groupId: 'system',
581
+ options: {
582
+ sort: {
583
+ enabled: false,
584
+ },
585
+ filter: {
586
+ advance: {
587
+ enabled: false,
588
+ },
589
+ inline: {
590
+ enabled: false,
591
+ },
592
+ },
593
+ },
594
+ schema: {
595
+ dataType: 'object',
596
+ interface: {
597
+ type: AXPWidgetsCatalog.metaData,
598
+ options: {
599
+ fields: [
600
+ { name: 'browser', title: 'Browser' },
601
+ { name: 'os', title: 'Operating System' },
602
+ { name: 'appVersion', title: 'App Version' },
603
+ { name: 'deviceType', title: 'Device Type' },
604
+ { name: 'screenResolution', title: 'Screen Resolution' },
605
+ ],
606
+ },
607
+ },
608
+ },
609
+ },
610
+ // {
611
+ // name: 'errorLogs',
612
+ // title: `t("${i18nName}.error-logs", { scope: "${i18n}" })`,
613
+ // groupId: 'system',
614
+ // options: {
615
+ // sort: {
616
+ // enabled: false,
617
+ // },
618
+ // filter: {
619
+ // advance: {
620
+ // enabled: false,
621
+ // },
622
+ // inline: {
623
+ // enabled: false,
624
+ // },
625
+ // },
626
+ // },
627
+ // schema: {
628
+ // dataType: 'string',
629
+ // interface: {
630
+ // type: AXPWidgetsCatalog.largeText,
631
+ // options: {
632
+ // rows: 8,
633
+ // readonly: true,
634
+ // },
635
+ // },
636
+ // },
637
+ // },
638
+ {
639
+ name: 'createdAt',
640
+ title: `@${i18n}:${i18nName}.created-at`,
641
+ groupId: 'system',
642
+ options: {
643
+ sort: {
644
+ enabled: true,
645
+ },
646
+ filter: {
647
+ advance: {
648
+ enabled: true,
649
+ },
650
+ inline: {
651
+ enabled: false,
652
+ },
653
+ },
654
+ },
655
+ schema: {
656
+ dataType: 'date',
657
+ interface: {
658
+ type: AXPWidgetsCatalog.dateTime,
659
+ options: {
660
+ readonly: true,
661
+ },
662
+ },
663
+ },
664
+ },
665
+ ],
666
+ columns: [
667
+ { name: 'title' },
668
+ { name: 'user' },
669
+ { name: 'issueType' },
670
+ { name: 'priority' },
671
+ { name: 'status' },
672
+ { name: 'description' },
673
+ { name: 'createdAt' },
674
+ ],
675
+ //TODO handle with middleware
676
+ interfaces: {
677
+ master: {
678
+ single: {
679
+ title: '{{title}}',
680
+ sections: [
681
+ {
682
+ id: 'main',
683
+ },
684
+ {
685
+ id: 'details',
686
+ },
687
+ {
688
+ id: 'system',
689
+ },
690
+ ],
691
+ properties: [
692
+ {
693
+ name: 'title',
694
+ layout: {
695
+ positions: {
696
+ lg: {
697
+ colSpan: 12,
698
+ order: 1,
699
+ },
700
+ },
701
+ },
702
+ },
703
+ {
704
+ name: 'user',
705
+ layout: {
706
+ positions: {
707
+ lg: {
708
+ colSpan: 6,
709
+ order: 2,
710
+ },
711
+ },
712
+ },
713
+ },
714
+ {
715
+ name: 'issueType',
716
+ layout: {
717
+ positions: {
718
+ lg: {
719
+ colSpan: 6,
720
+ order: 3,
721
+ },
722
+ },
723
+ },
724
+ },
725
+ {
726
+ name: 'priority',
727
+ layout: {
728
+ positions: {
729
+ lg: {
730
+ colSpan: 6,
731
+ order: 4,
732
+ },
733
+ },
734
+ },
735
+ },
736
+ {
737
+ name: 'status',
738
+ layout: {
739
+ positions: {
740
+ lg: {
741
+ colSpan: 6,
742
+ order: 5,
743
+ },
744
+ },
745
+ },
746
+ },
747
+ {
748
+ name: 'description',
749
+ layout: {
750
+ positions: {
751
+ lg: {
752
+ colSpan: 12,
753
+ order: 6,
754
+ },
755
+ },
756
+ },
757
+ },
758
+ {
759
+ name: 'attachments',
760
+ layout: {
761
+ positions: {
762
+ lg: {
763
+ colSpan: 12,
764
+ order: 7,
765
+ },
766
+ },
767
+ },
768
+ },
769
+ {
770
+ name: 'systemInfo',
771
+ layout: {
772
+ positions: {
773
+ lg: {
774
+ colSpan: 12,
775
+ order: 8,
776
+ },
777
+ },
778
+ },
779
+ },
780
+ // {
781
+ // name: 'errorLogs',
782
+ // layout: {
783
+ // positions: {
784
+ // lg: {
785
+ // colSpan: 12,
786
+ // order: 9,
787
+ // },
788
+ // },
789
+ // },
790
+ // },
791
+ {
792
+ name: 'createdAt',
793
+ layout: {
794
+ positions: {
795
+ lg: {
796
+ colSpan: 6,
797
+ order: 10,
798
+ },
799
+ },
800
+ },
801
+ },
802
+ ],
803
+ actions: [...entityMasterRecordActions()],
804
+ },
805
+ list: {
806
+ actions: [
807
+ {
808
+ title: '@general:actions.create.title',
809
+ command: 'show-report-issue',
810
+ priority: 'primary',
811
+ type: 'create',
812
+ scope: AXPEntityCommandScope.TypeLevel,
813
+ },
814
+ ...entityMasterCrudActions().slice(1), // Skip the first action (create) since we have custom create action
815
+ ],
816
+ views: [
817
+ createAllQueryView({
818
+ sorts: [{ name: 'createdAt', dir: 'desc' }],
819
+ }),
820
+ ],
821
+ },
822
+ },
823
+ },
824
+ };
825
+ return entityDef;
826
+ }
827
+
828
+ async function reportedIssuesEntityFactory() {
829
+ const entityDef = {
830
+ module: RootConfig.module.name,
831
+ name: RootConfig.entities.reportedIssues.name,
832
+ title: '@help-desk:reported-issues.entities.reported-issue.title',
833
+ plugins: [
834
+ {
835
+ name: 'status',
836
+ options: {
837
+ field: 'status',
838
+ definition: 'help-desk.status.reported-issues',
839
+ },
840
+ },
841
+ ],
842
+ formats: {
843
+ individual: '@help-desk:reported-issues.entities.reported-issue.title',
844
+ plural: '@help-desk:reported-issues.entities.reported-issue.plural',
845
+ searchResult: {
846
+ title: '{{ title }}',
847
+ description: RootConfig.module.title,
848
+ },
849
+ },
850
+ relatedEntities: [],
851
+ groups: [
852
+ {
853
+ id: 'main',
854
+ title: '@help-desk:reported-issues.components.reported-issues-list.groups.main',
855
+ },
856
+ {
857
+ id: 'details',
858
+ title: '@help-desk:reported-issues.components.reported-issues-list.groups.details',
859
+ },
860
+ {
861
+ id: 'system',
862
+ title: '@help-desk:reported-issues.components.reported-issues-list.groups.system',
863
+ },
864
+ {
865
+ id: 'comments',
866
+ title: '@help-desk:reported-issues.components.reported-issues-list.groups.comments',
867
+ },
868
+ ],
869
+ properties: [
870
+ {
871
+ name: 'id',
872
+ title: 'ID',
873
+ schema: {
874
+ dataType: 'uuid',
875
+ visible: false,
876
+ nullable: false,
877
+ readonly: true,
878
+ unique: {
879
+ enabled: true,
880
+ },
881
+ },
882
+ },
883
+ {
884
+ name: 'title',
885
+ title: '@help-desk:reported-issues.components.reported-issues-list.fields.title',
886
+ groupId: 'main',
887
+ options: {
888
+ sort: {
889
+ enabled: true,
890
+ },
891
+ filter: {
892
+ advance: {
893
+ enabled: true,
894
+ },
895
+ inline: {
896
+ enabled: true,
897
+ },
898
+ },
899
+ },
900
+ schema: {
901
+ dataType: 'string',
902
+ interface: {
903
+ type: AXPWidgetsCatalog.text,
904
+ },
905
+ },
906
+ validations: [
907
+ {
908
+ rule: 'required',
909
+ },
910
+ ],
911
+ },
912
+ {
913
+ name: 'user',
914
+ title: '@help-desk:reported-issues.components.reported-issues-list.fields.user',
915
+ groupId: 'main',
916
+ options: {
917
+ sort: {
918
+ enabled: true,
919
+ },
920
+ filter: {
921
+ advance: {
922
+ enabled: true,
923
+ },
924
+ inline: {
925
+ enabled: true,
926
+ },
927
+ },
928
+ },
929
+ schema: {
930
+ dataType: 'object',
931
+ interface: {
932
+ type: AXPWidgetsCatalog.lookup,
933
+ options: {
934
+ entityName: 'users',
935
+ // textField: 'fullName',
936
+ },
937
+ },
938
+ },
939
+ validations: [
940
+ {
941
+ rule: 'required',
942
+ },
943
+ ],
944
+ },
945
+ {
946
+ name: 'issueType',
947
+ title: '@help-desk:reported-issues.components.reported-issues-list.fields.issue-type',
948
+ groupId: 'main',
949
+ options: {
950
+ sort: {
951
+ enabled: true,
952
+ },
953
+ filter: {
954
+ advance: {
955
+ enabled: true,
956
+ },
957
+ inline: {
958
+ enabled: true,
959
+ },
960
+ },
961
+ },
962
+ schema: {
963
+ dataType: 'string',
964
+ interface: {
965
+ type: AXPWidgetsCatalog.lookup,
966
+ options: {
967
+ entityName: 'issueType',
968
+ // displayField: 'title',
969
+ // valueField: 'id',
970
+ },
971
+ },
972
+ },
973
+ validations: [
974
+ {
975
+ rule: 'required',
976
+ },
977
+ ],
978
+ },
979
+ {
980
+ name: 'priority',
981
+ title: '@help-desk:reported-issues.components.reported-issues-list.fields.priority',
982
+ groupId: 'main',
983
+ options: {
984
+ sort: {
985
+ enabled: true,
986
+ },
987
+ filter: {
988
+ advance: {
989
+ enabled: true,
990
+ },
991
+ inline: {
992
+ enabled: true,
993
+ },
994
+ },
995
+ },
996
+ schema: {
997
+ dataType: 'string',
998
+ interface: {
999
+ type: AXPWidgetsCatalog.select,
1000
+ options: {
1001
+ items: [
1002
+ { title: 'Low', id: 1 },
1003
+ { title: 'Medium', id: 2 },
1004
+ { title: 'High', id: 3 },
1005
+ { title: 'Critical', id: 4 },
1006
+ ],
1007
+ },
1008
+ },
1009
+ },
1010
+ validations: [
1011
+ {
1012
+ rule: 'required',
1013
+ },
1014
+ ],
1015
+ },
1016
+ {
1017
+ name: 'description',
1018
+ title: '@help-desk:reported-issues.components.reported-issues-list.fields.description',
1019
+ groupId: 'details',
1020
+ options: {
1021
+ sort: {
1022
+ enabled: false,
1023
+ },
1024
+ filter: {
1025
+ advance: {
1026
+ enabled: true,
1027
+ },
1028
+ inline: {
1029
+ enabled: false,
1030
+ },
1031
+ },
1032
+ },
1033
+ schema: {
1034
+ dataType: 'string',
1035
+ interface: {
1036
+ type: AXPWidgetsCatalog.largeText,
1037
+ options: {
1038
+ rows: 4,
1039
+ },
1040
+ },
1041
+ },
1042
+ validations: [
1043
+ {
1044
+ rule: 'required',
1045
+ },
1046
+ ],
1047
+ },
1048
+ {
1049
+ name: 'attachments',
1050
+ title: '@help-desk:reported-issues.components.reported-issues-list.fields.attachments',
1051
+ groupId: 'details',
1052
+ options: {
1053
+ sort: {
1054
+ enabled: false,
1055
+ },
1056
+ filter: {
1057
+ advance: {
1058
+ enabled: false,
1059
+ },
1060
+ inline: {
1061
+ enabled: false,
1062
+ },
1063
+ },
1064
+ },
1065
+ schema: {
1066
+ dataType: 'array',
1067
+ interface: {
1068
+ type: AXPWidgetsCatalog.attachments,
1069
+ options: {
1070
+ multiple: true,
1071
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reportedIssues.name}`,
1072
+ record: '{{context.eval("id")}}',
1073
+ accept: '*/*',
1074
+ },
1075
+ },
1076
+ },
1077
+ },
1078
+ {
1079
+ name: 'systemInfo',
1080
+ title: '@help-desk:reported-issues.components.reported-issues-list.fields.system-info',
1081
+ groupId: 'system',
1082
+ options: {
1083
+ sort: {
1084
+ enabled: false,
1085
+ },
1086
+ filter: {
1087
+ advance: {
1088
+ enabled: false,
1089
+ },
1090
+ inline: {
1091
+ enabled: false,
1092
+ },
1093
+ },
1094
+ },
1095
+ schema: {
1096
+ dataType: 'object',
1097
+ interface: {
1098
+ type: AXPWidgetsCatalog.metaData,
1099
+ options: {
1100
+ fields: [
1101
+ { name: 'browser', title: 'Browser' },
1102
+ { name: 'os', title: 'Operating System' },
1103
+ { name: 'appVersion', title: 'App Version' },
1104
+ { name: 'deviceType', title: 'Device Type' },
1105
+ { name: 'screenResolution', title: 'Screen Resolution' },
1106
+ ],
1107
+ },
1108
+ },
1109
+ },
1110
+ },
1111
+ // {
1112
+ // name: 'errorLogs',
1113
+ // title: `t("${i18nName}.error-logs", { scope: "${i18n}" })`,
1114
+ // groupId: 'system',
1115
+ // options: {
1116
+ // sort: {
1117
+ // enabled: false,
1118
+ // },
1119
+ // filter: {
1120
+ // advance: {
1121
+ // enabled: false,
1122
+ // },
1123
+ // inline: {
1124
+ // enabled: false,
1125
+ // },
1126
+ // },
1127
+ // },
1128
+ // schema: {
1129
+ // dataType: 'string',
1130
+ // interface: {
1131
+ // type: AXPWidgetsCatalog.largeText,
1132
+ // options: {
1133
+ // rows: 8,
1134
+ // readonly: true,
1135
+ // },
1136
+ // },
1137
+ // },
1138
+ // },
1139
+ {
1140
+ name: 'createdAt',
1141
+ title: '@help-desk:reported-issues.components.reported-issues-list.fields.created-at',
1142
+ groupId: 'system',
1143
+ options: {
1144
+ sort: {
1145
+ enabled: true,
1146
+ },
1147
+ filter: {
1148
+ advance: {
1149
+ enabled: true,
1150
+ },
1151
+ inline: {
1152
+ enabled: false,
1153
+ },
1154
+ },
1155
+ },
1156
+ schema: {
1157
+ dataType: 'date',
1158
+ interface: {
1159
+ type: AXPWidgetsCatalog.dateTime,
1160
+ options: {
1161
+ readonly: true,
1162
+ },
1163
+ },
1164
+ },
1165
+ },
1166
+ {
1167
+ name: 'comments',
1168
+ title: ``,
1169
+ groupId: 'comments',
1170
+ options: {
1171
+ sort: {
1172
+ enabled: false,
1173
+ },
1174
+ filter: {
1175
+ advance: {
1176
+ enabled: false,
1177
+ },
1178
+ inline: {
1179
+ enabled: false,
1180
+ },
1181
+ },
1182
+ },
1183
+ schema: {
1184
+ dataType: 'object',
1185
+ interface: {
1186
+ type: AXPWidgetsCatalog.comment,
1187
+ options: {
1188
+ refrenceType: 'reported-issues',
1189
+ refrenceId: '{{context.eval("id")}}',
1190
+ subject: '{{context.eval("title", { pipes: ["translate"] })}}',
1191
+ },
1192
+ },
1193
+ },
1194
+ },
1195
+ ],
1196
+ columns: [
1197
+ { name: 'title' },
1198
+ { name: 'user' },
1199
+ { name: 'issueType' },
1200
+ { name: 'priority' },
1201
+ { name: 'description' },
1202
+ { name: 'createdAt' },
1203
+ ],
1204
+ interfaces: {
1205
+ master: {
1206
+ single: {
1207
+ title: '{{title}}',
1208
+ sections: [
1209
+ {
1210
+ id: 'main',
1211
+ },
1212
+ {
1213
+ id: 'details',
1214
+ },
1215
+ {
1216
+ id: 'system',
1217
+ },
1218
+ {
1219
+ id: 'comments',
1220
+ },
1221
+ ],
1222
+ properties: [
1223
+ {
1224
+ name: 'title',
1225
+ layout: {
1226
+ positions: {
1227
+ lg: {
1228
+ colSpan: 12,
1229
+ order: 1,
1230
+ },
1231
+ },
1232
+ },
1233
+ },
1234
+ {
1235
+ name: 'user',
1236
+ layout: {
1237
+ positions: {
1238
+ lg: {
1239
+ colSpan: 6,
1240
+ order: 2,
1241
+ },
1242
+ },
1243
+ },
1244
+ },
1245
+ {
1246
+ name: 'issueType',
1247
+ layout: {
1248
+ positions: {
1249
+ lg: {
1250
+ colSpan: 6,
1251
+ order: 3,
1252
+ },
1253
+ },
1254
+ },
1255
+ },
1256
+ {
1257
+ name: 'priority',
1258
+ layout: {
1259
+ positions: {
1260
+ lg: {
1261
+ colSpan: 6,
1262
+ order: 4,
1263
+ },
1264
+ },
1265
+ },
1266
+ },
1267
+ {
1268
+ name: 'description',
1269
+ layout: {
1270
+ positions: {
1271
+ lg: {
1272
+ colSpan: 12,
1273
+ order: 6,
1274
+ },
1275
+ },
1276
+ },
1277
+ },
1278
+ {
1279
+ name: 'attachments',
1280
+ layout: {
1281
+ positions: {
1282
+ lg: {
1283
+ colSpan: 12,
1284
+ order: 7,
1285
+ },
1286
+ },
1287
+ },
1288
+ },
1289
+ {
1290
+ name: 'systemInfo',
1291
+ layout: {
1292
+ positions: {
1293
+ lg: {
1294
+ colSpan: 12,
1295
+ order: 8,
1296
+ },
1297
+ },
1298
+ },
1299
+ },
1300
+ // {
1301
+ // name: 'errorLogs',
1302
+ // layout: {
1303
+ // positions: {
1304
+ // lg: {
1305
+ // colSpan: 12,
1306
+ // order: 9,
1307
+ // },
1308
+ // },
1309
+ // },
1310
+ // },
1311
+ {
1312
+ name: 'createdAt',
1313
+ layout: {
1314
+ positions: {
1315
+ lg: {
1316
+ colSpan: 6,
1317
+ order: 10,
1318
+ },
1319
+ },
1320
+ },
1321
+ },
1322
+ {
1323
+ name: 'comments',
1324
+ layout: {
1325
+ positions: {
1326
+ lg: {
1327
+ colSpan: 12,
1328
+ order: 11,
1329
+ },
1330
+ },
1331
+ },
1332
+ },
1333
+ ],
1334
+ actions: [
1335
+ {
1336
+ title: '@help-desk:reported-issues.actions.download-log.title',
1337
+ command: {
1338
+ name: 'download-log-file',
1339
+ },
1340
+ priority: 'primary',
1341
+ type: 'print',
1342
+ scope: AXPEntityCommandScope.TypeLevel,
1343
+ },
1344
+ ],
1345
+ },
1346
+ list: {
1347
+ actions: [
1348
+ {
1349
+ title: '@general:actions.detail.title',
1350
+ command: 'Entity:OpenDetails',
1351
+ priority: 'secondary',
1352
+ type: 'view',
1353
+ scope: AXPEntityCommandScope.Individual,
1354
+ },
1355
+ ],
1356
+ views: [
1357
+ createAllQueryView({
1358
+ sorts: [{ name: 'createdAt', dir: 'desc' }],
1359
+ }),
1360
+ ],
1361
+ },
1362
+ },
1363
+ },
1364
+ };
1365
+ return entityDef;
1366
+ }
1367
+
1368
+ //#region ---- Contracts barrel ----
1369
+
1370
+ /**
1371
+ * Generated bundle index. Do not edit.
1372
+ */
1373
+
1374
+ export { AXMPermissionsKeys, AXPCollaborationPermissionKeys, AXPHelpDeskMenuKeys, RootConfig, issueTypeEntityFactory, myReportedIssuesEntityFactory, reportedIssuesEntityFactory };
1375
+ //# sourceMappingURL=acorex-platform-module-help-desk-client-contracts.mjs.map