@acorex/modules 20.2.0-next.0 → 20.2.0-next.1

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 (84) hide show
  1. package/calendar-management/index.d.ts +47 -26
  2. package/fesm2022/acorex-modules-calendar-management.mjs +353 -315
  3. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  4. package/fesm2022/{acorex-modules-common-acorex-modules-common-DQESb8jf.mjs → acorex-modules-common-acorex-modules-common-D06CT4CO.mjs} +6 -16
  5. package/fesm2022/acorex-modules-common-acorex-modules-common-D06CT4CO.mjs.map +1 -0
  6. package/fesm2022/{acorex-modules-common-search-popup.component-CpFvcrxw.mjs → acorex-modules-common-search-popup.component-DbTj01Wz.mjs} +2 -2
  7. package/fesm2022/{acorex-modules-common-search-popup.component-CpFvcrxw.mjs.map → acorex-modules-common-search-popup.component-DbTj01Wz.mjs.map} +1 -1
  8. package/fesm2022/{acorex-modules-common-settings.provider-ha75F6g5.mjs → acorex-modules-common-settings.provider-DPVsF4c9.mjs} +2 -2
  9. package/fesm2022/{acorex-modules-common-settings.provider-ha75F6g5.mjs.map → acorex-modules-common-settings.provider-DPVsF4c9.mjs.map} +1 -1
  10. package/fesm2022/acorex-modules-common.mjs +1 -1
  11. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  12. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  13. package/fesm2022/acorex-modules-data-management.mjs +3 -3
  14. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  15. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs → acorex-modules-document-management-acorex-modules-document-management-C7ot6PfT.mjs} +411 -51
  16. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C7ot6PfT.mjs.map +1 -0
  17. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs → acorex-modules-document-management-attachment-widget.component-C6pop0RM.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs.map → acorex-modules-document-management-attachment-widget.component-C6pop0RM.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs → acorex-modules-document-management-create-folder-dialog.component-ga7fuY4H.mjs} +4 -4
  20. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-ga7fuY4H.mjs.map +1 -0
  21. package/fesm2022/{acorex-modules-document-management-details-view.component-bzA7fJZW.mjs → acorex-modules-document-management-details-view.component-CzTg3hha.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-document-management-details-view.component-bzA7fJZW.mjs.map → acorex-modules-document-management-details-view.component-CzTg3hha.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs → acorex-modules-document-management-drive-choose.component-BB5d32EI.mjs} +5 -5
  24. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs.map → acorex-modules-document-management-drive-choose.component-BB5d32EI.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-document-management-drive.component-DrkSd6Rv.mjs → acorex-modules-document-management-drive.component-TzRLr7rb.mjs} +7 -7
  26. package/fesm2022/{acorex-modules-document-management-drive.component-DrkSd6Rv.mjs.map → acorex-modules-document-management-drive.component-TzRLr7rb.mjs.map} +1 -1
  27. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs → acorex-modules-document-management-large-icons-view.component-BeKFvgYU.mjs} +2 -2
  28. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs.map → acorex-modules-document-management-large-icons-view.component-BeKFvgYU.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Bgr9s_zf.mjs → acorex-modules-document-management-large-tiles-view.component-CQyiGE99.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Bgr9s_zf.mjs.map → acorex-modules-document-management-large-tiles-view.component-CQyiGE99.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs → acorex-modules-document-management-link-dialog.component-CPuOuvu-.mjs} +2 -2
  32. package/fesm2022/acorex-modules-document-management-link-dialog.component-CPuOuvu-.mjs.map +1 -0
  33. package/fesm2022/{acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs → acorex-modules-document-management-list-view.component-CWGGArxw.mjs} +2 -2
  34. package/fesm2022/{acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs.map → acorex-modules-document-management-list-view.component-CWGGArxw.mjs.map} +1 -1
  35. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs → acorex-modules-document-management-meta-choose-popup.component-C7ounW6N.mjs} +8 -9
  36. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-C7ounW6N.mjs.map +1 -0
  37. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs → acorex-modules-document-management-permission-definition.provider-s0P0M8p2.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs.map → acorex-modules-document-management-permission-definition.provider-s0P0M8p2.mjs.map} +1 -1
  39. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs → acorex-modules-document-management-rename-node-dialog.component-MPkYZl2p.mjs} +4 -4
  40. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs.map → acorex-modules-document-management-rename-node-dialog.component-MPkYZl2p.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs → acorex-modules-document-management-share-dialog.component-CLF6b1Io.mjs} +2 -2
  42. package/fesm2022/acorex-modules-document-management-share-dialog.component-CLF6b1Io.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs → acorex-modules-document-management-share-email-dialog.component-B8zNvOUv.mjs} +2 -2
  44. package/fesm2022/acorex-modules-document-management-share-email-dialog.component-B8zNvOUv.mjs.map +1 -0
  45. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-wvFkjOqg.mjs → acorex-modules-document-management-small-icons-view.component-DRVLlW1e.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-wvFkjOqg.mjs.map → acorex-modules-document-management-small-icons-view.component-DRVLlW1e.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C4ARGOZR.mjs → acorex-modules-document-management-small-tiles-view.component-C1E8RKYM.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C4ARGOZR.mjs.map → acorex-modules-document-management-small-tiles-view.component-C1E8RKYM.mjs.map} +1 -1
  49. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  50. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-B8ZVc-0b.mjs → acorex-modules-issue-management-acorex-modules-issue-management-ITP4K-tZ.mjs} +3 -3
  51. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-B8ZVc-0b.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-ITP4K-tZ.mjs.map} +1 -1
  52. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs → acorex-modules-issue-management-capture-screen.component-C1USFJeP.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs.map → acorex-modules-issue-management-capture-screen.component-C1USFJeP.mjs.map} +1 -1
  54. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  55. package/fesm2022/{acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs → acorex-modules-organization-management-add-item.component-Dr-bwC4K.mjs} +2 -2
  56. package/fesm2022/acorex-modules-organization-management-add-item.component-Dr-bwC4K.mjs.map +1 -0
  57. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs → acorex-modules-organization-management-org-chart.page-CXhtYrCS.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs.map → acorex-modules-organization-management-org-chart.page-CXhtYrCS.mjs.map} +1 -1
  59. package/fesm2022/acorex-modules-organization-management.mjs +2 -2
  60. package/fesm2022/acorex-modules-platform-management.mjs +43 -19
  61. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  62. package/fesm2022/acorex-modules-project-management.mjs +48 -38
  63. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  64. package/fesm2022/{acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs → acorex-modules-report-management-report-create-root.component-Cv88TDx7.mjs} +2 -2
  65. package/fesm2022/acorex-modules-report-management-report-create-root.component-Cv88TDx7.mjs.map +1 -0
  66. package/fesm2022/acorex-modules-report-management.mjs +1 -1
  67. package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-enYapFRb.mjs +213 -0
  68. package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-enYapFRb.mjs.map +1 -0
  69. package/fesm2022/{acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs → acorex-modules-workflow-management-task-board.page-CPL7HwN4.mjs} +21 -20
  70. package/fesm2022/acorex-modules-workflow-management-task-board.page-CPL7HwN4.mjs.map +1 -0
  71. package/fesm2022/acorex-modules-workflow-management.mjs +1 -143
  72. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  73. package/package.json +12 -12
  74. package/workflow-management/index.d.ts +11 -2
  75. package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs.map +0 -1
  76. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs.map +0 -1
  77. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs.map +0 -1
  78. package/fesm2022/acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs.map +0 -1
  79. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs.map +0 -1
  80. package/fesm2022/acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs.map +0 -1
  81. package/fesm2022/acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs.map +0 -1
  82. package/fesm2022/acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs.map +0 -1
  83. package/fesm2022/acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs.map +0 -1
  84. package/fesm2022/acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
2
- import { AXPSearchCommandProvider, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, createAllQueryView, AXPEntityQueryType, AXPEntityCommandScope } from '@acorex/platform/common';
3
- import { AXMEntityCrudServiceImpl, AXPEntityService, AXP_ENTITY_DEFINITION_LOADER, entityMasterCrudActions, entityMasterDeleteAction, entityDetailsSimpleCondition, entityDetailsCrudActions } from '@acorex/platform/layout/entity';
2
+ import { AXPSearchCommandProvider, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
3
+ import { AXMEntityCrudServiceImpl, AXPEntityService, AXP_ENTITY_DEFINITION_LOADER, entityDetailsCrudActions, entityMasterCrudActions, entityMasterDeleteAction, entityDetailsSimpleCondition } from '@acorex/platform/layout/entity';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i0 from '@angular/core';
6
6
  import { Injectable, inject, Injector, NgModule } from '@angular/core';
@@ -277,34 +277,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
277
277
  }]
278
278
  }] });
279
279
 
280
- async function calendarFactory(injector) {
281
- const dataService = injector.get(AXMCalendarService);
280
+ async function calendarEventTypeFactory(injector) {
281
+ const dataService = injector.get(AXMCalendarEventTypeService);
282
282
  const i18n = RootConfig.config.i18n;
283
283
  const entityDef = {
284
284
  module: RootConfig.module.name,
285
- name: RootConfig.entities.calendar.name,
285
+ name: RootConfig.entities.calendarEventType.name,
286
286
  source: '',
287
- title: RootConfig.entities.calendar.title,
287
+ title: RootConfig.entities.calendarEventType.title,
288
288
  formats: {
289
- individual: RootConfig.entities.calendar.title,
290
- plural: RootConfig.entities.calendar.titlePlural,
289
+ individual: RootConfig.entities.calendarEventType.title,
290
+ plural: RootConfig.entities.calendarEventType.titlePlural,
291
291
  searchResult: {
292
292
  title: '{{ title }}',
293
- description: '{{ calendarType.title }}',
293
+ description: '{{ description }}',
294
294
  },
295
295
  },
296
- //#region ---- Related Entities ----
297
- relatedEntities: [
298
- {
299
- entity: `${RootConfig.module.name}.${RootConfig.entities.calendarEvent.name}`,
300
- title: RootConfig.entities.calendarEvent.titlePlural,
301
- columns: ['date', 'typeId', 'title', 'isRecurring', 'isActive'],
302
- conditions: [
303
- entityDetailsSimpleCondition('calendarId')
304
- ],
305
- },
306
- ],
307
- //#endregion
308
296
  //#region ---- Property Groups ----
309
297
  groups: [
310
298
  {
@@ -312,16 +300,8 @@ async function calendarFactory(injector) {
312
300
  title: '@general:terms.basic-info',
313
301
  },
314
302
  {
315
- id: 'inheritance',
316
- title: '@calendar-management:calendar.inheritance',
317
- },
318
- {
319
- id: 'week-config',
320
- title: '@calendar-management:calendar.week-configuration',
321
- },
322
- {
323
- id: 'working-hours',
324
- title: '@calendar-management:calendar.working-hours',
303
+ id: 'appearance',
304
+ title: '@general:terms.appearance',
325
305
  },
326
306
  {
327
307
  id: 'settings',
@@ -348,7 +328,7 @@ async function calendarFactory(injector) {
348
328
  interface: {
349
329
  type: AXPWidgetsCatalog.text,
350
330
  options: {
351
- placeholder: 'Enter calendar title',
331
+ placeholder: 'Enter event type title',
352
332
  },
353
333
  },
354
334
  },
@@ -373,73 +353,16 @@ async function calendarFactory(injector) {
373
353
  type: AXPWidgetsCatalog.largeText,
374
354
  options: {
375
355
  rows: 3,
376
- placeholder: 'Enter calendar description',
377
- },
378
- },
379
- },
380
- },
381
- {
382
- name: 'calendarTypeId',
383
- title: '@calendar-management:calendar.calendar-type',
384
- groupId: 'basic-info',
385
- options: {
386
- sort: { enabled: true },
387
- filter: {
388
- advance: { enabled: true },
389
- inline: { enabled: true },
390
- },
391
- },
392
- schema: {
393
- dataType: 'object',
394
- interface: {
395
- type: AXPWidgetsCatalog.select,
396
- options: {
397
- valueField: 'value',
398
- textField: 'text',
399
- multiple: false,
400
- dataSource: [
401
- { value: 'gregorian', text: 'Gregorian' },
402
- { value: 'solar-hijri', text: 'Solar Hijri' },
403
- ],
404
- },
405
- },
406
- },
407
- validations: [
408
- { rule: 'required' },
409
- ],
410
- },
411
- // Inheritance
412
- {
413
- name: 'parentId',
414
- title: '@calendar-management:calendar.parent-calendar',
415
- groupId: 'inheritance',
416
- options: {
417
- sort: { enabled: true },
418
- filter: {
419
- advance: { enabled: true },
420
- inline: { enabled: true },
421
- },
422
- },
423
- schema: {
424
- dataType: 'object',
425
- interface: {
426
- type: AXPWidgetsCatalog.lookup,
427
- options: {
428
- look: 'select',
429
- entity: `${RootConfig.module.name}.${RootConfig.entities.calendar.name}`,
430
- expose: [
431
- { source: 'id', target: 'parent.id' },
432
- { source: 'title', target: 'parent.title' },
433
- ],
356
+ placeholder: 'Enter event type description',
434
357
  },
435
358
  },
436
359
  },
437
360
  },
438
- // Week Configuration
361
+ // Appearance
439
362
  {
440
- name: 'weekends',
441
- title: '@calendar-management:calendar.weekend-pattern',
442
- groupId: 'week-config',
363
+ name: 'color',
364
+ title: '@general:terms.color',
365
+ groupId: 'appearance',
443
366
  options: {
444
367
  sort: { enabled: false },
445
368
  filter: {
@@ -448,22 +371,11 @@ async function calendarFactory(injector) {
448
371
  },
449
372
  },
450
373
  schema: {
451
- dataType: 'object',
374
+ dataType: 'string',
452
375
  interface: {
453
- type: AXPWidgetsCatalog.select,
376
+ type: AXPWidgetsCatalog.color,
454
377
  options: {
455
- valueField: 'id',
456
- textField: 'title',
457
- multiple: true,
458
- dataSource: [
459
- { id: 'sunday', title: 'Sunday' },
460
- { id: 'monday', title: 'Monday' },
461
- { id: 'tuesday', title: 'Tuesday' },
462
- { id: 'wednesday', title: 'Wednesday' },
463
- { id: 'thursday', title: 'Thursday' },
464
- { id: 'friday', title: 'Friday' },
465
- { id: 'saturday', title: 'Saturday' },
466
- ],
378
+ format: 'hex',
467
379
  },
468
380
  },
469
381
  },
@@ -472,67 +384,26 @@ async function calendarFactory(injector) {
472
384
  ],
473
385
  },
474
386
  {
475
- name: 'firstDayOfWeek',
476
- title: '@calendar-management:calendar.first-day-of-week',
477
- groupId: 'week-config',
387
+ name: 'icon',
388
+ title: '@general:terms.icon',
389
+ groupId: 'appearance',
478
390
  options: {
479
- sort: { enabled: true },
391
+ sort: { enabled: false },
480
392
  filter: {
481
393
  advance: { enabled: true },
482
- inline: { enabled: true },
394
+ inline: { enabled: false },
483
395
  },
484
396
  },
485
397
  schema: {
486
- dataType: 'object',
398
+ dataType: 'string',
487
399
  interface: {
488
- type: AXPWidgetsCatalog.select,
400
+ type: AXPWidgetsCatalog.text,
489
401
  options: {
490
- valueField: 'id',
491
- textField: 'title',
492
- multiple: false,
493
- dataSource: [
494
- { id: 'sunday', title: 'Sunday' },
495
- { id: 'monday', title: 'Monday' },
496
- { id: 'tuesday', title: 'Tuesday' },
497
- { id: 'wednesday', title: 'Wednesday' },
498
- { id: 'thursday', title: 'Thursday' },
499
- { id: 'friday', title: 'Friday' },
500
- { id: 'saturday', title: 'Saturday' },
501
- ],
402
+ placeholder: 'fa-light fa-icon-name',
502
403
  },
503
404
  },
504
405
  },
505
- validations: [
506
- { rule: 'required' },
507
- ],
508
406
  },
509
- // // Working Hours
510
- // {
511
- // name: 'workingHours',
512
- // title: '@calendar-management:calendar.working-hours-config',
513
- // groupId: 'working-hours',
514
- // options: {
515
- // sort: { enabled: false },
516
- // filter: {
517
- // advance: { enabled: false },
518
- // inline: { enabled: false },
519
- // },
520
- // },
521
- // schema: {
522
- // dataType: 'string',
523
- // interface: {
524
- // type: AXPWidgetsCatalog.flexLayout,
525
- // options: {
526
- // rows: 5,
527
- // placeholder: 'JSON configuration for working hours',
528
- // },
529
- // children:[
530
- // {
531
- // }
532
- // ]
533
- // },
534
- // },
535
- // },
536
407
  // Settings
537
408
  {
538
409
  name: 'isActive',
@@ -542,7 +413,7 @@ async function calendarFactory(injector) {
542
413
  sort: { enabled: true },
543
414
  filter: {
544
415
  advance: { enabled: true },
545
- inline: { enabled: true },
416
+ inline: { enabled: false },
546
417
  },
547
418
  },
548
419
  schema: {
@@ -553,14 +424,14 @@ async function calendarFactory(injector) {
553
424
  },
554
425
  },
555
426
  {
556
- name: 'isTemplate',
557
- title: '@calendar-management:calendar.is-template',
427
+ name: 'isDefault',
428
+ title: '@calendar-management:calendar-event-type.is-default',
558
429
  groupId: 'settings',
559
430
  options: {
560
431
  sort: { enabled: true },
561
432
  filter: {
562
433
  advance: { enabled: true },
563
- inline: { enabled: true },
434
+ inline: { enabled: false },
564
435
  },
565
436
  },
566
437
  schema: {
@@ -597,12 +468,12 @@ async function calendarFactory(injector) {
597
468
  //#region ---- Table Columns ----
598
469
  columns: [
599
470
  { name: 'title' },
600
- { name: 'calendarTypeId', options: { dataPath: 'calendarType.title' } },
601
- { name: 'parentId', options: { dataPath: 'parent.title' } },
602
- { name: 'scopeType' },
603
- { name: 'isTemplate' },
471
+ { name: 'color' },
472
+ { name: 'icon' },
473
+ { name: 'isDefault' },
604
474
  { name: 'isActive' },
605
475
  ],
476
+ //#endregion
606
477
  //#region ---- Commands ----
607
478
  commands: {
608
479
  create: {
@@ -622,6 +493,7 @@ async function calendarFactory(injector) {
622
493
  },
623
494
  },
624
495
  },
496
+ //#endregion
625
497
  //#region ---- Queries ----
626
498
  queries: {
627
499
  byKey: {
@@ -644,105 +516,117 @@ async function calendarFactory(injector) {
644
516
  create: {
645
517
  sections: [
646
518
  { id: 'basic-info' },
647
- { id: 'inheritance' },
648
- { id: 'week-config' },
649
- { id: 'working-hours' },
519
+ { id: 'appearance' },
650
520
  { id: 'settings' },
651
521
  ],
652
522
  properties: [
653
523
  // Basic Info
654
524
  { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
655
- { name: 'calendarTypeId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
656
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
657
- // Inheritance
658
- { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
659
- // Week Config
660
- { name: 'weekends', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
661
- { name: 'firstDayOfWeek', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
662
- // Working Hours
663
- //{ name: 'workingHours', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
525
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
526
+ // Appearance
527
+ { name: 'color', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
528
+ { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
664
529
  // Settings
665
- { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },
666
- { name: 'isTemplate', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
667
- { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
530
+ { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
531
+ { name: 'isDefault', layout: { positions: { lg: { colSpan: 4, order: 7 } } } },
532
+ { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 8 } } } },
668
533
  ],
669
534
  },
670
535
  update: {
671
536
  sections: [
672
537
  { id: 'basic-info' },
673
- { id: 'inheritance' },
674
- { id: 'week-config' },
675
- { id: 'working-hours' },
538
+ { id: 'appearance' },
676
539
  { id: 'settings' },
677
540
  ],
678
541
  properties: [
679
542
  // Basic Info
680
543
  { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
681
- { name: 'calendarTypeId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
682
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
683
- // Inheritance
684
- { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
685
- // Week Config
686
- { name: 'weekends', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
687
- { name: 'firstDayOfWeek', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
688
- // Working Hours
689
- //{ name: 'workingHours', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
544
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
545
+ // Appearance
546
+ { name: 'color', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
547
+ { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
690
548
  // Settings
691
- { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },
692
- { name: 'isTemplate', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
693
- { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
549
+ { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
550
+ { name: 'isDefault', layout: { positions: { lg: { colSpan: 4, order: 7 } } } },
551
+ { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 8 } } } },
694
552
  ],
695
553
  },
696
554
  single: {
697
555
  title: '{{title}}',
698
556
  sections: [
699
557
  { id: 'basic-info' },
700
- { id: 'inheritance' },
701
- { id: 'week-config' },
702
- { id: 'working-hours' },
558
+ { id: 'appearance' },
703
559
  { id: 'settings' },
704
560
  ],
705
561
  properties: [
706
562
  // Basic Info
707
563
  { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
708
- { name: 'calendarTypeId', layout: { positions: { lg: { colSpan: 6, order: 3 } } }, dataPath: 'calendarType.title' },
709
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
710
- // Inheritance
711
- { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
712
- // Week Config
713
- { name: 'weekends', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
714
- { name: 'firstDayOfWeek', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
715
- // Working Hours
716
- //{ name: 'workingHours', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
564
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
565
+ // Appearance
566
+ { name: 'color', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
567
+ { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
717
568
  // Settings
718
- { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },
719
- { name: 'isTemplate', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
720
- { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
569
+ { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
570
+ { name: 'isDefault', layout: { positions: { lg: { colSpan: 4, order: 7 } } } },
571
+ { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 8 } } } },
721
572
  ],
722
573
  actions: [
723
- entityMasterDeleteAction()
574
+ {
575
+ title: '@general:actions.delete.title',
576
+ command: 'delete-entity',
577
+ priority: 'secondary',
578
+ type: 'delete',
579
+ scope: AXPEntityCommandScope.Individual,
580
+ },
724
581
  ],
725
582
  },
726
583
  list: {
727
584
  actions: [
728
- ...entityMasterCrudActions()
585
+ {
586
+ title: '@general:actions.create.title',
587
+ command: 'create-entity',
588
+ priority: 'primary',
589
+ type: 'create',
590
+ scope: AXPEntityCommandScope.TypeLevel,
591
+ },
592
+ {
593
+ title: '@general:actions.delete-items.title',
594
+ command: 'delete-entity',
595
+ priority: 'primary',
596
+ type: 'delete',
597
+ scope: AXPEntityCommandScope.Selected,
598
+ },
599
+ {
600
+ title: '@general:actions.detail.title',
601
+ command: 'open-entity',
602
+ priority: 'secondary',
603
+ type: 'view',
604
+ scope: AXPEntityCommandScope.Individual,
605
+ },
606
+ {
607
+ title: '@general:actions.delete.title',
608
+ command: 'delete-entity',
609
+ priority: 'secondary',
610
+ type: 'delete',
611
+ scope: AXPEntityCommandScope.Individual,
612
+ },
729
613
  ],
730
614
  views: [
731
615
  createAllQueryView({
732
- sorts: [{ name: 'title', dir: 'asc' }]
616
+ sorts: [{ name: 'order', dir: 'asc' }]
733
617
  }),
734
618
  ],
735
619
  },
736
620
  },
737
621
  },
738
- //#endregion
622
+ //#endregion
739
623
  };
740
624
  return entityDef;
741
625
  }
742
626
 
743
- var calendar_entity = /*#__PURE__*/Object.freeze({
627
+ var calendarEventType_entity = /*#__PURE__*/Object.freeze({
744
628
  __proto__: null,
745
- calendarFactory: calendarFactory
629
+ calendarEventTypeFactory: calendarEventTypeFactory
746
630
  });
747
631
 
748
632
  async function calendarEventFactory(injector) {
@@ -1147,22 +1031,34 @@ var calendarEvent_entity = /*#__PURE__*/Object.freeze({
1147
1031
  calendarEventFactory: calendarEventFactory
1148
1032
  });
1149
1033
 
1150
- async function calendarEventTypeFactory(injector) {
1151
- const dataService = injector.get(AXMCalendarEventTypeService);
1034
+ async function calendarFactory(injector) {
1035
+ const dataService = injector.get(AXMCalendarService);
1152
1036
  const i18n = RootConfig.config.i18n;
1153
1037
  const entityDef = {
1154
1038
  module: RootConfig.module.name,
1155
- name: RootConfig.entities.calendarEventType.name,
1039
+ name: RootConfig.entities.calendar.name,
1156
1040
  source: '',
1157
- title: RootConfig.entities.calendarEventType.title,
1041
+ title: RootConfig.entities.calendar.title,
1158
1042
  formats: {
1159
- individual: RootConfig.entities.calendarEventType.title,
1160
- plural: RootConfig.entities.calendarEventType.titlePlural,
1043
+ individual: RootConfig.entities.calendar.title,
1044
+ plural: RootConfig.entities.calendar.titlePlural,
1161
1045
  searchResult: {
1162
1046
  title: '{{ title }}',
1163
- description: '{{ description }}',
1047
+ description: '{{ calendarType.title }}',
1164
1048
  },
1165
1049
  },
1050
+ //#region ---- Related Entities ----
1051
+ relatedEntities: [
1052
+ {
1053
+ entity: `${RootConfig.module.name}.${RootConfig.entities.calendarEvent.name}`,
1054
+ title: RootConfig.entities.calendarEvent.titlePlural,
1055
+ columns: ['date', 'typeId', 'title', 'isRecurring', 'isActive'],
1056
+ conditions: [
1057
+ entityDetailsSimpleCondition('calendarId')
1058
+ ],
1059
+ },
1060
+ ],
1061
+ //#endregion
1166
1062
  //#region ---- Property Groups ----
1167
1063
  groups: [
1168
1064
  {
@@ -1170,8 +1066,16 @@ async function calendarEventTypeFactory(injector) {
1170
1066
  title: '@general:terms.basic-info',
1171
1067
  },
1172
1068
  {
1173
- id: 'appearance',
1174
- title: '@general:terms.appearance',
1069
+ id: 'inheritance',
1070
+ title: '@calendar-management:calendar.inheritance',
1071
+ },
1072
+ {
1073
+ id: 'week-config',
1074
+ title: '@calendar-management:calendar.week-configuration',
1075
+ },
1076
+ {
1077
+ id: 'working-hours',
1078
+ title: '@calendar-management:calendar.working-hours',
1175
1079
  },
1176
1080
  {
1177
1081
  id: 'settings',
@@ -1198,7 +1102,7 @@ async function calendarEventTypeFactory(injector) {
1198
1102
  interface: {
1199
1103
  type: AXPWidgetsCatalog.text,
1200
1104
  options: {
1201
- placeholder: 'Enter event type title',
1105
+ placeholder: 'Enter calendar title',
1202
1106
  },
1203
1107
  },
1204
1108
  },
@@ -1223,29 +1127,34 @@ async function calendarEventTypeFactory(injector) {
1223
1127
  type: AXPWidgetsCatalog.largeText,
1224
1128
  options: {
1225
1129
  rows: 3,
1226
- placeholder: 'Enter event type description',
1130
+ placeholder: 'Enter calendar description',
1227
1131
  },
1228
1132
  },
1229
1133
  },
1230
1134
  },
1231
- // Appearance
1232
1135
  {
1233
- name: 'color',
1234
- title: '@general:terms.color',
1235
- groupId: 'appearance',
1136
+ name: 'calendarTypeId',
1137
+ title: '@calendar-management:calendar.calendar-type',
1138
+ groupId: 'basic-info',
1236
1139
  options: {
1237
- sort: { enabled: false },
1140
+ sort: { enabled: true },
1238
1141
  filter: {
1239
1142
  advance: { enabled: true },
1240
- inline: { enabled: false },
1143
+ inline: { enabled: true },
1241
1144
  },
1242
1145
  },
1243
1146
  schema: {
1244
- dataType: 'string',
1147
+ dataType: 'object',
1245
1148
  interface: {
1246
- type: AXPWidgetsCatalog.color,
1149
+ type: AXPWidgetsCatalog.select,
1247
1150
  options: {
1248
- format: 'hex',
1151
+ valueField: 'value',
1152
+ textField: 'text',
1153
+ multiple: false,
1154
+ dataSource: [
1155
+ { value: 'gregorian', text: 'Gregorian' },
1156
+ { value: 'solar-hijri', text: 'Solar Hijri' },
1157
+ ],
1249
1158
  },
1250
1159
  },
1251
1160
  },
@@ -1253,10 +1162,38 @@ async function calendarEventTypeFactory(injector) {
1253
1162
  { rule: 'required' },
1254
1163
  ],
1255
1164
  },
1165
+ // Inheritance
1256
1166
  {
1257
- name: 'icon',
1258
- title: '@general:terms.icon',
1259
- groupId: 'appearance',
1167
+ name: 'parentId',
1168
+ title: '@calendar-management:calendar.parent-calendar',
1169
+ groupId: 'inheritance',
1170
+ options: {
1171
+ sort: { enabled: true },
1172
+ filter: {
1173
+ advance: { enabled: true },
1174
+ inline: { enabled: true },
1175
+ },
1176
+ },
1177
+ schema: {
1178
+ dataType: 'object',
1179
+ interface: {
1180
+ type: AXPWidgetsCatalog.lookup,
1181
+ options: {
1182
+ look: 'select',
1183
+ entity: `${RootConfig.module.name}.${RootConfig.entities.calendar.name}`,
1184
+ expose: [
1185
+ { source: 'id', target: 'parent.id' },
1186
+ { source: 'title', target: 'parent.title' },
1187
+ ],
1188
+ },
1189
+ },
1190
+ },
1191
+ },
1192
+ // Week Configuration
1193
+ {
1194
+ name: 'weekends',
1195
+ title: '@calendar-management:calendar.weekend-pattern',
1196
+ groupId: 'week-config',
1260
1197
  options: {
1261
1198
  sort: { enabled: false },
1262
1199
  filter: {
@@ -1265,15 +1202,91 @@ async function calendarEventTypeFactory(injector) {
1265
1202
  },
1266
1203
  },
1267
1204
  schema: {
1268
- dataType: 'string',
1205
+ dataType: 'object',
1269
1206
  interface: {
1270
- type: AXPWidgetsCatalog.text,
1207
+ type: AXPWidgetsCatalog.select,
1271
1208
  options: {
1272
- placeholder: 'fa-light fa-icon-name',
1209
+ valueField: 'id',
1210
+ textField: 'title',
1211
+ multiple: true,
1212
+ dataSource: [
1213
+ { id: 'sunday', title: 'Sunday' },
1214
+ { id: 'monday', title: 'Monday' },
1215
+ { id: 'tuesday', title: 'Tuesday' },
1216
+ { id: 'wednesday', title: 'Wednesday' },
1217
+ { id: 'thursday', title: 'Thursday' },
1218
+ { id: 'friday', title: 'Friday' },
1219
+ { id: 'saturday', title: 'Saturday' },
1220
+ ],
1273
1221
  },
1274
1222
  },
1275
1223
  },
1224
+ validations: [
1225
+ { rule: 'required' },
1226
+ ],
1276
1227
  },
1228
+ {
1229
+ name: 'firstDayOfWeek',
1230
+ title: '@calendar-management:calendar.first-day-of-week',
1231
+ groupId: 'week-config',
1232
+ options: {
1233
+ sort: { enabled: true },
1234
+ filter: {
1235
+ advance: { enabled: true },
1236
+ inline: { enabled: true },
1237
+ },
1238
+ },
1239
+ schema: {
1240
+ dataType: 'object',
1241
+ interface: {
1242
+ type: AXPWidgetsCatalog.select,
1243
+ options: {
1244
+ valueField: 'id',
1245
+ textField: 'title',
1246
+ multiple: false,
1247
+ dataSource: [
1248
+ { id: 'sunday', title: 'Sunday' },
1249
+ { id: 'monday', title: 'Monday' },
1250
+ { id: 'tuesday', title: 'Tuesday' },
1251
+ { id: 'wednesday', title: 'Wednesday' },
1252
+ { id: 'thursday', title: 'Thursday' },
1253
+ { id: 'friday', title: 'Friday' },
1254
+ { id: 'saturday', title: 'Saturday' },
1255
+ ],
1256
+ },
1257
+ },
1258
+ },
1259
+ validations: [
1260
+ { rule: 'required' },
1261
+ ],
1262
+ },
1263
+ // // Working Hours
1264
+ // {
1265
+ // name: 'workingHours',
1266
+ // title: '@calendar-management:calendar.working-hours-config',
1267
+ // groupId: 'working-hours',
1268
+ // options: {
1269
+ // sort: { enabled: false },
1270
+ // filter: {
1271
+ // advance: { enabled: false },
1272
+ // inline: { enabled: false },
1273
+ // },
1274
+ // },
1275
+ // schema: {
1276
+ // dataType: 'string',
1277
+ // interface: {
1278
+ // type: AXPWidgetsCatalog.flexLayout,
1279
+ // options: {
1280
+ // rows: 5,
1281
+ // placeholder: 'JSON configuration for working hours',
1282
+ // },
1283
+ // children:[
1284
+ // {
1285
+ // }
1286
+ // ]
1287
+ // },
1288
+ // },
1289
+ // },
1277
1290
  // Settings
1278
1291
  {
1279
1292
  name: 'isActive',
@@ -1283,7 +1296,7 @@ async function calendarEventTypeFactory(injector) {
1283
1296
  sort: { enabled: true },
1284
1297
  filter: {
1285
1298
  advance: { enabled: true },
1286
- inline: { enabled: false },
1299
+ inline: { enabled: true },
1287
1300
  },
1288
1301
  },
1289
1302
  schema: {
@@ -1294,14 +1307,14 @@ async function calendarEventTypeFactory(injector) {
1294
1307
  },
1295
1308
  },
1296
1309
  {
1297
- name: 'isDefault',
1298
- title: '@calendar-management:calendar-event-type.is-default',
1310
+ name: 'isTemplate',
1311
+ title: '@calendar-management:calendar.is-template',
1299
1312
  groupId: 'settings',
1300
1313
  options: {
1301
1314
  sort: { enabled: true },
1302
1315
  filter: {
1303
1316
  advance: { enabled: true },
1304
- inline: { enabled: false },
1317
+ inline: { enabled: true },
1305
1318
  },
1306
1319
  },
1307
1320
  schema: {
@@ -1338,12 +1351,12 @@ async function calendarEventTypeFactory(injector) {
1338
1351
  //#region ---- Table Columns ----
1339
1352
  columns: [
1340
1353
  { name: 'title' },
1341
- { name: 'color' },
1342
- { name: 'icon' },
1343
- { name: 'isDefault' },
1354
+ { name: 'calendarTypeId', options: { dataPath: 'calendarType.title' } },
1355
+ { name: 'parentId', options: { dataPath: 'parent.title' } },
1356
+ { name: 'scopeType' },
1357
+ { name: 'isTemplate' },
1344
1358
  { name: 'isActive' },
1345
1359
  ],
1346
- //#endregion
1347
1360
  //#region ---- Commands ----
1348
1361
  commands: {
1349
1362
  create: {
@@ -1363,7 +1376,6 @@ async function calendarEventTypeFactory(injector) {
1363
1376
  },
1364
1377
  },
1365
1378
  },
1366
- //#endregion
1367
1379
  //#region ---- Queries ----
1368
1380
  queries: {
1369
1381
  byKey: {
@@ -1386,124 +1398,150 @@ async function calendarEventTypeFactory(injector) {
1386
1398
  create: {
1387
1399
  sections: [
1388
1400
  { id: 'basic-info' },
1389
- { id: 'appearance' },
1401
+ { id: 'inheritance' },
1402
+ { id: 'week-config' },
1403
+ { id: 'working-hours' },
1390
1404
  { id: 'settings' },
1391
1405
  ],
1392
1406
  properties: [
1393
1407
  // Basic Info
1394
1408
  { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
1395
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
1396
- // Appearance
1397
- { name: 'color', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
1398
- { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
1409
+ { name: 'calendarTypeId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
1410
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
1411
+ // Inheritance
1412
+ { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
1413
+ // Week Config
1414
+ { name: 'weekends', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
1415
+ { name: 'firstDayOfWeek', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
1416
+ // Working Hours
1417
+ //{ name: 'workingHours', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
1399
1418
  // Settings
1400
- { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
1401
- { name: 'isDefault', layout: { positions: { lg: { colSpan: 4, order: 7 } } } },
1402
- { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 8 } } } },
1419
+ { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },
1420
+ { name: 'isTemplate', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
1421
+ { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
1403
1422
  ],
1404
1423
  },
1405
1424
  update: {
1406
1425
  sections: [
1407
1426
  { id: 'basic-info' },
1408
- { id: 'appearance' },
1427
+ { id: 'inheritance' },
1428
+ { id: 'week-config' },
1429
+ { id: 'working-hours' },
1409
1430
  { id: 'settings' },
1410
1431
  ],
1411
1432
  properties: [
1412
1433
  // Basic Info
1413
1434
  { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
1414
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
1415
- // Appearance
1416
- { name: 'color', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
1417
- { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
1435
+ { name: 'calendarTypeId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
1436
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
1437
+ // Inheritance
1438
+ { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
1439
+ // Week Config
1440
+ { name: 'weekends', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
1441
+ { name: 'firstDayOfWeek', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
1442
+ // Working Hours
1443
+ //{ name: 'workingHours', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
1418
1444
  // Settings
1419
- { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
1420
- { name: 'isDefault', layout: { positions: { lg: { colSpan: 4, order: 7 } } } },
1421
- { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 8 } } } },
1445
+ { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },
1446
+ { name: 'isTemplate', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
1447
+ { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
1422
1448
  ],
1423
1449
  },
1424
1450
  single: {
1425
1451
  title: '{{title}}',
1426
1452
  sections: [
1427
1453
  { id: 'basic-info' },
1428
- { id: 'appearance' },
1454
+ { id: 'inheritance' },
1455
+ { id: 'week-config' },
1456
+ { id: 'working-hours' },
1429
1457
  { id: 'settings' },
1430
1458
  ],
1431
1459
  properties: [
1432
1460
  // Basic Info
1433
1461
  { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
1434
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
1435
- // Appearance
1436
- { name: 'color', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
1437
- { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
1462
+ { name: 'calendarTypeId', layout: { positions: { lg: { colSpan: 6, order: 3 } } }, dataPath: 'calendarType.title' },
1463
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
1464
+ // Inheritance
1465
+ { name: 'parentId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
1466
+ // Week Config
1467
+ { name: 'weekends', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
1468
+ { name: 'firstDayOfWeek', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
1469
+ // Working Hours
1470
+ //{ name: 'workingHours', layout: { positions: { lg: { colSpan: 12, order: 9 } } } },
1438
1471
  // Settings
1439
- { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
1440
- { name: 'isDefault', layout: { positions: { lg: { colSpan: 4, order: 7 } } } },
1441
- { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 8 } } } },
1472
+ { name: 'isActive', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },
1473
+ { name: 'isTemplate', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
1474
+ { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
1442
1475
  ],
1443
1476
  actions: [
1444
- {
1445
- title: '@general:actions.delete.title',
1446
- command: 'delete-entity',
1447
- priority: 'secondary',
1448
- type: 'delete',
1449
- scope: AXPEntityCommandScope.Individual,
1450
- },
1477
+ entityMasterDeleteAction()
1451
1478
  ],
1452
1479
  },
1453
1480
  list: {
1454
1481
  actions: [
1455
- {
1456
- title: '@general:actions.create.title',
1457
- command: 'create-entity',
1458
- priority: 'primary',
1459
- type: 'create',
1460
- scope: AXPEntityCommandScope.TypeLevel,
1461
- },
1462
- {
1463
- title: '@general:actions.delete-items.title',
1464
- command: 'delete-entity',
1465
- priority: 'primary',
1466
- type: 'delete',
1467
- scope: AXPEntityCommandScope.Selected,
1468
- },
1469
- {
1470
- title: '@general:actions.detail.title',
1471
- command: 'open-entity',
1472
- priority: 'secondary',
1473
- type: 'view',
1474
- scope: AXPEntityCommandScope.Individual,
1475
- },
1476
- {
1477
- title: '@general:actions.delete.title',
1478
- command: 'delete-entity',
1479
- priority: 'secondary',
1480
- type: 'delete',
1481
- scope: AXPEntityCommandScope.Individual,
1482
- },
1482
+ ...entityMasterCrudActions()
1483
1483
  ],
1484
1484
  views: [
1485
1485
  createAllQueryView({
1486
- sorts: [{ name: 'order', dir: 'asc' }]
1486
+ sorts: [{ name: 'title', dir: 'asc' }]
1487
1487
  }),
1488
1488
  ],
1489
1489
  },
1490
1490
  },
1491
1491
  },
1492
- //#endregion
1492
+ //#endregion
1493
1493
  };
1494
1494
  return entityDef;
1495
1495
  }
1496
1496
 
1497
- var calendarEventType_entity = /*#__PURE__*/Object.freeze({
1497
+ var calendar_entity = /*#__PURE__*/Object.freeze({
1498
1498
  __proto__: null,
1499
- calendarEventTypeFactory: calendarEventTypeFactory
1499
+ calendarFactory: calendarFactory
1500
1500
  });
1501
1501
 
1502
+ class AXMCalendarManagementService {
1503
+ constructor() {
1504
+ this.calendarEventService = inject(AXMCalendarEventService);
1505
+ this.calendarEventTypeService = inject(AXMCalendarEventTypeService);
1506
+ }
1507
+ async getEvents(range) {
1508
+ const events = await this.calendarEventService.query({
1509
+ skip: 0,
1510
+ take: 9999,
1511
+ filter: {
1512
+ logic: 'and',
1513
+ filters: [
1514
+ { field: 'date', operator: { type: 'lte' }, value: range.end },
1515
+ { field: 'date', operator: { type: 'gte' }, value: range.from },
1516
+ ],
1517
+ },
1518
+ });
1519
+ return events.items.map((event) => ({
1520
+ date: event.date,
1521
+ title: event.title,
1522
+ description: event.description,
1523
+ type: {
1524
+ color: event.type?.color,
1525
+ icon: event.type?.icon,
1526
+ isHoliday: event.type?.isHoliday,
1527
+ },
1528
+ }));
1529
+ }
1530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMCalendarManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1531
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMCalendarManagementService, providedIn: 'root' }); }
1532
+ }
1533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMCalendarManagementService, decorators: [{
1534
+ type: Injectable,
1535
+ args: [{
1536
+ providedIn: 'root',
1537
+ }]
1538
+ }] });
1539
+
1502
1540
  // Main Module
1503
1541
 
1504
1542
  /**
1505
1543
  * Generated bundle index. Do not edit.
1506
1544
  */
1507
1545
 
1508
- export { AXMCalendarEventService, AXMCalendarEventServiceImpl, AXMCalendarEventTypeService, AXMCalendarEventTypeServiceImpl, AXMCalendarManagementEntityProvider, AXMCalendarManagementMenuProvider, AXMCalendarManagementModule, AXMCalendarManagementPermissionDefinitionProvider, AXMCalendarManagementSearchCommandProvider, AXMCalendarService, AXMCalendarServiceImpl, RootConfig, calendarEventFactory, calendarEventTypeFactory, calendarFactory };
1546
+ export { AXMCalendarEventService, AXMCalendarEventServiceImpl, AXMCalendarEventTypeService, AXMCalendarEventTypeServiceImpl, AXMCalendarManagementEntityProvider, AXMCalendarManagementMenuProvider, AXMCalendarManagementModule, AXMCalendarManagementPermissionDefinitionProvider, AXMCalendarManagementSearchCommandProvider, AXMCalendarManagementService, AXMCalendarService, AXMCalendarServiceImpl, RootConfig, calendarEventFactory, calendarEventTypeFactory, calendarFactory };
1509
1547
  //# sourceMappingURL=acorex-modules-calendar-management.mjs.map