@acorex-platform/module-common-client 0.0.18 → 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.
- package/fesm2022/{acorex-platform-module-common-client-acorex-platform-module-common-client-rqWzT7RI.mjs → acorex-platform-module-common-client-acorex-platform-module-common-client-CkeshVWo.mjs} +765 -417
- package/fesm2022/acorex-platform-module-common-client-acorex-platform-module-common-client-CkeshVWo.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-archive-entity.command-CKENj9Od.mjs → acorex-platform-module-common-client-archive-entity.command-BZgNdxFS.mjs} +9 -13
- package/fesm2022/acorex-platform-module-common-client-archive-entity.command-BZgNdxFS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-archive-entity.command.util-BZrXDNGP.mjs → acorex-platform-module-common-client-archive-entity.command.util-BVrK8ZGy.mjs} +52 -40
- package/fesm2022/acorex-platform-module-common-client-archive-entity.command.util-BVrK8ZGy.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-audit-info-column.component-DuZUwD31.mjs → acorex-platform-module-common-client-audit-info-column.component-CsqKKwwF.mjs} +27 -16
- package/fesm2022/acorex-platform-module-common-client-audit-info-column.component-CsqKKwwF.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-audit-info-edit.component-CSsCG6Dz.mjs → acorex-platform-module-common-client-audit-info-edit.component-COMMBgsX.mjs} +20 -18
- package/fesm2022/acorex-platform-module-common-client-audit-info-edit.component-COMMBgsX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-audit-info-view.component-WYXsZcLg.mjs → acorex-platform-module-common-client-audit-info-view.component-UOTT-ir_.mjs} +20 -18
- package/fesm2022/acorex-platform-module-common-client-audit-info-view.component-UOTT-ir_.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-common-client-bulk-archive-entity.command-EIlMyuII.mjs +66 -0
- package/fesm2022/acorex-platform-module-common-client-bulk-archive-entity.command-EIlMyuII.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-common-client-bulk-disable-entity.command-DgoZVXQA.mjs +65 -0
- package/fesm2022/acorex-platform-module-common-client-bulk-disable-entity.command-DgoZVXQA.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-common-client-bulk-enable-entity.command-C6fba__g.mjs +65 -0
- package/fesm2022/acorex-platform-module-common-client-bulk-enable-entity.command-C6fba__g.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-common-client-bulk-restore-archive-entity.command-C8T0gUAH.mjs +65 -0
- package/fesm2022/acorex-platform-module-common-client-bulk-restore-archive-entity.command-C8T0gUAH.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-clone-entity.command-DFgIeWxX.mjs → acorex-platform-module-common-client-clone-entity.command-rTasIhWx.mjs} +26 -27
- package/fesm2022/acorex-platform-module-common-client-clone-entity.command-rTasIhWx.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-common-client-contracts.mjs +420 -8
- package/fesm2022/acorex-platform-module-common-client-contracts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-common-client-disable-entity.command-DWyqAAwo.mjs → acorex-platform-module-common-client-disable-entity.command-Bc1uH38V.mjs} +8 -13
- package/fesm2022/acorex-platform-module-common-client-disable-entity.command-Bc1uH38V.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-disable-entity.command.util-BBwY9Q30.mjs → acorex-platform-module-common-client-disable-entity.command.util-DQl6u2nj.mjs} +49 -44
- package/fesm2022/acorex-platform-module-common-client-disable-entity.command.util-DQl6u2nj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-enable-entity.command-BP30gOku.mjs → acorex-platform-module-common-client-enable-entity.command-DeTumWIj.mjs} +8 -13
- package/fesm2022/acorex-platform-module-common-client-enable-entity.command-DeTumWIj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-get-current-time.command-B7hJTMzT.mjs → acorex-platform-module-common-client-get-current-time.command-Ck_SC5Bu.mjs} +6 -8
- package/fesm2022/acorex-platform-module-common-client-get-current-time.command-Ck_SC5Bu.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-common-client-restore-archive-entity.command-B0JFf8ms.mjs → acorex-platform-module-common-client-restore-archive-entity.command-Dr1GcC8a.mjs} +8 -13
- package/fesm2022/acorex-platform-module-common-client-restore-archive-entity.command-Dr1GcC8a.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-common-client-search-popup.component-DH0OQYoQ.mjs +139 -0
- package/fesm2022/acorex-platform-module-common-client-search-popup.component-DH0OQYoQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-common-client-timeline-version-history-popup.component-BqTLeGtG.mjs +63 -0
- package/fesm2022/acorex-platform-module-common-client-timeline-version-history-popup.component-BqTLeGtG.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-common-client.mjs +1 -1
- package/package.json +3 -3
- package/types/acorex-platform-module-common-client-contracts.d.ts +207 -3
- package/types/acorex-platform-module-common-client.d.ts +9 -13
- package/fesm2022/acorex-platform-module-common-client-acorex-platform-module-common-client-rqWzT7RI.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-archive-entity.command-CKENj9Od.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-archive-entity.command.util-BZrXDNGP.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-audit-info-column.component-DuZUwD31.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-audit-info-edit.component-CSsCG6Dz.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-audit-info-view.component-WYXsZcLg.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-bulk-archive-entity.command-CPqLp9Ci.mjs +0 -75
- package/fesm2022/acorex-platform-module-common-client-bulk-archive-entity.command-CPqLp9Ci.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-bulk-disable-entity.command-0J4vgsFL.mjs +0 -75
- package/fesm2022/acorex-platform-module-common-client-bulk-disable-entity.command-0J4vgsFL.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-bulk-enable-entity.command-DsVuaInC.mjs +0 -75
- package/fesm2022/acorex-platform-module-common-client-bulk-enable-entity.command-DsVuaInC.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-bulk-restore-archive-entity.command-D2y8h15u.mjs +0 -75
- package/fesm2022/acorex-platform-module-common-client-bulk-restore-archive-entity.command-D2y8h15u.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-clone-entity.command-DFgIeWxX.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-disable-entity.command-DWyqAAwo.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-disable-entity.command.util-BBwY9Q30.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-enable-entity.command-BP30gOku.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-get-current-time.command-B7hJTMzT.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-restore-archive-entity.command-B0JFf8ms.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-search-popup.component-BjGrZHnB.mjs +0 -136
- package/fesm2022/acorex-platform-module-common-client-search-popup.component-BjGrZHnB.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-common-client-timeline-version-history-popup.component-BwGLuNhW.mjs +0 -59
- package/fesm2022/acorex-platform-module-common-client-timeline-version-history-popup.component-BwGLuNhW.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-common-client-search-popup.component-DH0OQYoQ.mjs","sources":["../../../../libs/modules/common/client/src/lib/features/global-search/search-popup.component.ts","../../../../libs/modules/common/client/src/lib/features/global-search/search-popup.component.html"],"sourcesContent":["import {\n AXListNavigationDirective,\n AXListNavigationItemDirective,\n AXListNavigationModule,\n} from '@acorex/cdk/list-navigation';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXChipsModule } from '@acorex/components/chips';\nimport { AXClickEvent, AXCommonModule, AXHtmlEvent, AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxComponent, AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSearchDisplayResult } from '@acorex-platform/framework-client/common';\nimport {\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutListComponent,\n AXPThemeLayoutListItemComponent,\n AXPThemeLayoutListItemsGroupComponent,\n AXPStateMessageComponent,\n} from '@acorex-platform/framework-client/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, viewChild, viewChildren } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { first } from 'rxjs';\nimport { AXPGlobalSearchViewModel } from './search.viewmodel';\n\n@Component({\n templateUrl: 'search-popup.component.html',\n styleUrl: 'search-popup.component.css',\n imports: [\n CommonModule,\n FormsModule,\n //\n AXSearchBoxModule,\n AXCommonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXListNavigationModule,\n AXButtonModule,\n //\n AXSkeletonModule,\n AXChipsModule,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutListComponent,\n AXPThemeLayoutListItemComponent,\n AXPThemeLayoutListItemsGroupComponent,\n AXPThemeLayoutHeaderComponent,\n AXPStateMessageComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXPGlobalSearchViewModel],\n})\nexport class AXPGlobalSearchPopupComponent extends AXBasePageComponent {\n protected i18nScope = 'global-search';\n\n protected vm = inject(AXPGlobalSearchViewModel);\n\n protected text: string | null = null;\n\n private list = viewChild(AXListNavigationDirective);\n private searchBox = viewChild(AXSearchBoxComponent);\n private items = viewChildren(AXListNavigationItemDirective);\n\n async handleTextChanged(e: AXValueChangedEvent<string>) {\n if (e.isUserInteraction) {\n await this.vm.search(e.value!);\n }\n }\n\n protected override ngOnInit() {\n super.ngOnInit();\n //\n this.vm.onItemSelected.pipe(first()).subscribe((item) => {\n this.close(item);\n });\n }\n\n protected handleSearchKeyDown(e: AXHtmlEvent<KeyboardEvent>) {\n const event = e.nativeEvent!;\n switch (event.code) {\n case 'ArrowDown':\n const item = this.items()[0];\n if (item && this.list()) {\n this.list()?.navigateTo(item);\n }\n event.preventDefault();\n event.stopPropagation();\n break;\n }\n }\n\n protected handleClearClick($event: AXClickEvent) {\n this.vm.clearRecentItems();\n }\n\n protected handleListKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowUp': {\n const item = this.items()[0];\n if (item && this.list() && item.isActive()) {\n this.searchBox()?.focus();\n }\n break;\n }\n case 'Escape': {\n this.searchBox()?.focus();\n e.preventDefault();\n e.stopPropagation();\n break;\n }\n }\n }\n\n protected handleItemKeyDown(e: KeyboardEvent, item: AXPSearchDisplayResult) {\n switch (e.code) {\n case 'Enter':\n case 'Space': {\n e.preventDefault();\n e.stopPropagation();\n this.vm.execute(item);\n break;\n }\n }\n }\n\n protected handlePinClick(e: Event, item: any) {\n e.stopPropagation();\n this.vm.togglePin(item);\n }\n\n protected searchListItemIcon(item: AXPSearchDisplayResult): string {\n const icon = item.icon?.trim();\n if (!icon) {\n return 'fa-light fa-circle';\n }\n return icon.includes(' ') ? icon : `fa-light ${icon}`;\n }\n}\n","<axp-layout-content>\n <axp-layout-header class=\"ax-lg\">\n <axp-layout-prefix class=\"min-w-0 flex-1\">\n <ax-search-box\n class=\"__search-box w-full\"\n [axAutoFocus]\n [axAutoFocusTime]=\"500\"\n [look]=\"'none'\"\n [ngModel]=\"vm.text()\"\n (onValueChanged)=\"handleTextChanged($event)\"\n [placeholder]=\"'@global-search:terms.search-anything' | translate | async\"\n (onKeyDown)=\"handleSearchKeyDown($event)\"\n >\n <ax-clear-button class=\"__clear-button\"></ax-clear-button>\n </ax-search-box>\n </axp-layout-prefix>\n <axp-layout-suffix class=\"__close-button\">\n <ax-button [look]=\"'solid'\" class=\"ax-sm\" (onClick)=\"close()\">\n <ax-icon icon=\"fa-light fa-xmark leading-[0]!\"></ax-icon>\n </ax-button>\n </axp-layout-suffix>\n </axp-layout-header>\n\n <!-- Results Area -->\n <axp-layout-body>\n @if (vm.isBusy()) {\n <ng-container *ngTemplateOutlet=\"skeleton\"></ng-container>\n } @else if (vm.isEmpty()) {\n <ng-container *ngTemplateOutlet=\"empty\"></ng-container>\n } @else if (vm.isWelcome()) {\n <ng-container *ngTemplateOutlet=\"welcome\"></ng-container>\n } @else if (vm.isStart()) {\n <ng-container *ngTemplateOutlet=\"start\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"result\"></ng-container>\n }\n </axp-layout-body>\n\n <!-- Skeleton Template -->\n <ng-template #skeleton>\n <div class=\"flex flex-col gap-10 p-8\">\n @for (item of [1, 2, 3, 4, 5]; track $index) {\n <div class=\"flex items-center gap-4\">\n <ax-skeleton [animated]=\"true\" class=\"w-4 h-4 rounded-full\"></ax-skeleton>\n <div class=\"flex flex-col gap-2 flex-1\">\n <ax-skeleton [animated]=\"true\" class=\"w-1/4 h-2 rounded\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"w-1/2 h-2 rounded\"></ax-skeleton>\n </div>\n </div>\n }\n </div>\n </ng-template>\n\n <!-- Empty Template -->\n <ng-template #empty>\n <axp-state-message icon=\"fa-light fa-search\" [title]=\"'@global-search:components.search-box.empty-states.no-result.title'\" [description]=\"'@global-search:components.search-box.empty-states.no-result.description'\"></axp-state-message>\n </ng-template>\n\n <!-- Welcome Template -->\n <ng-template #welcome>\n <axp-state-message icon=\"fa-light fa-search\" [title]=\"'@global-search:components.search-box.empty-states.start.title'\" [description]=\"'@global-search:components.search-box.empty-states.start.description'\"></axp-state-message>\n </ng-template>\n\n <!-- Start Template -->\n <ng-template #start>\n <!-- Pinned Items -->\n <axp-layout-list class=\"p-4 divide-none\" (keydown)=\"handleListKeyDown($event)\" axListNavigation #list=\"axListNavigation\">\n @if (vm.pinnedItems().length > 0) {\n <axp-layout-list-group>\n <axp-layout-title>{{ '@global-search:terms.pinned' | translate | async }}</axp-layout-title>\n @for (item of vm.pinnedItems(); track $index) {\n <axp-layout-list-item (click)=\"vm.execute(item)\" (keydown)=\"handleItemKeyDown($event, item)\" class=\"group\" axListNavigationItem #i=\"axListNavigationItem\" [class.axp-state-focused]=\"i.isActive()\">\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n <!-- Recent Items -->\n @if (vm.recentItems().length > 0) {\n <axp-layout-list-group>\n <axp-layout-header>\n <axp-layout-prefix>\n <axp-layout-title>{{ '@global-search:terms.recent' | translate | async }}</axp-layout-title>\n </axp-layout-prefix>\n <axp-layout-prefix class=\"ax-sm\">\n <ax-button [text]=\"'@global-search:terms.clear' | translate | async\" look=\"blank\" [color]=\"'default'\" (onClick)=\"handleClearClick($event)\"></ax-button>\n </axp-layout-prefix>\n </axp-layout-header>\n @for (item of vm.recentItems(); track $index) {\n <axp-layout-list-item (click)=\"vm.execute(item)\" (keydown)=\"handleItemKeyDown($event, item)\" class=\"group\" axListNavigationItem #i=\"axListNavigationItem\" [class.axp-state-focused]=\"i.isActive()\">\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n </axp-layout-list>\n </ng-template>\n\n <!-- Result Template -->\n <ng-template #result>\n <axp-layout-list class=\"p-4 divide-none\" (keydown)=\"handleListKeyDown($event)\" axListNavigation #list=\"axListNavigation\">\n @for (group of vm.results(); track $index) {\n <axp-layout-list-group>\n <axp-layout-title>{{ group.title | translate | async }}</axp-layout-title>\n @for (item of group.children; track $index) {\n <axp-layout-list-item (click)=\"vm.execute(item)\" (keydown)=\"handleItemKeyDown($event, item)\" class=\"group\" axListNavigationItem #i=\"axListNavigationItem\" [class.axp-state-focused]=\"i.isActive()\">\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n </axp-layout-list>\n </ng-template>\n\n <ng-template #listItem let-item=\"item\">\n <axp-layout-prefix>\n <ax-icon [icon]=\"searchListItemIcon(item)\"></ax-icon>\n </axp-layout-prefix>\n <axp-layout-content>\n <axp-layout-title class=\"group\">\n <span>{{ item.title | translate | async }}</span>\n <span class=\"ms-3\" (click)=\"handlePinClick($event, item)\">\n <i [class.invisible]=\"!vm.isPinned(item)\" class=\"fa-light fa-thumbtack rotate-45 group-hover:!visible\" [class.fa-solid]=\"vm.isPinned(item)\"></i>\n </span>\n </axp-layout-title>\n @if (item.parent) {\n <axp-layout-description>\n {{ item.parent.title | translate | async }}\n </axp-layout-description>\n } @else if (item.description) {\n <axp-layout-description>\n {{ item.description | translate | async }}\n </axp-layout-description>\n }\n </axp-layout-content>\n <axp-layout-suffix>\n <i class=\"far fa-chevron-right rtl:rotate-180\"></i>\n </axp-layout-suffix>\n </ng-template>\n</axp-layout-content>\n"],"names":["i7","i9"],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { signal, inject, Injector, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import * as i1$1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i2 from '@acorex/components/button';
|
|
6
|
+
import { AXButtonModule } from '@acorex/components/button';
|
|
7
|
+
import { AXBasePageComponent } from '@acorex/components/page';
|
|
8
|
+
import * as i1 from '@acorex/components/decorators';
|
|
9
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
10
|
+
import { AXPActivityLogComponent } from '@acorex-platform/framework-client/layout/components';
|
|
11
|
+
import { AXPVersioningService } from '@acorex-platform/framework-client/common';
|
|
12
|
+
import * as i4 from '@acorex/core/translation';
|
|
13
|
+
import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
|
|
14
|
+
import { v as versionEntriesToActivityLogs, o as openActivityLogVersionCompare } from './acorex-platform-module-common-client-acorex-platform-module-common-client-CkeshVWo.mjs';
|
|
15
|
+
|
|
16
|
+
class AXMTimelineVersionHistoryPopupComponent extends AXBasePageComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.isBusy = signal(false, /* @ts-ignore */
|
|
20
|
+
...(ngDevMode ? [{ debugName: "isBusy" }] : /* istanbul ignore next */ []));
|
|
21
|
+
this.versioning = inject(AXPVersioningService);
|
|
22
|
+
this.injector = inject(Injector);
|
|
23
|
+
this.translation = inject(AXTranslationService);
|
|
24
|
+
this.versions = signal([], /* @ts-ignore */
|
|
25
|
+
...(ngDevMode ? [{ debugName: "versions" }] : /* istanbul ignore next */ []));
|
|
26
|
+
this.activities = computed(() => versionEntriesToActivityLogs(this.versions(), this.refId, this.refType, this.fieldTitles, undefined, this.translation.getActiveLang?.() ?? 'en-US'), /* @ts-ignore */
|
|
27
|
+
...(ngDevMode ? [{ debugName: "activities" }] : /* istanbul ignore next */ []));
|
|
28
|
+
}
|
|
29
|
+
async ngOnInit() {
|
|
30
|
+
this.isBusy.set(true);
|
|
31
|
+
super.ngOnInit();
|
|
32
|
+
const streamId = await this.versioning.getStreamIdIfExists(this.refType, this.refId);
|
|
33
|
+
if (streamId) {
|
|
34
|
+
const entries = await this.versioning.listEntries(streamId, {
|
|
35
|
+
limit: this.limit,
|
|
36
|
+
offset: this.offset,
|
|
37
|
+
});
|
|
38
|
+
this.versions.set(entries);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.versions.set([]);
|
|
42
|
+
}
|
|
43
|
+
this.isBusy.set(false);
|
|
44
|
+
}
|
|
45
|
+
async onCompareRequested(event) {
|
|
46
|
+
await openActivityLogVersionCompare(this.injector, event);
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMTimelineVersionHistoryPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AXMTimelineVersionHistoryPopupComponent, isStandalone: true, selector: "axp-timeline-version-history-popup", usesInheritance: true, ngImport: i0, template: "<ax-content>\n <div class=\"p-6 min-h-[30vh] overflow-y-auto\">\n <axp-activity-log\n [activities]=\"activities()\"\n [loading]=\"isBusy()\"\n [enableCompare]=\"true\"\n [showActionType]=\"false\"\n (compareRequested)=\"onCompareRequested($event)\"\n ></axp-activity-log>\n </div>\n</ax-content>\n<ax-footer>\n <ax-prefix></ax-prefix>\n <ax-suffix>\n <ax-button\n [text]=\"'@general:actions.close.title' | translate | async\"\n look=\"solid\"\n color=\"primary\"\n (onClick)=\"close()\"\n >\n </ax-button>\n </ax-suffix>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPActivityLogComponent, selector: "axp-activity-log", inputs: ["activities", "loading", "enableCompare", "showActionType"], outputs: ["compareRequested"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMTimelineVersionHistoryPopupComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: 'axp-timeline-version-history-popup', imports: [
|
|
54
|
+
CommonModule,
|
|
55
|
+
AXDecoratorModule,
|
|
56
|
+
AXButtonModule,
|
|
57
|
+
AXTranslationModule,
|
|
58
|
+
AXPActivityLogComponent,
|
|
59
|
+
], changeDetection: ChangeDetectionStrategy.Eager, encapsulation: ViewEncapsulation.None, template: "<ax-content>\n <div class=\"p-6 min-h-[30vh] overflow-y-auto\">\n <axp-activity-log\n [activities]=\"activities()\"\n [loading]=\"isBusy()\"\n [enableCompare]=\"true\"\n [showActionType]=\"false\"\n (compareRequested)=\"onCompareRequested($event)\"\n ></axp-activity-log>\n </div>\n</ax-content>\n<ax-footer>\n <ax-prefix></ax-prefix>\n <ax-suffix>\n <ax-button\n [text]=\"'@general:actions.close.title' | translate | async\"\n look=\"solid\"\n color=\"primary\"\n (onClick)=\"close()\"\n >\n </ax-button>\n </ax-suffix>\n</ax-footer>\n" }]
|
|
60
|
+
}] });
|
|
61
|
+
|
|
62
|
+
export { AXMTimelineVersionHistoryPopupComponent };
|
|
63
|
+
//# sourceMappingURL=acorex-platform-module-common-client-timeline-version-history-popup.component-BqTLeGtG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-common-client-timeline-version-history-popup.component-BqTLeGtG.mjs","sources":["../../../../libs/modules/common/client/src/lib/features/history-plugin/components/timeline-version-history-popup/timeline-version-history-popup.component.ts","../../../../libs/modules/common/client/src/lib/features/history-plugin/components/timeline-version-history-popup/timeline-version-history-popup.component.html"],"sourcesContent":["import { Component, inject, Injector, signal, ViewEncapsulation, computed, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport {\n AXPActivityLogCompareRequest,\n AXPActivityLogComponent,\n} from '@acorex-platform/framework-client/layout/components';\nimport { AXPVersionEntry, AXPVersioningService } from '@acorex-platform/framework-client/common';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { versionEntriesToActivityLogs } from '../../utils/version-history.utils';\nimport { openActivityLogVersionCompare } from '../../utils/open-activity-log-compare.util';\n\n@Component({\n selector: 'axp-timeline-version-history-popup',\n templateUrl: './timeline-version-history-popup.component.html',\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXPActivityLogComponent,\n ],\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMTimelineVersionHistoryPopupComponent extends AXBasePageComponent {\n refId!: string;\n refType!: string;\n fieldTitles?: Record<string, string>;\n fromDate!: Date;\n toDate!: Date;\n limit!: number;\n offset!: number;\n\n protected isBusy = signal(false);\n\n protected versioning = inject(AXPVersioningService);\n private readonly injector = inject(Injector);\n private readonly translation = inject(AXTranslationService);\n protected versions = signal<AXPVersionEntry[]>([]);\n protected activities = computed(() =>\n versionEntriesToActivityLogs(\n this.versions(),\n this.refId,\n this.refType,\n this.fieldTitles,\n undefined,\n this.translation.getActiveLang?.() ?? 'en-US',\n )\n );\n\n override async ngOnInit(): Promise<void> {\n this.isBusy.set(true);\n super.ngOnInit();\n const streamId = await this.versioning.getStreamIdIfExists(this.refType, this.refId);\n if (streamId) {\n const entries = await this.versioning.listEntries(streamId, {\n limit: this.limit,\n offset: this.offset,\n });\n this.versions.set(entries);\n } else {\n this.versions.set([]);\n }\n this.isBusy.set(false);\n }\n\n protected async onCompareRequested(event: AXPActivityLogCompareRequest): Promise<void> {\n await openActivityLogVersionCompare(this.injector, event);\n }\n}\n","<ax-content>\n <div class=\"p-6 min-h-[30vh] overflow-y-auto\">\n <axp-activity-log\n [activities]=\"activities()\"\n [loading]=\"isBusy()\"\n [enableCompare]=\"true\"\n [showActionType]=\"false\"\n (compareRequested)=\"onCompareRequested($event)\"\n ></axp-activity-log>\n </div>\n</ax-content>\n<ax-footer>\n <ax-prefix></ax-prefix>\n <ax-suffix>\n <ax-button\n [text]=\"'@general:actions.close.title' | translate | async\"\n look=\"solid\"\n color=\"primary\"\n (onClick)=\"close()\"\n >\n </ax-button>\n </ax-suffix>\n</ax-footer>\n"],"names":["i3"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { b as AXMCommonModule, c as AXMMenuProvider, d as AXMSettingProvider, e as AXMVersionHistoryPageComponent, f as AXPArchivePluginModule, g as AXPCommonFeatureDefinitionProvider, h as AXPDerivedNamePluginModule, j as AXPDisablePluginModule, k as AXPGlobalSearchModule, a as AXPGlobalSearchViewModel, l as AXPHistoryAuditInfoWidget, m as AXPHistoryModule, n as AXPLockEntityCommand, p as AXPResourceAppointmentPageComponent, q as AXPStatusPluginModule, r as AXPUniqueFieldsPluginModule, s as AXPUnlockEntityCommand, u as AXPValidationRulesModule, A as AXP_ENTITY_ARCHIVE_OVERRIDES, w as AXP_GLOBAL_SEARCH_CONFIG_TOKEN, x as AXP_RESOURCE_APPOINTMENT_PAGE_CONFIG, y as ApprovalStatusProvider, z as AtLeastOneOfValidationRule, C as CommonManifest, H as HISTORY_PAGE_COMPONENT_KEY, S as ShowVersionHistoryPopupCommand, B as StateStatusProvider, T as TaskStatusProvider, U as UniqueValidationRule, V as VARIABLE_NAME_VALIDATION_PATTERN, D as VariableNameValidationRule, E as aggregateVersionHistoryBarChartItems, F as archivePlugin, G as buildEntityFieldHistoryLineChartSeries, I as buildProductBasePriceHistoryLineChartSeries, J as derivedNamePlugin, K as disablePlugin, L as getActiveStatuses, M as getFinalStatuses, N as getInitialStatuses, O as getStatusByName, P as getTransitionsFromStatus, Q as getTransitionsToStatus, R as historyPlugin, W as humanizeChange, X as isValidTransition, i as isValidVariableName, Y as mapChangeType, Z as mapOpToAction, _ as resolvePathKey, $ as statusPlugin, t as toVariableName, a0 as uniqueFieldsPlugin, v as versionEntriesToActivityLogs } from './acorex-platform-module-common-client-acorex-platform-module-common-client-
|
|
1
|
+
export { b as AXMCommonModule, c as AXMMenuProvider, d as AXMSettingProvider, e as AXMVersionHistoryPageComponent, f as AXPArchivePluginModule, g as AXPCommonFeatureDefinitionProvider, h as AXPDerivedNamePluginModule, j as AXPDisablePluginModule, k as AXPGlobalSearchModule, a as AXPGlobalSearchViewModel, l as AXPHistoryAuditInfoWidget, m as AXPHistoryModule, n as AXPLockEntityCommand, p as AXPResourceAppointmentPageComponent, q as AXPStatusPluginModule, r as AXPUniqueFieldsPluginModule, s as AXPUnlockEntityCommand, u as AXPValidationRulesModule, A as AXP_ENTITY_ARCHIVE_OVERRIDES, w as AXP_GLOBAL_SEARCH_CONFIG_TOKEN, x as AXP_RESOURCE_APPOINTMENT_PAGE_CONFIG, y as ApprovalStatusProvider, z as AtLeastOneOfValidationRule, C as CommonManifest, H as HISTORY_PAGE_COMPONENT_KEY, S as ShowVersionHistoryPopupCommand, B as StateStatusProvider, T as TaskStatusProvider, U as UniqueValidationRule, V as VARIABLE_NAME_VALIDATION_PATTERN, D as VariableNameValidationRule, E as aggregateVersionHistoryBarChartItems, F as archivePlugin, G as buildEntityFieldHistoryLineChartSeries, I as buildProductBasePriceHistoryLineChartSeries, J as derivedNamePlugin, K as disablePlugin, L as getActiveStatuses, M as getFinalStatuses, N as getInitialStatuses, O as getStatusByName, P as getTransitionsFromStatus, Q as getTransitionsToStatus, R as historyPlugin, W as humanizeChange, X as isValidTransition, i as isValidVariableName, Y as mapChangeType, Z as mapOpToAction, _ as resolvePathKey, $ as statusPlugin, t as toVariableName, a0 as uniqueFieldsPlugin, v as versionEntriesToActivityLogs } from './acorex-platform-module-common-client-acorex-platform-module-common-client-CkeshVWo.mjs';
|
|
2
2
|
//# sourceMappingURL=acorex-platform-module-common-client.mjs.map
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex-platform/module-common-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.21",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@acorex/cdk": "20.7.33",
|
|
7
|
-
"@acorex/core": "20.7.33",
|
|
8
7
|
"@acorex/components": "20.7.33",
|
|
9
|
-
"@
|
|
8
|
+
"@acorex/core": "20.7.33",
|
|
10
9
|
"@angular/common": "^21.0.0",
|
|
10
|
+
"@angular/core": "^21.0.0",
|
|
11
11
|
"@ngrx/signals": "^21.0.0"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
@@ -47,8 +47,10 @@ declare const AXPCommonMenuKeys: {
|
|
|
47
47
|
readonly Configuration: "Common:Menu:Configuration";
|
|
48
48
|
readonly Contacts: "Common:Menu:Contacts";
|
|
49
49
|
readonly Platform: "Common:Menu:Platform";
|
|
50
|
-
/** Administration >
|
|
50
|
+
/** Administration > Publishing (Promotions, Page Builder, Dashboards, Announcements) */
|
|
51
51
|
readonly Content: "Common:Menu:Administration:Content";
|
|
52
|
+
/** Administration > Monitoring (Communications, Jobs) */
|
|
53
|
+
readonly Monitoring: "Common:Menu:Administration:Monitoring";
|
|
52
54
|
/** Administration > Workflows (Workflow Definitions, Instances, Studio, Activities) */
|
|
53
55
|
readonly Workflows: "Common:Menu:Administration:Workflows";
|
|
54
56
|
/** Commerce (Products, Orders, Supplier Products) */
|
|
@@ -81,12 +83,176 @@ declare const AXPCommonMenuKeys: {
|
|
|
81
83
|
readonly SchedulingAndEvents: "Common:Menu:Configuration:SchedulingAndEvents";
|
|
82
84
|
/** Configuration > Data and Content (Documents + Data Definitions) */
|
|
83
85
|
readonly DataAndContent: "Common:Menu:Configuration:DataAndContent";
|
|
86
|
+
/** Configuration > Platform Definitions (Entity / Command / Query / Plugin / Widget catalogs) */
|
|
87
|
+
readonly PlatformDefinitions: "Common:Menu:Configuration:PlatformDefinitions";
|
|
84
88
|
/** Configuration > Intelligence (AI Management) */
|
|
85
89
|
readonly AiManagementConfig: "Common:Menu:Configuration:AiManagement";
|
|
86
90
|
/** Plant & Equipment (top-level menu group) */
|
|
87
91
|
readonly PlantEquipment: "Common:Menu:PlantEquipment";
|
|
88
92
|
};
|
|
89
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Shared permission group ids for the role UI.
|
|
96
|
+
* Modules contribute capabilities via addGroup(these keys) so domains stay aligned
|
|
97
|
+
* (same nesting idea as {@link AXPCommonCommandKeys}).
|
|
98
|
+
*
|
|
99
|
+
* Format: `Common:PermissionGroup:{Domain}` or `Common:PermissionGroup:{Root}:{Section}`
|
|
100
|
+
* - `Domain.Root` — left-nav root group id
|
|
101
|
+
* - `Domain.Section` — optional right-panel section under that root
|
|
102
|
+
* Root `order` values follow the catalog in permission-design.mdc (lower first).
|
|
103
|
+
* See `.cursor/rules/core-rules/permission-design.mdc`.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* groups.SalesCustomers.Root
|
|
107
|
+
* groups.SalesCustomers.Customers
|
|
108
|
+
* groups.SuppliersProcurement.Root
|
|
109
|
+
* groups.Administration.SecurityAccess
|
|
110
|
+
*/
|
|
111
|
+
declare const AXPCommonPermissionGroupKeys: {
|
|
112
|
+
readonly PeopleOrganization: {
|
|
113
|
+
readonly Root: "Common:PermissionGroup:PeopleOrganization";
|
|
114
|
+
readonly Structure: "Common:PermissionGroup:PeopleOrganization:Structure";
|
|
115
|
+
readonly Workforce: "Common:PermissionGroup:PeopleOrganization:Workforce";
|
|
116
|
+
readonly Attendance: "Common:PermissionGroup:PeopleOrganization:Attendance";
|
|
117
|
+
};
|
|
118
|
+
readonly Learning: {
|
|
119
|
+
readonly Root: "Common:PermissionGroup:Learning";
|
|
120
|
+
};
|
|
121
|
+
readonly SafetyRisk: {
|
|
122
|
+
readonly Root: "Common:PermissionGroup:SafetyRisk";
|
|
123
|
+
readonly WorkplaceSafety: "Common:PermissionGroup:SafetyRisk:WorkplaceSafety";
|
|
124
|
+
readonly Risk: "Common:PermissionGroup:SafetyRisk:Risk";
|
|
125
|
+
readonly Health: "Common:PermissionGroup:SafetyRisk:Health";
|
|
126
|
+
readonly Assessments: "Common:PermissionGroup:SafetyRisk:Assessments";
|
|
127
|
+
};
|
|
128
|
+
readonly Finance: {
|
|
129
|
+
readonly Root: "Common:PermissionGroup:Finance";
|
|
130
|
+
};
|
|
131
|
+
readonly SalesCustomers: {
|
|
132
|
+
readonly Root: "Common:PermissionGroup:SalesCustomers";
|
|
133
|
+
readonly Customers: "Common:PermissionGroup:SalesCustomers:Customers";
|
|
134
|
+
readonly Sales: "Common:PermissionGroup:SalesCustomers:Sales";
|
|
135
|
+
readonly Products: "Common:PermissionGroup:SalesCustomers:Products";
|
|
136
|
+
readonly Orders: "Common:PermissionGroup:SalesCustomers:Orders";
|
|
137
|
+
readonly Subscriptions: "Common:PermissionGroup:SalesCustomers:Subscriptions";
|
|
138
|
+
};
|
|
139
|
+
readonly SuppliersProcurement: {
|
|
140
|
+
readonly Root: "Common:PermissionGroup:SuppliersProcurement";
|
|
141
|
+
readonly SuppliersSubcontractors: "Common:PermissionGroup:SuppliersProcurement:SuppliersSubcontractors";
|
|
142
|
+
};
|
|
143
|
+
readonly ProjectsWork: {
|
|
144
|
+
readonly Root: "Common:PermissionGroup:ProjectsWork";
|
|
145
|
+
readonly Projects: "Common:PermissionGroup:ProjectsWork:Projects";
|
|
146
|
+
readonly Tasks: "Common:PermissionGroup:ProjectsWork:Tasks";
|
|
147
|
+
readonly TimeTracking: "Common:PermissionGroup:ProjectsWork:TimeTracking";
|
|
148
|
+
};
|
|
149
|
+
readonly AssetsMaintenance: {
|
|
150
|
+
readonly Root: "Common:PermissionGroup:AssetsMaintenance";
|
|
151
|
+
readonly Assets: "Common:PermissionGroup:AssetsMaintenance:Assets";
|
|
152
|
+
readonly Maintenance: "Common:PermissionGroup:AssetsMaintenance:Maintenance";
|
|
153
|
+
};
|
|
154
|
+
readonly Collaboration: {
|
|
155
|
+
readonly Root: "Common:PermissionGroup:Collaboration";
|
|
156
|
+
readonly Conversations: "Common:PermissionGroup:Collaboration:Conversations";
|
|
157
|
+
readonly Scheduling: "Common:PermissionGroup:Collaboration:Scheduling";
|
|
158
|
+
readonly Communications: "Common:PermissionGroup:Collaboration:Communications";
|
|
159
|
+
readonly HelpDesk: "Common:PermissionGroup:Collaboration:HelpDesk";
|
|
160
|
+
};
|
|
161
|
+
readonly ContentDocuments: {
|
|
162
|
+
readonly Root: "Common:PermissionGroup:ContentDocuments";
|
|
163
|
+
readonly Documents: "Common:PermissionGroup:ContentDocuments:Documents";
|
|
164
|
+
readonly Content: "Common:PermissionGroup:ContentDocuments:Content";
|
|
165
|
+
readonly FormTemplates: "Common:PermissionGroup:ContentDocuments:FormTemplates";
|
|
166
|
+
};
|
|
167
|
+
readonly InsightsReporting: {
|
|
168
|
+
readonly Root: "Common:PermissionGroup:InsightsReporting";
|
|
169
|
+
readonly Reports: "Common:PermissionGroup:InsightsReporting:Reports";
|
|
170
|
+
readonly ActivityInsight: "Common:PermissionGroup:InsightsReporting:ActivityInsight";
|
|
171
|
+
readonly Data: "Common:PermissionGroup:InsightsReporting:Data";
|
|
172
|
+
};
|
|
173
|
+
readonly ApplicationsPlatform: {
|
|
174
|
+
readonly Root: "Common:PermissionGroup:ApplicationsPlatform";
|
|
175
|
+
readonly Applications: "Common:PermissionGroup:ApplicationsPlatform:Applications";
|
|
176
|
+
readonly TenancyShell: "Common:PermissionGroup:ApplicationsPlatform:TenancyShell";
|
|
177
|
+
readonly Configuration: "Common:PermissionGroup:ApplicationsPlatform:Configuration";
|
|
178
|
+
readonly DevTools: "Common:PermissionGroup:ApplicationsPlatform:DevTools";
|
|
179
|
+
};
|
|
180
|
+
readonly Administration: {
|
|
181
|
+
readonly Root: "Common:PermissionGroup:Administration";
|
|
182
|
+
readonly SecurityAccess: "Common:PermissionGroup:Administration:SecurityAccess";
|
|
183
|
+
readonly Settings: "Common:PermissionGroup:Administration:Settings";
|
|
184
|
+
readonly Integrations: "Common:PermissionGroup:Administration:Integrations";
|
|
185
|
+
readonly Workflow: "Common:PermissionGroup:Administration:Workflow";
|
|
186
|
+
readonly Rules: "Common:PermissionGroup:Administration:Rules";
|
|
187
|
+
readonly Ai: "Common:PermissionGroup:Administration:Ai";
|
|
188
|
+
readonly Dashboards: "Common:PermissionGroup:Administration:Dashboards";
|
|
189
|
+
readonly Jobs: "Common:PermissionGroup:Administration:Jobs";
|
|
190
|
+
readonly Observability: "Common:PermissionGroup:Administration:Observability";
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Maps conceptual permission keys (`Domain:Permission:Capability`) to the
|
|
196
|
+
* shared `@common:{domain}.permissions.{capability}.(title|description)` i18n
|
|
197
|
+
* keys used by client permission-definition providers.
|
|
198
|
+
*/
|
|
199
|
+
declare function resolvePermissionI18nKeys(permissionKey: string): {
|
|
200
|
+
titleKey: string;
|
|
201
|
+
descriptionKey: string;
|
|
202
|
+
} | null;
|
|
203
|
+
/** Fallback label when no i18n key can be derived (last capability segment). */
|
|
204
|
+
declare function humanizePermissionCapability(permissionKey: string): string;
|
|
205
|
+
/**
|
|
206
|
+
* Value for report/UI display columns: prefer the i18n title key (translated by
|
|
207
|
+
* text widgets), otherwise a humanized capability label.
|
|
208
|
+
*/
|
|
209
|
+
declare function resolvePermissionTitleDisplay(permissionKey: string): string;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Resolves which edition module name(s) a conceptual permission key belongs to.
|
|
213
|
+
* Used to filter role grants / permission editor by application edition modules.
|
|
214
|
+
*/
|
|
215
|
+
type AXPPermissionModulesResolver = (permissionKey: string) => readonly string[];
|
|
216
|
+
/**
|
|
217
|
+
* Contributing Nx / edition module names per conceptual domain prefix.
|
|
218
|
+
* Access and Setup keys use this full list (match if ANY module is enabled).
|
|
219
|
+
*/
|
|
220
|
+
declare const AXPPermissionDomainModules: {
|
|
221
|
+
readonly Administration: readonly ["SecurityManagement", "IntegrationManagement", "WorkflowManagement", "RuleEngineManagement", "AiManagement", "DashboardManagement", "BackgroundJobManagement", "SystemInsight"];
|
|
222
|
+
/**
|
|
223
|
+
* Platform Console catalog modules for Access ANY-match.
|
|
224
|
+
* SettingsManagement is intentionally omitted — product apps enable it for
|
|
225
|
+
* MaintainTenantSettings without unlocking Applications & Platform Access.
|
|
226
|
+
*/
|
|
227
|
+
readonly ApplicationsPlatform: readonly ["ApplicationManagement", "TenantManagement", "PlatformManagement", "AppBuilder", "IdentifierManagement", "LocaleManagement", "PlatformDevTools"];
|
|
228
|
+
readonly PeopleOrganization: readonly ["OrganizationManagement", "HumanCapitalManagement", "PersonCore", "AttendanceManagement", "LocationManagement"];
|
|
229
|
+
readonly SafetyRisk: readonly ["WorkplaceSafetyManagement", "RiskManagement", "HealthCore", "AssessmentManagement"];
|
|
230
|
+
readonly ProjectsWork: readonly ["ProjectManagement", "TaskManagement", "TimesheetManagement"];
|
|
231
|
+
readonly AssetsMaintenance: readonly ["AssetManagement", "MaintenanceManagement", "MeasurementCore"];
|
|
232
|
+
readonly Collaboration: readonly ["Conversation", "CalendarManagement", "MeetingManagement", "CommunicationManagement", "BulletinManagement", "ReservationManagement", "HelpDesk", "ContactCore"];
|
|
233
|
+
readonly ContentDocuments: readonly ["DocumentManagement", "ContentManagement", "FormTemplateManagement"];
|
|
234
|
+
readonly InsightsReporting: readonly ["ReportManagement", "DataManagement", "ActivityInsight"];
|
|
235
|
+
readonly SalesCustomers: readonly ["CustomerManagement", "ProductCatalog", "OrderManagement", "SubscriptionManagement", "BusinessCore"];
|
|
236
|
+
readonly Procurement: readonly ["SupplierManagement", "ProcurementManagement"];
|
|
237
|
+
readonly Learning: readonly ["LearningManagement"];
|
|
238
|
+
readonly Finance: readonly ["FinancialCore"];
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* Owner / contributing modules for each conceptual permission key.
|
|
242
|
+
* - Access & Setup → all domain modules (any-module match)
|
|
243
|
+
* - Unique Maintain/Manage/View/… → registering owner module only
|
|
244
|
+
*/
|
|
245
|
+
declare const AXPPermissionKeyModules: Readonly<Record<string, readonly string[]>>;
|
|
246
|
+
/**
|
|
247
|
+
* Returns edition module names for a permission key.
|
|
248
|
+
* Unknown keys fall back to the legacy `{Prefix}:…` module-prefix convention.
|
|
249
|
+
*/
|
|
250
|
+
declare function resolvePermissionModules(permissionKey: string): readonly string[];
|
|
251
|
+
/**
|
|
252
|
+
* True when the permission is available for the enabled edition modules (ANY match).
|
|
253
|
+
*/
|
|
254
|
+
declare function isPermissionEnabledForModules(permissionKey: string, enabledModules: readonly string[]): boolean;
|
|
255
|
+
|
|
90
256
|
declare enum AXMLockSystemSettings {
|
|
91
257
|
LockSystem = "Common:Setting:LockSystem.Enabled"
|
|
92
258
|
}
|
|
@@ -94,6 +260,21 @@ declare enum AXMCommonSettings {
|
|
|
94
260
|
QuickSearchEnabled = "Common:Setting:Entity.QuickSearchEnabled"
|
|
95
261
|
}
|
|
96
262
|
|
|
263
|
+
declare enum AXPVersionHistorySettings {
|
|
264
|
+
RetentionEnabled = "Common:Setting:VersionHistory.Retention.Enabled",
|
|
265
|
+
RetentionPeriodDays = "Common:Setting:VersionHistory.Retention.PeriodDays",
|
|
266
|
+
RetentionBatchSize = "Common:Setting:VersionHistory.Retention.BatchSize",
|
|
267
|
+
RetentionPurgeCron = "Common:Setting:VersionHistory.Retention.PurgeCron",
|
|
268
|
+
SkipEmptyPatches = "Common:Setting:VersionHistory.SkipEmptyPatches"
|
|
269
|
+
}
|
|
270
|
+
declare const AXP_VERSION_HISTORY_SETTING_DEFAULTS: {
|
|
271
|
+
readonly "Common:Setting:VersionHistory.Retention.Enabled": true;
|
|
272
|
+
readonly "Common:Setting:VersionHistory.Retention.PeriodDays": 365;
|
|
273
|
+
readonly "Common:Setting:VersionHistory.Retention.BatchSize": 500;
|
|
274
|
+
readonly "Common:Setting:VersionHistory.Retention.PurgeCron": "0 3 * * *";
|
|
275
|
+
readonly "Common:Setting:VersionHistory.SkipEmptyPatches": true;
|
|
276
|
+
};
|
|
277
|
+
|
|
97
278
|
declare const RootConfig: {
|
|
98
279
|
readonly config: {
|
|
99
280
|
i18n: string;
|
|
@@ -105,7 +286,30 @@ declare const RootConfig: {
|
|
|
105
286
|
readonly title: "@general:common.module.title";
|
|
106
287
|
readonly icon: "fa-light fa-file-invoice";
|
|
107
288
|
};
|
|
108
|
-
readonly entities: {
|
|
289
|
+
readonly entities: {
|
|
290
|
+
readonly recordLock: {
|
|
291
|
+
readonly name: "RecordLock";
|
|
292
|
+
readonly title: "Record Lock";
|
|
293
|
+
readonly titlePlural: "Record Locks";
|
|
294
|
+
readonly icon: "fa-light fa-lock";
|
|
295
|
+
readonly source: `${string}.RecordLock`;
|
|
296
|
+
};
|
|
297
|
+
readonly versionStream: {
|
|
298
|
+
readonly name: "VersionStream";
|
|
299
|
+
readonly title: "Version Stream";
|
|
300
|
+
readonly titlePlural: "Version Streams";
|
|
301
|
+
readonly icon: "fa-light fa-code-branch";
|
|
302
|
+
readonly source: `${string}.VersionStream`;
|
|
303
|
+
};
|
|
304
|
+
readonly versionEntry: {
|
|
305
|
+
readonly name: "VersionEntry";
|
|
306
|
+
readonly title: "Version Entry";
|
|
307
|
+
readonly titlePlural: "Version Entries";
|
|
308
|
+
readonly icon: "fa-light fa-clock-rotate-left";
|
|
309
|
+
readonly source: `${string}.VersionEntry`;
|
|
310
|
+
};
|
|
311
|
+
};
|
|
109
312
|
};
|
|
110
313
|
|
|
111
|
-
export { AXMCommonSettings, AXMLockSystemSettings, AXPCommonCommandKeys, AXPCommonFeatureKeys, AXPCommonMenuKeys, COMMON_CATALOG_SCOPE_GENERAL, RootConfig };
|
|
314
|
+
export { AXMCommonSettings, AXMLockSystemSettings, AXPCommonCommandKeys, AXPCommonFeatureKeys, AXPCommonMenuKeys, AXPCommonPermissionGroupKeys, AXPPermissionDomainModules, AXPPermissionKeyModules, AXPVersionHistorySettings, AXP_VERSION_HISTORY_SETTING_DEFAULTS, COMMON_CATALOG_SCOPE_GENERAL, RootConfig, humanizePermissionCapability, isPermissionEnabledForModules, resolvePermissionI18nKeys, resolvePermissionModules, resolvePermissionTitleDisplay };
|
|
315
|
+
export type { AXPPermissionModulesResolver };
|
|
@@ -11,10 +11,10 @@ import { AXPFeatureDefinitionProvider, AXPFeatureDefinitionProviderContext, AXPM
|
|
|
11
11
|
import { Subject } from 'rxjs';
|
|
12
12
|
import { AXPEntityActionPlugin } from '@acorex-platform/framework-client/layout/entity';
|
|
13
13
|
import { AXPWidgetConfig } from '@acorex-platform/framework-shared/widget-core';
|
|
14
|
-
import { AXPCommand } from '@acorex-platform/framework-shared/runtime';
|
|
15
|
-
import { AXPExecuteCommandResult, AXPSystemActionType, AXPMultiLanguageString, AXPContextData, AXPStatusProvider, AXPStatusDefinition, AXPStatusTransition, AXPSystemStatusType, AXPBreadcrumbItem } from '@acorex-platform/framework-shared/core';
|
|
14
|
+
import { AXPCommand, AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';
|
|
16
15
|
import * as dist_libs_framework_client_types_acorex_platform_framework_client_core from 'dist/libs/framework/client/types/acorex-platform-framework-client-core';
|
|
17
16
|
import { AXPPageLayoutBaseComponent } from '@acorex-platform/framework-client/layout/views';
|
|
17
|
+
import { AXPSystemActionType, AXPMultiLanguageString, AXPContextData, AXPStatusProvider, AXPStatusDefinition, AXPStatusTransition, AXPSystemStatusType, AXPBreadcrumbItem } from '@acorex-platform/framework-shared/core';
|
|
18
18
|
|
|
19
19
|
declare class AXPCategoryModule {
|
|
20
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCategoryModule, never>;
|
|
@@ -198,7 +198,7 @@ declare class AXMMenuProvider implements AXPMenuProvider {
|
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
declare class AXMSettingProvider implements AXPSettingDefinitionProvider {
|
|
201
|
-
provide(
|
|
201
|
+
provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
|
|
202
202
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXMSettingProvider, never>;
|
|
203
203
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMSettingProvider>;
|
|
204
204
|
}
|
|
@@ -289,21 +289,16 @@ interface ShowVersionHistoryPopupInput {
|
|
|
289
289
|
toDate?: Date;
|
|
290
290
|
limit?: number;
|
|
291
291
|
offset?: number;
|
|
292
|
-
/** When invoked from entity action,
|
|
293
|
-
__context__?: {
|
|
294
|
-
options?: Partial<ShowVersionHistoryPopupInput>;
|
|
295
|
-
data?: Record<string, unknown>;
|
|
296
|
-
};
|
|
292
|
+
/** When invoked from entity action, fields may be under root or options */
|
|
297
293
|
options?: Partial<ShowVersionHistoryPopupInput>;
|
|
298
294
|
}
|
|
299
295
|
/**
|
|
300
296
|
* Opens the version history timeline popup for a given entity reference.
|
|
301
|
-
* Opens the version history popup for an entity record.
|
|
302
297
|
*/
|
|
303
298
|
declare class ShowVersionHistoryPopupCommand implements AXPCommand<ShowVersionHistoryPopupInput, void> {
|
|
304
299
|
private readonly popupService;
|
|
305
300
|
private readonly translate;
|
|
306
|
-
execute(input: ShowVersionHistoryPopupInput | Record<string, unknown>):
|
|
301
|
+
execute(input: ShowVersionHistoryPopupInput | Record<string, unknown>): AXPCommandExecuteResultPromise<void>;
|
|
307
302
|
private normalizeInput;
|
|
308
303
|
static ɵfac: i0.ɵɵFactoryDeclaration<ShowVersionHistoryPopupCommand, never>;
|
|
309
304
|
static ɵprov: i0.ɵɵInjectableDeclaration<ShowVersionHistoryPopupCommand>;
|
|
@@ -329,6 +324,7 @@ declare class AXMVersionHistoryPageComponent extends AXPPageLayoutBaseComponent
|
|
|
329
324
|
private readonly widgetRegistry;
|
|
330
325
|
private readonly injector;
|
|
331
326
|
private readonly route;
|
|
327
|
+
private readonly translation;
|
|
332
328
|
/** Resolves custom history layout for a change path via property -> widget config -> historyLayout. */
|
|
333
329
|
private resolveHistoryLayout;
|
|
334
330
|
ngOnInit(): Promise<void>;
|
|
@@ -355,7 +351,7 @@ declare function humanizeChange(path: string, op: string, fieldTitles?: Record<s
|
|
|
355
351
|
* When the page provides this, it can resolve path -> property -> widget config -> historyLayout.
|
|
356
352
|
*/
|
|
357
353
|
type GetHistoryLayoutResolver = (path: string) => unknown | undefined;
|
|
358
|
-
declare function versionEntriesToActivityLogs(entries: AXPVersionEntry[], refId: string, refType: string, fieldTitles?: Record<string, string>, getHistoryLayout?: GetHistoryLayoutResolver): AXPActivityLog[];
|
|
354
|
+
declare function versionEntriesToActivityLogs(entries: AXPVersionEntry[], refId: string, refType: string, fieldTitles?: Record<string, string>, getHistoryLayout?: GetHistoryLayoutResolver, locale?: string): AXPActivityLog[];
|
|
359
355
|
|
|
360
356
|
interface AXPEntityHistoryBarChartItem {
|
|
361
357
|
id: string;
|
|
@@ -405,7 +401,7 @@ declare class AXPLockEntityCommand implements AXPCommand<AXPContextData, AXPLock
|
|
|
405
401
|
private readonly lockService;
|
|
406
402
|
private readonly sessionService;
|
|
407
403
|
private readonly helper;
|
|
408
|
-
execute(input: AXPContextData):
|
|
404
|
+
execute(input: AXPContextData): AXPCommandExecuteResultPromise<AXPLockEntityCommandOutput>;
|
|
409
405
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPLockEntityCommand, never>;
|
|
410
406
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPLockEntityCommand>;
|
|
411
407
|
}
|
|
@@ -418,7 +414,7 @@ declare class AXPUnlockEntityCommand implements AXPCommand<AXPContextData, AXPUn
|
|
|
418
414
|
private readonly translationService;
|
|
419
415
|
private readonly lockService;
|
|
420
416
|
private readonly helper;
|
|
421
|
-
execute(input: AXPContextData):
|
|
417
|
+
execute(input: AXPContextData): AXPCommandExecuteResultPromise<AXPUnlockEntityCommandOutput>;
|
|
422
418
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPUnlockEntityCommand, never>;
|
|
423
419
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPUnlockEntityCommand>;
|
|
424
420
|
}
|