@acorex-platform/extension-project-management-core-client 0.0.37 → 0.0.46
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.
- package/fesm2022/acorex-platform-extension-project-management-core-client-contracts.mjs +1 -17
- package/fesm2022/acorex-platform-extension-project-management-core-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-extension-project-management-core-client.mjs +0 -34
- package/fesm2022/acorex-platform-extension-project-management-core-client.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-platform-extension-project-management-core-client-contracts.d.ts +2 -63
|
@@ -10,16 +10,6 @@ const RootConfig = {
|
|
|
10
10
|
title: `@${config.i18n}:module.title`,
|
|
11
11
|
icon: 'fa-light fa-diagram-project',
|
|
12
12
|
},
|
|
13
|
-
entities: {
|
|
14
|
-
integrationRemoteRecord: {
|
|
15
|
-
name: 'IntegrationRemoteRecord',
|
|
16
|
-
fullName: `${MODULE_NAME}.IntegrationRemoteRecord`,
|
|
17
|
-
title: `@${config.i18n}:integration-remote-record.entities.record.title`,
|
|
18
|
-
titlePlural: `@${config.i18n}:integration-remote-record.entities.record.plural`,
|
|
19
|
-
icon: 'fa-light fa-cloud-arrow-down',
|
|
20
|
-
source: `${MODULE_NAME}.IntegrationRemoteRecord`,
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
13
|
};
|
|
24
14
|
//#endregion
|
|
25
15
|
|
|
@@ -38,12 +28,6 @@ const AXE_PM_DOMAIN_ID = 'project-management';
|
|
|
38
28
|
const AXE_PM_INTEGRATION_PROVIDER_SIMPRO = 'simpro';
|
|
39
29
|
const AXE_PM_INTEGRATION_PROVIDER_SERVICEM8 = 'servicem8';
|
|
40
30
|
const AXE_PM_INTEGRATION_PROVIDER_FERGUS = 'fergus';
|
|
41
|
-
const AXE_PM_INTEGRATION_RESOURCE_JOB = 'job';
|
|
42
|
-
const AXE_PM_INTEGRATION_RESOURCE_CUSTOMER = 'customer';
|
|
43
|
-
const AXE_PM_INTEGRATION_RESOURCE_SITE = 'site';
|
|
44
|
-
//#endregion
|
|
45
|
-
|
|
46
|
-
//#region ---- Integration remote record (cache entity) ----
|
|
47
31
|
//#endregion
|
|
48
32
|
|
|
49
33
|
//#region ---- Shared project-management sync types ----
|
|
@@ -62,5 +46,5 @@ const AXE_PM_PROJECT_IMPORT_PORT = Symbol('AXE_PM_PROJECT_IMPORT_PORT');
|
|
|
62
46
|
* Generated bundle index. Do not edit.
|
|
63
47
|
*/
|
|
64
48
|
|
|
65
|
-
export { AXEPMExtensionSettings, AXE_PM_DOMAIN_ID, AXE_PM_INTEGRATION_PROVIDER_FERGUS, AXE_PM_INTEGRATION_PROVIDER_SERVICEM8, AXE_PM_INTEGRATION_PROVIDER_SIMPRO,
|
|
49
|
+
export { AXEPMExtensionSettings, AXE_PM_DOMAIN_ID, AXE_PM_INTEGRATION_PROVIDER_FERGUS, AXE_PM_INTEGRATION_PROVIDER_SERVICEM8, AXE_PM_INTEGRATION_PROVIDER_SIMPRO, AXE_PM_PROJECT_IMPORT_PORT, AXE_PM_PROJECT_SYNC_STRATEGIES, RootConfig };
|
|
66
50
|
//# sourceMappingURL=acorex-platform-extension-project-management-core-client-contracts.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-extension-project-management-core-client-contracts.mjs","sources":["../../../../libs/extensions/project-management/core/contracts/src/root-config.ts","../../../../libs/extensions/project-management/core/contracts/src/settings.keys.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-domain.constants.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-remote.constants.ts","../../../../libs/extensions/project-management/core/contracts/src/
|
|
1
|
+
{"version":3,"file":"acorex-platform-extension-project-management-core-client-contracts.mjs","sources":["../../../../libs/extensions/project-management/core/contracts/src/root-config.ts","../../../../libs/extensions/project-management/core/contracts/src/settings.keys.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-domain.constants.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-remote.constants.ts","../../../../libs/extensions/project-management/core/contracts/src/project-sync.types.ts","../../../../libs/extensions/project-management/core/contracts/src/project-import.port.ts","../../../../libs/extensions/project-management/core/contracts/src/acorex-platform-extension-project-management-core-client-contracts.ts"],"sourcesContent":["//#region ---- Project management extension root config ----\n\nconst config = {\n i18n: 'extensions-project-management',\n};\n\nconst MODULE_NAME = 'ProjectManagementExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-diagram-project',\n },\n};\n\n//#endregion\n","//#region ---- Project management extension settings keys ----\n\nexport const AXEPMExtensionSettings = {\n ConnectionsPanel: 'ProjectManagementExtension:Setting:ConnectionsPanel',\n DefaultProjectTypeId: 'ProjectManagementExtension:Setting:DefaultProjectTypeId',\n} as const;\n\n//#endregion\n","//#region ---- Project management integration domain ----\n\nexport const AXE_PM_DOMAIN_ID = 'project-management';\n\n//#endregion\n","//#region ---- Integration remote record constants ----\n\nexport const AXE_PM_INTEGRATION_PROVIDER_SIMPRO = 'simpro';\nexport const AXE_PM_INTEGRATION_PROVIDER_SERVICEM8 = 'servicem8';\nexport const AXE_PM_INTEGRATION_PROVIDER_FERGUS = 'fergus';\n\n//#endregion\n","//#region ---- Shared project-management sync types ----\n\n/** Unified sync strategy for vendor project import flows (Jira, Simpro, …). */\nexport type AXEPMProjectSyncStrategy = 'remoteOverride' | 'localOverride' | 'merge';\n\nexport const AXE_PM_PROJECT_SYNC_STRATEGIES: readonly AXEPMProjectSyncStrategy[] = [\n 'remoteOverride',\n 'localOverride',\n 'merge',\n] as const;\n\nexport interface AXEPMRemoteProject {\n id: string;\n key?: string;\n name: string;\n description?: string;\n}\n\nexport interface AXEPMProjectImportInput {\n connectionId: string;\n remoteProjectId: string;\n syncStrategy: AXEPMProjectSyncStrategy;\n}\n\nexport interface AXEPMProjectImportResult {\n platformProjectId: string;\n}\n\n//#endregion\n","import type { AXEPMProjectImportInput, AXEPMProjectImportResult, AXEPMRemoteProject } from './project-sync.types';\n\n//#region ---- Project import port ----\n\nexport const AXE_PM_PROJECT_IMPORT_PORT = Symbol('AXE_PM_PROJECT_IMPORT_PORT');\n\n/** Connector-specific project list/import port (implemented per vendor extension). */\nexport interface AXEPMProjectImportPort {\n readonly providerId: string;\n listRemoteProjects(connectionId: string): Promise<AXEPMRemoteProject[]>;\n importProject(input: AXEPMProjectImportInput): Promise<AXEPMProjectImportResult>;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,+BAA+B;CACtC;AAED,MAAM,WAAW,GAAG,4BAA4B;AAEzC,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,aAAA,CAAe;AACrC,QAAA,IAAI,EAAE,6BAA6B;AACpC,KAAA;;AAGH;;ACjBA;AAEO,MAAM,sBAAsB,GAAG;AACpC,IAAA,gBAAgB,EAAE,qDAAqD;AACvE,IAAA,oBAAoB,EAAE,yDAAyD;;AAGjF;;ACPA;AAEO,MAAM,gBAAgB,GAAG;AAEhC;;ACJA;AAEO,MAAM,kCAAkC,GAAG;AAC3C,MAAM,qCAAqC,GAAG;AAC9C,MAAM,kCAAkC,GAAG;AAElD;;ACNA;AAKO,MAAM,8BAA8B,GAAwC;IACjF,gBAAgB;IAChB,eAAe;IACf,OAAO;;AAoBT;;AC1BA;MAEa,0BAA0B,GAAG,MAAM,CAAC,4BAA4B;AAS7E;;ACbA;;AAEG;;"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AXP_SETTING_DEFINITION_PROVIDER, AXP_INTEGRATION_DOMAIN_PROVIDER } from '@acorex-platform/framework-client/common';
|
|
2
|
-
import { AXP_ENTITY_DEFINITION_LOADER } from '@acorex-platform/framework-client/layout/entity';
|
|
3
2
|
import * as i0 from '@angular/core';
|
|
4
3
|
import { Injectable, inject, NgModule } from '@angular/core';
|
|
5
4
|
import { AXP_INTEGRATION_CAPABILITY, AXP_INTEGRATION_CATEGORY, AXPWidgetsList } from '@acorex-platform/framework-shared/core';
|
|
@@ -79,44 +78,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
79
78
|
type: Injectable
|
|
80
79
|
}] });
|
|
81
80
|
|
|
82
|
-
class AXEPMEntityProvider {
|
|
83
|
-
preload() {
|
|
84
|
-
const module = RootConfig.module.name;
|
|
85
|
-
return Object.values(RootConfig.entities).map((entity) => ({
|
|
86
|
-
module,
|
|
87
|
-
entity: entity.name,
|
|
88
|
-
}));
|
|
89
|
-
}
|
|
90
|
-
async get(moduleName, entityName) {
|
|
91
|
-
if (moduleName !== RootConfig.module.name) {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
if (entityName === RootConfig.entities.integrationRemoteRecord.name) {
|
|
95
|
-
return (await import('@acorex-platform/extension-project-management-core-domain')).integrationRemoteRecordFactory();
|
|
96
|
-
}
|
|
97
|
-
return null;
|
|
98
|
-
}
|
|
99
|
-
async list() {
|
|
100
|
-
const module = RootConfig.module.name;
|
|
101
|
-
return Object.values(RootConfig.entities).map((entity) => ({
|
|
102
|
-
name: entity.name,
|
|
103
|
-
module,
|
|
104
|
-
}));
|
|
105
|
-
}
|
|
106
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
107
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMEntityProvider }); }
|
|
108
|
-
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMEntityProvider, decorators: [{
|
|
110
|
-
type: Injectable
|
|
111
|
-
}] });
|
|
112
|
-
|
|
113
81
|
class AXEPMExtensionModule {
|
|
114
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
115
83
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXEPMExtensionModule }); }
|
|
116
84
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMExtensionModule, providers: [
|
|
117
85
|
{ provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXEPMSettingsProvider, multi: true },
|
|
118
86
|
{ provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXEPMIntegrationDomainProvider, multi: true },
|
|
119
|
-
{ provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXEPMEntityProvider, multi: true },
|
|
120
87
|
] }); }
|
|
121
88
|
}
|
|
122
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMExtensionModule, decorators: [{
|
|
@@ -125,7 +92,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
125
92
|
providers: [
|
|
126
93
|
{ provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXEPMSettingsProvider, multi: true },
|
|
127
94
|
{ provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXEPMIntegrationDomainProvider, multi: true },
|
|
128
|
-
{ provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXEPMEntityProvider, multi: true },
|
|
129
95
|
],
|
|
130
96
|
}]
|
|
131
97
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-extension-project-management-core-client.mjs","sources":["../../../../libs/extensions/project-management/core/client/src/lib/integration/project-management.integration-domain.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/settings.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/entity.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/project-management-extension.module.ts","../../../../libs/extensions/project-management/core/client/src/acorex-platform-extension-project-management-core-client.ts"],"sourcesContent":["import { AXP_INTEGRATION_CATEGORY, AXP_INTEGRATION_CAPABILITY } from '@acorex-platform/framework-shared/core';\nimport {\n type AXPIntegrationDomainProvider,\n AXPIntegrationDomainProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport {\n AXE_PM_DOMAIN_ID,\n RootConfig,\n} from '@acorex-platform/extension-project-management-core-client/contracts';\n\nconst I18N = `@${RootConfig.config.i18n}:integration.domain`;\n\n@Injectable()\nexport class AXEPMIntegrationDomainProvider implements AXPIntegrationDomainProvider {\n async provide(context: AXPIntegrationDomainProviderContext): Promise<void> {\n context.register({\n id: AXE_PM_DOMAIN_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.title`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n category: AXP_INTEGRATION_CATEGORY.ProjectManagement,\n capabilities: [\n AXP_INTEGRATION_CAPABILITY.IssueTracking,\n AXP_INTEGRATION_CAPABILITY.TimeLogging,\n AXP_INTEGRATION_CAPABILITY.Sync,\n AXP_INTEGRATION_CAPABILITY.Import,\n ],\n sortOrder: 20,\n });\n }\n}\n","import { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { Injectable, inject } from '@angular/core';\nimport {\n AXEPMExtensionSettings,\n RootConfig,\n} from '@acorex-platform/extension-project-management-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\n\nconst PM_SETTINGS_GROUP = 'project-management';\nconst I18N = `@${RootConfig.config.i18n}:settings.project-management`;\n\n@Injectable()\nexport class AXEPMSettingsProvider implements AXPSettingDefinitionProvider {\n private readonly sessionService = inject(AXPSessionService);\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Only register when the app edition entitles Project Management (not Platform Console).\n if (!this.sessionService.isModuleEnabled(PmRootConfig.module.name)) {\n return;\n }\n\n if (context.hasGroup(PM_SETTINGS_GROUP)) {\n return;\n }\n\n context\n .addGroup(\n PM_SETTINGS_GROUP,\n `${I18N}.group.nav-title`,\n `${I18N}.group.description`,\n RootConfig.module.icon,\n `${I18N}.group.title`,\n 46,\n )\n .addSection('configuration', `${I18N}.section-title`, `${I18N}.section-description`)\n .addSetting({\n key: AXEPMExtensionSettings.DefaultProjectTypeId,\n title: `${I18N}.default-project-type.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: true,\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${PmRootConfig.module.name}.${PmRootConfig.entities.projectType.name}`,\n look: 'select',\n multiple: false,\n textField: 'title',\n valueField: 'id',\n hasClearButton: true,\n },\n },\n description: `${I18N}.default-project-type.description`,\n })\n .endSection()\n .endGroup();\n }\n}\n","//#region ---- Entity Provider ----\n\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/extension-project-management-core-client/contracts';\n\n@Injectable()\nexport class AXEPMEntityProvider implements AXPEntityDefinitionLoader {\n preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Object.values(RootConfig.entities).map((entity) => ({\n module,\n entity: entity.name,\n }));\n }\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName !== RootConfig.module.name) {\n return null;\n }\n\n if (entityName === RootConfig.entities.integrationRemoteRecord.name) {\n return (await import('@acorex-platform/extension-project-management-core-domain')).integrationRemoteRecordFactory();\n }\n\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const module = RootConfig.module.name;\n return Object.values(RootConfig.entities).map((entity) => ({\n name: entity.name,\n module,\n }));\n }\n}\n\n//#endregion\n","import {\n AXP_INTEGRATION_DOMAIN_PROVIDER,\n AXP_SETTING_DEFINITION_PROVIDER,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex-platform/framework-client/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXEPMIntegrationDomainProvider } from './integration/project-management.integration-domain.provider';\nimport { AXEPMSettingsProvider } from './settings.provider';\nimport { AXEPMEntityProvider } from './entity.provider';\n\n@NgModule({\n providers: [\n { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXEPMSettingsProvider, multi: true },\n { provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXEPMIntegrationDomainProvider, multi: true },\n { provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXEPMEntityProvider, multi: true },\n ],\n})\nexport class AXEPMExtensionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["I18N","PmRootConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-extension-project-management-core-client.mjs","sources":["../../../../libs/extensions/project-management/core/client/src/lib/integration/project-management.integration-domain.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/settings.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/project-management-extension.module.ts","../../../../libs/extensions/project-management/core/client/src/acorex-platform-extension-project-management-core-client.ts"],"sourcesContent":["import { AXP_INTEGRATION_CATEGORY, AXP_INTEGRATION_CAPABILITY } from '@acorex-platform/framework-shared/core';\nimport {\n type AXPIntegrationDomainProvider,\n AXPIntegrationDomainProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport {\n AXE_PM_DOMAIN_ID,\n RootConfig,\n} from '@acorex-platform/extension-project-management-core-client/contracts';\n\nconst I18N = `@${RootConfig.config.i18n}:integration.domain`;\n\n@Injectable()\nexport class AXEPMIntegrationDomainProvider implements AXPIntegrationDomainProvider {\n async provide(context: AXPIntegrationDomainProviderContext): Promise<void> {\n context.register({\n id: AXE_PM_DOMAIN_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.title`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n category: AXP_INTEGRATION_CATEGORY.ProjectManagement,\n capabilities: [\n AXP_INTEGRATION_CAPABILITY.IssueTracking,\n AXP_INTEGRATION_CAPABILITY.TimeLogging,\n AXP_INTEGRATION_CAPABILITY.Sync,\n AXP_INTEGRATION_CAPABILITY.Import,\n ],\n sortOrder: 20,\n });\n }\n}\n","import { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { Injectable, inject } from '@angular/core';\nimport {\n AXEPMExtensionSettings,\n RootConfig,\n} from '@acorex-platform/extension-project-management-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\n\nconst PM_SETTINGS_GROUP = 'project-management';\nconst I18N = `@${RootConfig.config.i18n}:settings.project-management`;\n\n@Injectable()\nexport class AXEPMSettingsProvider implements AXPSettingDefinitionProvider {\n private readonly sessionService = inject(AXPSessionService);\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Only register when the app edition entitles Project Management (not Platform Console).\n if (!this.sessionService.isModuleEnabled(PmRootConfig.module.name)) {\n return;\n }\n\n if (context.hasGroup(PM_SETTINGS_GROUP)) {\n return;\n }\n\n context\n .addGroup(\n PM_SETTINGS_GROUP,\n `${I18N}.group.nav-title`,\n `${I18N}.group.description`,\n RootConfig.module.icon,\n `${I18N}.group.title`,\n 46,\n )\n .addSection('configuration', `${I18N}.section-title`, `${I18N}.section-description`)\n .addSetting({\n key: AXEPMExtensionSettings.DefaultProjectTypeId,\n title: `${I18N}.default-project-type.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: true,\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${PmRootConfig.module.name}.${PmRootConfig.entities.projectType.name}`,\n look: 'select',\n multiple: false,\n textField: 'title',\n valueField: 'id',\n hasClearButton: true,\n },\n },\n description: `${I18N}.default-project-type.description`,\n })\n .endSection()\n .endGroup();\n }\n}\n","import {\n AXP_INTEGRATION_DOMAIN_PROVIDER,\n AXP_SETTING_DEFINITION_PROVIDER,\n} from '@acorex-platform/framework-client/common';\nimport { NgModule } from '@angular/core';\nimport { AXEPMIntegrationDomainProvider } from './integration/project-management.integration-domain.provider';\nimport { AXEPMSettingsProvider } from './settings.provider';\n\n@NgModule({\n providers: [\n { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXEPMSettingsProvider, multi: true },\n { provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXEPMIntegrationDomainProvider, multi: true },\n ],\n})\nexport class AXEPMExtensionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["I18N","PmRootConfig"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex-platform/extension-project-management-core-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.46",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0 || ^22.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0 || ^22.0.0"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@acorex-platform/extension-project-management-core-domain": "0.0.
|
|
10
|
+
"@acorex-platform/extension-project-management-core-domain": "0.0.46",
|
|
11
11
|
"tslib": "^2.3.0"
|
|
12
12
|
},
|
|
13
13
|
"module": "fesm2022/acorex-platform-extension-project-management-core-client.mjs",
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
|
|
2
|
-
|
|
3
1
|
declare const RootConfig: {
|
|
4
2
|
config: {
|
|
5
3
|
i18n: string;
|
|
@@ -9,16 +7,6 @@ declare const RootConfig: {
|
|
|
9
7
|
title: string;
|
|
10
8
|
icon: string;
|
|
11
9
|
};
|
|
12
|
-
entities: {
|
|
13
|
-
integrationRemoteRecord: {
|
|
14
|
-
name: string;
|
|
15
|
-
fullName: string;
|
|
16
|
-
title: string;
|
|
17
|
-
titlePlural: string;
|
|
18
|
-
icon: string;
|
|
19
|
-
source: string;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
10
|
};
|
|
23
11
|
|
|
24
12
|
declare const AXEPMExtensionSettings: {
|
|
@@ -31,55 +19,6 @@ declare const AXE_PM_DOMAIN_ID = "project-management";
|
|
|
31
19
|
declare const AXE_PM_INTEGRATION_PROVIDER_SIMPRO = "simpro";
|
|
32
20
|
declare const AXE_PM_INTEGRATION_PROVIDER_SERVICEM8 = "servicem8";
|
|
33
21
|
declare const AXE_PM_INTEGRATION_PROVIDER_FERGUS = "fergus";
|
|
34
|
-
declare const AXE_PM_INTEGRATION_RESOURCE_JOB = "job";
|
|
35
|
-
declare const AXE_PM_INTEGRATION_RESOURCE_CUSTOMER = "customer";
|
|
36
|
-
declare const AXE_PM_INTEGRATION_RESOURCE_SITE = "site";
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Resource / data-type discriminator for cached remote rows.
|
|
40
|
-
* For Simpro multi-connection, `providerId` on the row is the **connection id**
|
|
41
|
-
* (not the integration provider key), and `resourceType` is the data type.
|
|
42
|
-
*/
|
|
43
|
-
type AXEPMIntegrationResourceType = 'job' | 'customer' | 'site' | 'project' | 'task';
|
|
44
|
-
interface AXEPMIntegrationRemoteRecordEntityModel extends AXPEntityModel<string> {
|
|
45
|
-
/**
|
|
46
|
-
* Cache partition key.
|
|
47
|
-
* Simpro: integration connection id. Other providers may still use provider key (e.g. `servicem8`).
|
|
48
|
-
*/
|
|
49
|
-
providerId: string;
|
|
50
|
-
/** Data type: job | customer | site | … */
|
|
51
|
-
resourceType: AXEPMIntegrationResourceType | string;
|
|
52
|
-
remoteId: string;
|
|
53
|
-
name: string;
|
|
54
|
-
code?: string | null;
|
|
55
|
-
orderNo?: string | null;
|
|
56
|
-
stage?: string | null;
|
|
57
|
-
customerName?: string | null;
|
|
58
|
-
siteName?: string | null;
|
|
59
|
-
dueDate?: string | null;
|
|
60
|
-
/** Display name of the owning integration connection (Simpro multi-connection lists). */
|
|
61
|
-
connectionDisplayName?: string | null;
|
|
62
|
-
payloadJson?: string | null;
|
|
63
|
-
remoteFetchedAt: string;
|
|
64
|
-
isActive: boolean;
|
|
65
|
-
isLinked: boolean;
|
|
66
|
-
}
|
|
67
|
-
interface AXEPMIntegrationRemoteRecordUpsertInput {
|
|
68
|
-
remoteId: string;
|
|
69
|
-
name: string;
|
|
70
|
-
code?: string | null;
|
|
71
|
-
orderNo?: string | null;
|
|
72
|
-
stage?: string | null;
|
|
73
|
-
customerName?: string | null;
|
|
74
|
-
siteName?: string | null;
|
|
75
|
-
dueDate?: string | null;
|
|
76
|
-
connectionDisplayName?: string | null;
|
|
77
|
-
payloadJson?: string | null;
|
|
78
|
-
}
|
|
79
|
-
interface AXEPMIntegrationRemotePullResult {
|
|
80
|
-
upserted: number;
|
|
81
|
-
deactivated: number;
|
|
82
|
-
}
|
|
83
22
|
|
|
84
23
|
/** Unified sync strategy for vendor project import flows (Jira, Simpro, …). */
|
|
85
24
|
type AXEPMProjectSyncStrategy = 'remoteOverride' | 'localOverride' | 'merge';
|
|
@@ -107,5 +46,5 @@ interface AXEPMProjectImportPort {
|
|
|
107
46
|
importProject(input: AXEPMProjectImportInput): Promise<AXEPMProjectImportResult>;
|
|
108
47
|
}
|
|
109
48
|
|
|
110
|
-
export { AXEPMExtensionSettings, AXE_PM_DOMAIN_ID, AXE_PM_INTEGRATION_PROVIDER_FERGUS, AXE_PM_INTEGRATION_PROVIDER_SERVICEM8, AXE_PM_INTEGRATION_PROVIDER_SIMPRO,
|
|
111
|
-
export type {
|
|
49
|
+
export { AXEPMExtensionSettings, AXE_PM_DOMAIN_ID, AXE_PM_INTEGRATION_PROVIDER_FERGUS, AXE_PM_INTEGRATION_PROVIDER_SERVICEM8, AXE_PM_INTEGRATION_PROVIDER_SIMPRO, AXE_PM_PROJECT_IMPORT_PORT, AXE_PM_PROJECT_SYNC_STRATEGIES, RootConfig };
|
|
50
|
+
export type { AXEPMProjectImportInput, AXEPMProjectImportPort, AXEPMProjectImportResult, AXEPMProjectSyncStrategy, AXEPMRemoteProject };
|