@acorex-platform/module-business-core-client 0.0.18 → 0.0.24

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.
@@ -1,8 +1,3 @@
1
- import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
- import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
- import { contactAssignmentDetailsCrudActionsForPartyContext, contactAssignmentPartyConditions } from '@acorex-platform/module-person-core-contracts';
4
- import { RootConfig as RootConfig$1, locationAssignmentDetailsCrudActionsForPartyContext, locationAssignmentPartyConditions } from '@acorex-platform/module-location-management-contracts';
5
-
6
1
  const AXMBusinessCoreMenuKeys = {
7
2
  Root: 'business-core',
8
3
  Manufacturers: 'business-core.manufacturers',
@@ -16,28 +11,45 @@ const AXMBusinessCoreMenuKeys = {
16
11
  LifecycleStages: 'business-core.lifecycle-stages',
17
12
  };
18
13
 
14
+ /**
15
+ * Sales & Customers capabilities used by this module.
16
+ * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).
17
+ */
18
+ const AXPSalesCustomersPermissionKeys = {
19
+ Access: 'SalesCustomers:Permission:Access',
20
+ MaintainCustomers: 'SalesCustomers:Permission:MaintainCustomers',
21
+ MaintainSales: 'SalesCustomers:Permission:MaintainSales',
22
+ MaintainProducts: 'SalesCustomers:Permission:MaintainProducts',
23
+ MaintainOrders: 'SalesCustomers:Permission:MaintainOrders',
24
+ MaintainSubscriptions: 'SalesCustomers:Permission:MaintainSubscriptions',
25
+ Setup: 'SalesCustomers:Permission:Setup',
26
+ };
27
+ /**
28
+ * @deprecated Prefer {@link AXPSalesCustomersPermissionKeys}.
29
+ * Legacy nested shape kept so existing imports compile during migration.
30
+ */
19
31
  const AXMBusinessCorePermissionKeys = {
20
32
  BusinessCore: {
21
33
  Manufacturer: {
22
- Management: 'BusinessCore:Permission:Manufacturer.Management',
34
+ Management: AXPSalesCustomersPermissionKeys.Setup,
23
35
  },
24
36
  Industry: {
25
- Management: 'BusinessCore:Permission:Industry.Management',
37
+ Management: AXPSalesCustomersPermissionKeys.Setup,
26
38
  },
27
39
  BusinessType: {
28
- Management: 'BusinessCore:Permission:BusinessType.Management',
40
+ Management: AXPSalesCustomersPermissionKeys.Setup,
29
41
  },
30
42
  BusinessStatus: {
31
- Management: 'BusinessCore:Permission:BusinessStatus.Management',
43
+ Management: AXPSalesCustomersPermissionKeys.Setup,
32
44
  },
33
45
  PartyType: {
34
- Management: 'BusinessCore:Permission:PartyType.Management',
46
+ Management: AXPSalesCustomersPermissionKeys.Setup,
35
47
  },
36
48
  PartySegment: {
37
- Management: 'BusinessCore:Permission:PartySegment.Management',
49
+ Management: AXPSalesCustomersPermissionKeys.Setup,
38
50
  },
39
51
  LifecycleStage: {
40
- Management: 'BusinessCore:Permission:LifecycleStage.Management',
52
+ Management: AXPSalesCustomersPermissionKeys.Setup,
41
53
  },
42
54
  },
43
55
  };
@@ -105,1336 +117,12 @@ const RootConfig = {
105
117
  },
106
118
  };
107
119
 
108
- //#endregion
109
- //#region ---- Entity Factory ----
110
- async function businessStatusFactory() {
111
- const sections = [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }];
112
- const propertyLayouts = [
113
- { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
114
- { name: 'title', layout: { positions: { lg: { colSpan: 8, order: 2 } } } },
115
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
116
- ];
117
- const entityDef = {
118
- module: RootConfig.module.name,
119
- name: RootConfig.entities.businessStatus.name,
120
- title: RootConfig.entities.businessStatus.title,
121
- icon: RootConfig.entities.businessStatus.icon,
122
- formats: {
123
- individual: RootConfig.entities.businessStatus.title,
124
- plural: RootConfig.entities.businessStatus.titlePlural,
125
- searchResult: {
126
- title: '{{ title }}',
127
- description: '{{ code }}',
128
- },
129
- },
130
- plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'clone' }, { name: 'disable' }],
131
- groups: [{ id: 'basic-info', title: '@business-core:business-statuses.entities.business-status.groups.basic-info' }],
132
- properties: [
133
- {
134
- name: 'id',
135
- title: '@general:terms.common.id',
136
- groupId: 'basic-info',
137
- schema: {
138
- dataType: 'uuid',
139
- visible: false,
140
- readonly: true,
141
- unique: { enabled: true },
142
- },
143
- },
144
- {
145
- name: 'code',
146
- title: '@general:terms.common.code',
147
- groupId: 'basic-info',
148
- options: {
149
- sort: { enabled: true },
150
- filter: {
151
- advance: { enabled: true },
152
- inline: { enabled: true },
153
- },
154
- },
155
- schema: {
156
- dataType: 'string',
157
- interface: {
158
- type: AXPWidgetsList.Editors.TextBox,
159
- options: {
160
- placeholder: '@business-core:business-statuses.entities.business-status.fields.code.placeholder',
161
- },
162
- },
163
- },
164
- validations: [{ rule: 'required' }],
165
- },
166
- {
167
- name: 'title',
168
- title: '@general:terms.common.title',
169
- groupId: 'basic-info',
170
- options: {
171
- sort: { enabled: true },
172
- filter: {
173
- advance: { enabled: true },
174
- inline: { enabled: true },
175
- },
176
- },
177
- schema: {
178
- dataType: 'string',
179
- interface: {
180
- type: AXPWidgetsList.Editors.TextBox,
181
- options: {
182
- placeholder: '@business-core:business-statuses.entities.business-status.fields.title.placeholder',
183
- },
184
- },
185
- },
186
- validations: [{ rule: 'required' }],
187
- },
188
- {
189
- name: 'description',
190
- title: '@general:terms.common.description',
191
- groupId: 'basic-info',
192
- schema: {
193
- dataType: 'string',
194
- interface: {
195
- type: AXPWidgetsList.Editors.LargeTextBox,
196
- options: {
197
- rows: 3,
198
- placeholder: '@business-core:business-statuses.entities.business-status.fields.description.placeholder',
199
- },
200
- },
201
- },
202
- },
203
- ],
204
- columns: [
205
- { name: 'code', options: { width: '120px', order: 1 } },
206
- { name: 'title', options: { width: '220px', order: 2 } },
207
- ],
208
- interfaces: {
209
- master: {
210
- create: {
211
- sections,
212
- properties: propertyLayouts,
213
- },
214
- update: {
215
- sections,
216
- properties: propertyLayouts,
217
- },
218
- single: {
219
- title: '{{ title }}',
220
- sections,
221
- properties: propertyLayouts,
222
- actions: [...entityMasterRecordActions()],
223
- },
224
- list: {
225
- actions: [...entityMasterCrudActions()],
226
- views: [
227
- createAllQueryView({
228
- sorts: [{ name: 'code', dir: 'asc' }],
229
- }),
230
- ],
231
- },
232
- },
233
- },
234
- };
235
- return entityDef;
236
- }
237
- //#endregion
238
-
239
120
  //#endregion
240
121
 
241
- //#endregion
242
- //#region ---- Entity Factory ----
243
- async function businessTypeFactory() {
244
- const sections = [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }];
245
- const propertyLayouts = [
246
- { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
247
- { name: 'title', layout: { positions: { lg: { colSpan: 8, order: 2 } } } },
248
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
249
- ];
250
- const entityDef = {
251
- module: RootConfig.module.name,
252
- name: RootConfig.entities.businessType.name,
253
- title: RootConfig.entities.businessType.title,
254
- icon: RootConfig.entities.businessType.icon,
255
- formats: {
256
- individual: RootConfig.entities.businessType.title,
257
- plural: RootConfig.entities.businessType.titlePlural,
258
- searchResult: {
259
- title: '{{ title }}',
260
- description: '{{ code }}',
261
- },
262
- },
263
- plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'clone' }, { name: 'disable' }],
264
- groups: [{ id: 'basic-info', title: '@business-core:business-types.entities.business-type.groups.basic-info' }],
265
- properties: [
266
- {
267
- name: 'id',
268
- title: '@general:terms.common.id',
269
- groupId: 'basic-info',
270
- schema: {
271
- dataType: 'uuid',
272
- visible: false,
273
- readonly: true,
274
- unique: { enabled: true },
275
- },
276
- },
277
- {
278
- name: 'code',
279
- title: '@general:terms.common.code',
280
- groupId: 'basic-info',
281
- options: {
282
- sort: { enabled: true },
283
- filter: {
284
- advance: { enabled: true },
285
- inline: { enabled: true },
286
- },
287
- },
288
- schema: {
289
- dataType: 'string',
290
- interface: {
291
- type: AXPWidgetsList.Editors.TextBox,
292
- options: {
293
- placeholder: '@business-core:business-types.entities.business-type.fields.code.placeholder',
294
- },
295
- },
296
- },
297
- validations: [{ rule: 'required' }],
298
- },
299
- {
300
- name: 'title',
301
- title: '@general:terms.common.title',
302
- groupId: 'basic-info',
303
- options: {
304
- sort: { enabled: true },
305
- filter: {
306
- advance: { enabled: true },
307
- inline: { enabled: true },
308
- },
309
- },
310
- schema: {
311
- dataType: 'string',
312
- interface: {
313
- type: AXPWidgetsList.Editors.TextBox,
314
- options: {
315
- placeholder: '@business-core:business-types.entities.business-type.fields.title.placeholder',
316
- },
317
- },
318
- },
319
- validations: [{ rule: 'required' }],
320
- },
321
- {
322
- name: 'description',
323
- title: '@general:terms.common.description',
324
- groupId: 'basic-info',
325
- schema: {
326
- dataType: 'string',
327
- interface: {
328
- type: AXPWidgetsList.Editors.LargeTextBox,
329
- options: {
330
- rows: 3,
331
- placeholder: '@business-core:business-types.entities.business-type.fields.description.placeholder',
332
- },
333
- },
334
- },
335
- },
336
- ],
337
- columns: [
338
- { name: 'code', options: { width: '120px', order: 1 } },
339
- { name: 'title', options: { width: '220px', order: 2 } },
340
- ],
341
- interfaces: {
342
- master: {
343
- create: {
344
- sections,
345
- properties: propertyLayouts,
346
- },
347
- update: {
348
- sections,
349
- properties: propertyLayouts,
350
- },
351
- single: {
352
- title: '{{ title }}',
353
- sections,
354
- properties: propertyLayouts,
355
- actions: [...entityMasterRecordActions()],
356
- },
357
- list: {
358
- actions: [...entityMasterCrudActions()],
359
- views: [
360
- createAllQueryView({
361
- sorts: [{ name: 'code', dir: 'asc' }],
362
- }),
363
- ],
364
- },
365
- },
366
- },
367
- };
368
- return entityDef;
369
- }
370
122
  //#endregion
371
123
 
372
124
  //#endregion
373
125
 
374
- //#endregion
375
- //#region ---- Entity Factory ----
376
- async function industryFactory() {
377
- const sections = [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }];
378
- const propertyLayouts = [
379
- { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
380
- { name: 'title', layout: { positions: { lg: { colSpan: 8, order: 2 } } } },
381
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
382
- ];
383
- const entityDef = {
384
- module: RootConfig.module.name,
385
- name: RootConfig.entities.industry.name,
386
- title: RootConfig.entities.industry.title,
387
- icon: RootConfig.entities.industry.icon,
388
- formats: {
389
- individual: RootConfig.entities.industry.title,
390
- plural: RootConfig.entities.industry.titlePlural,
391
- searchResult: {
392
- title: '{{ title }}',
393
- description: '{{ code }}',
394
- },
395
- },
396
- plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'clone' }, { name: 'disable' }],
397
- groups: [{ id: 'basic-info', title: '@business-core:industries.entities.industry.groups.basic-info' }],
398
- properties: [
399
- {
400
- name: 'id',
401
- title: '@general:terms.common.id',
402
- groupId: 'basic-info',
403
- schema: {
404
- dataType: 'uuid',
405
- visible: false,
406
- readonly: true,
407
- unique: { enabled: true },
408
- },
409
- },
410
- {
411
- name: 'code',
412
- title: '@general:terms.common.code',
413
- groupId: 'basic-info',
414
- options: {
415
- sort: { enabled: true },
416
- filter: {
417
- advance: { enabled: true },
418
- inline: { enabled: true },
419
- },
420
- },
421
- schema: {
422
- dataType: 'string',
423
- interface: {
424
- type: AXPWidgetsList.Editors.TextBox,
425
- options: {
426
- placeholder: '@business-core:industries.entities.industry.fields.code.placeholder',
427
- },
428
- },
429
- },
430
- validations: [{ rule: 'required' }],
431
- },
432
- {
433
- name: 'title',
434
- title: '@general:terms.common.title',
435
- groupId: 'basic-info',
436
- options: {
437
- sort: { enabled: true },
438
- filter: {
439
- advance: { enabled: true },
440
- inline: { enabled: true },
441
- },
442
- },
443
- schema: {
444
- dataType: 'string',
445
- interface: {
446
- type: AXPWidgetsList.Editors.TextBox,
447
- options: {
448
- placeholder: '@business-core:industries.entities.industry.fields.title.placeholder',
449
- },
450
- },
451
- },
452
- validations: [{ rule: 'required' }],
453
- },
454
- {
455
- name: 'description',
456
- title: '@general:terms.common.description',
457
- groupId: 'basic-info',
458
- schema: {
459
- dataType: 'string',
460
- interface: {
461
- type: AXPWidgetsList.Editors.LargeTextBox,
462
- options: {
463
- rows: 3,
464
- placeholder: '@business-core:industries.entities.industry.fields.description.placeholder',
465
- },
466
- },
467
- },
468
- },
469
- ],
470
- columns: [
471
- { name: 'code', options: { width: '120px', order: 1 } },
472
- { name: 'title', options: { width: '220px', order: 2 } },
473
- ],
474
- interfaces: {
475
- master: {
476
- create: {
477
- sections,
478
- properties: propertyLayouts,
479
- },
480
- update: {
481
- sections,
482
- properties: propertyLayouts,
483
- },
484
- single: {
485
- title: '{{ title }}',
486
- sections,
487
- properties: propertyLayouts,
488
- actions: [...entityMasterRecordActions()],
489
- },
490
- list: {
491
- actions: [...entityMasterCrudActions()],
492
- views: [
493
- createAllQueryView({
494
- sorts: [{ name: 'code', dir: 'asc' }],
495
- }),
496
- ],
497
- },
498
- },
499
- },
500
- };
501
- return entityDef;
502
- }
503
- //#endregion
504
-
505
- //#endregion
506
-
507
- //#endregion
508
- //#region ---- Entity Factory ----
509
- async function lifecycleStageFactory() {
510
- const i18n = RootConfig.config.i18n + ':lifecycle-stages.entities.lifecycle-stage';
511
- const sections = [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }];
512
- const propertyLayouts = [
513
- { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
514
- { name: 'order', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },
515
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
516
- ];
517
- const entityDef = {
518
- module: RootConfig.module.name,
519
- name: RootConfig.entities.lifecycleStage.name,
520
- title: RootConfig.entities.lifecycleStage.title,
521
- icon: RootConfig.entities.lifecycleStage.icon,
522
- formats: {
523
- individual: RootConfig.entities.lifecycleStage.title,
524
- plural: RootConfig.entities.lifecycleStage.titlePlural,
525
- searchResult: {
526
- title: '{{ title }}',
527
- description: RootConfig.module.title,
528
- },
529
- },
530
- plugins: [{ name: 'archive' }],
531
- groups: [{ id: 'basic-info', title: `@${i18n}.groups.basic-info` }],
532
- properties: [
533
- {
534
- name: 'id',
535
- title: '@general:terms.common.id',
536
- groupId: 'basic-info',
537
- schema: { dataType: 'uuid', visible: false, readonly: true, unique: { enabled: true } },
538
- },
539
- {
540
- name: 'title',
541
- title: `@${i18n}.fields.title.title`,
542
- groupId: 'basic-info',
543
- options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },
544
- schema: {
545
- dataType: 'string',
546
- interface: {
547
- type: AXPWidgetsList.Editors.TextBox,
548
- options: { placeholder: `@${i18n}.fields.title.placeholder` },
549
- },
550
- },
551
- validations: [{ rule: 'required' }],
552
- },
553
- {
554
- name: 'order',
555
- title: `@${i18n}.fields.order.title`,
556
- groupId: 'basic-info',
557
- options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },
558
- schema: {
559
- dataType: 'number',
560
- interface: {
561
- type: AXPWidgetsList.Editors.NumberBox,
562
- options: { placeholder: `@${i18n}.fields.order.placeholder` },
563
- },
564
- },
565
- },
566
- {
567
- name: 'description',
568
- title: `@${i18n}.fields.description.title`,
569
- groupId: 'basic-info',
570
- schema: {
571
- dataType: 'string',
572
- interface: {
573
- type: AXPWidgetsList.Editors.LargeTextBox,
574
- options: { rows: 3, placeholder: `@${i18n}.fields.description.placeholder` },
575
- },
576
- },
577
- },
578
- ],
579
- columns: [
580
- { name: 'title', options: { width: '200px', order: 1 } },
581
- { name: 'order', options: { width: '80px', order: 2 } },
582
- { name: 'description', options: { width: '280px', order: 3 } },
583
- ],
584
- interfaces: {
585
- master: {
586
- create: { sections, properties: propertyLayouts },
587
- update: { sections, properties: propertyLayouts },
588
- single: {
589
- title: '{{ title }}',
590
- sections,
591
- properties: propertyLayouts,
592
- actions: [...entityMasterRecordActions()],
593
- },
594
- list: {
595
- actions: [...entityMasterCrudActions()],
596
- views: [createAllQueryView({ sorts: [{ name: 'order', dir: 'asc' }, { name: 'title', dir: 'asc' }] })],
597
- },
598
- },
599
- },
600
- };
601
- return entityDef;
602
- }
603
- //#endregion
604
-
605
- //#endregion
606
- //#region ---- Entity Factory ----
607
- async function manufacturerFactory() {
608
- const entityDef = {
609
- module: RootConfig.module.name,
610
- name: RootConfig.entities.manufacturer.name,
611
- title: RootConfig.entities.manufacturer.title,
612
- icon: RootConfig.entities.manufacturer.icon,
613
- formats: {
614
- individual: RootConfig.entities.manufacturer.title,
615
- plural: RootConfig.entities.manufacturer.titlePlural,
616
- searchResult: {
617
- title: '{{ title }}',
618
- description: RootConfig.module.title,
619
- },
620
- },
621
- plugins: [
622
- { name: 'history' },
623
- { name: 'lock' },
624
- { name: 'compare' },
625
- { name: 'clone' },
626
- { name: 'category', options: { appearance: { icon: true, color: true }, metaData: { enabled: true } } },
627
- { name: 'meta-data-form', options: { path: 'categoryIds' } },
628
- { name: 'archive' },
629
- ],
630
- groups: [
631
- {
632
- id: 'basic-info',
633
- title: '@general:terms.interface.basic-info',
634
- },
635
- {
636
- id: 'contact-info',
637
- title: '@business-core:manufacturers.entities.manufacturer.groups.contact-info',
638
- },
639
- ],
640
- properties: [
641
- {
642
- name: 'code',
643
- title: '@general:terms.common.code',
644
- groupId: 'basic-info',
645
- options: {
646
- sort: { enabled: true },
647
- filter: {
648
- advance: { enabled: true },
649
- inline: { enabled: true },
650
- },
651
- },
652
- schema: {
653
- dataType: 'string',
654
- interface: {
655
- type: AXPWidgetsList.Editors.TextBox,
656
- options: {
657
- placeholder: 'e.g., MFG-001',
658
- },
659
- },
660
- },
661
- validations: [
662
- {
663
- rule: 'required',
664
- },
665
- ],
666
- },
667
- {
668
- name: 'title',
669
- title: '@general:terms.common.title',
670
- groupId: 'basic-info',
671
- options: {
672
- sort: { enabled: true },
673
- filter: {
674
- advance: { enabled: true },
675
- inline: { enabled: true },
676
- },
677
- },
678
- schema: {
679
- dataType: 'string',
680
- interface: {
681
- type: AXPWidgetsList.Editors.TextBox,
682
- },
683
- },
684
- validations: [
685
- {
686
- rule: 'required',
687
- },
688
- ],
689
- },
690
- {
691
- name: 'description',
692
- title: '@general:terms.common.description',
693
- groupId: 'basic-info',
694
- options: {
695
- sort: { enabled: false },
696
- filter: {
697
- advance: { enabled: true },
698
- inline: { enabled: false },
699
- },
700
- },
701
- schema: {
702
- dataType: 'string',
703
- interface: {
704
- type: AXPWidgetsList.Editors.LargeTextBox,
705
- options: {
706
- rows: 3,
707
- },
708
- },
709
- },
710
- },
711
- {
712
- name: 'logo',
713
- title: '@business-core:manufacturers.entities.manufacturer.fields.logo.title',
714
- groupId: 'basic-info',
715
- options: {
716
- sort: { enabled: false },
717
- filter: {
718
- advance: { enabled: false },
719
- inline: { enabled: false },
720
- },
721
- },
722
- schema: {
723
- dataType: 'string',
724
- interface: {
725
- type: AXPWidgetsList.Advanced.Avatar,
726
- options: {
727
- accept: ['.jpg', '.jpeg', '.png', '.svg'],
728
- maxSize: 2048,
729
- },
730
- },
731
- },
732
- },
733
- {
734
- name: 'countryOfOrigin',
735
- title: '@business-core:manufacturers.entities.manufacturer.fields.country-of-origin.title',
736
- groupId: 'basic-info',
737
- options: {
738
- sort: { enabled: true },
739
- filter: {
740
- advance: { enabled: true },
741
- inline: { enabled: true },
742
- },
743
- },
744
- schema: {
745
- dataType: 'string',
746
- interface: {
747
- type: AXPWidgetsList.Editors.TextBox,
748
- },
749
- },
750
- },
751
- {
752
- name: 'website',
753
- title: '@business-core:manufacturers.entities.manufacturer.fields.website.title',
754
- groupId: 'contact-info',
755
- options: {
756
- sort: { enabled: false },
757
- filter: {
758
- advance: { enabled: true },
759
- inline: { enabled: false },
760
- },
761
- },
762
- schema: {
763
- dataType: 'string',
764
- interface: {
765
- type: AXPWidgetsList.Editors.TextBox,
766
- options: {
767
- placeholder: 'https://www.example.com',
768
- },
769
- },
770
- },
771
- },
772
- {
773
- name: 'contactEmail',
774
- title: '@business-core:manufacturers.entities.manufacturer.fields.contact-email.title',
775
- groupId: 'contact-info',
776
- options: {
777
- sort: { enabled: false },
778
- filter: {
779
- advance: { enabled: true },
780
- inline: { enabled: false },
781
- },
782
- },
783
- schema: {
784
- dataType: 'string',
785
- interface: {
786
- type: AXPWidgetsList.Editors.TextBox,
787
- options: {
788
- placeholder: 'contact@example.com',
789
- },
790
- },
791
- },
792
- validations: [
793
- {
794
- rule: 'email',
795
- },
796
- ],
797
- },
798
- {
799
- name: 'contactPhone',
800
- title: '@business-core:manufacturers.entities.manufacturer.fields.contact-phone.title',
801
- groupId: 'contact-info',
802
- options: {
803
- sort: { enabled: false },
804
- filter: {
805
- advance: { enabled: true },
806
- inline: { enabled: false },
807
- },
808
- },
809
- schema: {
810
- dataType: 'string',
811
- interface: {
812
- type: AXPWidgetsList.Editors.TextBox,
813
- options: {
814
- placeholder: '+1-234-567-8900',
815
- },
816
- },
817
- },
818
- },
819
- ],
820
- columns: [
821
- { name: 'code' },
822
- { name: 'title' },
823
- { name: 'countryOfOrigin' },
824
- ],
825
- interfaces: {
826
- master: {
827
- create: {
828
- sections: [{ id: 'basic-info' }, { id: 'contact-info' }],
829
- properties: [
830
- { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
831
- { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
832
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
833
- { name: 'logo', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
834
- { name: 'countryOfOrigin', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
835
- { name: 'website', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
836
- { name: 'contactEmail', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
837
- { name: 'contactPhone', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },
838
- ],
839
- },
840
- update: {
841
- sections: [{ id: 'basic-info' }, { id: 'contact-info' }],
842
- properties: [
843
- { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
844
- { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
845
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
846
- { name: 'logo', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
847
- { name: 'countryOfOrigin', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
848
- { name: 'website', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
849
- { name: 'contactEmail', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
850
- { name: 'contactPhone', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },
851
- ],
852
- },
853
- single: {
854
- title: '{{title}}',
855
- sections: [{ id: 'basic-info' }, { id: 'contact-info' }],
856
- properties: [
857
- { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
858
- { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
859
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
860
- { name: 'logo', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },
861
- { name: 'countryOfOrigin', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
862
- { name: 'website', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
863
- { name: 'contactEmail', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
864
- { name: 'contactPhone', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },
865
- ],
866
- actions: [...entityMasterRecordActions()],
867
- },
868
- list: {
869
- actions: [...entityMasterCrudActions()],
870
- views: [
871
- createAllQueryView({
872
- sorts: [{ name: 'title', dir: 'asc' }],
873
- }),
874
- ],
875
- },
876
- },
877
- },
878
- };
879
- return entityDef;
880
- }
881
- //#endregion
882
-
883
- //#endregion
884
- //#region ---- Repeater Children ----
885
- const PHONES_REPEATER_CHILDREN = [
886
- {
887
- type: AXPWidgetsList.Editors.ContactBox,
888
- mode: 'edit',
889
- options: {
890
- type: 'phone',
891
- placeholder: '@business-core:parties.entities.party.fields.phone.placeholder',
892
- },
893
- },
894
- ];
895
- const EMAILS_REPEATER_CHILDREN = [
896
- {
897
- type: AXPWidgetsList.Editors.ContactBox,
898
- mode: 'edit',
899
- options: {
900
- type: 'email',
901
- placeholder: '@business-core:parties.entities.party.fields.email.placeholder',
902
- },
903
- },
904
- ];
905
- const LOCATION_ROLE_ENTITY = `${RootConfig$1.module.name}.${RootConfig$1.entities.locationRole.name}`;
906
- const ADDRESSES_REPEATER_CHILDREN = [
907
- {
908
- type: AXPWidgetsList.Editors.AddressBox,
909
- mode: 'edit',
910
- options: {
911
- mode: 'expandable',
912
- hasLabel: true,
913
- labelEntity: LOCATION_ROLE_ENTITY,
914
- },
915
- },
916
- ];
917
- //#endregion
918
- //#region ---- Entity Factory ----
919
- async function partyFactory() {
920
- const entityDef = {
921
- module: RootConfig.module.name,
922
- name: RootConfig.entities.party.name,
923
- title: RootConfig.entities.party.title,
924
- icon: RootConfig.entities.party.icon,
925
- formats: {
926
- individual: RootConfig.entities.party.title,
927
- plural: RootConfig.entities.party.titlePlural,
928
- displayName: '@general:terms.common.profile',
929
- searchResult: {
930
- title: '{{ title }}',
931
- description: '@business-core:parties.entities.party.search-result-description',
932
- },
933
- },
934
- plugins: [
935
- { name: 'identifier', options: { field: 'code', rule: 'party-code' } },
936
- { name: 'compare' },
937
- { name: 'history' },
938
- { name: 'archive' },
939
- ],
940
- groups: [
941
- {
942
- id: 'profile',
943
- title: '@business-core:parties.entities.party.groups.profile',
944
- icon: 'fa-light fa-building',
945
- },
946
- {
947
- id: 'image',
948
- title: '@business-core:parties.entities.party.groups.image',
949
- icon: 'fa-light fa-image',
950
- },
951
- {
952
- id: 'phones',
953
- title: '@business-core:parties.entities.party.groups.phones',
954
- icon: 'fa-light fa-phone',
955
- },
956
- {
957
- id: 'emails',
958
- title: '@business-core:parties.entities.party.groups.emails',
959
- icon: 'fa-light fa-envelope',
960
- },
961
- {
962
- id: 'addresses',
963
- title: '@business-core:parties.entities.party.groups.addresses',
964
- icon: 'fa-light fa-location-dot',
965
- },
966
- ],
967
- properties: [
968
- {
969
- name: 'code',
970
- title: '@general:terms.common.code',
971
- groupId: 'profile',
972
- options: {
973
- sort: { enabled: true },
974
- filter: { advance: { enabled: true }, inline: { enabled: true } },
975
- },
976
- schema: {
977
- dataType: 'string',
978
- interface: {
979
- type: AXPWidgetsList.Editors.TextBox,
980
- options: {
981
- placeholder: '@business-core:parties.entities.party.fields.code.placeholder',
982
- },
983
- },
984
- },
985
- validations: [{ rule: 'required' }],
986
- },
987
- {
988
- name: 'title',
989
- title: '@general:terms.common.title',
990
- groupId: 'profile',
991
- options: {
992
- sort: { enabled: true },
993
- filter: { advance: { enabled: true }, inline: { enabled: true } },
994
- },
995
- schema: {
996
- dataType: 'string',
997
- interface: {
998
- type: AXPWidgetsList.Editors.TextBox,
999
- options: {
1000
- placeholder: '@business-core:parties.entities.party.fields.title.placeholder',
1001
- },
1002
- },
1003
- },
1004
- validations: [{ rule: 'required' }],
1005
- },
1006
- {
1007
- name: 'description',
1008
- title: '@general:terms.common.description',
1009
- groupId: 'profile',
1010
- options: {
1011
- sort: { enabled: true },
1012
- filter: { advance: { enabled: true }, inline: { enabled: true } },
1013
- },
1014
- schema: {
1015
- dataType: 'string',
1016
- interface: {
1017
- type: AXPWidgetsList.Editors.LargeTextBox,
1018
- options: {
1019
- placeholder: '@business-core:parties.entities.party.fields.description.placeholder',
1020
- rows: 3,
1021
- },
1022
- },
1023
- },
1024
- },
1025
- {
1026
- name: 'image',
1027
- title: '@business-core:parties.entities.party.groups.image',
1028
- groupId: 'image',
1029
- options: {
1030
- sort: { enabled: true },
1031
- filter: { advance: { enabled: true }, inline: { enabled: true } },
1032
- },
1033
- schema: {
1034
- dataType: 'string',
1035
- interface: {
1036
- type: AXPWidgetsList.Advanced.Image,
1037
- options: {
1038
- type: 'profile-photo',
1039
- },
1040
- },
1041
- },
1042
- },
1043
- {
1044
- name: 'phones',
1045
- title: '@business-core:parties.entities.party.groups.phones',
1046
- groupId: 'phones',
1047
- schema: {
1048
- defaultValue: [],
1049
- dataType: 'array',
1050
- interface: {
1051
- type: AXPWidgetsList.Layouts.RepeaterLayout,
1052
- options: { hasControls: true },
1053
- children: [...PHONES_REPEATER_CHILDREN],
1054
- },
1055
- },
1056
- },
1057
- {
1058
- name: 'emails',
1059
- title: '@business-core:parties.entities.party.groups.emails',
1060
- groupId: 'emails',
1061
- schema: {
1062
- defaultValue: [],
1063
- dataType: 'array',
1064
- interface: {
1065
- type: AXPWidgetsList.Layouts.RepeaterLayout,
1066
- options: { hasControls: true },
1067
- children: [...EMAILS_REPEATER_CHILDREN],
1068
- },
1069
- },
1070
- },
1071
- {
1072
- name: 'addresses',
1073
- title: '@business-core:parties.entities.party.groups.addresses',
1074
- groupId: 'addresses',
1075
- schema: {
1076
- defaultValue: [],
1077
- dataType: 'array',
1078
- interface: {
1079
- type: AXPWidgetsList.Layouts.RepeaterLayout,
1080
- options: { hasControls: true },
1081
- children: [...ADDRESSES_REPEATER_CHILDREN],
1082
- },
1083
- },
1084
- },
1085
- ],
1086
- columns: [
1087
- { name: 'code', options: { width: '120px' } },
1088
- { name: 'title', options: { width: '250px' } },
1089
- { name: 'description', options: { width: '200px', visible: false } },
1090
- { name: 'image', options: { width: '80px' } },
1091
- { name: 'phones', options: { width: '200px' } },
1092
- { name: 'emails', options: { width: '200px' } },
1093
- { name: 'addresses', options: { width: '250px' } },
1094
- ],
1095
- relatedEntities: [
1096
- {
1097
- entity: `${"PersonCore"}.${"ContactAssignment"}`,
1098
- title: '@business-core:parties.entities.party.related-entities.contacts.title',
1099
- columns: [
1100
- { name: 'personId', title: '@general:terms.people.contact', options: { dataPath: 'person.fullName' } },
1101
- { name: 'roleId', options: { dataPath: 'role.title' } },
1102
- { name: 'person.phones', title: '@general:terms.communication.phones', options: { width: '180px' } },
1103
- { name: 'person.emails', title: '@general:terms.communication.emails', options: { width: '180px' } },
1104
- ],
1105
- conditions: contactAssignmentPartyConditions('id'),
1106
- actions: [...contactAssignmentDetailsCrudActionsForPartyContext('id')],
1107
- excludeProperties: ['partyId'],
1108
- layout: { type: 'page-list', position: 'after', order: 1 },
1109
- },
1110
- {
1111
- entity: `${"LocationManagement"}.${"LocationAssignment"}`,
1112
- title: '@business-core:parties.entities.party.related-entities.locations.title',
1113
- icon: 'fa-light fa-building-user',
1114
- columns: [
1115
- { name: 'locationId', title: '@general:terms.common.title', options: { dataPath: 'location.title' } },
1116
- { name: 'roleId', options: { dataPath: 'role.title' } },
1117
- { name: 'location.fullAddress', title: '@general:terms.geography.address' },
1118
- { name: 'personId', title: '@general:terms.people.contact', options: { dataPath: 'person.fullName' } },
1119
- { name: 'person.phones', title: '@general:terms.communication.phones', options: { width: '180px' } },
1120
- { name: 'notes', title: '@general:terms.common.notes' },
1121
- ],
1122
- conditions: locationAssignmentPartyConditions('id'),
1123
- actions: [...locationAssignmentDetailsCrudActionsForPartyContext('id')],
1124
- excludeProperties: ['ownerRef.id', 'ownerRef.type'],
1125
- layout: { type: 'page-list', position: 'after', order: 2 },
1126
- },
1127
- ],
1128
- interfaces: {
1129
- master: {
1130
- create: {
1131
- sections: [
1132
- { id: 'profile', order: 1, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },
1133
- { id: 'image', order: 1, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },
1134
- { id: 'phones', order: 2, layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },
1135
- { id: 'emails', order: 2, layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },
1136
- { id: 'addresses', order: 3, layout: { positions: { lg: { colSpan: 12, colStart: 1 } } } },
1137
- ],
1138
- properties: [
1139
- { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 0 } } } },
1140
- { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 0 } } } },
1141
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
1142
- { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 2 } } } },
1143
- { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
1144
- { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
1145
- { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
1146
- ],
1147
- },
1148
- update: {
1149
- sections: [
1150
- { id: 'profile', order: 1, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },
1151
- { id: 'image', order: 1, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },
1152
- { id: 'phones', order: 2, layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },
1153
- { id: 'emails', order: 2, layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },
1154
- { id: 'addresses', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },
1155
- ],
1156
- properties: [
1157
- { name: 'code', layout: { positions: { lg: { colSpan: 6 } } } },
1158
- { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
1159
- { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
1160
- { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
1161
- { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
1162
- { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
1163
- { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
1164
- ],
1165
- },
1166
- single: {
1167
- title: '{{ title }}',
1168
- sections: [
1169
- { id: 'profile', order: 1, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },
1170
- { id: 'image', order: 1, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },
1171
- { id: 'phones', order: 2, layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },
1172
- { id: 'emails', order: 2, layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },
1173
- { id: 'addresses', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },
1174
- ],
1175
- properties: [
1176
- { name: 'code', layout: { positions: { lg: { colSpan: 6 } } } },
1177
- { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
1178
- { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
1179
- { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
1180
- { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
1181
- { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
1182
- { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12 } } } },
1183
- ],
1184
- actions: [...entityMasterRecordActions()],
1185
- },
1186
- list: {
1187
- actions: [...entityMasterCrudActions()],
1188
- views: [
1189
- createAllQueryView({
1190
- sorts: [{ name: 'title', dir: 'asc' }],
1191
- }),
1192
- ],
1193
- },
1194
- },
1195
- },
1196
- };
1197
- return entityDef;
1198
- }
1199
- //#endregion
1200
-
1201
- //#endregion
1202
- //#region ---- Entity Factory ----
1203
- async function partySegmentFactory() {
1204
- const sections = [
1205
- { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },
1206
- { id: 'appearance', layout: { positions: { lg: { colSpan: 12 } } } },
1207
- ];
1208
- const propertyLayouts = [
1209
- { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
1210
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },
1211
- { name: 'color', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
1212
- ];
1213
- const entityDef = {
1214
- module: RootConfig.module.name,
1215
- name: RootConfig.entities.partySegment.name,
1216
- title: RootConfig.entities.partySegment.title,
1217
- icon: RootConfig.entities.partySegment.icon,
1218
- formats: {
1219
- individual: RootConfig.entities.partySegment.title,
1220
- plural: RootConfig.entities.partySegment.titlePlural,
1221
- searchResult: {
1222
- title: '{{ title }}',
1223
- description: RootConfig.module.title,
1224
- },
1225
- },
1226
- plugins: [{ name: 'color' }, { name: 'archive' }],
1227
- groups: [
1228
- { id: 'basic-info', title: '@business-core:party-segments.entities.party-segment.groups.basic-info' },
1229
- { id: 'appearance', title: '@general:terms.interface.appearance' },
1230
- ],
1231
- properties: [
1232
- {
1233
- name: 'id',
1234
- title: '@general:terms.common.id',
1235
- groupId: 'basic-info',
1236
- schema: {
1237
- dataType: 'uuid',
1238
- visible: false,
1239
- readonly: true,
1240
- unique: { enabled: true },
1241
- },
1242
- },
1243
- {
1244
- name: 'title',
1245
- title: '@general:terms.common.title',
1246
- groupId: 'basic-info',
1247
- options: {
1248
- sort: { enabled: true },
1249
- filter: { advance: { enabled: true }, inline: { enabled: true } },
1250
- },
1251
- schema: {
1252
- dataType: 'string',
1253
- interface: {
1254
- type: AXPWidgetsList.Editors.TextBox,
1255
- options: {
1256
- placeholder: '@business-core:party-segments.entities.party-segment.fields.title.placeholder',
1257
- },
1258
- },
1259
- },
1260
- validations: [{ rule: 'required' }],
1261
- },
1262
- {
1263
- name: 'description',
1264
- title: '@general:terms.common.description',
1265
- groupId: 'basic-info',
1266
- schema: {
1267
- dataType: 'string',
1268
- interface: {
1269
- type: AXPWidgetsList.Editors.LargeTextBox,
1270
- options: {
1271
- rows: 3,
1272
- placeholder: '@business-core:party-segments.entities.party-segment.fields.description.placeholder',
1273
- },
1274
- },
1275
- },
1276
- },
1277
- ],
1278
- columns: [
1279
- { name: 'title', options: { width: '200px', order: 1 } },
1280
- { name: 'description', options: { width: '280px', order: 2 } },
1281
- ],
1282
- interfaces: {
1283
- master: {
1284
- create: {
1285
- sections,
1286
- properties: propertyLayouts,
1287
- },
1288
- update: {
1289
- sections,
1290
- properties: propertyLayouts,
1291
- },
1292
- single: {
1293
- title: '{{ title }}',
1294
- sections,
1295
- properties: propertyLayouts,
1296
- actions: [...entityMasterRecordActions()],
1297
- },
1298
- list: {
1299
- actions: [...entityMasterCrudActions()],
1300
- views: [
1301
- createAllQueryView({
1302
- sorts: [{ name: 'title', dir: 'asc' }],
1303
- }),
1304
- ],
1305
- },
1306
- },
1307
- },
1308
- };
1309
- return entityDef;
1310
- }
1311
- //#endregion
1312
-
1313
- //#endregion
1314
-
1315
- //#endregion
1316
- //#region ---- Entity Factory ----
1317
- async function partyTypeFactory() {
1318
- const sections = [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }];
1319
- const propertyLayouts = [
1320
- { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
1321
- { name: 'title', layout: { positions: { lg: { colSpan: 8, order: 2 } } } },
1322
- { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
1323
- ];
1324
- const entityDef = {
1325
- module: RootConfig.module.name,
1326
- name: RootConfig.entities.partyType.name,
1327
- title: RootConfig.entities.partyType.title,
1328
- icon: RootConfig.entities.partyType.icon,
1329
- formats: {
1330
- individual: RootConfig.entities.partyType.title,
1331
- plural: RootConfig.entities.partyType.titlePlural,
1332
- searchResult: {
1333
- title: '{{ title }}',
1334
- description: '{{ code }}',
1335
- },
1336
- },
1337
- plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'clone' }, { name: 'disable' }],
1338
- groups: [{ id: 'basic-info', title: '@business-core:party-types.entities.party-type.groups.basic-info' }],
1339
- properties: [
1340
- {
1341
- name: 'id',
1342
- title: '@general:terms.common.id',
1343
- groupId: 'basic-info',
1344
- schema: {
1345
- dataType: 'uuid',
1346
- visible: false,
1347
- readonly: true,
1348
- unique: { enabled: true },
1349
- },
1350
- },
1351
- {
1352
- name: 'code',
1353
- title: '@general:terms.common.code',
1354
- groupId: 'basic-info',
1355
- options: {
1356
- sort: { enabled: true },
1357
- filter: { advance: { enabled: true }, inline: { enabled: true } },
1358
- },
1359
- schema: {
1360
- dataType: 'string',
1361
- interface: {
1362
- type: AXPWidgetsList.Editors.TextBox,
1363
- options: {
1364
- placeholder: '@business-core:party-types.entities.party-type.fields.code.placeholder',
1365
- },
1366
- },
1367
- },
1368
- validations: [{ rule: 'required' }],
1369
- },
1370
- {
1371
- name: 'title',
1372
- title: '@general:terms.common.title',
1373
- groupId: 'basic-info',
1374
- options: {
1375
- sort: { enabled: true },
1376
- filter: { advance: { enabled: true }, inline: { enabled: true } },
1377
- },
1378
- schema: {
1379
- dataType: 'string',
1380
- interface: {
1381
- type: AXPWidgetsList.Editors.TextBox,
1382
- options: {
1383
- placeholder: '@business-core:party-types.entities.party-type.fields.title.placeholder',
1384
- },
1385
- },
1386
- },
1387
- validations: [{ rule: 'required' }],
1388
- },
1389
- {
1390
- name: 'description',
1391
- title: '@general:terms.common.description',
1392
- groupId: 'basic-info',
1393
- schema: {
1394
- dataType: 'string',
1395
- interface: {
1396
- type: AXPWidgetsList.Editors.LargeTextBox,
1397
- options: {
1398
- rows: 3,
1399
- placeholder: '@business-core:party-types.entities.party-type.fields.description.placeholder',
1400
- },
1401
- },
1402
- },
1403
- },
1404
- ],
1405
- columns: [
1406
- { name: 'code', options: { width: '120px', order: 1 } },
1407
- { name: 'title', options: { width: '220px', order: 2 } },
1408
- ],
1409
- interfaces: {
1410
- master: {
1411
- create: {
1412
- sections,
1413
- properties: propertyLayouts,
1414
- },
1415
- update: {
1416
- sections,
1417
- properties: propertyLayouts,
1418
- },
1419
- single: {
1420
- title: '{{ title }}',
1421
- sections,
1422
- properties: propertyLayouts,
1423
- actions: [...entityMasterRecordActions()],
1424
- },
1425
- list: {
1426
- actions: [...entityMasterCrudActions()],
1427
- views: [
1428
- createAllQueryView({
1429
- sorts: [{ name: 'code', dir: 'asc' }],
1430
- }),
1431
- ],
1432
- },
1433
- },
1434
- },
1435
- };
1436
- return entityDef;
1437
- }
1438
126
  //#endregion
1439
127
 
1440
128
  //#endregion
@@ -1445,5 +133,5 @@ async function partyTypeFactory() {
1445
133
  * Generated bundle index. Do not edit.
1446
134
  */
1447
135
 
1448
- export { AXMBusinessCoreMenuKeys, AXMBusinessCorePermissionKeys, RootConfig, businessStatusFactory, businessTypeFactory, industryFactory, lifecycleStageFactory, manufacturerFactory, partyFactory, partySegmentFactory, partyTypeFactory };
136
+ export { AXMBusinessCoreMenuKeys, AXMBusinessCorePermissionKeys, AXPSalesCustomersPermissionKeys, RootConfig };
1449
137
  //# sourceMappingURL=acorex-platform-module-business-core-client-contracts.mjs.map