@acorex/modules 19.4.4 → 19.4.6
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/common/lib/widgets-names-list.d.ts +1 -0
- 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/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.store.d.ts +11 -12
- 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 +8 -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-dashboard-management.mjs +22 -4
- package/fesm2022/acorex-modules-dashboard-management.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 +20 -16
- 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
@@ -3,7 +3,7 @@ import * as i2$2 from '@acorex/platform/layout/components';
|
|
3
3
|
import { AXPThemeLayoutBlockComponent, AXPComponentSlotModule } from '@acorex/platform/layout/components';
|
4
4
|
import { AXMEntityCrudServiceImpl, AXPEntityDefinitionRegistryService, AXPEntityResolver, AXPEntityService, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
|
5
5
|
import * as i3$2 from '@acorex/platform/workflow';
|
6
|
-
import { AXPWorkflowAction, AXPWorkflowService, AXPWorkflowModule } from '@acorex/platform/workflow';
|
6
|
+
import { AXPWorkflowAction, AXPWorkflowService, AXPWorkflowTaskProvider, AXPWorkflowModule, AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/platform/workflow';
|
7
7
|
import * as i0 from '@angular/core';
|
8
8
|
import { Injectable, inject, signal, HostListener, Component, Input, Injector, NgModule } from '@angular/core';
|
9
9
|
import { ROUTES } from '@angular/router';
|
@@ -43,9 +43,9 @@ import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
43
43
|
import { AXPopoverModule } from '@acorex/components/popover';
|
44
44
|
import get from 'lodash-es/get';
|
45
45
|
import { AXPSessionService } from '@acorex/platform/auth';
|
46
|
-
import { firstValueFrom } from 'rxjs';
|
47
46
|
import { AXDialogService } from '@acorex/components/dialog';
|
48
47
|
import { SwUpdate } from '@angular/service-worker';
|
48
|
+
import { firstValueFrom } from 'rxjs';
|
49
49
|
|
50
50
|
const config = {
|
51
51
|
i18n: 'platform-management',
|
@@ -3576,6 +3576,11 @@ function sanitizeForStorage(obj) {
|
|
3576
3576
|
// File objects are handled separately, return as is
|
3577
3577
|
return obj;
|
3578
3578
|
}
|
3579
|
+
// Handle Blob objects
|
3580
|
+
if (obj instanceof Blob) {
|
3581
|
+
// Blob objects are handled separately
|
3582
|
+
return obj;
|
3583
|
+
}
|
3579
3584
|
// Handle regular objects
|
3580
3585
|
const cleanedObj = {};
|
3581
3586
|
for (const [key, value] of Object.entries(obj)) {
|
@@ -3694,7 +3699,7 @@ async function promotionEntityFactory(injector) {
|
|
3694
3699
|
interface: {
|
3695
3700
|
type: AXPWidgetsCatalog.fileUploader,
|
3696
3701
|
options: {
|
3697
|
-
multiple:
|
3702
|
+
multiple: false,
|
3698
3703
|
},
|
3699
3704
|
},
|
3700
3705
|
},
|
@@ -3838,23 +3843,81 @@ async function promotionEntityFactory(injector) {
|
|
3838
3843
|
// First deeply sanitize the data object to remove non-serializable content
|
3839
3844
|
data = sanitizeForStorage(data);
|
3840
3845
|
// Convert array of File objects to serializable format for IndexedDB storage
|
3841
|
-
data.imageId
|
3842
|
-
|
3843
|
-
|
3844
|
-
|
3845
|
-
|
3846
|
-
|
3847
|
-
|
3848
|
-
|
3849
|
-
|
3850
|
-
|
3851
|
-
|
3852
|
-
|
3853
|
-
|
3854
|
-
|
3855
|
-
|
3856
|
-
|
3857
|
-
|
3846
|
+
if (data.imageId && Array.isArray(data.imageId)) {
|
3847
|
+
const processedFiles = await Promise.all((data.imageId || []).map(async (file) => {
|
3848
|
+
if (file instanceof File) {
|
3849
|
+
return {
|
3850
|
+
name: file.name,
|
3851
|
+
type: file.type,
|
3852
|
+
size: file.size,
|
3853
|
+
lastModified: file.lastModified,
|
3854
|
+
// Convert File to base64 string for storage
|
3855
|
+
data: await new Promise((resolve) => {
|
3856
|
+
const reader = new FileReader();
|
3857
|
+
reader.onloadend = () => resolve(reader.result);
|
3858
|
+
reader.readAsDataURL(file);
|
3859
|
+
})
|
3860
|
+
};
|
3861
|
+
}
|
3862
|
+
// Handle new file structure with source.value containing the blob
|
3863
|
+
else if (file && file.source && file.source.value) {
|
3864
|
+
try {
|
3865
|
+
const blob = file.source.value;
|
3866
|
+
// Ensure we're working with a proper Blob object
|
3867
|
+
if (blob instanceof Blob) {
|
3868
|
+
return {
|
3869
|
+
id: file.id || null,
|
3870
|
+
name: file.name || 'file',
|
3871
|
+
type: file.type || blob.type || 'application/octet-stream',
|
3872
|
+
size: file.size || blob.size || 0,
|
3873
|
+
status: file.status || 'attached',
|
3874
|
+
// Convert Blob to base64 string for storage
|
3875
|
+
data: await new Promise((resolve) => {
|
3876
|
+
const reader = new FileReader();
|
3877
|
+
reader.onloadend = () => resolve(reader.result);
|
3878
|
+
reader.readAsDataURL(blob);
|
3879
|
+
})
|
3880
|
+
};
|
3881
|
+
}
|
3882
|
+
else {
|
3883
|
+
console.warn('Invalid blob in file.source.value', file);
|
3884
|
+
return {
|
3885
|
+
name: file.name || 'file',
|
3886
|
+
type: file.type || 'application/octet-stream',
|
3887
|
+
size: file.size || 0,
|
3888
|
+
status: file.status || 'attached'
|
3889
|
+
};
|
3890
|
+
}
|
3891
|
+
}
|
3892
|
+
catch (error) {
|
3893
|
+
console.error('Error processing file for storage', error);
|
3894
|
+
return {
|
3895
|
+
name: file.name || 'file',
|
3896
|
+
type: file.type || 'application/octet-stream',
|
3897
|
+
size: file.size || 0,
|
3898
|
+
status: file.status || 'attached'
|
3899
|
+
};
|
3900
|
+
}
|
3901
|
+
}
|
3902
|
+
// If it's already a serialized object with data property, keep it as is
|
3903
|
+
else if (file && file.data && typeof file.data === 'string') {
|
3904
|
+
return file;
|
3905
|
+
}
|
3906
|
+
// For any other format, return a clean version without complex objects
|
3907
|
+
else if (file) {
|
3908
|
+
return {
|
3909
|
+
id: file.id || null,
|
3910
|
+
name: file.name || 'unknown',
|
3911
|
+
type: file.type || 'application/octet-stream',
|
3912
|
+
size: file.size || 0,
|
3913
|
+
status: file.status || 'attached'
|
3914
|
+
};
|
3915
|
+
}
|
3916
|
+
return null;
|
3917
|
+
}));
|
3918
|
+
// Filter out nulls after awaiting the promise
|
3919
|
+
data.imageId = processedFiles.filter(Boolean);
|
3920
|
+
}
|
3858
3921
|
const res = await dataService.insertOne(data);
|
3859
3922
|
// Return the same ID format that was used for storage
|
3860
3923
|
return { id: res };
|
@@ -3871,7 +3934,7 @@ async function promotionEntityFactory(injector) {
|
|
3871
3934
|
data = sanitizeForStorage(data);
|
3872
3935
|
// Convert array of File objects to serializable format for IndexedDB storage
|
3873
3936
|
if (data.imageId && Array.isArray(data.imageId)) {
|
3874
|
-
|
3937
|
+
const processedFiles = await Promise.all((data.imageId || []).map(async (file) => {
|
3875
3938
|
if (file instanceof File) {
|
3876
3939
|
return {
|
3877
3940
|
name: file.name,
|
@@ -3886,8 +3949,64 @@ async function promotionEntityFactory(injector) {
|
|
3886
3949
|
})
|
3887
3950
|
};
|
3888
3951
|
}
|
3889
|
-
|
3952
|
+
// Handle new file structure with source.value containing the blob
|
3953
|
+
else if (file && file.source && file.source.value) {
|
3954
|
+
try {
|
3955
|
+
const blob = file.source.value;
|
3956
|
+
// Ensure we're working with a proper Blob object
|
3957
|
+
if (blob instanceof Blob) {
|
3958
|
+
return {
|
3959
|
+
id: file.id || null,
|
3960
|
+
name: file.name || 'file',
|
3961
|
+
type: file.type || blob.type || 'application/octet-stream',
|
3962
|
+
size: file.size || blob.size || 0,
|
3963
|
+
status: file.status || 'attached',
|
3964
|
+
// Convert Blob to base64 string for storage
|
3965
|
+
data: await new Promise((resolve) => {
|
3966
|
+
const reader = new FileReader();
|
3967
|
+
reader.onloadend = () => resolve(reader.result);
|
3968
|
+
reader.readAsDataURL(blob);
|
3969
|
+
})
|
3970
|
+
};
|
3971
|
+
}
|
3972
|
+
else {
|
3973
|
+
console.warn('Invalid blob in file.source.value', file);
|
3974
|
+
return {
|
3975
|
+
name: file.name || 'file',
|
3976
|
+
type: file.type || 'application/octet-stream',
|
3977
|
+
size: file.size || 0,
|
3978
|
+
status: file.status || 'attached'
|
3979
|
+
};
|
3980
|
+
}
|
3981
|
+
}
|
3982
|
+
catch (error) {
|
3983
|
+
console.error('Error processing file for storage', error);
|
3984
|
+
return {
|
3985
|
+
name: file.name || 'file',
|
3986
|
+
type: file.type || 'application/octet-stream',
|
3987
|
+
size: file.size || 0,
|
3988
|
+
status: file.status || 'attached'
|
3989
|
+
};
|
3990
|
+
}
|
3991
|
+
}
|
3992
|
+
// If it's already a serialized object with data property, keep it as is
|
3993
|
+
else if (file && file.data && typeof file.data === 'string') {
|
3994
|
+
return file;
|
3995
|
+
}
|
3996
|
+
// For any other format, return a clean version without complex objects
|
3997
|
+
else if (file) {
|
3998
|
+
return {
|
3999
|
+
id: file.id || null,
|
4000
|
+
name: file.name || 'unknown',
|
4001
|
+
type: file.type || 'application/octet-stream',
|
4002
|
+
size: file.size || 0,
|
4003
|
+
status: file.status || 'attached'
|
4004
|
+
};
|
4005
|
+
}
|
4006
|
+
return null;
|
3890
4007
|
}));
|
4008
|
+
// Filter out nulls after awaiting the promise
|
4009
|
+
data.imageId = processedFiles.filter(Boolean);
|
3891
4010
|
}
|
3892
4011
|
return await dataService.updateOne(data.id, data);
|
3893
4012
|
},
|
@@ -4260,6 +4379,23 @@ async function promotionEntityFactory(injector) {
|
|
4260
4379
|
type: 'update',
|
4261
4380
|
scope: AXPEntityCommandScope.Individual,
|
4262
4381
|
},
|
4382
|
+
//TODO: add this to the entity
|
4383
|
+
{
|
4384
|
+
title: 't("upload.title", { scope: "common" })',
|
4385
|
+
command: {
|
4386
|
+
name: 'show-file-uploader-popup',
|
4387
|
+
options: {
|
4388
|
+
id: '{{ context.eval("id") }}',
|
4389
|
+
files: '{{ context.eval("imageId") }}',
|
4390
|
+
multiple: false,
|
4391
|
+
accept: 'image/*',
|
4392
|
+
key: 'imageId',
|
4393
|
+
}
|
4394
|
+
},
|
4395
|
+
priority: 'secondary',
|
4396
|
+
type: 'update',
|
4397
|
+
scope: AXPEntityCommandScope.Individual,
|
4398
|
+
},
|
4263
4399
|
],
|
4264
4400
|
views: [
|
4265
4401
|
createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] }),
|
@@ -4669,7 +4805,7 @@ class AXMPlatformManagementCommonModule {
|
|
4669
4805
|
provide: AXP_SETTING_DEFINITION_PROVIDER,
|
4670
4806
|
useFactory: async () => {
|
4671
4807
|
const injector = inject(Injector);
|
4672
|
-
const provider = (await import('./acorex-modules-platform-management-settings.provider-
|
4808
|
+
const provider = (await import('./acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs')).AXMRegionalSettingProvider;
|
4673
4809
|
return new provider(injector);
|
4674
4810
|
},
|
4675
4811
|
multi: true
|
@@ -4708,7 +4844,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
4708
4844
|
provide: AXP_SETTING_DEFINITION_PROVIDER,
|
4709
4845
|
useFactory: async () => {
|
4710
4846
|
const injector = inject(Injector);
|
4711
|
-
const provider = (await import('./acorex-modules-platform-management-settings.provider-
|
4847
|
+
const provider = (await import('./acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs')).AXMRegionalSettingProvider;
|
4712
4848
|
return new provider(injector);
|
4713
4849
|
},
|
4714
4850
|
multi: true
|
@@ -4953,7 +5089,7 @@ class AXMShowReleaseNotesPopupAction extends AXPWorkflowAction {
|
|
4953
5089
|
}
|
4954
5090
|
async execute(context) {
|
4955
5091
|
const scope = RootConfig.config.i18n;
|
4956
|
-
const comp = await (await import('./acorex-modules-platform-management-list-version.component-
|
5092
|
+
const comp = await (await import('./acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs')).AXMListVersionComponent;
|
4957
5093
|
this.popupService.open(comp, {
|
4958
5094
|
title: `t('release-notes',{scope: "${scope}"})`,
|
4959
5095
|
});
|
@@ -5019,6 +5155,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
5019
5155
|
type: Injectable
|
5020
5156
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|
5021
5157
|
|
5158
|
+
class AXPUpdaterService {
|
5159
|
+
constructor() {
|
5160
|
+
const swUpdate = inject(SwUpdate, { optional: true });
|
5161
|
+
const dialogService = inject(AXDialogService);
|
5162
|
+
const translateService = inject(AXTranslationService);
|
5163
|
+
if (swUpdate?.isEnabled) {
|
5164
|
+
swUpdate.versionUpdates.subscribe((event) => {
|
5165
|
+
if (event.type === 'VERSION_READY') {
|
5166
|
+
console.log('New version available');
|
5167
|
+
const scope = RootConfig.config.i18n;
|
5168
|
+
const dialog = dialogService.open({
|
5169
|
+
icon: 'fa-regular fa-info',
|
5170
|
+
content: translateService.translateSync('updater.content', { scope: scope }),
|
5171
|
+
title: translateService.translateSync('updater.title', { scope: scope }),
|
5172
|
+
type: 'primary',
|
5173
|
+
orientation: 'horizontal',
|
5174
|
+
buttons: [
|
5175
|
+
{
|
5176
|
+
text: translateService.translateSync('updater.update', { scope: scope }),
|
5177
|
+
color: 'primary',
|
5178
|
+
onClick: async (e) => {
|
5179
|
+
try {
|
5180
|
+
document.location.reload();
|
5181
|
+
dialog.close();
|
5182
|
+
}
|
5183
|
+
catch (error) {
|
5184
|
+
console.error(error);
|
5185
|
+
}
|
5186
|
+
},
|
5187
|
+
},
|
5188
|
+
{
|
5189
|
+
text: translateService.translateSync('updater.cancel', { scope: scope }),
|
5190
|
+
color: 'default',
|
5191
|
+
autofocus: true,
|
5192
|
+
onClick: (e) => {
|
5193
|
+
dialog.close();
|
5194
|
+
},
|
5195
|
+
},
|
5196
|
+
],
|
5197
|
+
closeButton: false,
|
5198
|
+
});
|
5199
|
+
}
|
5200
|
+
});
|
5201
|
+
}
|
5202
|
+
}
|
5203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPUpdaterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
5204
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPUpdaterService, providedIn: 'root' }); }
|
5205
|
+
}
|
5206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPUpdaterService, decorators: [{
|
5207
|
+
type: Injectable,
|
5208
|
+
args: [{ providedIn: 'root' }]
|
5209
|
+
}], ctorParameters: () => [] });
|
5210
|
+
|
5211
|
+
class AXMUpdaterModule {
|
5212
|
+
constructor(updaterService) {
|
5213
|
+
this.updaterService = updaterService;
|
5214
|
+
}
|
5215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMUpdaterModule, deps: [{ token: AXPUpdaterService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
5216
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXMUpdaterModule }); }
|
5217
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMUpdaterModule, providers: [AXPUpdaterService] }); }
|
5218
|
+
}
|
5219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMUpdaterModule, decorators: [{
|
5220
|
+
type: NgModule,
|
5221
|
+
args: [{
|
5222
|
+
imports: [],
|
5223
|
+
exports: [],
|
5224
|
+
declarations: [],
|
5225
|
+
providers: [AXPUpdaterService],
|
5226
|
+
}]
|
5227
|
+
}], ctorParameters: () => [{ type: AXPUpdaterService }] });
|
5228
|
+
|
5022
5229
|
class AXMMenuProvider {
|
5023
5230
|
constructor() {
|
5024
5231
|
this.entityService = inject(AXPEntityService);
|
@@ -5181,76 +5388,98 @@ class AXMMenuProvider {
|
|
5181
5388
|
}
|
5182
5389
|
}
|
5183
5390
|
|
5184
|
-
class
|
5391
|
+
class AXPTaskBoardTaskProvider extends AXPWorkflowTaskProvider {
|
5185
5392
|
constructor() {
|
5186
|
-
|
5187
|
-
|
5188
|
-
|
5189
|
-
|
5190
|
-
|
5191
|
-
|
5192
|
-
|
5193
|
-
|
5194
|
-
|
5195
|
-
|
5196
|
-
|
5197
|
-
|
5198
|
-
|
5199
|
-
|
5200
|
-
|
5201
|
-
|
5202
|
-
|
5203
|
-
|
5204
|
-
|
5205
|
-
|
5206
|
-
|
5207
|
-
|
5208
|
-
}
|
5209
|
-
catch (error) {
|
5210
|
-
console.error(error);
|
5211
|
-
}
|
5393
|
+
super(...arguments);
|
5394
|
+
this.calendarService = inject(AXCalendarService);
|
5395
|
+
this.list = [
|
5396
|
+
{
|
5397
|
+
id: 3,
|
5398
|
+
title: 'Platform important task',
|
5399
|
+
endDate: this.calendarService.create(new Date()).add('day', 1).date,
|
5400
|
+
startDate: new Date(),
|
5401
|
+
description: 'Platform important task description',
|
5402
|
+
textColor: 'rgba(var(--ax-sys-color-on-warning-surface))',
|
5403
|
+
backgroundColor: 'rgba(var(--ax-sys-color-warning-surface))',
|
5404
|
+
allDay: true,
|
5405
|
+
data: {
|
5406
|
+
actions: [
|
5407
|
+
{
|
5408
|
+
name: 'edit',
|
5409
|
+
title: 'Edit',
|
5410
|
+
icon: 'fa-light fa-pencil',
|
5411
|
+
command: {
|
5412
|
+
name: 'edit',
|
5413
|
+
options: {
|
5414
|
+
taskId: 3,
|
5212
5415
|
},
|
5213
5416
|
},
|
5214
|
-
|
5215
|
-
|
5216
|
-
|
5217
|
-
|
5218
|
-
|
5219
|
-
|
5417
|
+
},
|
5418
|
+
],
|
5419
|
+
},
|
5420
|
+
},
|
5421
|
+
{
|
5422
|
+
id: 4,
|
5423
|
+
endDate: this.calendarService.create(new Date()).add('hour', 1).date,
|
5424
|
+
startDate: new Date(),
|
5425
|
+
title: 'Platform important task 2',
|
5426
|
+
data: {
|
5427
|
+
actions: [
|
5428
|
+
{
|
5429
|
+
name: 'edit',
|
5430
|
+
title: 'Edit',
|
5431
|
+
icon: 'fa-light fa-pencil',
|
5432
|
+
command: {
|
5433
|
+
name: 'edit',
|
5434
|
+
options: {
|
5435
|
+
taskId: 4,
|
5220
5436
|
},
|
5221
5437
|
},
|
5222
|
-
|
5223
|
-
|
5224
|
-
|
5225
|
-
|
5226
|
-
|
5438
|
+
},
|
5439
|
+
],
|
5440
|
+
},
|
5441
|
+
},
|
5442
|
+
];
|
5443
|
+
}
|
5444
|
+
get name() {
|
5445
|
+
return 'platform-tasks';
|
5446
|
+
}
|
5447
|
+
get title() {
|
5448
|
+
return 'Platform Tasks';
|
5449
|
+
}
|
5450
|
+
get icon() {
|
5451
|
+
return 'fa-square-terminal';
|
5452
|
+
}
|
5453
|
+
async getTasks(options) {
|
5454
|
+
return this.list;
|
5455
|
+
}
|
5456
|
+
async updateTask(id, range) {
|
5457
|
+
const item = this.list.find((t) => t.id === id);
|
5458
|
+
if (!item) {
|
5459
|
+
throw new Error('Item not found');
|
5460
|
+
}
|
5461
|
+
item.startDate = range.from;
|
5462
|
+
item.endDate = range.end;
|
5463
|
+
if (this.isDurationMoreThan24Hours(item.startDate, item.endDate)) {
|
5464
|
+
item.allDay = true;
|
5465
|
+
}
|
5466
|
+
else {
|
5467
|
+
item.allDay = false;
|
5227
5468
|
}
|
5469
|
+
this.list = this.list.map((t) => (t.id === id ? item : t));
|
5470
|
+
return item;
|
5228
5471
|
}
|
5229
|
-
|
5230
|
-
|
5231
|
-
|
5232
|
-
|
5233
|
-
|
5234
|
-
|
5235
|
-
|
5236
|
-
|
5237
|
-
|
5238
|
-
constructor(updaterService) {
|
5239
|
-
this.updaterService = updaterService;
|
5472
|
+
isDurationMoreThan24Hours(date1, date2) {
|
5473
|
+
const millisecondsIn24Hours = 24 * 60 * 60 * 1000 - 1;
|
5474
|
+
const differenceInMilliseconds = Math.abs(date1.getTime() - date2.getTime());
|
5475
|
+
return differenceInMilliseconds >= millisecondsIn24Hours;
|
5476
|
+
}
|
5477
|
+
async executeCommand(command) {
|
5478
|
+
return {
|
5479
|
+
success: true,
|
5480
|
+
};
|
5240
5481
|
}
|
5241
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMUpdaterModule, deps: [{ token: AXPUpdaterService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
5242
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXMUpdaterModule }); }
|
5243
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMUpdaterModule, providers: [AXPUpdaterService] }); }
|
5244
5482
|
}
|
5245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMUpdaterModule, decorators: [{
|
5246
|
-
type: NgModule,
|
5247
|
-
args: [{
|
5248
|
-
imports: [],
|
5249
|
-
exports: [],
|
5250
|
-
declarations: [],
|
5251
|
-
providers: [AXPUpdaterService],
|
5252
|
-
}]
|
5253
|
-
}], ctorParameters: () => [{ type: AXPUpdaterService }] });
|
5254
5483
|
|
5255
5484
|
function routesFactory() {
|
5256
5485
|
const config = inject(AXP_ENTITY_CONFIG_TOKEN);
|
@@ -5341,6 +5570,11 @@ class AXMPlatformManagementModule {
|
|
5341
5570
|
useClass: AXPReleaseNotesSettingProvider,
|
5342
5571
|
multi: true,
|
5343
5572
|
},
|
5573
|
+
{
|
5574
|
+
provide: AXP_WORKFLOW_TASK_PROVIDER,
|
5575
|
+
useClass: AXPTaskBoardTaskProvider,
|
5576
|
+
multi: true,
|
5577
|
+
},
|
5344
5578
|
AppVersionCheckService,
|
5345
5579
|
AppTermsCheckService,
|
5346
5580
|
], imports: [AXMUpdaterModule,
|
@@ -5496,6 +5730,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
5496
5730
|
useClass: AXPReleaseNotesSettingProvider,
|
5497
5731
|
multi: true,
|
5498
5732
|
},
|
5733
|
+
{
|
5734
|
+
provide: AXP_WORKFLOW_TASK_PROVIDER,
|
5735
|
+
useClass: AXPTaskBoardTaskProvider,
|
5736
|
+
multi: true,
|
5737
|
+
},
|
5499
5738
|
AppVersionCheckService,
|
5500
5739
|
AppTermsCheckService,
|
5501
5740
|
],
|
@@ -5509,4 +5748,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
|
|
5509
5748
|
*/
|
5510
5749
|
|
5511
5750
|
export { AXPRegionalSetting as A, AXMGlossaryServiceImpl as B, metaDataDefinitionFactory as C, AXMMetaDataDefinitionService as D, AXMPMetaDataDefinitionServiceImpl as E, metaDataDefinitionCategoryEntityFactory as F, AXMMetaDataDefinitionCategoryService as G, AXMMetaDataDefinitionCategoryServiceImpl as H, AXMPromotionSlotComponent as I, promotionEntityFactory as J, AXMAppPromotionService as K, AXMPromotionServiceImpl as L, AXPRegionalStoreService as M, AXMUpdaterModule as N, AXPUpdaterService as O, RootConfig as R, AXMAppVersionService as a, AXMPlatformManagementModule as b, appTermEntityEntityFactory as c, AXMAppTermService as d, AXMAppTermServiceImpl as e, AXMListTermsComponent as f, AXMNotifyNewTermPopupAction as g, AXMTermUpdateSettingAction as h, AXMNewTermWorkflow as i, appVersionEntityEntityFactory as j, AXMAppVersionServiceImpl as k, AXMNotifyAppComponent as l, AXMAppVersionSlotComponent as m, AXMChangeLogPopupAction as n, AXMChangeLogUpdateSettingAction as o, AXMWhatsNewWorkflow as p, AXMCheckNewVersionAction as q, AXMCheckNewVersionWorkflow as r, dataSourceEntityFactory as s, AXMDataSourceService as t, AXMDataSourceServiceImpl as u, globalVariableEntityFactory as v, AXMGlobalVariablesService as w, AXMGlobalVariablesServiceImpl as x, glossaryEntityFactory as y, AXMGlossaryService as z };
|
5512
|
-
//# sourceMappingURL=acorex-modules-platform-management-acorex-modules-platform-management-
|
5751
|
+
//# sourceMappingURL=acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs.map
|