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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entities-integration-application.mjs +153 -0
  2. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entities-integration-application.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entities-integration-connection.mjs +191 -0
  4. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entities-integration-connection.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entities-integration-oauth-state.mjs +127 -0
  6. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entities-integration-oauth-state.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog-acorex-platform-module-integration-management-client-contracts-entity-catalog-BT3-xrGZ.mjs +69 -0
  8. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog-acorex-platform-module-integration-management-client-contracts-entity-catalog-BT3-xrGZ.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog-integration-application.entity-BGZKCUt8.mjs +105 -0
  10. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog-integration-application.entity-BGZKCUt8.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog-integration-connection.entity-CYQq6jv2.mjs +143 -0
  12. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog-integration-connection.entity-CYQq6jv2.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog-integration-oauth-state.entity-BPvTE55S.mjs +79 -0
  14. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog-integration-oauth-state.entity-BPvTE55S.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog.mjs +2 -0
  16. package/fesm2022/acorex-platform-module-integration-management-client-contracts-entity-catalog.mjs.map +1 -0
  17. package/fesm2022/{acorex-platform-module-integration-management-client-integration-ref-filter-widget-edit.component-DeED5cU5.mjs → acorex-platform-module-integration-management-client-integration-ref-filter-widget-edit.component-D9kaBnug.mjs} +10 -11
  18. package/fesm2022/acorex-platform-module-integration-management-client-integration-ref-filter-widget-edit.component-D9kaBnug.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-integration-management-client-local-entities.mjs +31 -0
  20. package/fesm2022/acorex-platform-module-integration-management-client-local-entities.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-integration-management-client.mjs +1 -1
  22. package/package.json +21 -1
  23. package/types/acorex-platform-module-integration-management-client-contracts-entities-integration-application.d.ts +5 -0
  24. package/types/acorex-platform-module-integration-management-client-contracts-entities-integration-connection.d.ts +5 -0
  25. package/types/acorex-platform-module-integration-management-client-contracts-entities-integration-oauth-state.d.ts +5 -0
  26. package/types/acorex-platform-module-integration-management-client-contracts-entity-catalog.d.ts +10 -0
  27. package/types/acorex-platform-module-integration-management-client-local-entities.d.ts +12 -0
  28. package/fesm2022/acorex-platform-module-integration-management-client-integration-ref-filter-widget-edit.component-DeED5cU5.mjs.map +0 -1
@@ -0,0 +1,10 @@
1
+ import { AXPLocalEntityCatalog } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Lazy per-entity layout factories. Do not re-export from the contracts barrel
5
+ * so RootConfig imports stay light. Server seed and client `local-entities`
6
+ * consume this catalog explicitly.
7
+ */
8
+ declare const integrationManagementLocalEntityCatalog: AXPLocalEntityCatalog;
9
+
10
+ export { integrationManagementLocalEntityCatalog };
@@ -0,0 +1,12 @@
1
+ import * as _angular_core from '@angular/core';
2
+ export { integrationManagementLocalEntityCatalog } from '@acorex-platform/module-integration-management-client/contracts/entity-catalog';
3
+
4
+ /**
5
+ * Registers integration-management layouts on the client from packaged factories.
6
+ * Each `import()` targets a secondary entry so unused entities stay out of the
7
+ * bundle. Do not add this to the demo app; demo continues to load layouts via
8
+ * `Domain:GetEntityLayout`.
9
+ */
10
+ declare function provideIntegrationManagementLocalEntities(): _angular_core.EnvironmentProviders;
11
+
12
+ export { provideIntegrationManagementLocalEntities };
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-module-integration-management-client-integration-ref-filter-widget-edit.component-DeED5cU5.mjs","sources":["../../../../libs/modules/integration-management/client/src/lib/features/widgets/integration-ref/integration-ref-filter-widget-edit.component.ts","../../../../libs/modules/integration-management/client/src/lib/features/widgets/integration-ref/integration-ref-filter-widget-edit.component.html"],"sourcesContent":["//#region ----- Imports -----\n\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXPIntegrationDomainRegistryService } from '@acorex-platform/framework-client/common';\nimport { AXPLogoComponent } from '@acorex-platform/framework-client/core';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { isArray, isString } from 'lodash';\n\n//#endregion\n\n//#region ----- Types -----\n\ninterface IntegrationSourceFilterItem {\n id: string;\n title: string;\n logoKey?: string;\n icon?: string;\n}\n\ninterface IntegrationSourceFilterValue {\n value?: string | string[] | null;\n operation?: { type: string };\n displayText?: string;\n}\n\n//#endregion\n\n//#region ----- Component -----\n\n@Component({\n selector: 'axm-integration-ref-filter-widget-edit',\n templateUrl: './integration-ref-filter-widget-edit.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AsyncPipe,\n FormsModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n AXTranslationModule,\n AXPLogoComponent,\n ],\n})\nexport class AXMIntegrationRefFilterWidgetEditComponent extends AXPValueWidgetComponent<IntegrationSourceFilterValue | null> {\n //#region ----- Services & Dependencies -----\n\n private readonly domainRegistry = inject(AXPIntegrationDomainRegistryService);\n private readonly translateService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ----- View Children -----\n\n protected readonly selectBox = viewChild<AXSelectBoxComponent>('selectBox');\n\n //#endregion\n\n //#region ----- Computed Properties -----\n\n protected readonly value = computed(() => this.getValue()?.value);\n\n //#endregion\n\n //#region ----- Data Source -----\n\n protected readonly dataSource = new AXDataSource<IntegrationSourceFilterItem>({\n load: async () => {\n const items = await this.loadProviderItems();\n return { items, total: items.length };\n },\n byKey: async (id: unknown) => {\n const key = String(id ?? '');\n if (!key) {\n return { id: '', title: '' };\n }\n const items = await this.loadProviderItems();\n return items.find((item) => item.id === key) ?? { id: key, title: key };\n },\n pageSize: 100,\n key: 'id',\n });\n\n //#endregion\n\n //#region ----- Event Handlers -----\n\n protected handleValueChange(event: AXValueChangedEvent): void {\n if (!event.isUserInteraction) {\n return;\n }\n\n const selected = this.normalizeSelectedIds(event.value);\n if (selected.length === 0) {\n this.setValue(null);\n return;\n }\n\n const displayText = this.resolveDisplayTextSync(selected);\n this.setValue({\n value: selected.length === 1 ? selected[0] : selected,\n operation: { type: selected.length === 1 ? 'equal' : 'in' },\n displayText,\n });\n\n if (!displayText) {\n void this.enrichDisplayText(selected);\n }\n }\n\n focus(): void {\n this.selectBox()?.focus();\n }\n\n //#endregion\n\n //#region ----- Helpers -----\n\n private providerItemsCache: IntegrationSourceFilterItem[] | null = null;\n\n private async loadProviderItems(): Promise<IntegrationSourceFilterItem[]> {\n if (this.providerItemsCache) {\n return this.providerItemsCache;\n }\n\n const providers = await this.domainRegistry.listProviders();\n const items: IntegrationSourceFilterItem[] = [];\n\n for (const provider of providers) {\n const title = provider.displayName?.startsWith('@')\n ? await this.translateService.translateAsync(provider.displayName)\n : provider.displayName;\n items.push({\n id: provider.id,\n title: title || provider.id,\n logoKey: provider.logoKey,\n icon: provider.icon,\n });\n }\n\n items.sort((a, b) => a.title.localeCompare(b.title));\n this.providerItemsCache = items;\n return items;\n }\n\n private resolveDisplayTextSync(selected: string[]): string {\n const cached = this.providerItemsCache;\n if (!cached) {\n return selected.join(', ');\n }\n return selected.map((id) => cached.find((item) => item.id === id)?.title ?? id).join(', ');\n }\n\n private async enrichDisplayText(selected: string[]): Promise<void> {\n const items = await this.loadProviderItems();\n const current = this.getValue();\n if (!current?.value) {\n return;\n }\n const titles = selected.map((id) => items.find((item) => item.id === id)?.title ?? id).join(', ');\n this.setValue({\n ...current,\n displayText: titles,\n });\n }\n\n private normalizeSelectedIds(raw: unknown): string[] {\n if (raw == null || raw === '') {\n return [];\n }\n if (isArray(raw)) {\n return raw\n .map((item) => {\n if (isString(item)) {\n return item.trim();\n }\n if (item && typeof item === 'object' && 'id' in item) {\n return String((item as { id: unknown }).id ?? '').trim();\n }\n return String(item ?? '').trim();\n })\n .filter((id) => id.length > 0);\n }\n if (isString(raw)) {\n const id = raw.trim();\n return id ? [id] : [];\n }\n if (raw && typeof raw === 'object' && 'id' in raw) {\n const id = String((raw as { id: unknown }).id ?? '').trim();\n return id ? [id] : [];\n }\n return [];\n }\n\n //#endregion\n}\n\n//#endregion\n","<div class=\"flex w-full items-center\">\n <ax-select-box\n #selectBox\n class=\"w-full\"\n textField=\"title\"\n valueField=\"id\"\n [multiple]=\"true\"\n [placeholder]=\"\n ('@integration-management:widgets.integration-ref.filter.placeholder' | translate | async) ?? ''\n \"\n [dataSource]=\"dataSource\"\n [ngModel]=\"value()\"\n (onValueChanged)=\"handleValueChange($event)\"\n [itemTemplate]=\"itemTemplate\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n\n <ng-template #itemTemplate let-context>\n @let item = context.data ?? context;\n <div class=\"flex w-full items-center gap-2\">\n @if (item.logoKey) {\n <axp-logo [logoKey]=\"item.logoKey\" appearance=\"colored\" [size]=\"16\" />\n }\n <!-- ----- Fallback FA icon when provider has no logoKey ----- -->\n @else if (item.icon) {\n <i [class]=\"item.icon\" class=\"shrink-0 text-sm\"></i>\n }\n <span class=\"truncate\">{{ item.title }}</span>\n </div>\n </ng-template>\n</div>\n"],"names":["i2","i4"],"mappings":"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"}