@acorex-platform/module-customer-management-client 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,159 @@
1
+ //#region ----- Feature Keys -----
2
+ /**
3
+ * Customer Management sub-features.
4
+ * Module name `CustomerManagement` enables the module; these keys gate surfaces.
5
+ */
6
+ const AXPCustomerManagementFeatureKeys = {
7
+ /** Customer master / account info (no sales CRM). */
8
+ Customers: 'CustomerManagement:Feature:Customers',
9
+ /** Leads, opportunities, pipelines, stages, and sales activities. */
10
+ Sales: 'CustomerManagement:Feature:Sales',
11
+ };
12
+ //#endregion
13
+
14
+ //#region ----- Menu Keys -----
15
+ const AXPCustomerManagementMenuKeys = {
16
+ Root: 'CustomerManagement:Menu',
17
+ Customers: 'CustomerManagement:Menu:Customers',
18
+ Leads: 'CustomerManagement:Menu:Leads',
19
+ Opportunities: 'CustomerManagement:Menu:Opportunities',
20
+ Activities: 'CustomerManagement:Menu:Activities',
21
+ OpportunityStages: 'CustomerManagement:Menu:OpportunityStages',
22
+ SalesPipelines: 'CustomerManagement:Menu:SalesPipelines',
23
+ LifecycleStages: 'CustomerManagement:Menu:LifecycleStages',
24
+ SalesTerritories: 'CustomerManagement:Menu:SalesTerritories',
25
+ };
26
+ //#endregion
27
+
28
+ /**
29
+ * Sales & Customers capabilities used by this module.
30
+ * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).
31
+ */
32
+ const AXPSalesCustomersPermissionKeys = {
33
+ Access: 'SalesCustomers:Permission:Access',
34
+ MaintainCustomers: 'SalesCustomers:Permission:MaintainCustomers',
35
+ MaintainSales: 'SalesCustomers:Permission:MaintainSales',
36
+ MaintainProducts: 'SalesCustomers:Permission:MaintainProducts',
37
+ MaintainOrders: 'SalesCustomers:Permission:MaintainOrders',
38
+ MaintainSubscriptions: 'SalesCustomers:Permission:MaintainSubscriptions',
39
+ Setup: 'SalesCustomers:Permission:Setup',
40
+ };
41
+ /**
42
+ * @deprecated Prefer {@link AXPSalesCustomersPermissionKeys}.
43
+ * Legacy nested shape kept so existing imports compile during migration.
44
+ */
45
+ const AXMCustomerManagementPermissions = {
46
+ CustomerManagement: {
47
+ Management: AXPSalesCustomersPermissionKeys.Access,
48
+ Customer: {
49
+ Management: AXPSalesCustomersPermissionKeys.MaintainCustomers,
50
+ View: AXPSalesCustomersPermissionKeys.MaintainCustomers,
51
+ Create: AXPSalesCustomersPermissionKeys.MaintainCustomers,
52
+ Update: AXPSalesCustomersPermissionKeys.MaintainCustomers,
53
+ Delete: AXPSalesCustomersPermissionKeys.MaintainCustomers,
54
+ },
55
+ Lead: {
56
+ View: AXPSalesCustomersPermissionKeys.MaintainSales,
57
+ },
58
+ Opportunity: {
59
+ View: AXPSalesCustomersPermissionKeys.MaintainSales,
60
+ },
61
+ },
62
+ };
63
+ /** @deprecated Prefer {@link AXPSalesCustomersPermissionKeys}. */
64
+ const AXPCustomerManagementPermissionKeys = AXMCustomerManagementPermissions;
65
+
66
+ const config = {
67
+ i18n: 'customer-management',
68
+ module: 'CustomerManagement',
69
+ };
70
+ const RootConfig = {
71
+ config,
72
+ module: {
73
+ route: 'customer-management',
74
+ name: config.module,
75
+ title: `@${config.i18n}:module.title`,
76
+ icon: 'fa-light fa-handshake',
77
+ },
78
+ entities: {
79
+ customerSegment: {
80
+ name: 'CustomerSegment',
81
+ source: `${config.module}.CustomerSegment`,
82
+ title: `@${config.i18n}:customers.entities.customer-segment.title`,
83
+ titlePlural: `@${config.i18n}:customers.entities.customer-segment.plural`,
84
+ icon: 'fa-light fa-chart-pie',
85
+ },
86
+ customerWorksite: {
87
+ name: 'CustomerWorksite',
88
+ source: `${config.module}.CustomerWorksite`,
89
+ title: `@${config.i18n}:customer-worksites.entities.customer-worksite.title`,
90
+ titlePlural: `@${config.i18n}:customer-worksites.entities.customer-worksite.plural`,
91
+ icon: 'fa-light fa-building',
92
+ },
93
+ customer: {
94
+ name: 'Customer',
95
+ source: `${config.module}.Customer`,
96
+ title: `@${config.i18n}:customers.entities.customer.title`,
97
+ titlePlural: `@${config.i18n}:customers.entities.customer.plural`,
98
+ icon: 'fa-light fa-building-user',
99
+ },
100
+ customerType: {
101
+ name: 'CustomerType',
102
+ source: `${config.module}.CustomerType`,
103
+ title: `@${config.i18n}:customers.entities.customer-type.title`,
104
+ titlePlural: `@${config.i18n}:customers.entities.customer-type.plural`,
105
+ icon: 'fa-light fa-building-user',
106
+ },
107
+ lead: {
108
+ name: 'Lead',
109
+ source: `${config.module}.Lead`,
110
+ title: `@${config.i18n}:leads.entities.lead.title`,
111
+ titlePlural: `@${config.i18n}:leads.entities.lead.plural`,
112
+ icon: 'fa-light fa-user-plus',
113
+ },
114
+ opportunity: {
115
+ name: 'Opportunity',
116
+ source: `${config.module}.Opportunity`,
117
+ title: `@${config.i18n}:opportunities.entities.opportunity.title`,
118
+ titlePlural: `@${config.i18n}:opportunities.entities.opportunity.plural`,
119
+ icon: 'fa-light fa-briefcase',
120
+ },
121
+ opportunityStage: {
122
+ name: 'OpportunityStage',
123
+ source: `${config.module}.OpportunityStage`,
124
+ title: `@${config.i18n}:opportunities.entities.opportunity-stage.title`,
125
+ titlePlural: `@${config.i18n}:opportunities.entities.opportunity-stage.plural`,
126
+ icon: 'fa-light fa-stairs',
127
+ },
128
+ salesPipeline: {
129
+ name: 'SalesPipeline',
130
+ source: `${config.module}.SalesPipeline`,
131
+ title: `@${config.i18n}:opportunities.entities.sales-pipeline.title`,
132
+ titlePlural: `@${config.i18n}:opportunities.entities.sales-pipeline.plural`,
133
+ icon: 'fa-light fa-diagram-project',
134
+ },
135
+ activity: {
136
+ name: 'Activity',
137
+ source: `${config.module}.Activity`,
138
+ title: `@${config.i18n}:activities.entities.activity.title`,
139
+ titlePlural: `@${config.i18n}:activities.entities.activity.plural`,
140
+ icon: 'fa-light fa-calendar-check',
141
+ },
142
+ dealContactRole: {
143
+ name: 'DealContactRole',
144
+ source: `${config.module}.DealContactRole`,
145
+ title: `@${config.i18n}:opportunities.entities.deal-contact-role.title`,
146
+ titlePlural: `@${config.i18n}:opportunities.entities.deal-contact-role.plural`,
147
+ icon: 'fa-light fa-users',
148
+ },
149
+ },
150
+ };
151
+
152
+ //#region ---- Contracts barrel ----
153
+
154
+ /**
155
+ * Generated bundle index. Do not edit.
156
+ */
157
+
158
+ export { AXMCustomerManagementPermissions, AXPCustomerManagementFeatureKeys, AXPCustomerManagementMenuKeys, AXPCustomerManagementPermissionKeys, AXPSalesCustomersPermissionKeys, RootConfig };
159
+ //# sourceMappingURL=acorex-platform-module-customer-management-client-contracts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-customer-management-client-contracts.mjs","sources":["../../../../libs/modules/customer-management/contracts/src/features.keys.ts","../../../../libs/modules/customer-management/contracts/src/menu.keys.ts","../../../../libs/modules/customer-management/contracts/src/permission.keys.ts","../../../../libs/modules/customer-management/contracts/src/root-config.ts","../../../../libs/modules/customer-management/contracts/src/index.ts","../../../../libs/modules/customer-management/contracts/src/acorex-platform-module-customer-management-client-contracts.ts"],"sourcesContent":["//#region ----- Feature Keys -----\n\n/**\n * Customer Management sub-features.\n * Module name `CustomerManagement` enables the module; these keys gate surfaces.\n */\nexport const AXPCustomerManagementFeatureKeys = {\n /** Customer master / account info (no sales CRM). */\n Customers: 'CustomerManagement:Feature:Customers',\n /** Leads, opportunities, pipelines, stages, and sales activities. */\n Sales: 'CustomerManagement:Feature:Sales',\n} as const;\n\n//#endregion\n","//#region ----- Menu Keys -----\n\nexport const AXPCustomerManagementMenuKeys = {\n Root: 'CustomerManagement:Menu',\n Customers: 'CustomerManagement:Menu:Customers',\n Leads: 'CustomerManagement:Menu:Leads',\n Opportunities: 'CustomerManagement:Menu:Opportunities',\n Activities: 'CustomerManagement:Menu:Activities',\n OpportunityStages: 'CustomerManagement:Menu:OpportunityStages',\n SalesPipelines: 'CustomerManagement:Menu:SalesPipelines',\n LifecycleStages: 'CustomerManagement:Menu:LifecycleStages',\n SalesTerritories: 'CustomerManagement:Menu:SalesTerritories',\n} as const;\n\n//#endregion\n","/**\n * Sales & Customers capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPSalesCustomersPermissionKeys = {\n Access: 'SalesCustomers:Permission:Access',\n MaintainCustomers: 'SalesCustomers:Permission:MaintainCustomers',\n MaintainSales: 'SalesCustomers:Permission:MaintainSales',\n MaintainProducts: 'SalesCustomers:Permission:MaintainProducts',\n MaintainOrders: 'SalesCustomers:Permission:MaintainOrders',\n MaintainSubscriptions: 'SalesCustomers:Permission:MaintainSubscriptions',\n Setup: 'SalesCustomers:Permission:Setup',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPSalesCustomersPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMCustomerManagementPermissions = {\n CustomerManagement: {\n Management: AXPSalesCustomersPermissionKeys.Access,\n Customer: {\n Management: AXPSalesCustomersPermissionKeys.MaintainCustomers,\n View: AXPSalesCustomersPermissionKeys.MaintainCustomers,\n Create: AXPSalesCustomersPermissionKeys.MaintainCustomers,\n Update: AXPSalesCustomersPermissionKeys.MaintainCustomers,\n Delete: AXPSalesCustomersPermissionKeys.MaintainCustomers,\n },\n Lead: {\n View: AXPSalesCustomersPermissionKeys.MaintainSales,\n },\n Opportunity: {\n View: AXPSalesCustomersPermissionKeys.MaintainSales,\n },\n },\n} as const;\n\n/** @deprecated Prefer {@link AXPSalesCustomersPermissionKeys}. */\nexport const AXPCustomerManagementPermissionKeys = AXMCustomerManagementPermissions;\n","const config = {\n i18n: 'customer-management',\n module: 'CustomerManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'customer-management',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-handshake',\n },\n entities: {\n customerSegment: {\n name: 'CustomerSegment',\n source: `${config.module}.CustomerSegment`,\n title: `@${config.i18n}:customers.entities.customer-segment.title`,\n titlePlural: `@${config.i18n}:customers.entities.customer-segment.plural`,\n icon: 'fa-light fa-chart-pie',\n },\n customerWorksite: {\n name: 'CustomerWorksite',\n source: `${config.module}.CustomerWorksite`,\n title: `@${config.i18n}:customer-worksites.entities.customer-worksite.title`,\n titlePlural: `@${config.i18n}:customer-worksites.entities.customer-worksite.plural`,\n icon: 'fa-light fa-building',\n },\n customer: {\n name: 'Customer',\n source: `${config.module}.Customer`,\n title: `@${config.i18n}:customers.entities.customer.title`,\n titlePlural: `@${config.i18n}:customers.entities.customer.plural`,\n icon: 'fa-light fa-building-user',\n },\n customerType: {\n name: 'CustomerType',\n source: `${config.module}.CustomerType`,\n title: `@${config.i18n}:customers.entities.customer-type.title`,\n titlePlural: `@${config.i18n}:customers.entities.customer-type.plural`,\n icon: 'fa-light fa-building-user',\n },\n lead: {\n name: 'Lead',\n source: `${config.module}.Lead`,\n title: `@${config.i18n}:leads.entities.lead.title`,\n titlePlural: `@${config.i18n}:leads.entities.lead.plural`,\n icon: 'fa-light fa-user-plus',\n },\n opportunity: {\n name: 'Opportunity',\n source: `${config.module}.Opportunity`,\n title: `@${config.i18n}:opportunities.entities.opportunity.title`,\n titlePlural: `@${config.i18n}:opportunities.entities.opportunity.plural`,\n icon: 'fa-light fa-briefcase',\n },\n opportunityStage: {\n name: 'OpportunityStage',\n source: `${config.module}.OpportunityStage`,\n title: `@${config.i18n}:opportunities.entities.opportunity-stage.title`,\n titlePlural: `@${config.i18n}:opportunities.entities.opportunity-stage.plural`,\n icon: 'fa-light fa-stairs',\n },\n salesPipeline: {\n name: 'SalesPipeline',\n source: `${config.module}.SalesPipeline`,\n title: `@${config.i18n}:opportunities.entities.sales-pipeline.title`,\n titlePlural: `@${config.i18n}:opportunities.entities.sales-pipeline.plural`,\n icon: 'fa-light fa-diagram-project',\n },\n activity: {\n name: 'Activity',\n source: `${config.module}.Activity`,\n title: `@${config.i18n}:activities.entities.activity.title`,\n titlePlural: `@${config.i18n}:activities.entities.activity.plural`,\n icon: 'fa-light fa-calendar-check',\n },\n\n dealContactRole: {\n name: 'DealContactRole',\n source: `${config.module}.DealContactRole`,\n title: `@${config.i18n}:opportunities.entities.deal-contact-role.title`,\n titlePlural: `@${config.i18n}:opportunities.entities.deal-contact-role.plural`,\n icon: 'fa-light fa-users',\n },\n },\n} as const;\n","//#region ---- Contracts barrel ----\n\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\n\nexport * from './root-config';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,301 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, inject, NgModule } from '@angular/core';
3
+ import { AXP_MODULE_MANIFEST_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/core';
4
+ import { RootConfig, AXPSalesCustomersPermissionKeys, AXPCustomerManagementFeatureKeys, AXPCustomerManagementMenuKeys } from '@acorex-platform/module-customer-management-client/contracts';
5
+ import { AXP_MENU_PROVIDER } from '@acorex-platform/framework-client/common';
6
+ import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';
7
+ import { AXPCommonPermissionGroupKeys, AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';
8
+ import { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
9
+
10
+ //#region ---- Imports ----
11
+ //#endregion
12
+ //#region ---- Manifest Definition ----
13
+ /**
14
+ * Customer Management Module Manifest.
15
+ * Defines module metadata, features, and provider references.
16
+ */
17
+ const CustomerManagementManifest = {
18
+ name: RootConfig.module.name,
19
+ version: '1.0.0',
20
+ title: RootConfig.module.title,
21
+ icon: RootConfig.module.icon,
22
+ i18n: RootConfig.config.i18n,
23
+ type: 'domain',
24
+ domain: 'customer-supplier',
25
+ // Module dependencies
26
+ dependencies: ['PersonCore'],
27
+ };
28
+ //#endregion
29
+
30
+ //#endregion
31
+ //#region ---- Permission Definition Provider ----
32
+ /**
33
+ * Registers Sales & Customers root + Customers / Sales section capabilities.
34
+ */
35
+ class AXMCustomerManagementPermissionDefinitionProvider {
36
+ async define(context) {
37
+ const keys = AXPSalesCustomersPermissionKeys;
38
+ const groups = AXPCommonPermissionGroupKeys;
39
+ const P = '@common:sales-customers.permissions';
40
+ const G = '@common:permission-groups';
41
+ context.addGroup(groups.SalesCustomers.Root, `${G}.sales-and-customers.title`, `${G}.sales-and-customers.description`, { order: 50 });
42
+ context
43
+ .addGroup(groups.SalesCustomers.Customers, `${G}.sales-and-customers-customers.title`, `${G}.sales-and-customers-customers.description`, { parent: groups.SalesCustomers.Root, order: 10 })
44
+ .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)
45
+ .endPermission()
46
+ .addPermission(keys.MaintainCustomers, `${P}.maintain-customers.title`, `${P}.maintain-customers.description`)
47
+ .endPermission()
48
+ .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)
49
+ .endPermission()
50
+ .endGroup();
51
+ context
52
+ .addGroup(groups.SalesCustomers.Sales, `${G}.sales-and-customers-sales.title`, `${G}.sales-and-customers-sales.description`, { parent: groups.SalesCustomers.Root, order: 15 })
53
+ .addPermission(keys.MaintainSales, `${P}.maintain-sales.title`, `${P}.maintain-sales.description`)
54
+ .endPermission()
55
+ .endGroup();
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMCustomerManagementPermissionDefinitionProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
58
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMCustomerManagementPermissionDefinitionProvider }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMCustomerManagementPermissionDefinitionProvider, decorators: [{
61
+ type: Injectable
62
+ }] });
63
+
64
+ //#region ----- Imports -----
65
+ //#endregion
66
+ //#region ----- Feature Definition Provider -----
67
+ /**
68
+ * Registers Customer Management feature definitions for edition packaging.
69
+ */
70
+ class AXMCustomerManagementFeatureDefinitionProvider {
71
+ async provide(context) {
72
+ context.addFeature(AXPCustomerManagementFeatureKeys.Customers, {
73
+ title: '@customer-management:features.customers.title',
74
+ description: '@customer-management:features.customers.description',
75
+ defaultValue: true,
76
+ type: 'boolean',
77
+ });
78
+ context.addFeature(AXPCustomerManagementFeatureKeys.Sales, {
79
+ title: '@customer-management:features.sales.title',
80
+ description: '@customer-management:features.sales.description',
81
+ defaultValue: true,
82
+ type: 'boolean',
83
+ });
84
+ }
85
+ }
86
+ //#endregion
87
+
88
+ //#region ----- Imports -----
89
+ //#endregion
90
+ //#region ----- Menu Provider -----
91
+ /**
92
+ * Customer Management menus:
93
+ * - Sales OFF → Customers under Contacts
94
+ * - Sales ON → dedicated CRM root with customers + sales CRM items
95
+ */
96
+ class AXMMenuProvider {
97
+ constructor() {
98
+ //#region ----- Services & Dependencies -----
99
+ this.entityService = inject(AXPEntityService);
100
+ this.sessionService = inject(AXPSessionService);
101
+ //#endregion
102
+ }
103
+ //#endregion
104
+ //#region ----- Provide -----
105
+ async provide(context) {
106
+ const module = RootConfig.module;
107
+ const keys = AXPSalesCustomersPermissionKeys;
108
+ const features = AXPCustomerManagementFeatureKeys;
109
+ const menuKeys = AXPCustomerManagementMenuKeys;
110
+ const entities = RootConfig.entities;
111
+ const salesEnabled = this.sessionService.isFeatureEnabled(features.Sales);
112
+ if (!salesEnabled) {
113
+ context.find(AXPCommonMenuKeys.Contacts).addItems([
114
+ {
115
+ name: menuKeys.Customers,
116
+ text: entities.customer.titlePlural,
117
+ path: this.entityService.createPath(module.name, entities.customer.name),
118
+ icon: entities.customer.icon,
119
+ priority: 10,
120
+ policy: {
121
+ features: [features.Customers],
122
+ permissions: [keys.MaintainCustomers],
123
+ },
124
+ },
125
+ ]);
126
+ return;
127
+ }
128
+ context.addItems([
129
+ {
130
+ name: menuKeys.Root,
131
+ priority: 8005,
132
+ text: '@customer-management:module.menus.root.title',
133
+ icon: module.icon,
134
+ type: 'menu',
135
+ policy: {
136
+ features: [features.Sales],
137
+ },
138
+ children: [],
139
+ },
140
+ ]);
141
+ context.find(menuKeys.Root).addItems([
142
+ {
143
+ name: menuKeys.Customers,
144
+ text: entities.customer.titlePlural,
145
+ path: this.entityService.createPath(module.name, entities.customer.name),
146
+ icon: entities.customer.icon,
147
+ priority: 10,
148
+ policy: {
149
+ features: [features.Customers],
150
+ permissions: [keys.MaintainCustomers],
151
+ },
152
+ },
153
+ {
154
+ name: menuKeys.Leads,
155
+ text: entities.lead.titlePlural,
156
+ path: this.entityService.createPath(module.name, entities.lead.name),
157
+ icon: entities.lead.icon,
158
+ priority: 20,
159
+ policy: {
160
+ features: [features.Sales],
161
+ permissions: [keys.MaintainSales],
162
+ },
163
+ },
164
+ {
165
+ name: menuKeys.Opportunities,
166
+ text: entities.opportunity.titlePlural,
167
+ path: this.entityService.createPath(module.name, entities.opportunity.name),
168
+ icon: entities.opportunity.icon,
169
+ priority: 30,
170
+ policy: {
171
+ features: [features.Sales],
172
+ permissions: [keys.MaintainSales],
173
+ },
174
+ },
175
+ {
176
+ name: menuKeys.Activities,
177
+ text: entities.activity.titlePlural,
178
+ path: this.entityService.createPath(module.name, entities.activity.name),
179
+ icon: entities.activity.icon,
180
+ priority: 40,
181
+ policy: {
182
+ features: [features.Sales],
183
+ permissions: [keys.MaintainSales],
184
+ },
185
+ },
186
+ {
187
+ name: `${menuKeys.Root}:divider-setup`,
188
+ text: '',
189
+ type: 'break',
190
+ priority: 50,
191
+ },
192
+ {
193
+ name: menuKeys.SalesPipelines,
194
+ text: entities.salesPipeline.titlePlural,
195
+ path: this.entityService.createPath(module.name, entities.salesPipeline.name),
196
+ icon: entities.salesPipeline.icon,
197
+ priority: 60,
198
+ policy: {
199
+ features: [features.Sales],
200
+ permissions: [keys.Setup],
201
+ },
202
+ },
203
+ {
204
+ name: menuKeys.OpportunityStages,
205
+ text: entities.opportunityStage.titlePlural,
206
+ path: this.entityService.createPath(module.name, entities.opportunityStage.name),
207
+ icon: entities.opportunityStage.icon,
208
+ priority: 70,
209
+ policy: {
210
+ features: [features.Sales],
211
+ permissions: [keys.Setup],
212
+ },
213
+ },
214
+ {
215
+ name: menuKeys.LifecycleStages,
216
+ text: '@customer-management:configuration.entities.lifecycle-stage.plural',
217
+ path: this.entityService.createPath('BusinessCore', 'LifecycleStage'),
218
+ icon: 'fa-light fa-timeline',
219
+ priority: 80,
220
+ policy: {
221
+ features: [features.Sales],
222
+ permissions: [keys.Setup],
223
+ },
224
+ },
225
+ {
226
+ name: menuKeys.SalesTerritories,
227
+ text: '@customer-management:configuration.entities.sales-territory.plural',
228
+ path: this.entityService.createPath('LocationManagement', 'GeographicRegion'),
229
+ icon: 'fa-light fa-globe',
230
+ priority: 90,
231
+ policy: {
232
+ features: [features.Sales],
233
+ permissions: [keys.Setup],
234
+ },
235
+ },
236
+ ]);
237
+ }
238
+ }
239
+ //#endregion
240
+
241
+ class AXMCustomerManagementModule {
242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMCustomerManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
243
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXMCustomerManagementModule }); }
244
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMCustomerManagementModule, providers: [
245
+ {
246
+ provide: AXP_MODULE_MANIFEST_PROVIDER,
247
+ useValue: CustomerManagementManifest,
248
+ multi: true,
249
+ },
250
+ {
251
+ provide: AXP_PERMISSION_DEFINITION_PROVIDER,
252
+ useClass: AXMCustomerManagementPermissionDefinitionProvider,
253
+ multi: true,
254
+ },
255
+ {
256
+ provide: AXP_MENU_PROVIDER,
257
+ useClass: AXMMenuProvider,
258
+ multi: true,
259
+ },
260
+ {
261
+ provide: AXP_FEATURE_DEFINITION_PROVIDER,
262
+ useClass: AXMCustomerManagementFeatureDefinitionProvider,
263
+ multi: true,
264
+ },
265
+ ] }); }
266
+ }
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMCustomerManagementModule, decorators: [{
268
+ type: NgModule,
269
+ args: [{
270
+ imports: [],
271
+ providers: [
272
+ {
273
+ provide: AXP_MODULE_MANIFEST_PROVIDER,
274
+ useValue: CustomerManagementManifest,
275
+ multi: true,
276
+ },
277
+ {
278
+ provide: AXP_PERMISSION_DEFINITION_PROVIDER,
279
+ useClass: AXMCustomerManagementPermissionDefinitionProvider,
280
+ multi: true,
281
+ },
282
+ {
283
+ provide: AXP_MENU_PROVIDER,
284
+ useClass: AXMMenuProvider,
285
+ multi: true,
286
+ },
287
+ {
288
+ provide: AXP_FEATURE_DEFINITION_PROVIDER,
289
+ useClass: AXMCustomerManagementFeatureDefinitionProvider,
290
+ multi: true,
291
+ },
292
+ ],
293
+ }]
294
+ }] });
295
+
296
+ /**
297
+ * Generated bundle index. Do not edit.
298
+ */
299
+
300
+ export { AXMCustomerManagementModule };
301
+ //# sourceMappingURL=acorex-platform-module-customer-management-client.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-customer-management-client.mjs","sources":["../../../../libs/modules/customer-management/client/src/lib/manifest.ts","../../../../libs/modules/customer-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/customer-management/client/src/lib/feature-definition.provider.ts","../../../../libs/modules/customer-management/client/src/lib/menu.provider.ts","../../../../libs/modules/customer-management/client/src/lib/customer-management.module.ts","../../../../libs/modules/customer-management/client/src/acorex-platform-module-customer-management-client.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-customer-management-client/contracts';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Customer Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const CustomerManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n\n type: 'domain',\n domain: 'customer-supplier',\n // Module dependencies\n dependencies: ['PersonCore'],\n};\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport {\n AXPPermissionDefinitionProvider,\n AXPPermissionDefinitionProviderContext,\n} from '@acorex-platform/framework-client/auth';\nimport { AXPCommonPermissionGroupKeys } from '@acorex-platform/module-common-client/contracts';\nimport { AXPSalesCustomersPermissionKeys } from '@acorex-platform/module-customer-management-client/contracts';\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers Sales & Customers root + Customers / Sales section capabilities.\n */\n@Injectable()\nexport class AXMCustomerManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPSalesCustomersPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:sales-customers.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(\n groups.SalesCustomers.Root,\n `${G}.sales-and-customers.title`,\n `${G}.sales-and-customers.description`,\n { order: 50 },\n );\n\n context\n .addGroup(\n groups.SalesCustomers.Customers,\n `${G}.sales-and-customers-customers.title`,\n `${G}.sales-and-customers-customers.description`,\n { parent: groups.SalesCustomers.Root, order: 10 },\n )\n .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)\n .endPermission()\n .addPermission(keys.MaintainCustomers, `${P}.maintain-customers.title`, `${P}.maintain-customers.description`)\n .endPermission()\n .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)\n .endPermission()\n .endGroup();\n\n context\n .addGroup(\n groups.SalesCustomers.Sales,\n `${G}.sales-and-customers-sales.title`,\n `${G}.sales-and-customers-sales.description`,\n { parent: groups.SalesCustomers.Root, order: 15 },\n )\n .addPermission(keys.MaintainSales, `${P}.maintain-sales.title`, `${P}.maintain-sales.description`)\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXPFeatureDefinitionProvider,\n AXPFeatureDefinitionProviderContext,\n} from '@acorex-platform/framework-client/core';\nimport { AXPCustomerManagementFeatureKeys } from '@acorex-platform/module-customer-management-client/contracts';\n\n//#endregion\n\n//#region ----- Feature Definition Provider -----\n\n/**\n * Registers Customer Management feature definitions for edition packaging.\n */\nexport class AXMCustomerManagementFeatureDefinitionProvider implements AXPFeatureDefinitionProvider {\n async provide(context: AXPFeatureDefinitionProviderContext): Promise<void> {\n context.addFeature(AXPCustomerManagementFeatureKeys.Customers, {\n title: '@customer-management:features.customers.title',\n description: '@customer-management:features.customers.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n context.addFeature(AXPCustomerManagementFeatureKeys.Sales, {\n title: '@customer-management:features.sales.title',\n description: '@customer-management:features.sales.description',\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';\nimport {\n AXPCustomerManagementFeatureKeys,\n AXPCustomerManagementMenuKeys,\n AXPSalesCustomersPermissionKeys,\n RootConfig,\n} from '@acorex-platform/module-customer-management-client/contracts';\nimport { inject } from '@angular/core';\n\n//#endregion\n\n//#region ----- Menu Provider -----\n\n/**\n * Customer Management menus:\n * - Sales OFF → Customers under Contacts\n * - Sales ON → dedicated CRM root with customers + sales CRM items\n */\nexport class AXMMenuProvider implements AXPMenuProvider {\n //#region ----- Services & Dependencies -----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly sessionService = inject(AXPSessionService);\n\n //#endregion\n\n //#region ----- Provide -----\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n const keys = AXPSalesCustomersPermissionKeys;\n const features = AXPCustomerManagementFeatureKeys;\n const menuKeys = AXPCustomerManagementMenuKeys;\n const entities = RootConfig.entities;\n\n const salesEnabled = this.sessionService.isFeatureEnabled(features.Sales);\n\n if (!salesEnabled) {\n context.find(AXPCommonMenuKeys.Contacts).addItems([\n {\n name: menuKeys.Customers,\n text: entities.customer.titlePlural,\n path: this.entityService.createPath(module.name, entities.customer.name),\n icon: entities.customer.icon,\n priority: 10,\n policy: {\n features: [features.Customers],\n permissions: [keys.MaintainCustomers],\n },\n },\n ]);\n return;\n }\n\n context.addItems([\n {\n name: menuKeys.Root,\n priority: 8005,\n text: '@customer-management:module.menus.root.title',\n icon: module.icon,\n type: 'menu',\n policy: {\n features: [features.Sales],\n },\n children: [],\n },\n ]);\n\n context.find(menuKeys.Root).addItems([\n {\n name: menuKeys.Customers,\n text: entities.customer.titlePlural,\n path: this.entityService.createPath(module.name, entities.customer.name),\n icon: entities.customer.icon,\n priority: 10,\n policy: {\n features: [features.Customers],\n permissions: [keys.MaintainCustomers],\n },\n },\n {\n name: menuKeys.Leads,\n text: entities.lead.titlePlural,\n path: this.entityService.createPath(module.name, entities.lead.name),\n icon: entities.lead.icon,\n priority: 20,\n policy: {\n features: [features.Sales],\n permissions: [keys.MaintainSales],\n },\n },\n {\n name: menuKeys.Opportunities,\n text: entities.opportunity.titlePlural,\n path: this.entityService.createPath(module.name, entities.opportunity.name),\n icon: entities.opportunity.icon,\n priority: 30,\n policy: {\n features: [features.Sales],\n permissions: [keys.MaintainSales],\n },\n },\n {\n name: menuKeys.Activities,\n text: entities.activity.titlePlural,\n path: this.entityService.createPath(module.name, entities.activity.name),\n icon: entities.activity.icon,\n priority: 40,\n policy: {\n features: [features.Sales],\n permissions: [keys.MaintainSales],\n },\n },\n {\n name: `${menuKeys.Root}:divider-setup`,\n text: '',\n type: 'break',\n priority: 50,\n },\n {\n name: menuKeys.SalesPipelines,\n text: entities.salesPipeline.titlePlural,\n path: this.entityService.createPath(module.name, entities.salesPipeline.name),\n icon: entities.salesPipeline.icon,\n priority: 60,\n policy: {\n features: [features.Sales],\n permissions: [keys.Setup],\n },\n },\n {\n name: menuKeys.OpportunityStages,\n text: entities.opportunityStage.titlePlural,\n path: this.entityService.createPath(module.name, entities.opportunityStage.name),\n icon: entities.opportunityStage.icon,\n priority: 70,\n policy: {\n features: [features.Sales],\n permissions: [keys.Setup],\n },\n },\n {\n name: menuKeys.LifecycleStages,\n text: '@customer-management:configuration.entities.lifecycle-stage.plural',\n path: this.entityService.createPath('BusinessCore', 'LifecycleStage'),\n icon: 'fa-light fa-timeline',\n priority: 80,\n policy: {\n features: [features.Sales],\n permissions: [keys.Setup],\n },\n },\n {\n name: menuKeys.SalesTerritories,\n text: '@customer-management:configuration.entities.sales-territory.plural',\n path: this.entityService.createPath('LocationManagement', 'GeographicRegion'),\n icon: 'fa-light fa-globe',\n priority: 90,\n policy: {\n features: [features.Sales],\n permissions: [keys.Setup],\n },\n },\n ]);\n }\n\n //#endregion\n}\n\n//#endregion\n","import { NgModule } from '@angular/core';\nimport {\n AXP_FEATURE_DEFINITION_PROVIDER,\n AXP_MODULE_MANIFEST_PROVIDER,\n} from '@acorex-platform/framework-client/core';\nimport { CustomerManagementManifest } from './manifest';\nimport { AXP_MENU_PROVIDER } from '@acorex-platform/framework-client/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\n\nimport { AXMCustomerManagementPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMCustomerManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport { AXMMenuProvider } from './menu.provider';\n\n@NgModule({\n imports: [],\n providers: [\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: CustomerManagementManifest,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMCustomerManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXMCustomerManagementFeatureDefinitionProvider,\n multi: true,\n },\n ],\n})\nexport class AXMCustomerManagementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@acorex-platform/module-customer-management-client",
3
+ "version": "0.0.21",
4
+ "sideEffects": false,
5
+ "peerDependencies": {
6
+ "@angular/common": "^21.0.0",
7
+ "@angular/core": "^21.0.0"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "module": "fesm2022/acorex-platform-module-customer-management-client.mjs",
13
+ "typings": "types/acorex-platform-module-customer-management-client.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./types/acorex-platform-module-customer-management-client.d.ts",
20
+ "default": "./fesm2022/acorex-platform-module-customer-management-client.mjs"
21
+ },
22
+ "./contracts": {
23
+ "types": "./types/acorex-platform-module-customer-management-client-contracts.d.ts",
24
+ "default": "./fesm2022/acorex-platform-module-customer-management-client-contracts.mjs"
25
+ }
26
+ },
27
+ "type": "module"
28
+ }
@@ -0,0 +1,301 @@
1
+ import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
2
+ import { AXPMultiLanguageString, AXPCategoryListItem, AXPIntegrationReference } from '@acorex-platform/framework-shared/core';
3
+
4
+ /**
5
+ * Customer Management sub-features.
6
+ * Module name `CustomerManagement` enables the module; these keys gate surfaces.
7
+ */
8
+ declare const AXPCustomerManagementFeatureKeys: {
9
+ /** Customer master / account info (no sales CRM). */
10
+ readonly Customers: "CustomerManagement:Feature:Customers";
11
+ /** Leads, opportunities, pipelines, stages, and sales activities. */
12
+ readonly Sales: "CustomerManagement:Feature:Sales";
13
+ };
14
+
15
+ declare const AXPCustomerManagementMenuKeys: {
16
+ readonly Root: "CustomerManagement:Menu";
17
+ readonly Customers: "CustomerManagement:Menu:Customers";
18
+ readonly Leads: "CustomerManagement:Menu:Leads";
19
+ readonly Opportunities: "CustomerManagement:Menu:Opportunities";
20
+ readonly Activities: "CustomerManagement:Menu:Activities";
21
+ readonly OpportunityStages: "CustomerManagement:Menu:OpportunityStages";
22
+ readonly SalesPipelines: "CustomerManagement:Menu:SalesPipelines";
23
+ readonly LifecycleStages: "CustomerManagement:Menu:LifecycleStages";
24
+ readonly SalesTerritories: "CustomerManagement:Menu:SalesTerritories";
25
+ };
26
+
27
+ /**
28
+ * Sales & Customers capabilities used by this module.
29
+ * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).
30
+ */
31
+ declare const AXPSalesCustomersPermissionKeys: {
32
+ readonly Access: "SalesCustomers:Permission:Access";
33
+ readonly MaintainCustomers: "SalesCustomers:Permission:MaintainCustomers";
34
+ readonly MaintainSales: "SalesCustomers:Permission:MaintainSales";
35
+ readonly MaintainProducts: "SalesCustomers:Permission:MaintainProducts";
36
+ readonly MaintainOrders: "SalesCustomers:Permission:MaintainOrders";
37
+ readonly MaintainSubscriptions: "SalesCustomers:Permission:MaintainSubscriptions";
38
+ readonly Setup: "SalesCustomers:Permission:Setup";
39
+ };
40
+ /**
41
+ * @deprecated Prefer {@link AXPSalesCustomersPermissionKeys}.
42
+ * Legacy nested shape kept so existing imports compile during migration.
43
+ */
44
+ declare const AXMCustomerManagementPermissions: {
45
+ readonly CustomerManagement: {
46
+ readonly Management: "SalesCustomers:Permission:Access";
47
+ readonly Customer: {
48
+ readonly Management: "SalesCustomers:Permission:MaintainCustomers";
49
+ readonly View: "SalesCustomers:Permission:MaintainCustomers";
50
+ readonly Create: "SalesCustomers:Permission:MaintainCustomers";
51
+ readonly Update: "SalesCustomers:Permission:MaintainCustomers";
52
+ readonly Delete: "SalesCustomers:Permission:MaintainCustomers";
53
+ };
54
+ readonly Lead: {
55
+ readonly View: "SalesCustomers:Permission:MaintainSales";
56
+ };
57
+ readonly Opportunity: {
58
+ readonly View: "SalesCustomers:Permission:MaintainSales";
59
+ };
60
+ };
61
+ };
62
+ /** @deprecated Prefer {@link AXPSalesCustomersPermissionKeys}. */
63
+ declare const AXPCustomerManagementPermissionKeys: {
64
+ readonly CustomerManagement: {
65
+ readonly Management: "SalesCustomers:Permission:Access";
66
+ readonly Customer: {
67
+ readonly Management: "SalesCustomers:Permission:MaintainCustomers";
68
+ readonly View: "SalesCustomers:Permission:MaintainCustomers";
69
+ readonly Create: "SalesCustomers:Permission:MaintainCustomers";
70
+ readonly Update: "SalesCustomers:Permission:MaintainCustomers";
71
+ readonly Delete: "SalesCustomers:Permission:MaintainCustomers";
72
+ };
73
+ readonly Lead: {
74
+ readonly View: "SalesCustomers:Permission:MaintainSales";
75
+ };
76
+ readonly Opportunity: {
77
+ readonly View: "SalesCustomers:Permission:MaintainSales";
78
+ };
79
+ };
80
+ };
81
+
82
+ declare const RootConfig: {
83
+ readonly config: {
84
+ i18n: string;
85
+ module: string;
86
+ };
87
+ readonly module: {
88
+ readonly route: "customer-management";
89
+ readonly name: string;
90
+ readonly title: `@${string}:module.title`;
91
+ readonly icon: "fa-light fa-handshake";
92
+ };
93
+ readonly entities: {
94
+ readonly customerSegment: {
95
+ readonly name: "CustomerSegment";
96
+ readonly source: `${string}.CustomerSegment`;
97
+ readonly title: `@${string}:customers.entities.customer-segment.title`;
98
+ readonly titlePlural: `@${string}:customers.entities.customer-segment.plural`;
99
+ readonly icon: "fa-light fa-chart-pie";
100
+ };
101
+ readonly customerWorksite: {
102
+ readonly name: "CustomerWorksite";
103
+ readonly source: `${string}.CustomerWorksite`;
104
+ readonly title: `@${string}:customer-worksites.entities.customer-worksite.title`;
105
+ readonly titlePlural: `@${string}:customer-worksites.entities.customer-worksite.plural`;
106
+ readonly icon: "fa-light fa-building";
107
+ };
108
+ readonly customer: {
109
+ readonly name: "Customer";
110
+ readonly source: `${string}.Customer`;
111
+ readonly title: `@${string}:customers.entities.customer.title`;
112
+ readonly titlePlural: `@${string}:customers.entities.customer.plural`;
113
+ readonly icon: "fa-light fa-building-user";
114
+ };
115
+ readonly customerType: {
116
+ readonly name: "CustomerType";
117
+ readonly source: `${string}.CustomerType`;
118
+ readonly title: `@${string}:customers.entities.customer-type.title`;
119
+ readonly titlePlural: `@${string}:customers.entities.customer-type.plural`;
120
+ readonly icon: "fa-light fa-building-user";
121
+ };
122
+ readonly lead: {
123
+ readonly name: "Lead";
124
+ readonly source: `${string}.Lead`;
125
+ readonly title: `@${string}:leads.entities.lead.title`;
126
+ readonly titlePlural: `@${string}:leads.entities.lead.plural`;
127
+ readonly icon: "fa-light fa-user-plus";
128
+ };
129
+ readonly opportunity: {
130
+ readonly name: "Opportunity";
131
+ readonly source: `${string}.Opportunity`;
132
+ readonly title: `@${string}:opportunities.entities.opportunity.title`;
133
+ readonly titlePlural: `@${string}:opportunities.entities.opportunity.plural`;
134
+ readonly icon: "fa-light fa-briefcase";
135
+ };
136
+ readonly opportunityStage: {
137
+ readonly name: "OpportunityStage";
138
+ readonly source: `${string}.OpportunityStage`;
139
+ readonly title: `@${string}:opportunities.entities.opportunity-stage.title`;
140
+ readonly titlePlural: `@${string}:opportunities.entities.opportunity-stage.plural`;
141
+ readonly icon: "fa-light fa-stairs";
142
+ };
143
+ readonly salesPipeline: {
144
+ readonly name: "SalesPipeline";
145
+ readonly source: `${string}.SalesPipeline`;
146
+ readonly title: `@${string}:opportunities.entities.sales-pipeline.title`;
147
+ readonly titlePlural: `@${string}:opportunities.entities.sales-pipeline.plural`;
148
+ readonly icon: "fa-light fa-diagram-project";
149
+ };
150
+ readonly activity: {
151
+ readonly name: "Activity";
152
+ readonly source: `${string}.Activity`;
153
+ readonly title: `@${string}:activities.entities.activity.title`;
154
+ readonly titlePlural: `@${string}:activities.entities.activity.plural`;
155
+ readonly icon: "fa-light fa-calendar-check";
156
+ };
157
+ readonly dealContactRole: {
158
+ readonly name: "DealContactRole";
159
+ readonly source: `${string}.DealContactRole`;
160
+ readonly title: `@${string}:opportunities.entities.deal-contact-role.title`;
161
+ readonly titlePlural: `@${string}:opportunities.entities.deal-contact-role.plural`;
162
+ readonly icon: "fa-light fa-users";
163
+ };
164
+ };
165
+ };
166
+
167
+ interface AXMCustomerManagementActivityEntityModel extends AXPEntityModel<string> {
168
+ type: 'call' | 'meeting' | 'task' | 'email';
169
+ subject: string;
170
+ dueDate?: Date;
171
+ status?: 'open' | 'completed' | 'canceled';
172
+ outcome?: string;
173
+ customerId?: string;
174
+ opportunityId?: string;
175
+ contactId?: string;
176
+ }
177
+
178
+ interface AXMCustomerManagementCustomerEntityModel extends AXPEntityModel<string> {
179
+ partyId: string;
180
+ party?: {
181
+ id: string;
182
+ code: string;
183
+ title: AXPMultiLanguageString;
184
+ description?: AXPMultiLanguageString;
185
+ phones?: unknown[];
186
+ emails?: unknown[];
187
+ addresses?: unknown[];
188
+ };
189
+ segmentId?: string;
190
+ partySegment?: {
191
+ id: string;
192
+ title: AXPMultiLanguageString;
193
+ };
194
+ territoryId?: string;
195
+ territory?: {
196
+ id: string;
197
+ title: string;
198
+ };
199
+ since?: Date;
200
+ isVip?: boolean;
201
+ accountManagerId?: string;
202
+ accountManager?: {
203
+ id: string;
204
+ person?: {
205
+ fullName?: string;
206
+ };
207
+ employeeCode?: string;
208
+ };
209
+ categoryIds?: string[];
210
+ categories?: AXPCategoryListItem[];
211
+ /** Link to remote CRM / PM integration record (e.g. Simpro customer). */
212
+ integrationRef?: AXPIntegrationReference | null;
213
+ }
214
+
215
+ interface AXMCustomerManagementCustomerSegmentEntityModel extends AXPEntityModel<string> {
216
+ title: string;
217
+ description?: string;
218
+ color?: string;
219
+ isActive?: boolean;
220
+ order?: number;
221
+ }
222
+
223
+ interface AXMCustomerManagementCustomerTypeEntityModel extends AXPEntityModel<string> {
224
+ title: string;
225
+ description?: string;
226
+ icon?: string;
227
+ isActive?: boolean;
228
+ order?: number;
229
+ }
230
+
231
+ interface AXMCustomerManagementDealContactRoleEntityModel extends AXPEntityModel<string> {
232
+ opportunityId: string;
233
+ contactId: string;
234
+ roleId: string;
235
+ role?: {
236
+ id: string;
237
+ title: string;
238
+ };
239
+ }
240
+
241
+ interface AXMCustomerManagementLeadEntityModel extends AXPEntityModel<string> {
242
+ name: string;
243
+ email?: string;
244
+ phone?: string;
245
+ company?: string;
246
+ status?: 'new' | 'working' | 'qualified' | 'unqualified';
247
+ lifecycleStageId?: string;
248
+ lifecycleStage?: {
249
+ id: string;
250
+ title: string;
251
+ };
252
+ ownerId?: string;
253
+ source?: string;
254
+ }
255
+
256
+ interface AXMCustomerManagementOpportunityEntityModel extends AXPEntityModel<string> {
257
+ title: string;
258
+ customerId: string;
259
+ customer?: {
260
+ id: string;
261
+ title?: string;
262
+ displayName?: string;
263
+ };
264
+ contactId?: string;
265
+ contact?: {
266
+ id: string;
267
+ displayName?: string;
268
+ };
269
+ amount?: number;
270
+ currency?: string;
271
+ probability?: number;
272
+ expectedClose?: Date;
273
+ stageId?: string;
274
+ stage?: {
275
+ id: string;
276
+ title: string;
277
+ };
278
+ pipelineId?: string;
279
+ pipeline?: {
280
+ id: string;
281
+ title: string;
282
+ };
283
+ ownerId?: string;
284
+ }
285
+
286
+ interface AXMCustomerManagementOpportunityStageEntityModel extends AXPEntityModel<string> {
287
+ title: string;
288
+ probability?: number;
289
+ order?: number;
290
+ isActive?: boolean;
291
+ }
292
+
293
+ interface AXMCustomerManagementSalesPipelineEntityModel extends AXPEntityModel<string> {
294
+ title: string;
295
+ description?: string;
296
+ isActive?: boolean;
297
+ order?: number;
298
+ }
299
+
300
+ export { AXMCustomerManagementPermissions, AXPCustomerManagementFeatureKeys, AXPCustomerManagementMenuKeys, AXPCustomerManagementPermissionKeys, AXPSalesCustomersPermissionKeys, RootConfig };
301
+ export type { AXMCustomerManagementActivityEntityModel, AXMCustomerManagementCustomerEntityModel, AXMCustomerManagementCustomerSegmentEntityModel, AXMCustomerManagementCustomerTypeEntityModel, AXMCustomerManagementDealContactRoleEntityModel, AXMCustomerManagementLeadEntityModel, AXMCustomerManagementOpportunityEntityModel, AXMCustomerManagementOpportunityStageEntityModel, AXMCustomerManagementSalesPipelineEntityModel };
@@ -0,0 +1,9 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ declare class AXMCustomerManagementModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMCustomerManagementModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMCustomerManagementModule, never, never, never>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMCustomerManagementModule>;
7
+ }
8
+
9
+ export { AXMCustomerManagementModule };