@acorex/modules 19.4.4 → 19.4.5
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/conversation/README.md +113 -2
- package/conversation/index.d.ts +2 -14
- package/conversation/lib/const.d.ts +25 -6
- package/conversation/lib/conversation.module.d.ts +32 -3
- package/conversation/lib/entities/index.d.ts +2 -0
- package/conversation/lib/entities/message/index.d.ts +3 -0
- package/conversation/lib/entities/message/message.entity.d.ts +3 -0
- package/conversation/lib/entities/message/message.service.d.ts +10 -0
- package/conversation/lib/entities/message/message.types.d.ts +20 -0
- package/conversation/lib/entities/room/index.d.ts +3 -0
- package/conversation/lib/entities/room/room.entity.d.ts +3 -0
- package/conversation/lib/entities/room/room.service.d.ts +10 -0
- package/conversation/lib/entities/room/room.types.d.ts +8 -0
- package/conversation/lib/entity.provider.d.ts +12 -0
- package/conversation/lib/features/chat/chat-preview.helper.d.ts +68 -0
- package/conversation/lib/features/chat/chat.component.d.ts +42 -0
- package/conversation/lib/features/chat/chat.service.d.ts +101 -0
- package/conversation/lib/features/chat/chat.type.d.ts +38 -0
- package/conversation/lib/{entities → features}/chat/components/chat-item/chat-item.component.d.ts +6 -1
- package/conversation/lib/{entities → features}/chat/components/chat-preview/chat-preview.component.d.ts +3 -0
- package/conversation/lib/features/chat/index.d.ts +5 -0
- package/conversation/lib/{entities/comments/pages → features/comment}/comment-list-view.component.d.ts +12 -12
- package/conversation/lib/features/comment/comment.service.d.ts +66 -0
- package/conversation/lib/features/comment/comment.type.d.ts +45 -0
- package/conversation/lib/features/comment/index.d.ts +4 -0
- package/conversation/lib/features/index.d.ts +2 -0
- package/document-management/lib/entities/folder/folder.types.d.ts +3 -2
- package/document-management/lib/features/document-explorer/components/create-folder-dialog/create-folder-dialog.component.d.ts +5 -2
- package/document-management/lib/features/document-explorer/document-explorer.component.d.ts +22 -20
- package/document-management/lib/features/document-explorer/document-explorer.viewmodel.d.ts +22 -2
- package/document-management/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.d.ts +52 -33
- package/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.d.ts +52 -33
- package/document-management/lib/features/document-explorer/views/details/details-view.component.d.ts +52 -33
- package/document-management/lib/features/document-explorer/views/large-icons/large-icons-view.component.d.ts +52 -33
- package/document-management/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.d.ts +52 -33
- package/document-management/lib/features/document-explorer/views/list/list-view.component.d.ts +52 -33
- package/document-management/lib/features/document-explorer/views/small-icons/small-icons-view.component.d.ts +52 -33
- package/document-management/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.d.ts +52 -33
- package/document-management/lib/features/drive/drive.component.d.ts +52 -31
- package/document-management/lib/features/drive-choose/drive-choose.component.d.ts +49 -28
- package/document-management/lib/features/shared/components/document-type-choose-file/document-type-choose-file.component.d.ts +6 -6
- package/document-management/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.d.ts +21 -2
- package/document-management/lib/features/shared/document-manager.service.d.ts +177 -45
- package/document-management/lib/features/shared/document-manager.types.d.ts +2 -1
- package/document-management/lib/features/shared/index.d.ts +1 -0
- package/fesm2022/acorex-modules-common.mjs +7 -0
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +2382 -820
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BpmG6Dyx.mjs → acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs} +1679 -2019
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DIF_t4fE.mjs → acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DIF_t4fE.mjs.map → acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs +144 -0
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-details-view.component-D0RIYrHB.mjs → acorex-modules-document-management-details-view.component-CvHIETNf.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-D0RIYrHB.mjs.map → acorex-modules-document-management-details-view.component-CvHIETNf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-DMAQr0nK.mjs → acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs} +29 -9
- package/fesm2022/acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management-drive.component-Crh10Z5J.mjs +363 -0
- package/fesm2022/acorex-modules-document-management-drive.component-Crh10Z5J.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C686Ec7s.mjs → acorex-modules-document-management-large-icons-view.component-BuV7MPG5.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C686Ec7s.mjs.map → acorex-modules-document-management-large-icons-view.component-BuV7MPG5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-0GpMVYv5.mjs → acorex-modules-document-management-large-tiles-view.component-CwYwVxoG.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-0GpMVYv5.mjs.map → acorex-modules-document-management-large-tiles-view.component-CwYwVxoG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-C1inszTC.mjs → acorex-modules-document-management-list-view.component-BHEwRA3m.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-C1inszTC.mjs.map → acorex-modules-document-management-list-view.component-BHEwRA3m.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B7lgRLHi.mjs → acorex-modules-document-management-permission-definition.provider-B3qaYwRL.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B7lgRLHi.mjs.map → acorex-modules-document-management-permission-definition.provider-B3qaYwRL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-C9k8WgDG.mjs → acorex-modules-document-management-rename-node-dialog.component-CrcJm9jP.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-C9k8WgDG.mjs.map → acorex-modules-document-management-rename-node-dialog.component-CrcJm9jP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BGcUzNCv.mjs → acorex-modules-document-management-small-icons-view.component-CD5UORaq.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BGcUzNCv.mjs.map → acorex-modules-document-management-small-icons-view.component-CD5UORaq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CumumWvO.mjs → acorex-modules-document-management-small-tiles-view.component-cpc_xfbT.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CumumWvO.mjs.map → acorex-modules-document-management-small-tiles-view.component-cpc_xfbT.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-ErtEMU89.mjs → acorex-modules-issue-management-acorex-modules-issue-management-DbVfrgVX.mjs} +5 -5
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-DbVfrgVX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-B6k0Zn9C.mjs → acorex-modules-issue-management-capture-screen.component-_9mwJVkz.mjs} +2 -2
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-B6k0Zn9C.mjs.map → acorex-modules-issue-management-capture-screen.component-_9mwJVkz.mjs.map} +1 -1
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +5 -5
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs → acorex-modules-organization-management-org-chart.page-CrOUUr4c.mjs} +1 -2
- package/fesm2022/acorex-modules-organization-management-org-chart.page-CrOUUr4c.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +2 -2
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-C9ZApxct.mjs → acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs} +326 -87
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-D50Xundj.mjs → acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-D50Xundj.mjs.map → acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-DsHGn3AZ.mjs → acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-settings.provider-DsHGn3AZ.mjs.map → acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +108 -0
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +20 -21
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-3_Tn2GeA.mjs +305 -0
- package/fesm2022/acorex-modules-workflow-management-task-board.page-3_Tn2GeA.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +123 -0
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -0
- package/package.json +18 -14
- package/platform-management/lib/task-board.provider.d.ts +14 -0
- package/project-management/lib/task-board.provider.d.ts +14 -0
- package/settings-management/lib/settings-management.module.d.ts +1 -1
- package/workflow-management/README.md +3 -0
- package/workflow-management/index.d.ts +2 -0
- package/workflow-management/lib/const.d.ts +11 -0
- package/workflow-management/lib/features/task-board/index.d.ts +2 -0
- package/workflow-management/lib/features/task-board/settings.keys.d.ts +5 -0
- package/workflow-management/lib/features/task-board/task-board.module.d.ts +6 -0
- package/workflow-management/lib/features/task-board/task-board.page.d.ts +76 -0
- package/workflow-management/lib/features/task-board/task-board.service.d.ts +13 -0
- package/workflow-management/lib/features/task-board/task-board.viewmodel.d.ts +20 -0
- package/workflow-management/lib/features/task-board/views/task-board-calendar-view/task-board-calendar-view.page.d.ts +25 -0
- package/workflow-management/lib/workflow-management.module.d.ts +8 -0
- package/conversation/lib/entities/chat/chat.module.d.ts +0 -28
- package/conversation/lib/entities/chat/chat.service.d.ts +0 -14
- package/conversation/lib/entities/chat/chat.type.d.ts +0 -22
- package/conversation/lib/entities/chat/components/chat-item-footer/chat-item-footer.component.d.ts +0 -5
- package/conversation/lib/entities/chat/components/chat-item-header/chat-item-header.component.d.ts +0 -12
- package/conversation/lib/entities/chat/components/chat-preview-header/chat-preview-header.component.d.ts +0 -7
- package/conversation/lib/entities/chat/pages/chat/chat.component.d.ts +0 -23
- package/conversation/lib/entities/comments/comment.module.d.ts +0 -26
- package/conversation/lib/entities/comments/comments.service.d.ts +0 -13
- package/conversation/lib/entities/comments/comments.type.d.ts +0 -74
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-column.component.d.ts +0 -6
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +0 -212
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-print.component.d.ts +0 -6
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-view.component.d.ts +0 -6
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget.config.d.ts +0 -7
- package/document-management/lib/features/widgets/document-attachment/index.d.ts +0 -5
- package/document-management/lib/features/widgets/index.d.ts +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BpmG6Dyx.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-CCvKUDsw.mjs +0 -141
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-CCvKUDsw.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive-choose.component-DMAQr0nK.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-ErtEMU89.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-C9ZApxct.mjs.map +0 -1
- /package/conversation/lib/{entities/comments/pages → features/comment}/comment-lookup-popup.component.d.ts +0 -0
@@ -7,6 +7,7 @@ import { AXFileService } from '@acorex/core/file';
|
|
7
7
|
import { AXPPlatformScope, AXPQueryRequest } from '@acorex/platform/core';
|
8
8
|
import { AXMDocumentManagementDocumentTypeEntityModel, AXMDocumentManagementFolderCreateDto, AXMDocumentService, AXMFolderService } from '../../entities';
|
9
9
|
import { AXMDocumentExplorerBrowseMode, AXMDocumentExplorerNode, CreateFileDto, UpdateFileDto, UpdateFolderDto } from './document-manager.types';
|
10
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
10
11
|
import * as i0 from "@angular/core";
|
11
12
|
/**
|
12
13
|
* Interface defining the contract for document drive service
|
@@ -35,10 +36,10 @@ export interface AXMDocumentManagerServiceInterface {
|
|
35
36
|
updateFile(fileId: string, data: UpdateFileDto): Promise<AXMDocumentExplorerNode>;
|
36
37
|
deleteFile(fileId: string): Promise<void>;
|
37
38
|
deleteNodes(nodeIds: AXMDocumentExplorerNode[]): Promise<void>;
|
39
|
+
copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;
|
38
40
|
showCreateFolderDialog(parentId?: string): Promise<AXMDocumentExplorerNode | null>;
|
39
41
|
showDeleteNodesDialog(nodeIds: AXMDocumentExplorerNode[]): Promise<boolean>;
|
40
42
|
showRenamePopup(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode | undefined>;
|
41
|
-
copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;
|
42
43
|
searchFolders(searchTerm: string, scope: AXPPlatformScope, options?: {
|
43
44
|
tenantId?: string;
|
44
45
|
userId?: string;
|
@@ -88,46 +89,53 @@ export declare class AXMDocumentManagerService implements AXMDocumentManagerServ
|
|
88
89
|
protected fileService: AXPFileStorageService;
|
89
90
|
protected fileManagerService: AXFileService;
|
90
91
|
protected workflow: AXPWorkflowService;
|
92
|
+
protected translate: AXTranslationService;
|
91
93
|
private scopedDriveCache;
|
94
|
+
/**
|
95
|
+
* Creates a scoped drive service for the specified platform scope
|
96
|
+
*/
|
92
97
|
scope(scope: AXPPlatformScope, options?: {
|
93
98
|
tenantId?: string;
|
94
99
|
userId?: string;
|
95
100
|
}): ScopedDriveService;
|
101
|
+
/**
|
102
|
+
* Generates a cache key for the scoped drive service
|
103
|
+
*/
|
96
104
|
private getScopeCacheKey;
|
97
105
|
/**
|
98
106
|
* Gets the platform root folder (top-level folder)
|
99
|
-
* @returns Root folder for the platform
|
100
107
|
*/
|
101
108
|
private getPlatformRootFolder;
|
102
109
|
/**
|
103
110
|
* Gets the tenant root folder
|
104
|
-
* @param rootFolderId The platform root folder ID
|
105
|
-
* @param tenantId The tenant ID
|
106
|
-
* @returns Tenant root folder
|
107
111
|
*/
|
108
112
|
private getTenantRootFolder;
|
109
113
|
/**
|
110
114
|
* Gets the user root folder
|
111
|
-
* @param tenantFolderId The tenant folder ID
|
112
|
-
* @param tenantId The tenant ID
|
113
|
-
* @param userId The user ID
|
114
|
-
* @returns User root folder
|
115
115
|
*/
|
116
116
|
private getUserRootFolder;
|
117
|
+
/**
|
118
|
+
* Maps folder entity to document explorer node
|
119
|
+
*/
|
117
120
|
private mapFolderDtoToFolderNode;
|
121
|
+
/**
|
122
|
+
* Maps file entity to document explorer node
|
123
|
+
*/
|
124
|
+
private mapFileToNode;
|
125
|
+
/**
|
126
|
+
* Maps document to media viewer data
|
127
|
+
*/
|
128
|
+
private mapDocumentToMediaViewerData;
|
129
|
+
/**
|
130
|
+
* Builds navigation path for a node
|
131
|
+
*/
|
118
132
|
private buildPath;
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
showUnlockDialog(node: AXMDocumentExplorerNode): Promise<void>;
|
124
|
-
showFolderEditDialog(node: AXMDocumentExplorerNode): Promise<boolean>;
|
125
|
-
updateFileName(node: AXMDocumentExplorerNode, name: string): Promise<AXMDocumentExplorerNode>;
|
133
|
+
/**
|
134
|
+
* Creates a copy name by adding " copy" before the extension
|
135
|
+
*/
|
136
|
+
private createCopyName;
|
126
137
|
/**
|
127
138
|
* Gets the root folder based on the specified scope
|
128
|
-
* @param scope The drive scope (Platform, Tenant, User)
|
129
|
-
* @param options Optional parameters for tenant and user IDs
|
130
|
-
* @returns Root folder for the specified scope
|
131
139
|
*/
|
132
140
|
getRoot(scope: AXPPlatformScope, options?: {
|
133
141
|
tenantId?: string;
|
@@ -138,8 +146,6 @@ export declare class AXMDocumentManagerService implements AXMDocumentManagerServ
|
|
138
146
|
}>;
|
139
147
|
/**
|
140
148
|
* Gets a specific folder by ID
|
141
|
-
* @param folderId The folder ID to retrieve
|
142
|
-
* @returns The requested folder
|
143
149
|
*/
|
144
150
|
getFolder(scope: AXPPlatformScope, folderId: string, options?: {
|
145
151
|
tenantId?: string;
|
@@ -148,68 +154,166 @@ export declare class AXMDocumentManagerService implements AXMDocumentManagerServ
|
|
148
154
|
path: AXMDocumentExplorerNode[];
|
149
155
|
result: AXMDocumentExplorerNode;
|
150
156
|
}>;
|
157
|
+
/**
|
158
|
+
* Creates a new folder
|
159
|
+
*/
|
151
160
|
createFolder(data: AXMDocumentManagementFolderCreateDto): Promise<AXMDocumentExplorerNode>;
|
161
|
+
/**
|
162
|
+
* Updates an existing folder
|
163
|
+
*/
|
152
164
|
updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode>;
|
165
|
+
/**
|
166
|
+
* Deletes a folder
|
167
|
+
*/
|
153
168
|
deleteFolder(folderId: string): Promise<void>;
|
169
|
+
/**
|
170
|
+
* Gets available storage space
|
171
|
+
*/
|
154
172
|
getAvailableSpace(): Promise<number>;
|
155
|
-
|
173
|
+
/**
|
174
|
+
* Creates a new file
|
175
|
+
*/
|
156
176
|
createFile(data: CreateFileDto): Promise<AXMDocumentExplorerNode>;
|
177
|
+
/**
|
178
|
+
* Updates an existing file
|
179
|
+
*/
|
157
180
|
updateFile(fileId: string, data: UpdateFileDto): Promise<AXMDocumentExplorerNode>;
|
181
|
+
/**
|
182
|
+
* Deletes a file
|
183
|
+
*/
|
158
184
|
deleteFile(fileId: string): Promise<void>;
|
185
|
+
/**
|
186
|
+
* Opens a file
|
187
|
+
*/
|
188
|
+
openFile(node: AXMDocumentExplorerNode): Promise<void>;
|
189
|
+
/**
|
190
|
+
* Downloads a file
|
191
|
+
*/
|
192
|
+
downloadFile(node: AXMDocumentExplorerNode): Promise<void>;
|
193
|
+
/**
|
194
|
+
* Deletes multiple nodes (files and folders)
|
195
|
+
*/
|
159
196
|
deleteNodes(nodes: AXMDocumentExplorerNode[]): Promise<void>;
|
160
|
-
|
197
|
+
/**
|
198
|
+
* Creates a copy of a node (file or folder)
|
199
|
+
*/
|
200
|
+
copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;
|
201
|
+
/**
|
202
|
+
* Moves a node to another location
|
203
|
+
*/
|
161
204
|
moveTo(options: {
|
162
205
|
node: AXMDocumentExplorerNode;
|
206
|
+
scope: AXPPlatformScope;
|
163
207
|
browseMode?: AXMDocumentExplorerBrowseMode;
|
164
208
|
multiple?: boolean;
|
165
209
|
}): Promise<boolean>;
|
210
|
+
/**
|
211
|
+
* Copies a node to another location
|
212
|
+
*/
|
166
213
|
copyTo(options: {
|
167
214
|
node: AXMDocumentExplorerNode;
|
215
|
+
scope: AXPPlatformScope;
|
168
216
|
browseMode?: AXMDocumentExplorerBrowseMode;
|
169
217
|
multiple?: boolean;
|
170
218
|
}): Promise<boolean>;
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
folderVituralfiles?: AXMDocumentExplorerNode[];
|
175
|
-
}): Promise<void>;
|
176
|
-
openFile(node: AXMDocumentExplorerNode): Promise<void>;
|
177
|
-
showRenamePopup(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode | undefined>;
|
178
|
-
showDeleteNodesDialog(nodeIds: AXMDocumentExplorerNode[]): Promise<boolean>;
|
219
|
+
/**
|
220
|
+
* Searches for folders by term within a scope
|
221
|
+
*/
|
179
222
|
searchFolders(searchTerm: string, scope: AXPPlatformScope, options?: {
|
180
223
|
tenantId?: string;
|
181
224
|
userId?: string;
|
182
225
|
}): Promise<AXMDocumentExplorerNode[]>;
|
226
|
+
/**
|
227
|
+
* Searches for files by term within a scope
|
228
|
+
*/
|
183
229
|
searchFiles(searchTerm: string, scope: AXPPlatformScope, options?: {
|
184
230
|
tenantId?: string;
|
185
231
|
userId?: string;
|
186
232
|
}): Promise<AXMDocumentExplorerNode[]>;
|
233
|
+
/**
|
234
|
+
* Searches for both files and folders by term within a scope
|
235
|
+
*/
|
187
236
|
searchNodes(searchTerm: string, scope: AXPPlatformScope, options?: {
|
188
237
|
tenantId?: string;
|
189
238
|
userId?: string;
|
190
239
|
}): Promise<AXMDocumentExplorerNode[]>;
|
240
|
+
/**
|
241
|
+
* Gets all folders
|
242
|
+
*/
|
191
243
|
getAllFolders(): Promise<AXMDocumentExplorerNode[]>;
|
244
|
+
/**
|
245
|
+
* Gets all files with optional query
|
246
|
+
*/
|
192
247
|
getAllFiles(request?: AXPQueryRequest): Promise<AXMDocumentExplorerNode[]>;
|
193
|
-
getAllNodes(): Promise<AXMDocumentExplorerNode[]>;
|
194
|
-
showChooseFileDialog(scope: AXPPlatformScope): Promise<AXMDocumentExplorerNode[]>;
|
195
|
-
downloadFile(node: AXMDocumentExplorerNode): Promise<void>;
|
196
248
|
/**
|
197
|
-
*
|
198
|
-
* @param node The node to copy
|
199
|
-
* @returns The newly created copied node
|
249
|
+
* Gets all nodes (files and folders)
|
200
250
|
*/
|
201
|
-
|
251
|
+
getAllNodes(): Promise<AXMDocumentExplorerNode[]>;
|
202
252
|
/**
|
203
|
-
*
|
204
|
-
* @param originalName The original filename
|
205
|
-
* @returns The new filename with " copy" added before the extension
|
253
|
+
* Uploads file by document type to a specific folder
|
206
254
|
*/
|
207
|
-
private createCopyName;
|
208
255
|
uploadFileByType(folderId: string, docTypeId: string): Promise<boolean>;
|
256
|
+
/**
|
257
|
+
* Uploads virtual file by document type
|
258
|
+
*/
|
209
259
|
uploadFileVirtualByType(docType: AXMDocumentManagementDocumentTypeEntityModel): Promise<AXMDocumentExplorerNode[]>;
|
260
|
+
/**
|
261
|
+
* Shows share dialog for a node
|
262
|
+
*/
|
263
|
+
showShareDialog(node: AXMDocumentExplorerNode): Promise<void>;
|
264
|
+
/**
|
265
|
+
* Shows share via email dialog for a node
|
266
|
+
*/
|
267
|
+
showShareWithEmailDialog(node: AXMDocumentExplorerNode): Promise<void>;
|
268
|
+
/**
|
269
|
+
* Shows link dialog for a node
|
270
|
+
*/
|
271
|
+
showLinkDialog(node: AXMDocumentExplorerNode): Promise<void>;
|
272
|
+
/**
|
273
|
+
* Shows lock dialog for a document
|
274
|
+
*/
|
275
|
+
showLockDialog(node: AXMDocumentExplorerNode): Promise<void>;
|
276
|
+
/**
|
277
|
+
* Shows unlock dialog for a document
|
278
|
+
*/
|
279
|
+
showUnlockDialog(node: AXMDocumentExplorerNode): Promise<void>;
|
280
|
+
/**
|
281
|
+
* Shows folder edit dialog
|
282
|
+
*/
|
283
|
+
showFolderEditDialog(node: AXMDocumentExplorerNode): Promise<boolean>;
|
284
|
+
/**
|
285
|
+
* Shows create folder dialog
|
286
|
+
*/
|
287
|
+
showCreateFolderDialog(parentId?: string): Promise<AXMDocumentExplorerNode | null>;
|
288
|
+
/**
|
289
|
+
* Shows rename popup for a node
|
290
|
+
*/
|
291
|
+
showRenamePopup(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode | undefined>;
|
292
|
+
/**
|
293
|
+
* Shows delete nodes confirmation dialog
|
294
|
+
*/
|
295
|
+
showDeleteNodesDialog(nodeIds: AXMDocumentExplorerNode[]): Promise<boolean>;
|
296
|
+
/**
|
297
|
+
* Shows choose file dialog
|
298
|
+
*/
|
299
|
+
showChooseFileDialog(scope: AXPPlatformScope): Promise<AXMDocumentExplorerNode[]>;
|
300
|
+
/**
|
301
|
+
* Shows file viewer popup
|
302
|
+
*/
|
303
|
+
showFileViewerPopup(node: AXMDocumentExplorerNode, options?: {
|
304
|
+
index?: number;
|
305
|
+
folderVirtualFiles?: AXMDocumentExplorerNode[];
|
306
|
+
}): Promise<void>;
|
307
|
+
/**
|
308
|
+
* Updates a file name
|
309
|
+
*/
|
310
|
+
updateFileName(node: AXMDocumentExplorerNode, name: string): Promise<AXMDocumentExplorerNode>;
|
210
311
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXMDocumentManagerService, never>;
|
211
312
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMDocumentManagerService>;
|
212
313
|
}
|
314
|
+
/**
|
315
|
+
* Scoped drive service for specific platform scopes
|
316
|
+
*/
|
213
317
|
export declare class ScopedDriveService {
|
214
318
|
private parent;
|
215
319
|
private scope;
|
@@ -218,26 +322,54 @@ export declare class ScopedDriveService {
|
|
218
322
|
tenantId?: string;
|
219
323
|
userId?: string;
|
220
324
|
} | undefined);
|
325
|
+
/**
|
326
|
+
* Validates the scope options are appropriate for the selected scope
|
327
|
+
*/
|
221
328
|
private validateScopeOptions;
|
329
|
+
/**
|
330
|
+
* Gets root folder for this scope
|
331
|
+
*/
|
222
332
|
getRoot(): Promise<{
|
223
333
|
path: AXMDocumentExplorerNode[];
|
224
334
|
result: AXMDocumentExplorerNode;
|
225
335
|
}>;
|
336
|
+
/**
|
337
|
+
* Gets folder for this scope
|
338
|
+
*/
|
226
339
|
getFolder(folderId: string): Promise<{
|
227
340
|
path: AXMDocumentExplorerNode[];
|
228
341
|
result: AXMDocumentExplorerNode;
|
229
342
|
}>;
|
343
|
+
/**
|
344
|
+
* Creates folder in this scope
|
345
|
+
*/
|
230
346
|
createFolder(data: Omit<AXMDocumentManagementFolderCreateDto, 'tenantId' | 'userId'>): Promise<AXMDocumentExplorerNode>;
|
347
|
+
/**
|
348
|
+
* Updates folder in this scope
|
349
|
+
*/
|
231
350
|
updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode>;
|
351
|
+
/**
|
352
|
+
* Deletes folder in this scope
|
353
|
+
*/
|
232
354
|
deleteFolder(folderId: string): Promise<void>;
|
355
|
+
/**
|
356
|
+
* Gets available space for this scope
|
357
|
+
*/
|
233
358
|
getAvailableSpace(): Promise<number>;
|
359
|
+
/**
|
360
|
+
* Searches folders in this scope
|
361
|
+
*/
|
234
362
|
searchFolders(searchTerm: string): Promise<AXMDocumentExplorerNode[]>;
|
363
|
+
/**
|
364
|
+
* Searches files in this scope
|
365
|
+
*/
|
235
366
|
searchFiles(searchTerm: string): Promise<AXMDocumentExplorerNode[]>;
|
367
|
+
/**
|
368
|
+
* Searches nodes in this scope
|
369
|
+
*/
|
236
370
|
searchNodes(searchTerm: string): Promise<AXMDocumentExplorerNode[]>;
|
237
371
|
/**
|
238
|
-
* Creates a copy of a node
|
239
|
-
* @param node The node to copy
|
240
|
-
* @returns The newly created copied node
|
372
|
+
* Creates a copy of a node in this scope
|
241
373
|
*/
|
242
374
|
copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;
|
243
375
|
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { AXMDocumentManagementDocumentEntityModel, AXMDocumentManagementDocumentTypeEntityModel, AXMDocumentManagementFolderEntityModel } from '../../entities';
|
2
|
+
import { AXMDocumentInheritanceType } from '../../entities/folder/folder.types';
|
2
3
|
export interface AXMDocumentExplorerNode {
|
3
4
|
id: string;
|
4
5
|
name: string;
|
@@ -16,7 +17,7 @@ export interface AXMDocumentExplorerNode {
|
|
16
17
|
meta?: {
|
17
18
|
[key: string]: any;
|
18
19
|
};
|
19
|
-
inherit?:
|
20
|
+
inherit?: AXMDocumentInheritanceType;
|
20
21
|
}
|
21
22
|
export interface AXMNodeType extends AXMDocumentManagementDocumentTypeEntityModel {
|
22
23
|
}
|
@@ -109,6 +109,13 @@ class AXMMenuProvider {
|
|
109
109
|
requiredPermission: 'admin',
|
110
110
|
},
|
111
111
|
},
|
112
|
+
{
|
113
|
+
name: 'task-board',
|
114
|
+
text: `Task Board`,
|
115
|
+
type: 'menu',
|
116
|
+
icon: 'fa-light fa-list-check',
|
117
|
+
path: `/${appName}/task-board`,
|
118
|
+
},
|
112
119
|
]);
|
113
120
|
}
|
114
121
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-common.mjs","sources":["../../../../libs/modules/common/src/lib/const.ts","../../../../libs/modules/common/src/lib/entity.provider.ts","../../../../libs/modules/common/src/lib/menu.provider.ts","../../../../libs/modules/common/src/lib/permission-definition.provider.ts","../../../../libs/modules/common/src/lib/search-command.provider.ts","../../../../libs/modules/common/src/lib/settings.provider.ts","../../../../libs/modules/common/src/lib/features/global-search/search.config.ts","../../../../libs/modules/common/src/lib/features/global-search/search-slot.component.ts","../../../../libs/modules/common/src/lib/features/global-search/workflows/search.workflow.ts","../../../../libs/modules/common/src/lib/features/global-search/search.module.ts","../../../../libs/modules/common/src/lib/features/global-search/search.viewmodel.ts","../../../../libs/modules/common/src/lib/common.module.ts","../../../../libs/modules/common/src/lib/widgets-names-list.ts","../../../../libs/modules/common/src/acorex-modules-common.ts"],"sourcesContent":["const config = {\n i18n: 'common',\n};\nexport const RootConfig = {\n config,\n module: {\n module: 'common',\n name: 'Common',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-invoice',\n },\n entities: {\n\n },\n};\n","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityProvider implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n private injector = inject(Injector);\n\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: 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 switch (entityName) {\n\n }\n }\n return null;\n }\n}\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService, AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private sessionService = inject(AXPSessionService);\n private homePageService = inject(AXPHomePageService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n const appName = this.sessionService.application?.name;\n\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n const homePagePath = this.homePageService.getCurrent().path;\n if (homePagePath) {\n context.addItems([\n {\n priority: -9,\n text: `t('home',{scope:'common'})`,\n path: homePagePath,\n icon: 'fa-light fa-grid-2',\n data: {\n //requiredPermission: '',\n },\n },\n ]);\n }\n\n context.find('user-profile').addItems([\n {\n text: `t('user.title', {scope: \"settings\"})`,\n name: 'user-settings',\n icon: 'fa-light fa-gear',\n path: `/${this.sessionService.application?.name}/settings/user`,\n },\n ]);\n\n context.addItems([\n {\n name: 'tenant-application-settings',\n priority: 10000,\n text: `t('tenant.title', {scope: \"settings\"})`,\n type: 'menu',\n icon: 'fa-light fa-gear',\n path: `/${appName}/settings/tenant`,\n data: {\n requiredPermission: 'admin',\n },\n },\n ]);\n }\n}\n","import { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\n\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n // context.addPermissions([\n // {\n // name: 'view_templates',\n // title: 'Permission to view templates',\n // isArchived: false,\n // },\n // ]);\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult } from '@acorex/platform/common';\n\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n // {\n // group: 'command',\n // title: 'New Form Template',\n // icon: RootConfig.entities.template.icon,\n // description: 'Create a new form template for designing reusable forms.', // Added description\n // commands: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n // },\n // },\n // }\n ];\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // context\n // // Add Form Template Group\n // .addGroup('form-template', 'Form Template', 'Settings related to form templates.', RootConfig.module.icon)\n // // Start Interface Section\n // .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')\n // .addSetting({\n // key: 'history-panel',\n // title: 'Show History Panel',\n // scope: 'U',\n // isInherited: true,\n // defaultValue: false,\n // widget: {\n // type: AXPWidgetsCatalog.toggle,\n // },\n // description: 'Enable or disable the history panel for forms.',\n // validationRules: [\n // {\n // rule: 'required',\n // },\n // ],\n // })\n // .endSection()\n // .endGroup();\n }\n}\n","import { InjectionToken, Type } from \"@angular/core\";\n\nexport interface AXPGlobalSearchConfigs {\n window: () => Type<any>;\n}\n\nexport const AXP_GLOBAL_SEARCH_CONFIG_TOKEN = new InjectionToken<AXPGlobalSearchConfigs>('AXP_GLOBAL_SEARCH_CONFIG_TOKEN');","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, inject } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\n\n@Component({\n template: `\n <ax-button color=\"primary\" class=\"ax-flex md:ax-hidden\" (onClick)=\"startSearch()\">\n <ax-icon class=\"fa-regular fa-search\">\n </ax-icon>\n </ax-button>\n <div class=\"ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text\" (click)=\"startSearch()\" *translate=\"let t\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <i class=\"fa-light fa-search ax-text-xl\"></i>\n <span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>\n </div>\n <kbd class=\"ax-text-sm\">Ctrl+K</kbd>\n </div>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule, AXTextBoxModule]\n})\nexport class AXPGlobalSearchSlotComponent {\n\n protected workflow = inject(AXPWorkflowService);\n\n protected async startSearch() {\n await this.workflow.execute('global-search')\n }\n\n @HostListener('document:keydown', ['$event'])\n private async handleKeyboardEvent(event: KeyboardEvent) {\n if (event.ctrlKey) {\n switch (event.code) {\n case 'KeyK':\n event.preventDefault();\n event.stopPropagation();\n await this.startSearch();\n break;\n }\n }\n\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '../search.config';\nimport { AXPSearchDisplayResult } from '@acorex/platform/common';\n\n@Injectable()\nexport class AXPGlobalSearchStartAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private workflow = inject(AXPWorkflowService);\n private config = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);\n\n override async execute(context: AXPWorkflowContext): Promise<void> {\n const component = await this.config.window();\n const popup = await this.popupService.open(component, {\n title: 'Search...',\n size: 'fit',\n closeOnBackdropClick: true,\n data: {\n text: context.getVariable('text'),\n },\n header: false,\n });\n if (popup.data) {\n const result = popup.data as AXPSearchDisplayResult;\n if (result && result.command) {\n this.workflow.execute(result.command?.name, result.command?.options);\n }\n }\n }\n}\n\nexport const AXPGlobalSearchWorkflow: AXPWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'AXPGlobalSearchStartAction',\n },\n },\n};\n","import { Injector, NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXPGlobalSearchSlotComponent } from './search-slot.component';\nimport { AXPGlobalSearchStartAction, AXPGlobalSearchWorkflow } from './workflows/search.workflow';\nimport { AXPAppStartUpService } from '@acorex/platform/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from './search.config';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\n\n@NgModule({\n imports: [\n AXPComponentSlotModule.forChild({\n 'root-header-start': [\n {\n priority: 0,\n name: 'search',\n component: AXPGlobalSearchSlotComponent,\n },\n ],\n }),\n //\n AXPWorkflowModule.forChild({\n actions: {\n AXPGlobalSearchStartAction\n },\n workflows: {\n 'global-search': AXPGlobalSearchWorkflow,\n },\n })\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,\n useValue: {\n window: () =>\n import('./search-popup.component').then((c) => c.AXPGlobalSearchPopupComponent),\n },\n },\n ]\n})\nexport class AXPGlobalSearchModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n\n }\n}\n","import { AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchService, AXPSettingService } from \"@acorex/platform/common\";\nimport { AXPPlatformScope } from \"@acorex/platform/core\";\nimport { computed, inject, signal } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\nexport class AXPGlobalSearchViewModel {\n\n private settingKeys = {\n recent: \"global-search:recents:items\",\n pinned: \"global-search:pinned:items\"\n }\n\n private searchService = inject(AXPSearchService);\n private settingService = inject(AXPSettingService);\n\n private _text = signal<string | null>(null);\n public text = this._text.asReadonly();\n\n private _results = signal<AXPSearchDisplayGroupResult[]>([]);\n public results = this._results.asReadonly();\n\n private _isBusy = signal(false);\n public isBusy = this._isBusy.asReadonly();\n\n public isEmpty = computed(() => this.text() && this.results().length == 0);\n\n public isValid = computed(() => (this.text()?.length ?? 0) > 2);\n\n public isStart = computed(() => !this.isEmpty() && this.results().length == 0);\n\n public isWelcome = computed(() => this.isStart() && this.pinnedItems().length == 0 && this.recentItems().length == 0);\n\n private _recentItems = signal<AXPSearchDisplayResult[]>([]);\n private _pinnedItems = signal<AXPSearchDisplayResult[]>([]);\n public pinnedItems = this._pinnedItems.asReadonly();\n public recentItems = computed(() => this.getTopRecentItems());\n\n public readonly onItemSelected = new Subject<AXPSearchDisplayResult>();\n\n constructor() {\n this.loadSettings();\n }\n\n public async search(text: string): Promise<void> {\n this._isBusy.set(true);\n this._text.set(text);\n\n if (!this.isValid()) {\n this._results.set([]);\n } else {\n await new Promise((resolve) => setTimeout(resolve, 250));\n\n const results = await this.searchService.search(text);\n this._results.set(results);\n }\n\n this._isBusy.set(false);\n }\n\n public async execute(item: AXPSearchDisplayResult): Promise<void> {\n this.onItemSelected.next(item);\n await this.updateSelectionHistory(item);\n }\n\n public async pin(item: AXPSearchDisplayResult): Promise<void> {\n const currentPinned = this._pinnedItems();\n if (!currentPinned.some(i => i.id === item.id)) {\n this._pinnedItems.set([item, ...currentPinned].slice(0, 5));\n await this.saveSettings();\n }\n }\n\n public async unpin(item: AXPSearchDisplayResult): Promise<void> {\n const currentPinned = this._pinnedItems();\n this._pinnedItems.set(currentPinned.filter(i => i.id !== item.id));\n await this.saveSettings();\n }\n\n public async togglePin(item: AXPSearchDisplayResult): Promise<void> {\n if (this.isPinned(item)) {\n await this.unpin(item);\n } else {\n await this.pin(item);\n }\n }\n\n public isPinned(item: AXPSearchDisplayResult): boolean {\n const currentPinned = this._pinnedItems();\n return currentPinned.some(i => i.id === item.id);\n }\n\n private async updateSelectionHistory(item: AXPSearchDisplayResult): Promise<void> {\n // Update recent selections\n const currentHistory = this._recentItems();\n const updatedHistory = [item, ...currentHistory.filter(i => i.id !== item.id)].slice(0, 5);\n this._recentItems.set(updatedHistory);\n\n // Save updated settings\n await this.saveSettings();\n }\n\n private getTopRecentItems(): AXPSearchDisplayResult[] {\n const pinnedIds = new Set(this._pinnedItems().map(item => item.id));\n return this._recentItems().filter(item => !pinnedIds.has(item.id)).slice(0, 5);\n }\n\n public async clearRecentItems() {\n this._recentItems.set([]);\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.recent, []);\n }\n\n private async loadSettings(): Promise<void> {\n // Load recent selections\n const recent = await this.settingService.get<AXPSearchDisplayResult[]>(this.settingKeys.recent);\n if (recent) {\n this._recentItems.set(recent.slice(0, 5));\n }\n\n // Load pinned items\n const pinned = await this.settingService.get<AXPSearchDisplayResult[]>(this.settingKeys.pinned);\n if (pinned) {\n this._pinnedItems.set(pinned.slice(0, 5));\n }\n }\n\n private async saveSettings(): Promise<void> {\n // Save recent selections\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.recent, this._recentItems().slice(0, 5));\n\n // Save pinned items\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.pinned, this._pinnedItems().slice(0, 5));\n }\n}\n","import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMSettingProvider } from './settings.provider';\n\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { AXPGlobalSearchModule } from './features/global-search';\n\n@NgModule({\n imports: [AXPGlobalSearchModule, AXPWidgetsModule],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n\n ],\n})\nexport class AXMCommonModule { }\n","\nexport const AXPWidgetsList = {\n Editors: {\n DocumentAttachment: 'document-attachment-editor',\n TagBox: 'tagable-editor',\n CheckBox: 'checkbox-editor',\n ColorBox: 'color-editor',\n DateTimeBox: 'date-time-editor',\n LargeTextBox: 'large-text-editor',\n NumberBox: 'number-editor',\n UnitValueBox: 'number-unit-editor',\n PasswordBox: 'password-editor',\n RichText: 'rich-text-editor',\n SelectBox: 'select-editor',\n SelectionList: 'selection-list-editor',\n TextBox: 'text-editor',\n InlineDataTable: 'table-editor',\n ToggleSwitch: 'toggle-editor',\n FileTypeExtension: 'file-type-extension',\n MapBox: 'map',\n MediaGallery: 'gallery',\n SignatureBox: 'signature',\n LookupBox: 'lookup-editor',\n },\n Layouts: {\n BlockLayout: 'block-layout',\n RepeaterLayout: 'repeater-layout',\n TextBlockLayout: 'text-block-layout',\n FormField: 'form-field',\n },\n Actions: {\n ActionButton: 'button-action',\n },\n Advanced: {\n QRCode: 'qrcode',\n },\n Templates: {\n Designer: 'template-designer',\n },\n};\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-common.mjs","sources":["../../../../libs/modules/common/src/lib/const.ts","../../../../libs/modules/common/src/lib/entity.provider.ts","../../../../libs/modules/common/src/lib/menu.provider.ts","../../../../libs/modules/common/src/lib/permission-definition.provider.ts","../../../../libs/modules/common/src/lib/search-command.provider.ts","../../../../libs/modules/common/src/lib/settings.provider.ts","../../../../libs/modules/common/src/lib/features/global-search/search.config.ts","../../../../libs/modules/common/src/lib/features/global-search/search-slot.component.ts","../../../../libs/modules/common/src/lib/features/global-search/workflows/search.workflow.ts","../../../../libs/modules/common/src/lib/features/global-search/search.module.ts","../../../../libs/modules/common/src/lib/features/global-search/search.viewmodel.ts","../../../../libs/modules/common/src/lib/common.module.ts","../../../../libs/modules/common/src/lib/widgets-names-list.ts","../../../../libs/modules/common/src/acorex-modules-common.ts"],"sourcesContent":["const config = {\n i18n: 'common',\n};\nexport const RootConfig = {\n config,\n module: {\n module: 'common',\n name: 'Common',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-invoice',\n },\n entities: {},\n};\n","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityProvider implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n private injector = inject(Injector);\n\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: 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 switch (entityName) {\n\n }\n }\n return null;\n }\n}\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService, AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private sessionService = inject(AXPSessionService);\n private homePageService = inject(AXPHomePageService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n const appName = this.sessionService.application?.name;\n\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n const homePagePath = this.homePageService.getCurrent().path;\n if (homePagePath) {\n context.addItems([\n {\n priority: -9,\n text: `t('home',{scope:'common'})`,\n path: homePagePath,\n icon: 'fa-light fa-grid-2',\n data: {\n //requiredPermission: '',\n },\n },\n ]);\n }\n\n context.find('user-profile').addItems([\n {\n text: `t('user.title', {scope: \"settings\"})`,\n name: 'user-settings',\n icon: 'fa-light fa-gear',\n path: `/${this.sessionService.application?.name}/settings/user`,\n },\n ]);\n\n context.addItems([\n {\n name: 'tenant-application-settings',\n priority: 10000,\n text: `t('tenant.title', {scope: \"settings\"})`,\n type: 'menu',\n icon: 'fa-light fa-gear',\n path: `/${appName}/settings/tenant`,\n data: {\n requiredPermission: 'admin',\n },\n },\n {\n name: 'task-board',\n text: `Task Board`,\n type: 'menu',\n icon: 'fa-light fa-list-check',\n path: `/${appName}/task-board`,\n },\n ]);\n }\n}\n","import { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\n\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n // context.addPermissions([\n // {\n // name: 'view_templates',\n // title: 'Permission to view templates',\n // isArchived: false,\n // },\n // ]);\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult } from '@acorex/platform/common';\n\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n // {\n // group: 'command',\n // title: 'New Form Template',\n // icon: RootConfig.entities.template.icon,\n // description: 'Create a new form template for designing reusable forms.', // Added description\n // commands: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n // },\n // },\n // }\n ];\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // context\n // // Add Form Template Group\n // .addGroup('form-template', 'Form Template', 'Settings related to form templates.', RootConfig.module.icon)\n // // Start Interface Section\n // .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')\n // .addSetting({\n // key: 'history-panel',\n // title: 'Show History Panel',\n // scope: 'U',\n // isInherited: true,\n // defaultValue: false,\n // widget: {\n // type: AXPWidgetsCatalog.toggle,\n // },\n // description: 'Enable or disable the history panel for forms.',\n // validationRules: [\n // {\n // rule: 'required',\n // },\n // ],\n // })\n // .endSection()\n // .endGroup();\n }\n}\n","import { InjectionToken, Type } from \"@angular/core\";\n\nexport interface AXPGlobalSearchConfigs {\n window: () => Type<any>;\n}\n\nexport const AXP_GLOBAL_SEARCH_CONFIG_TOKEN = new InjectionToken<AXPGlobalSearchConfigs>('AXP_GLOBAL_SEARCH_CONFIG_TOKEN');","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, inject } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\n\n@Component({\n template: `\n <ax-button color=\"primary\" class=\"ax-flex md:ax-hidden\" (onClick)=\"startSearch()\">\n <ax-icon class=\"fa-regular fa-search\">\n </ax-icon>\n </ax-button>\n <div class=\"ax-bg-primary-200/15 ax-h-10 ax-w-72 ax-rounded-default ax-cursor-pointer ax-justify-between ax-hidden md:ax-flex ax-items-center ax-px-3 hover:ax-bg-primary-200/30 ax-text-primary-text\" (click)=\"startSearch()\" *translate=\"let t\">\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n <i class=\"fa-light fa-search ax-text-xl\"></i>\n <span>{{ t('search-placeholder',{scope:'global-search'}) | async}}</span>\n </div>\n <kbd class=\"ax-text-sm\">Ctrl+K</kbd>\n </div>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule, AXTextBoxModule]\n})\nexport class AXPGlobalSearchSlotComponent {\n\n protected workflow = inject(AXPWorkflowService);\n\n protected async startSearch() {\n await this.workflow.execute('global-search')\n }\n\n @HostListener('document:keydown', ['$event'])\n private async handleKeyboardEvent(event: KeyboardEvent) {\n if (event.ctrlKey) {\n switch (event.code) {\n case 'KeyK':\n event.preventDefault();\n event.stopPropagation();\n await this.startSearch();\n break;\n }\n }\n\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from '../search.config';\nimport { AXPSearchDisplayResult } from '@acorex/platform/common';\n\n@Injectable()\nexport class AXPGlobalSearchStartAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private workflow = inject(AXPWorkflowService);\n private config = inject(AXP_GLOBAL_SEARCH_CONFIG_TOKEN);\n\n override async execute(context: AXPWorkflowContext): Promise<void> {\n const component = await this.config.window();\n const popup = await this.popupService.open(component, {\n title: 'Search...',\n size: 'fit',\n closeOnBackdropClick: true,\n data: {\n text: context.getVariable('text'),\n },\n header: false,\n });\n if (popup.data) {\n const result = popup.data as AXPSearchDisplayResult;\n if (result && result.command) {\n this.workflow.execute(result.command?.name, result.command?.options);\n }\n }\n }\n}\n\nexport const AXPGlobalSearchWorkflow: AXPWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'AXPGlobalSearchStartAction',\n },\n },\n};\n","import { Injector, NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXPGlobalSearchSlotComponent } from './search-slot.component';\nimport { AXPGlobalSearchStartAction, AXPGlobalSearchWorkflow } from './workflows/search.workflow';\nimport { AXPAppStartUpService } from '@acorex/platform/core';\nimport { AXP_GLOBAL_SEARCH_CONFIG_TOKEN } from './search.config';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\n\n@NgModule({\n imports: [\n AXPComponentSlotModule.forChild({\n 'root-header-start': [\n {\n priority: 0,\n name: 'search',\n component: AXPGlobalSearchSlotComponent,\n },\n ],\n }),\n //\n AXPWorkflowModule.forChild({\n actions: {\n AXPGlobalSearchStartAction\n },\n workflows: {\n 'global-search': AXPGlobalSearchWorkflow,\n },\n })\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,\n useValue: {\n window: () =>\n import('./search-popup.component').then((c) => c.AXPGlobalSearchPopupComponent),\n },\n },\n ]\n})\nexport class AXPGlobalSearchModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n\n }\n}\n","import { AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchService, AXPSettingService } from \"@acorex/platform/common\";\nimport { AXPPlatformScope } from \"@acorex/platform/core\";\nimport { computed, inject, signal } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\nexport class AXPGlobalSearchViewModel {\n\n private settingKeys = {\n recent: \"global-search:recents:items\",\n pinned: \"global-search:pinned:items\"\n }\n\n private searchService = inject(AXPSearchService);\n private settingService = inject(AXPSettingService);\n\n private _text = signal<string | null>(null);\n public text = this._text.asReadonly();\n\n private _results = signal<AXPSearchDisplayGroupResult[]>([]);\n public results = this._results.asReadonly();\n\n private _isBusy = signal(false);\n public isBusy = this._isBusy.asReadonly();\n\n public isEmpty = computed(() => this.text() && this.results().length == 0);\n\n public isValid = computed(() => (this.text()?.length ?? 0) > 2);\n\n public isStart = computed(() => !this.isEmpty() && this.results().length == 0);\n\n public isWelcome = computed(() => this.isStart() && this.pinnedItems().length == 0 && this.recentItems().length == 0);\n\n private _recentItems = signal<AXPSearchDisplayResult[]>([]);\n private _pinnedItems = signal<AXPSearchDisplayResult[]>([]);\n public pinnedItems = this._pinnedItems.asReadonly();\n public recentItems = computed(() => this.getTopRecentItems());\n\n public readonly onItemSelected = new Subject<AXPSearchDisplayResult>();\n\n constructor() {\n this.loadSettings();\n }\n\n public async search(text: string): Promise<void> {\n this._isBusy.set(true);\n this._text.set(text);\n\n if (!this.isValid()) {\n this._results.set([]);\n } else {\n await new Promise((resolve) => setTimeout(resolve, 250));\n\n const results = await this.searchService.search(text);\n this._results.set(results);\n }\n\n this._isBusy.set(false);\n }\n\n public async execute(item: AXPSearchDisplayResult): Promise<void> {\n this.onItemSelected.next(item);\n await this.updateSelectionHistory(item);\n }\n\n public async pin(item: AXPSearchDisplayResult): Promise<void> {\n const currentPinned = this._pinnedItems();\n if (!currentPinned.some(i => i.id === item.id)) {\n this._pinnedItems.set([item, ...currentPinned].slice(0, 5));\n await this.saveSettings();\n }\n }\n\n public async unpin(item: AXPSearchDisplayResult): Promise<void> {\n const currentPinned = this._pinnedItems();\n this._pinnedItems.set(currentPinned.filter(i => i.id !== item.id));\n await this.saveSettings();\n }\n\n public async togglePin(item: AXPSearchDisplayResult): Promise<void> {\n if (this.isPinned(item)) {\n await this.unpin(item);\n } else {\n await this.pin(item);\n }\n }\n\n public isPinned(item: AXPSearchDisplayResult): boolean {\n const currentPinned = this._pinnedItems();\n return currentPinned.some(i => i.id === item.id);\n }\n\n private async updateSelectionHistory(item: AXPSearchDisplayResult): Promise<void> {\n // Update recent selections\n const currentHistory = this._recentItems();\n const updatedHistory = [item, ...currentHistory.filter(i => i.id !== item.id)].slice(0, 5);\n this._recentItems.set(updatedHistory);\n\n // Save updated settings\n await this.saveSettings();\n }\n\n private getTopRecentItems(): AXPSearchDisplayResult[] {\n const pinnedIds = new Set(this._pinnedItems().map(item => item.id));\n return this._recentItems().filter(item => !pinnedIds.has(item.id)).slice(0, 5);\n }\n\n public async clearRecentItems() {\n this._recentItems.set([]);\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.recent, []);\n }\n\n private async loadSettings(): Promise<void> {\n // Load recent selections\n const recent = await this.settingService.get<AXPSearchDisplayResult[]>(this.settingKeys.recent);\n if (recent) {\n this._recentItems.set(recent.slice(0, 5));\n }\n\n // Load pinned items\n const pinned = await this.settingService.get<AXPSearchDisplayResult[]>(this.settingKeys.pinned);\n if (pinned) {\n this._pinnedItems.set(pinned.slice(0, 5));\n }\n }\n\n private async saveSettings(): Promise<void> {\n // Save recent selections\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.recent, this._recentItems().slice(0, 5));\n\n // Save pinned items\n await this.settingService.scope(AXPPlatformScope.User).set(this.settingKeys.pinned, this._pinnedItems().slice(0, 5));\n }\n}\n","import { AXP_PERMISSION_DEFINITION_PROVIDER, AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { inject, NgModule } from '@angular/core';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMSettingProvider } from './settings.provider';\n\nimport { AXPWidgetsModule } from '@acorex/platform/widgets';\nimport { Routes, ROUTES } from '@angular/router';\nimport { AXPGlobalSearchModule } from './features/global-search';\n\n\n\n@NgModule({\n imports: [AXPGlobalSearchModule, AXPWidgetsModule],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n\n ],\n})\nexport class AXMCommonModule { }\n","\nexport const AXPWidgetsList = {\n Editors: {\n DocumentAttachment: 'document-attachment-editor',\n TagBox: 'tagable-editor',\n CheckBox: 'checkbox-editor',\n ColorBox: 'color-editor',\n DateTimeBox: 'date-time-editor',\n LargeTextBox: 'large-text-editor',\n NumberBox: 'number-editor',\n UnitValueBox: 'number-unit-editor',\n PasswordBox: 'password-editor',\n RichText: 'rich-text-editor',\n SelectBox: 'select-editor',\n SelectionList: 'selection-list-editor',\n TextBox: 'text-editor',\n InlineDataTable: 'table-editor',\n ToggleSwitch: 'toggle-editor',\n FileTypeExtension: 'file-type-extension',\n MapBox: 'map',\n MediaGallery: 'gallery',\n SignatureBox: 'signature',\n LookupBox: 'lookup-editor',\n },\n Layouts: {\n BlockLayout: 'block-layout',\n RepeaterLayout: 'repeater-layout',\n TextBlockLayout: 'text-block-layout',\n FormField: 'form-field',\n },\n Actions: {\n ActionButton: 'button-action',\n },\n Advanced: {\n QRCode: 'qrcode',\n },\n Templates: {\n Designer: 'template-designer',\n },\n};\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|