@acorex-platform/module-tenant-management-client 0.0.32 → 0.0.33

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 (29) hide show
  1. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-resource-share.mjs +155 -0
  2. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-resource-share.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user-app-access.mjs +265 -0
  4. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user-app-access.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user.mjs +477 -0
  6. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant.mjs +955 -0
  8. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entities-tenant.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-acorex-platform-module-tenant-management-client-contracts-entity-catalog-B0MyR5Is.mjs +89 -0
  10. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-acorex-platform-module-tenant-management-client-contracts-entity-catalog-B0MyR5Is.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-resource-share.entity-dA48_ABN.mjs +88 -0
  12. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-resource-share.entity-dA48_ABN.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-app-access.entity-N85w0RhR.mjs +198 -0
  14. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user-app-access.entity-N85w0RhR.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user.entity-CbMSYjOJ.mjs +410 -0
  16. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant-user.entity-CbMSYjOJ.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant.entity-CDdbAR-0.mjs +888 -0
  18. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog-tenant.entity-CDdbAR-0.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog.mjs +2 -0
  20. package/fesm2022/acorex-platform-module-tenant-management-client-contracts-entity-catalog.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-tenant-management-client-local-entities.mjs +32 -0
  22. package/fesm2022/acorex-platform-module-tenant-management-client-local-entities.mjs.map +1 -0
  23. package/package.json +25 -1
  24. package/types/acorex-platform-module-tenant-management-client-contracts-entities-resource-share.d.ts +12 -0
  25. package/types/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user-app-access.d.ts +5 -0
  26. package/types/acorex-platform-module-tenant-management-client-contracts-entities-tenant-user.d.ts +5 -0
  27. package/types/acorex-platform-module-tenant-management-client-contracts-entities-tenant.d.ts +5 -0
  28. package/types/acorex-platform-module-tenant-management-client-contracts-entity-catalog.d.ts +10 -0
  29. package/types/acorex-platform-module-tenant-management-client-local-entities.d.ts +12 -0
@@ -0,0 +1,955 @@
1
+ import { AXPSystemActionType, AXPWidgetsCatalog, AXPWidgetsList, AXPRegionalSetting } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions, AXPEntityCommandScope, entityDetailsCrudActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'tenant-management',
6
+ module: 'TenantManagement',
7
+ };
8
+ const RootConfig = {
9
+ config,
10
+ module: {
11
+ route: 'tenant-management',
12
+ name: config.module,
13
+ title: `@${config.i18n}:module.title`,
14
+ icon: 'fa-light fa-building',
15
+ },
16
+ entities: {
17
+ tenant: {
18
+ name: 'Tenant',
19
+ source: `${config.module}.Tenant`,
20
+ title: `@${config.i18n}:tenants.entities.tenant.title`,
21
+ titlePlural: `@${config.i18n}:tenants.entities.tenant.plural`,
22
+ icon: 'fa-light fa-building',
23
+ },
24
+ tenantUser: {
25
+ name: 'TenantUser',
26
+ source: `${config.module}.TenantUser`,
27
+ title: `@${config.i18n}:tenants.entities.tenant-user.title`,
28
+ titlePlural: `@${config.i18n}:tenants.entities.tenant-user.plural`,
29
+ icon: 'fa-light fa-user-group',
30
+ },
31
+ tenantUserAppAccess: {
32
+ name: 'TenantUserAppAccess',
33
+ source: `${config.module}.TenantUserAppAccess`,
34
+ title: `@${config.i18n}:tenants.entities.tenant-user-app-access.title`,
35
+ titlePlural: `@${config.i18n}:tenants.entities.tenant-user-app-access.plural`,
36
+ icon: 'fa-light fa-app-store',
37
+ },
38
+ resourceShare: {
39
+ name: 'ResourceShare',
40
+ source: `${config.module}.ResourceShare`,
41
+ title: `@${config.i18n}:tenants.entities.resource-share.title`,
42
+ titlePlural: `@${config.i18n}:tenants.entities.resource-share.plural`,
43
+ icon: 'fa-light fa-share-nodes',
44
+ },
45
+ },
46
+ queries: {
47
+ dashboard: {
48
+ activeUsersKpi: `${config.module}:Dashboard:ActiveUsersKpi`,
49
+ usersByRoleDonut: `${config.module}:Dashboard:UsersByRoleDonut`,
50
+ },
51
+ reports: {
52
+ getTenantApplicationAccess: `${config.module}:Reports:GetTenantApplicationAccess`,
53
+ getTenantUserDistribution: `${config.module}:Reports:GetTenantUserDistribution`,
54
+ getTenantRegistrationTimeline: `${config.module}:Reports:GetTenantRegistrationTimeline`,
55
+ getTenantRegistrationChartData: `${config.module}:Reports:GetTenantRegistrationChartData`,
56
+ getSubscriptionsTimeline: `${config.module}:Reports:GetSubscriptionsTimeline`,
57
+ getSubscriptionsChartData: `${config.module}:Reports:GetSubscriptionsChartData`,
58
+ },
59
+ },
60
+ };
61
+ // Keep the old export for backward compatibility
62
+ const AXMTenantManagementModuleConst = {
63
+ moduleName: 'TenantManagement',
64
+ moduleRoute: 'tenant-management',
65
+ i18n: 'tenant-management',
66
+ };
67
+
68
+ //#endregion
69
+ //#region ---- Tenant Entity Factory ----
70
+ async function tenantEntityFactory() {
71
+ const i18n = RootConfig.config.i18n + ':tenants.entities.tenant';
72
+ const entityDef = {
73
+ module: RootConfig.module.name,
74
+ name: RootConfig.entities.tenant.name,
75
+ icon: RootConfig.entities.tenant.icon,
76
+ title: RootConfig.entities.tenant.title,
77
+ plugins: [
78
+ {
79
+ name: 'status',
80
+ options: {
81
+ field: 'statusId',
82
+ definition: 'tenant-management.status.tenant',
83
+ },
84
+ },
85
+ {
86
+ name: 'notes',
87
+ },
88
+ ],
89
+ formats: {
90
+ individual: RootConfig.entities.tenant.title,
91
+ plural: RootConfig.entities.tenant.titlePlural,
92
+ searchResult: {
93
+ title: '{{ title }}',
94
+ description: RootConfig.module.title,
95
+ },
96
+ },
97
+ groups: [
98
+ {
99
+ id: 'basic-info',
100
+ title: `@${i18n}.groups.basic-info`,
101
+ },
102
+ {
103
+ id: 'logo',
104
+ title: `@${i18n}.fields.logo.title`,
105
+ },
106
+ {
107
+ id: 'contact-info',
108
+ title: `@${i18n}.groups.contact-info`,
109
+ },
110
+ {
111
+ id: 'location-info',
112
+ title: `@${i18n}.groups.location-info`,
113
+ },
114
+ {
115
+ id: 'domain-info',
116
+ title: `@${i18n}.groups.domain-info`,
117
+ },
118
+ {
119
+ id: 'administrative',
120
+ title: `@${i18n}.groups.administrative`,
121
+ },
122
+ ],
123
+ properties: [
124
+ {
125
+ name: 'name',
126
+ title: `@${i18n}.fields.name.title`,
127
+ groupId: 'basic-info',
128
+ options: {
129
+ sort: {
130
+ enabled: true,
131
+ },
132
+ filter: {
133
+ advance: {
134
+ enabled: true,
135
+ },
136
+ inline: {
137
+ enabled: true,
138
+ },
139
+ },
140
+ },
141
+ schema: {
142
+ dataType: 'string',
143
+ interface: {
144
+ type: AXPWidgetsCatalog.text,
145
+ options: {
146
+ placeholder: `@${i18n}.fields.name.placeholder`,
147
+ },
148
+ },
149
+ },
150
+ validations: [
151
+ {
152
+ rule: 'required',
153
+ },
154
+ ],
155
+ },
156
+ {
157
+ name: 'title',
158
+ title: `@${i18n}.fields.title.title`,
159
+ groupId: 'basic-info',
160
+ options: {
161
+ sort: {
162
+ enabled: true,
163
+ },
164
+ filter: {
165
+ advance: {
166
+ enabled: true,
167
+ },
168
+ inline: {
169
+ enabled: true,
170
+ },
171
+ },
172
+ },
173
+ schema: {
174
+ dataType: 'object',
175
+ interface: {
176
+ type: AXPWidgetsCatalog.text,
177
+ options: {
178
+ placeholder: `@${i18n}.fields.title.placeholder`,
179
+ multiLanguage: true,
180
+ },
181
+ },
182
+ },
183
+ validations: [
184
+ {
185
+ rule: 'required',
186
+ },
187
+ ],
188
+ },
189
+ {
190
+ name: 'description',
191
+ title: `@${i18n}.fields.description.title`,
192
+ groupId: 'basic-info',
193
+ options: {
194
+ sort: {
195
+ enabled: true,
196
+ },
197
+ filter: {
198
+ advance: {
199
+ enabled: true,
200
+ },
201
+ inline: {
202
+ enabled: false,
203
+ },
204
+ },
205
+ },
206
+ schema: {
207
+ dataType: 'object',
208
+ interface: {
209
+ type: AXPWidgetsCatalog.largeText,
210
+ options: {
211
+ placeholder: `@${i18n}.fields.description.placeholder`,
212
+ multiLanguage: true,
213
+ },
214
+ },
215
+ },
216
+ },
217
+ {
218
+ name: 'logo',
219
+ title: `@${i18n}.fields.logo.title`,
220
+ groupId: 'logo',
221
+ options: {
222
+ sort: {
223
+ enabled: false,
224
+ },
225
+ filter: {
226
+ advance: {
227
+ enabled: false,
228
+ },
229
+ inline: {
230
+ enabled: false,
231
+ },
232
+ },
233
+ },
234
+ schema: {
235
+ dataType: 'string',
236
+ interface: {
237
+ type: AXPWidgetsList.Advanced.Image,
238
+ options: {
239
+ type: 'profile-photo',
240
+ },
241
+ },
242
+ },
243
+ },
244
+ {
245
+ name: 'email',
246
+ title: `@${i18n}.fields.email.title`,
247
+ groupId: 'contact-info',
248
+ options: {
249
+ sort: {
250
+ enabled: true,
251
+ },
252
+ filter: {
253
+ advance: {
254
+ enabled: true,
255
+ },
256
+ inline: {
257
+ enabled: true,
258
+ },
259
+ },
260
+ },
261
+ schema: {
262
+ dataType: 'string',
263
+ interface: {
264
+ type: AXPWidgetsList.Editors.ContactBox,
265
+ options: {
266
+ type: 'email',
267
+ hasLabel: false,
268
+ placeholder: `@${i18n}.fields.email.placeholder`,
269
+ },
270
+ },
271
+ },
272
+ },
273
+ {
274
+ name: 'phone',
275
+ title: `@${i18n}.fields.phone.title`,
276
+ groupId: 'contact-info',
277
+ options: {
278
+ sort: {
279
+ enabled: true,
280
+ },
281
+ filter: {
282
+ advance: {
283
+ enabled: true,
284
+ },
285
+ inline: {
286
+ enabled: true,
287
+ },
288
+ },
289
+ },
290
+ schema: {
291
+ dataType: 'string',
292
+ interface: {
293
+ type: AXPWidgetsList.Editors.ContactBox,
294
+ options: {
295
+ type: 'phone',
296
+ hasLabel: false,
297
+ placeholder: `@${i18n}.fields.phone.placeholder`,
298
+ },
299
+ },
300
+ },
301
+ },
302
+ {
303
+ name: 'website',
304
+ title: `@${i18n}.fields.website.title`,
305
+ groupId: 'contact-info',
306
+ options: {
307
+ sort: {
308
+ enabled: true,
309
+ },
310
+ filter: {
311
+ advance: {
312
+ enabled: true,
313
+ },
314
+ inline: {
315
+ enabled: false,
316
+ },
317
+ },
318
+ },
319
+ schema: {
320
+ dataType: 'string',
321
+ interface: {
322
+ type: AXPWidgetsList.Editors.ContactBox,
323
+ options: {
324
+ type: 'url',
325
+ hasLabel: false,
326
+ placeholder: `@${i18n}.fields.website.placeholder`,
327
+ },
328
+ },
329
+ },
330
+ },
331
+ {
332
+ name: 'supportEmail',
333
+ title: `@${i18n}.fields.support-email.title`,
334
+ groupId: 'contact-info',
335
+ options: {
336
+ sort: {
337
+ enabled: true,
338
+ },
339
+ filter: {
340
+ advance: {
341
+ enabled: true,
342
+ },
343
+ inline: {
344
+ enabled: false,
345
+ },
346
+ },
347
+ },
348
+ schema: {
349
+ dataType: 'string',
350
+ interface: {
351
+ type: AXPWidgetsList.Editors.ContactBox,
352
+ options: {
353
+ type: 'email',
354
+ hasLabel: false,
355
+ placeholder: `@${i18n}.fields.support-email.placeholder`,
356
+ },
357
+ },
358
+ },
359
+ },
360
+ {
361
+ name: 'countryId',
362
+ title: `@${i18n}.fields.country.title`,
363
+ groupId: 'location-info',
364
+ options: {
365
+ sort: {
366
+ enabled: true,
367
+ },
368
+ filter: {
369
+ advance: {
370
+ enabled: true,
371
+ },
372
+ inline: {
373
+ enabled: true,
374
+ },
375
+ },
376
+ },
377
+ schema: {
378
+ dataType: 'string',
379
+ interface: {
380
+ type: AXPWidgetsList.Editors.LookupBox,
381
+ options: {
382
+ entity: `${"LocationManagement"}.${"GeographicRegion"}`,
383
+ textField: 'title',
384
+ valueField: 'id',
385
+ look: 'select',
386
+ expose: [
387
+ { source: 'id', target: 'country.id' },
388
+ { source: 'title', target: 'country.title' },
389
+ ],
390
+ filter: {
391
+ logic: 'and',
392
+ filters: [{ field: 'type.code', operator: { type: 'equal' }, value: 'country' }],
393
+ },
394
+ },
395
+ },
396
+ },
397
+ },
398
+ {
399
+ name: 'stateId',
400
+ title: `@${i18n}.fields.state.title`,
401
+ groupId: 'location-info',
402
+ options: {
403
+ sort: {
404
+ enabled: true,
405
+ },
406
+ filter: {
407
+ advance: {
408
+ enabled: true,
409
+ },
410
+ inline: {
411
+ enabled: true,
412
+ },
413
+ },
414
+ },
415
+ schema: {
416
+ dataType: 'string',
417
+ interface: {
418
+ type: AXPWidgetsList.Editors.LookupBox,
419
+ options: {
420
+ entity: `${"LocationManagement"}.${"GeographicRegion"}`,
421
+ textField: 'title',
422
+ valueField: 'id',
423
+ look: 'select',
424
+ disabled: '{{ !context.eval("countryId") }}',
425
+ expose: [
426
+ { source: 'id', target: 'state.id' },
427
+ { source: 'title', target: 'state.title' },
428
+ ],
429
+ filter: {
430
+ logic: 'and',
431
+ filters: [
432
+ { field: 'parentId', operator: { type: 'equal' }, value: '{{ context.eval("countryId") }}' },
433
+ { field: 'type.code', operator: { type: 'equal' }, value: 'state' },
434
+ ],
435
+ },
436
+ },
437
+ triggers: [
438
+ {
439
+ event: "{{ events.context('countryId') }}",
440
+ action: `{{ widget.setValue(null); context.set('state.title', null); context.set('cityId', null); context.set('city.id', null); context.set('city.title', null); widget.refresh(); }}`,
441
+ },
442
+ ],
443
+ },
444
+ },
445
+ },
446
+ {
447
+ name: 'cityId',
448
+ title: `@${i18n}.fields.city.title`,
449
+ groupId: 'location-info',
450
+ options: {
451
+ sort: {
452
+ enabled: true,
453
+ },
454
+ filter: {
455
+ advance: {
456
+ enabled: true,
457
+ },
458
+ inline: {
459
+ enabled: true,
460
+ },
461
+ },
462
+ },
463
+ schema: {
464
+ dataType: 'string',
465
+ interface: {
466
+ type: AXPWidgetsList.Editors.LookupBox,
467
+ options: {
468
+ entity: `${"LocationManagement"}.${"GeographicRegion"}`,
469
+ textField: 'title',
470
+ valueField: 'id',
471
+ look: 'select',
472
+ disabled: '{{ !context.eval("stateId") }}',
473
+ expose: [
474
+ { source: 'id', target: 'city.id' },
475
+ { source: 'title', target: 'city.title' },
476
+ ],
477
+ filter: {
478
+ logic: 'and',
479
+ filters: [
480
+ { field: 'parentId', operator: { type: 'equal' }, value: '{{ context.eval("stateId") }}' },
481
+ { field: 'type.code', operator: { type: 'equal' }, value: 'city' },
482
+ ],
483
+ },
484
+ },
485
+ triggers: [
486
+ {
487
+ event: "{{ events.context('stateId') }}",
488
+ action: `{{ widget.setValue(null); context.set('city.title', null); widget.refresh(); }}`,
489
+ },
490
+ {
491
+ event: "{{ events.context('countryId') }}",
492
+ action: `{{ widget.setValue(null); context.set('city.title', null); widget.refresh(); }}`,
493
+ },
494
+ ],
495
+ },
496
+ },
497
+ },
498
+ {
499
+ name: 'timezone',
500
+ title: `@${i18n}.fields.timezone.title`,
501
+ groupId: 'location-info',
502
+ options: {
503
+ sort: {
504
+ enabled: true,
505
+ },
506
+ filter: {
507
+ advance: {
508
+ enabled: true,
509
+ },
510
+ inline: {
511
+ enabled: true,
512
+ },
513
+ },
514
+ },
515
+ schema: {
516
+ dataType: 'string',
517
+ defaultValue: `{{ settings.get('${AXPRegionalSetting.TimeZone}') }}`,
518
+ interface: {
519
+ type: AXPWidgetsCatalog.lookup,
520
+ options: {
521
+ entity: 'LocaleManagement.Timezones',
522
+ look: 'select',
523
+ allowSearch: true,
524
+ valueField: 'code',
525
+ textField: 'title',
526
+ filter: {
527
+ logic: 'and',
528
+ filters: [{ field: 'isActive', operator: { type: 'equal' }, value: true }],
529
+ },
530
+ },
531
+ },
532
+ },
533
+ },
534
+ {
535
+ name: 'language',
536
+ title: `@${i18n}.fields.language.title`,
537
+ groupId: 'location-info',
538
+ options: {
539
+ sort: {
540
+ enabled: true,
541
+ },
542
+ filter: {
543
+ advance: {
544
+ enabled: true,
545
+ },
546
+ inline: {
547
+ enabled: true,
548
+ },
549
+ },
550
+ },
551
+ schema: {
552
+ dataType: 'string',
553
+ interface: {
554
+ type: AXPWidgetsList.Editors.LookupBox,
555
+ options: {
556
+ entity: `${"LocaleManagement"}.${"Locales"}`,
557
+ textField: 'title',
558
+ valueField: 'code',
559
+ look: 'select',
560
+ expose: [
561
+ { source: 'code', target: 'language.code' },
562
+ { source: 'title', target: 'language.title' },
563
+ ],
564
+ },
565
+ },
566
+ },
567
+ },
568
+ {
569
+ name: 'domain',
570
+ title: `@${i18n}.fields.domain.title`,
571
+ groupId: 'domain-info',
572
+ options: {
573
+ sort: {
574
+ enabled: true,
575
+ },
576
+ filter: {
577
+ advance: {
578
+ enabled: true,
579
+ },
580
+ inline: {
581
+ enabled: true,
582
+ },
583
+ },
584
+ },
585
+ schema: {
586
+ dataType: 'string',
587
+ interface: {
588
+ type: AXPWidgetsCatalog.text,
589
+ options: {
590
+ placeholder: `@${i18n}.fields.domain.placeholder`,
591
+ },
592
+ },
593
+ },
594
+ },
595
+ {
596
+ name: 'subdomain',
597
+ title: `@${i18n}.fields.subdomain.title`,
598
+ groupId: 'domain-info',
599
+ options: {
600
+ sort: {
601
+ enabled: true,
602
+ },
603
+ filter: {
604
+ advance: {
605
+ enabled: true,
606
+ },
607
+ inline: {
608
+ enabled: true,
609
+ },
610
+ },
611
+ },
612
+ schema: {
613
+ dataType: 'string',
614
+ interface: {
615
+ type: AXPWidgetsCatalog.text,
616
+ options: {
617
+ placeholder: `@${i18n}.fields.subdomain.placeholder`,
618
+ },
619
+ },
620
+ },
621
+ },
622
+ {
623
+ name: 'registrationDate',
624
+ title: `@${i18n}.fields.registration-date.title`,
625
+ groupId: 'administrative',
626
+ options: {
627
+ sort: {
628
+ enabled: true,
629
+ },
630
+ filter: {
631
+ advance: {
632
+ enabled: true,
633
+ },
634
+ inline: {
635
+ enabled: true,
636
+ },
637
+ },
638
+ },
639
+ schema: {
640
+ dataType: 'date',
641
+ interface: {
642
+ type: AXPWidgetsCatalog.dateTime,
643
+ options: {
644
+ showTime: false,
645
+ },
646
+ },
647
+ },
648
+ },
649
+ {
650
+ name: 'expiryDate',
651
+ title: `@${i18n}.fields.expiry-date.title`,
652
+ groupId: 'administrative',
653
+ options: {
654
+ sort: {
655
+ enabled: true,
656
+ },
657
+ filter: {
658
+ advance: {
659
+ enabled: true,
660
+ },
661
+ inline: {
662
+ enabled: true,
663
+ },
664
+ },
665
+ },
666
+ schema: {
667
+ dataType: 'date',
668
+ interface: {
669
+ type: AXPWidgetsCatalog.dateTime,
670
+ options: {
671
+ showTime: false,
672
+ },
673
+ },
674
+ },
675
+ },
676
+ {
677
+ name: 'isPlatform',
678
+ title: `@${i18n}.fields.is-platform.title`,
679
+ groupId: 'administrative',
680
+ options: {
681
+ sort: {
682
+ enabled: true,
683
+ },
684
+ filter: {
685
+ advance: {
686
+ enabled: true,
687
+ },
688
+ inline: {
689
+ enabled: true,
690
+ },
691
+ },
692
+ },
693
+ schema: {
694
+ dataType: 'boolean',
695
+ interface: {
696
+ type: AXPWidgetsList.Editors.ToggleSwitch,
697
+ },
698
+ },
699
+ },
700
+ {
701
+ name: 'industryId',
702
+ title: `@${i18n}.fields.industry.title`,
703
+ groupId: 'administrative',
704
+ options: {
705
+ sort: {
706
+ enabled: true,
707
+ },
708
+ filter: {
709
+ advance: {
710
+ enabled: true,
711
+ },
712
+ inline: {
713
+ enabled: true,
714
+ },
715
+ },
716
+ },
717
+ schema: {
718
+ dataType: 'string',
719
+ interface: {
720
+ type: AXPWidgetsList.Editors.LookupBox,
721
+ options: {
722
+ entity: 'BusinessCore.Industry',
723
+ textField: 'title',
724
+ valueField: 'id',
725
+ look: 'select',
726
+ expose: [
727
+ { source: 'id', target: 'industry.id' },
728
+ { source: 'title', target: 'industry.title' },
729
+ { source: 'code', target: 'industry.code' },
730
+ ],
731
+ },
732
+ },
733
+ },
734
+ },
735
+ {
736
+ name: 'maxUsers',
737
+ title: `@${i18n}.fields.max-users.title`,
738
+ groupId: 'administrative',
739
+ options: {
740
+ sort: {
741
+ enabled: true,
742
+ },
743
+ filter: {
744
+ advance: {
745
+ enabled: true,
746
+ },
747
+ inline: {
748
+ enabled: true,
749
+ },
750
+ },
751
+ },
752
+ schema: {
753
+ dataType: 'number',
754
+ interface: {
755
+ type: AXPWidgetsCatalog.number,
756
+ options: {
757
+ minValue: 0,
758
+ placeholder: `@${i18n}.fields.max-users.placeholder`,
759
+ },
760
+ },
761
+ },
762
+ },
763
+ {
764
+ name: 'maxStorage',
765
+ title: `@${i18n}.fields.max-storage.title`,
766
+ groupId: 'administrative',
767
+ options: {
768
+ sort: {
769
+ enabled: true,
770
+ },
771
+ filter: {
772
+ advance: {
773
+ enabled: true,
774
+ },
775
+ inline: {
776
+ enabled: true,
777
+ },
778
+ },
779
+ },
780
+ schema: {
781
+ dataType: 'number',
782
+ interface: {
783
+ type: AXPWidgetsCatalog.number,
784
+ options: {
785
+ minValue: 0,
786
+ placeholder: `@${i18n}.fields.max-storage.placeholder`,
787
+ },
788
+ },
789
+ },
790
+ },
791
+ ],
792
+ relatedEntities: [
793
+ {
794
+ entity: `${"SubscriptionManagement"}.${"Subscription"}`,
795
+ title: `@${RootConfig.config.i18n}:tenants.entities.related-entities.subscriptions.title`,
796
+ icon: "fa-light fa-credit-card",
797
+ columns: ['planId', 'statusId', 'startDate', 'endDate'],
798
+ persistence: { foreignKeyField: 'subscriberId' },
799
+ conditions: [
800
+ { name: 'subscriberType', operator: { type: 'equal' }, value: 'Tenant' },
801
+ { name: 'subscriberId', operator: { type: 'equal' }, value: '{{ context.eval("id") }}' },
802
+ ],
803
+ actions: [...entityDetailsCrudActions('subscriberId')],
804
+ layout: { type: 'page-list', position: 'after', order: 1 },
805
+ },
806
+ {
807
+ entity: `${RootConfig.module.name}.${RootConfig.entities.tenantUser.name}`,
808
+ title: `@${RootConfig.config.i18n}:tenants.entities.related-entities.tenant-users.title`,
809
+ icon: RootConfig.entities.tenantUser.icon,
810
+ columns: ['userId', 'statusId', 'startDate', 'endDate', 'isAccountHolder'],
811
+ conditions: [{ name: 'tenantId', operator: { type: 'equal' }, value: '{{ context.eval("id") }}' }],
812
+ actions: [
813
+ ...entityDetailsCrudActions('tenantId'),
814
+ {
815
+ name: 'create-tenant-user',
816
+ title: '@tenant-management:tenants.actions.create-tenant-user.title',
817
+ icon: 'fa-light fa-user-plus',
818
+ command: {
819
+ name: 'TenantManagement.Tenant:CreateTenantUser',
820
+ options: {
821
+ tenantId: '{{ context.eval("id") }}',
822
+ },
823
+ },
824
+ priority: 'primary',
825
+ type: AXPSystemActionType.Create,
826
+ scope: AXPEntityCommandScope.TypeLevel,
827
+ },
828
+ ],
829
+ layout: { type: 'page-list', position: 'after', order: 2 },
830
+ },
831
+ ],
832
+ columns: [{ name: 'name' }, { name: 'title' }, { name: 'statusId' }, { name: 'email' }, { name: 'domain' }],
833
+ interfaces: {
834
+ master: {
835
+ create: {
836
+ sections: [
837
+ { id: 'basic-info', order: 1 },
838
+ { id: 'logo', order: 1 },
839
+ { id: 'contact-info', order: 2 },
840
+ { id: 'location-info', order: 3 },
841
+ { id: 'domain-info', order: 4 },
842
+ { id: 'administrative', order: 5 },
843
+ ],
844
+ properties: [
845
+ { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
846
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
847
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
848
+ { name: 'logo', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 1 } } } },
849
+ { name: 'email', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
850
+ { name: 'phone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
851
+ { name: 'website', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
852
+ { name: 'supportEmail', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
853
+ { name: 'countryId', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
854
+ { name: 'stateId', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },
855
+ { name: 'cityId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },
856
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
857
+ { name: 'language', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
858
+ { name: 'domain', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
859
+ { name: 'subdomain', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
860
+ { name: 'registrationDate', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
861
+ { name: 'isPlatform', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },
862
+ { name: 'industryId', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
863
+ { name: 'expiryDate', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
864
+ { name: 'maxUsers', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
865
+ { name: 'maxStorage', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
866
+ ],
867
+ },
868
+ update: {
869
+ sections: [
870
+ { id: 'basic-info', order: 1 },
871
+ { id: 'logo', order: 1 },
872
+ { id: 'contact-info', order: 2 },
873
+ { id: 'location-info', order: 3 },
874
+ { id: 'domain-info', order: 4 },
875
+ { id: 'administrative', order: 5 },
876
+ ],
877
+ properties: [
878
+ { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
879
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
880
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
881
+ { name: 'logo', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 1 } } } },
882
+ { name: 'email', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
883
+ { name: 'phone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
884
+ { name: 'website', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
885
+ { name: 'supportEmail', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
886
+ { name: 'countryId', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
887
+ { name: 'stateId', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },
888
+ { name: 'cityId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },
889
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
890
+ { name: 'language', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
891
+ { name: 'domain', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
892
+ { name: 'subdomain', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
893
+ { name: 'registrationDate', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
894
+ { name: 'isPlatform', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },
895
+ { name: 'industryId', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
896
+ { name: 'expiryDate', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
897
+ { name: 'maxUsers', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
898
+ { name: 'maxStorage', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
899
+ ],
900
+ },
901
+ single: {
902
+ title: '{{title}}',
903
+ sections: [
904
+ { id: 'basic-info', order: 1, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },
905
+ { id: 'logo', order: 1, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },
906
+ { id: 'contact-info', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },
907
+ { id: 'location-info', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },
908
+ { id: 'domain-info', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },
909
+ { id: 'administrative', order: 5, layout: { positions: { lg: { colSpan: 12 } } } },
910
+ ],
911
+ properties: [
912
+ { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
913
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
914
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
915
+ { name: 'logo', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
916
+ { name: 'email', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
917
+ { name: 'phone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
918
+ { name: 'website', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
919
+ { name: 'supportEmail', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
920
+ { name: 'countryId', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
921
+ { name: 'stateId', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },
922
+ { name: 'cityId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },
923
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
924
+ { name: 'language', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
925
+ { name: 'domain', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
926
+ { name: 'subdomain', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
927
+ { name: 'isPlatform', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
928
+ { name: 'industryId', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },
929
+ { name: 'expiryDate', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },
930
+ { name: 'maxUsers', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
931
+ { name: 'maxStorage', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
932
+ ],
933
+ actions: [...entityMasterRecordActions()],
934
+ },
935
+ list: {
936
+ actions: [...entityMasterCrudActions()],
937
+ views: [
938
+ createAllQueryView({
939
+ sorts: [{ name: 'title', dir: 'asc' }],
940
+ }),
941
+ ],
942
+ },
943
+ },
944
+ },
945
+ };
946
+ return entityDef;
947
+ }
948
+ //#endregion
949
+
950
+ /**
951
+ * Generated bundle index. Do not edit.
952
+ */
953
+
954
+ export { tenantEntityFactory };
955
+ //# sourceMappingURL=acorex-platform-module-tenant-management-client-contracts-entities-tenant.mjs.map