@acorex/modules 19.4.8 → 19.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B-OllEdK.mjs → acorex-modules-auth-acorex-modules-auth-Q7plhyha.mjs} +11 -11
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B-OllEdK.mjs.map → acorex-modules-auth-acorex-modules-auth-Q7plhyha.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DNr963RR.mjs → acorex-modules-auth-app-chooser.component-3RSDJLvi.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DNr963RR.mjs.map → acorex-modules-auth-app-chooser.component-3RSDJLvi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-HfQItJY6.mjs → acorex-modules-auth-login.module--HO8WVi_.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-HfQItJY6.mjs.map → acorex-modules-auth-login.module--HO8WVi_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-DgN0Dh-I.mjs → acorex-modules-auth-master.layout-CKfLvnZR.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-DgN0Dh-I.mjs.map → acorex-modules-auth-master.layout-CKfLvnZR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-CVgNTaKI.mjs → acorex-modules-auth-password.component-D3xMo34u.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-CVgNTaKI.mjs.map → acorex-modules-auth-password.component-D3xMo34u.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-B-L3ksjM.mjs → acorex-modules-auth-password.component-DGzkaDZv.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-B-L3ksjM.mjs.map → acorex-modules-auth-password.component-DGzkaDZv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-CtoZQEq9.mjs → acorex-modules-auth-routes-Dphs3LyY.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-CtoZQEq9.mjs.map → acorex-modules-auth-routes-Dphs3LyY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-CCP_Oovk.mjs → acorex-modules-auth-two-factor.module-CKp1SEfD.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-CCP_Oovk.mjs.map → acorex-modules-auth-two-factor.module-CKp1SEfD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-6jRmJGeS.mjs → acorex-modules-auth-user-sessions.component-CT6GqJHq.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-6jRmJGeS.mjs.map → acorex-modules-auth-user-sessions.component-CT6GqJHq.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs → acorex-modules-document-management-acorex-modules-document-management-lAGMGi3Y.mjs} +84 -41
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-lAGMGi3Y.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs → acorex-modules-document-management-attachment-widget.component-DieghltT.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs.map → acorex-modules-document-management-attachment-widget.component-DieghltT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs → acorex-modules-document-management-create-folder-dialog.component-Ddzknhp0.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs.map → acorex-modules-document-management-create-folder-dialog.component-Ddzknhp0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-CvHIETNf.mjs → acorex-modules-document-management-details-view.component-irEPa71J.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-CvHIETNf.mjs.map → acorex-modules-document-management-details-view.component-irEPa71J.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs → acorex-modules-document-management-drive-choose.component-eAqk3eca.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs.map → acorex-modules-document-management-drive-choose.component-eAqk3eca.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive.component-Crh10Z5J.mjs → acorex-modules-document-management-drive.component-TNwvgpB_.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive.component-Crh10Z5J.mjs.map → acorex-modules-document-management-drive.component-TNwvgpB_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuV7MPG5.mjs → acorex-modules-document-management-large-icons-view.component-iBkydbXJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuV7MPG5.mjs.map → acorex-modules-document-management-large-icons-view.component-iBkydbXJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CwYwVxoG.mjs → acorex-modules-document-management-large-tiles-view.component-BUnwhB1D.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CwYwVxoG.mjs.map → acorex-modules-document-management-large-tiles-view.component-BUnwhB1D.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-BHEwRA3m.mjs → acorex-modules-document-management-list-view.component-Bu6EA_LC.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-BHEwRA3m.mjs.map → acorex-modules-document-management-list-view.component-Bu6EA_LC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B3qaYwRL.mjs → acorex-modules-document-management-permission-definition.provider-D0O5DPux.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B3qaYwRL.mjs.map → acorex-modules-document-management-permission-definition.provider-D0O5DPux.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-CrcJm9jP.mjs → acorex-modules-document-management-rename-node-dialog.component-CSnz9s0C.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-CrcJm9jP.mjs.map → acorex-modules-document-management-rename-node-dialog.component-CSnz9s0C.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CD5UORaq.mjs → acorex-modules-document-management-small-icons-view.component-BvgWgPdU.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CD5UORaq.mjs.map → acorex-modules-document-management-small-icons-view.component-BvgWgPdU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-cpc_xfbT.mjs → acorex-modules-document-management-small-tiles-view.component-CGAmXmDZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-cpc_xfbT.mjs.map → acorex-modules-document-management-small-tiles-view.component-CGAmXmDZ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs → acorex-modules-platform-management-acorex-modules-platform-management-l00277iI.mjs} +177 -178
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-l00277iI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs → acorex-modules-platform-management-list-version.component-CbjbxadS.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs.map → acorex-modules-platform-management-list-version.component-CbjbxadS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs → acorex-modules-platform-management-settings.provider-DKwQuq9_.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs.map → acorex-modules-platform-management-settings.provider-DKwQuq9_.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/package.json +3 -2
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-modules-document-management-acorex-modules-document-management-lAGMGi3Y.mjs","sources":["../../../../libs/modules/document-management/src/lib/const.ts","../../../../libs/modules/document-management/src/lib/entity.provider.ts","../../../../libs/modules/document-management/src/lib/permission.keys.ts","../../../../libs/modules/document-management/src/lib/menu.provider.ts","../../../../libs/modules/document-management/src/lib/search-command.provider.ts","../../../../libs/modules/document-management/src/lib/settings.provider.ts","../../../../libs/modules/document-management/src/lib/entities/document/document.service.ts","../../../../libs/modules/document-management/src/lib/entities/document/document.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document/document.module.ts","../../../../libs/modules/document-management/src/lib/entities/document-type/document-type.service.ts","../../../../libs/modules/document-management/src/lib/entities/document-type/document-type.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document-type/document-type.module.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-definition/document-type-meta-definition.service.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-definition/document-type-meta-definition.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-definition/document-type-meta-definition.module.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-value/document-type-meta-value.service.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-value/document-type-meta-value.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-value/document-type-meta-value.module.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-status-definition/document-type-status-definition.service.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-status-definition/document-type-status-definition.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-status-definition/document-type-status-definition.module.ts","../../../../libs/modules/document-management/src/lib/entities/folder/folder.service.ts","../../../../libs/modules/document-management/src/lib/entities/folder/folder.entity.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/image.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/video.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/document.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/audio.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/archive.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/code.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-column.component.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-designer.component.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-edit.component.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-view.component.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-widget.config.ts","../../../../libs/modules/document-management/src/lib/features/file-type/file-type.module.ts","../../../../libs/modules/document-management/src/lib/features/workflow/upload/upload.workflow.ts","../../../../libs/modules/document-management/src/lib/badge.provider.ts","../../../../libs/modules/document-management/src/lib/features/shared/document-manager.service.ts","../../../../libs/modules/document-management/src/lib/features/shared/components/document-type-choose-file/document-type-choose-file.component.ts","../../../../libs/modules/document-management/src/lib/features/shared/components/document-type-choose-file/document-type-choose-file.component.html","../../../../libs/modules/document-management/src/lib/features/shared/components/file-viewer-popup/file-viewer-popup.component.ts","../../../../libs/modules/document-management/src/lib/features/shared/components/file-viewer-popup/file-viewer-popup.component.html","../../../../libs/modules/document-management/src/lib/features/document-explorer/settings.keys.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/document-explorer.viewmodel.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/document-explorer.component.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/document-explorer.component.html","../../../../libs/modules/document-management/src/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.ts","../../../../libs/modules/document-management/src/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.html","../../../../libs/modules/document-management/src/lib/features/drive-choose/slots/file-uploader-widget-extension/file-uploader-widget-extension.component.ts","../../../../libs/modules/document-management/src/lib/features/drive-choose/drive-choose.module.ts","../../../../libs/modules/document-management/src/lib/document-management.module.ts","../../../../libs/modules/document-management/src/acorex-modules-document-management.ts"],"sourcesContent":["const config = {\n i18n: 'document-management',\n};\nexport const RootConfig = {\n config,\n module: {\n module: 'DocumentManagement',\n name: 'DocumentManagement',\n title: `t('documentManagement', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-books',\n },\n entities: {\n folder: {\n name: 'Folder',\n title: `t(\"folder\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"folderPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-folder',\n },\n document: {\n name: 'Document',\n title: `t(\"document\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-file',\n },\n documentType: {\n name: 'DocumentType',\n title: `t(\"documentType\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentTypePlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-books',\n },\n documentTypeMetaDefinition: {\n name: 'documentTypeMeta',\n title: `t(\"documentTypeMeta\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentTypeMetaPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-meta',\n },\n documentTypeMetaValue: {\n name: 'documentTypeMetaValue',\n title: `t(\"documentTypeMetaValue\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentTypeMetaValuePlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-meta',\n },\n documentTypeStatus: {\n name: 'documentTypeStatus',\n title: `t(\"documentTypeStatus\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentTypeStatusPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-status',\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 case RootConfig.entities.document.name:\n return (await import('./entities')).documentFactory(this.injector);\n case RootConfig.entities.documentType.name:\n return (await import('./entities')).documentTypeFactory(this.injector);\n case RootConfig.entities.folder.name:\n return (await import('./entities')).folderFactory(this.injector);\n }\n }\n return null;\n }\n}\n","export const AXMPermissionsKeys = {\n DocumentManagement: {\n Management: 'document-management:manage',\n DocumentType: {\n Management: 'document-management:document-type:manage',\n View: 'document-management:document-type:view',\n Edit: 'document-management:document-type:edit',\n Delete: 'document-management:document-type:delete',\n Create: 'document-management:document-type:create',\n },\n Driver: {\n Management: 'document-management:driver:manage',\n View: 'document-management:driver:view',\n Edit: 'document-management:driver:edit',\n Delete: 'document-management:driver:delete',\n Create: 'document-management:driver:create',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXMPermissionsKeys } from './permission.keys';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n context.addItems([\n {\n priority: 9001,\n text: RootConfig.module.title,\n icon: RootConfig.module.icon,\n data: {\n requiredPermission: [AXMPermissionsKeys.DocumentManagement.Management]\n },\n children: [\n {\n text: RootConfig.entities.documentType.title,\n path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.documentType.name),\n icon: RootConfig.entities.documentType.icon,\n data: {\n requiredPermission: [AXMPermissionsKeys.DocumentManagement.DocumentType.Management]\n },\n badgeKey: 'badge-1',\n priority: 2,\n },\n {\n text: `t('scope.tenant.title', {scope: \"${RootConfig.config.i18n}\"})`,\n path: `${this.sessionService.application?.name}/drive/tenant`,\n icon: RootConfig.entities.document.icon,\n data: {\n requiredPermission: [AXMPermissionsKeys.DocumentManagement.Driver.Management],\n scope: 'tenant',\n },\n badgeKey: 'badge-2',\n priority: 1,\n },\n ],\n },\n ]);\n //\n context.find('user-profile').addItems([\n {\n name: 'my-notifications',\n text: `t('scope.user.title', {scope: \"${RootConfig.config.i18n}\"})`,\n icon: 'fa-light fa-folder-open',\n path: `${this.sessionService.application?.name}/drive/user`,\n data: {\n scope: 'user',\n requiredPermission: [AXMPermissionsKeys.DocumentManagement.Driver.Management]\n },\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\n }\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementFolderEntityModel } from '../folder';\nimport { AXMDocumentManagementDocumentEntityModel } from './document.types';\n\nexport abstract class AXMDocumentService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentEntityModel\n> {\n abstract getPath(documentId: string, stopFolderId?: string): Promise<AXMDocumentManagementFolderEntityModel[]>;\n\n abstract searchFiles(searchTerm: string, rootFolderId: string): Promise<AXMDocumentManagementDocumentEntityModel[]>;\n}\n\n@Injectable()\nexport class AXMDocumentServiceImpl extends AXMDocumentService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.document.name}`);\n }\n\n override async getPath(_: string): Promise<AXMDocumentManagementFolderEntityModel[]> {\n throw new Error('Not implemented');\n }\n\n override async searchFiles(\n _searchTerm: string,\n _rootFolderId: string\n ): Promise<AXMDocumentManagementDocumentEntityModel[]> {\n throw new Error('Not implemented');\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentService } from './document.service';\n\nexport async function documentFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n source: '',\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 't(\"name\", { scope: \"common\" })',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'type',\n title: 't(\"type\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.documentType.name}`,\n expose: 'type',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'metaData',\n title: 't(\"metaData\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.metaData,\n options: {\n listMeta: ` {{context.eval(\"type.meta\")}} `,\n },\n triggers: [\n {\n event: `{{ events.context(\"type\") }}`,\n action: `{{ console.log(context.eval(\"type\")); }}`,\n },\n ],\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'file',\n title: `t(\"file\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.fileUploader,\n options: {\n maxFileSize: ` {{context.eval(\"type.maxSize\")}} `,\n multiple: ` {{context.eval(\"type.multiple\")}} `,\n accept: ` {{context.eval(\"type.multiple\")}} `,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'file',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'file',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'file',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport { AXMDocumentService, AXMDocumentServiceImpl } from './document.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentService,\n useClass: AXMDocumentServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeEntityModel } from './document-type.types';\n\nexport abstract class AXMDocumentTypeService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentTypeEntityModel\n> {}\n\n@Injectable()\nexport class AXMDocumentTypeServiceImpl extends AXMDocumentTypeService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentType.name}`);\n }\n}\n","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXMMetaDataDefinitionService } from '@acorex/modules/platform-management';\nimport { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentTypeService } from './document-type.service';\n\nexport async function documentTypeFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentTypeService);\n const metaDefinitionService = injector.get(AXMMetaDataDefinitionService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.documentType.name,\n source: '',\n title: RootConfig.entities.documentType.title,\n formats: {\n individual: RootConfig.entities.documentType.title,\n plural: RootConfig.entities.documentType.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.documentType.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'maxSize',\n title: `t(\"maxSize\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsCatalog.numberUnit,\n options: {\n textField: 'name',\n valueField: 'value',\n dataSource: [\n {\n name: 'kb',\n value: 'KB',\n calUnit: 1,\n },\n {\n name: 'mb',\n value: 'MB',\n calUnit: 1024,\n },\n {\n name: 'gb',\n value: 'GB',\n calUnit: 1024 * 1024,\n },\n ],\n mainUnit: 'kb',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'isEncrypted',\n title: `t(\"isEncrypted\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.checkbox,\n },\n },\n },\n {\n name: 'meta',\n title: `t(\"meta\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n //defaultValue: AXMFormTemplateTypes.Form,\n dataSource: new AXDataSource({\n load: async (_) => {\n const metaData = await metaDefinitionService.query();\n return metaData;\n },\n pageSize: 100,\n }),\n multiple: true,\n },\n },\n },\n },\n {\n name: 'type',\n title: `t(\"type\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.fileTypeExtension,\n options: {},\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'meta',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'meta',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'meta',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView()],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport { AXMDocumentTypeService, AXMDocumentTypeServiceImpl } from './document-type.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentTypeService,\n useClass: AXMDocumentTypeServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentTypeEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaDefinitionEntityModel } from './document-type-meta-definition.types';\n\nexport abstract class AXMDocumentManagementDocumentTypeMetaDefinitionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModel\n> {}\n\n@Injectable()\nexport class AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl extends AXMDocumentManagementDocumentTypeMetaDefinitionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeMetaDefinition}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaDefinitionEntityService } from './document-type-meta-definition.service';\n\nexport async function documentTypeMetaDefinitionfactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeMetaDefinitionEntityService);\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n source: '',\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityService,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl\n} from './document-type-meta-definition.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeMetaDefinitionEntityService,\n useClass: AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaValueEntityModel } from './document-type-meta-value.types';\n\nexport abstract class AXMDocumentManagementDocumentTypeMetaValueEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentTypeMetaValueEntityModel\n> {}\n\n@Injectable()\nexport class AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl extends AXMDocumentManagementDocumentTypeMetaValueEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeMetaValue}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaValueEntityService } from './document-type-meta-value.service';\n\nexport async function documentTypeMetaValueFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeMetaValueEntityService);\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n source: '',\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMDocumentManagementDocumentTypeMetaValueEntityService,\n AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl\n} from './document-type-meta-value.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeMetaValueEntityService,\n useClass: AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentTypeMetaValueEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeStatusDefinitionEntityModel } from './document-type-status-definition.types';\n\nexport abstract class AXMDocumentManagementDocumentTypeStatusDefinitionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModel\n> {}\n\n@Injectable()\nexport class AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl extends AXMDocumentManagementDocumentTypeStatusDefinitionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeStatus}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeStatusDefinitionEntityService } from './document-type-status-definition.service';\n\nexport async function documentTypeStatusDefinitionFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeStatusDefinitionEntityService);\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n source: '',\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityService,\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl\n} from './document-type-status-definition.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeStatusDefinitionEntityService,\n useClass: AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementFolderCreateDto, AXMDocumentManagementFolderEntityModel } from './folder.types';\n\nexport abstract class AXMFolderService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementFolderEntityModel,\n AXMDocumentManagementFolderEntityModel,\n AXMDocumentManagementFolderCreateDto\n//AXMDocumentManagementFolderGetDto\n> {\n abstract getPath(folderId: string, stopFolderId?: string): Promise<AXMDocumentManagementFolderEntityModel[]>;\n\n abstract searchFolders(searchTerm: string, rootFolderId: string): Promise<AXMDocumentManagementFolderEntityModel[]>;\n}\n\n@Injectable()\nexport class AXMFolderServiceImpl extends AXMFolderService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.folder.name}`);\n }\n\n override async getPath(_: string): Promise<AXMDocumentManagementFolderEntityModel[]> {\n throw new Error('Not implemented');\n }\n\n override async searchFolders(\n _searchTerm: string,\n _rootFolderId: string\n ): Promise<AXMDocumentManagementFolderEntityModel[]> {\n throw new Error('Not implemented');\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMFolderService } from './folder.service';\n\nexport async function folderFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMFolderService);\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.folder.name,\n source: '',\n title: RootConfig.entities.folder.title,\n formats: {\n individual: RootConfig.entities.folder.title,\n plural: RootConfig.entities.folder.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.folder.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\n\nexport class AXMImageFileTypeProvider implements AXPFileTypeInfoProvider {\n\n\n\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'image',\n title: 'Image',\n icon: 'fa-light fa-image ax-text-purple-500',\n extensions: [\n {\n name: 'jpg',\n title: 'JPEG',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [],\n },\n {\n name: 'png',\n title: 'PNG',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [],\n },\n {\n name: 'gif',\n title: 'GIF',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [\n {\n name: 'duration',\n title: 'Duration',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {\n validations: [\n {\n rule: \"required\"\n }\n ]\n },\n path: 'gift.duration',\n };\n },\n },\n ],\n },\n ],\n meta: [\n {\n name: 'width',\n title: 'Width',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {\n validations: [\n {\n rule: \"required\"\n }\n ]\n },\n path: 'image.width',\n };\n },\n },\n {\n name: 'height',\n title: 'Height',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {},\n path: 'image.height',\n };\n },\n },\n ],\n },\n ];\n }\n}\n","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMVideoFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'video',\n title: 'Video',\n icon: 'fa-light fa-video ax-text-red-500',\n extensions: [\n {\n name: 'mp4',\n title: 'MP4',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n {\n name: 'avi',\n title: 'AVI',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n {\n name: 'mkv',\n title: 'MKV',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n ],\n },\n ];\n }\n}\n","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMDocumentFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'document',\n title: 'Document',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n extensions: [\n {\n name: 'pdf',\n title: 'PDF',\n icon: 'fa-light fa-file-pdf ax-text-red-600',\n meta: [],\n },\n {\n name: 'doc',\n title: 'Word',\n icon: 'fa-light fa-file-word ax-text-blue-700',\n meta: [],\n },\n {\n name: 'docx',\n title: 'Word',\n icon: 'fa-light fa-file-word ax-text-blue-700',\n meta: [],\n },\n {\n name: 'xls',\n title: 'Excel',\n icon: 'fa-light fa-file-excel ax-text-green-700',\n meta: [],\n },\n {\n name: 'xlsx',\n title: 'Excel',\n icon: 'fa-light fa-file-excel ax-text-green-700',\n meta: [],\n },\n {\n name: 'ppt',\n title: 'PowerPoint',\n icon: 'fa-light fa-file-powerpoint ax-text-orange-700',\n meta: [],\n },\n {\n name: 'pptx',\n title: 'PowerPoint',\n icon: 'fa-light fa-file-powerpoint ax-text-orange-700',\n meta: [],\n },\n {\n name: 'txt',\n title: 'Text',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n meta: [],\n },\n {\n name: 'rtf',\n title: 'Rich Text',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n meta: [],\n },\n ],\n },\n ];\n }\n} ","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMAudioFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'audio',\n title: 'Audio',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n extensions: [\n {\n name: 'mp3',\n title: 'MP3',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'wav',\n title: 'WAV',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'ogg',\n title: 'OGG',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'm4a',\n title: 'M4A',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'flac',\n title: 'FLAC',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n ],\n },\n ];\n }\n} ","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMArchiveFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'archive',\n title: 'Archive',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n extensions: [\n {\n name: 'zip',\n title: 'ZIP',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'rar',\n title: 'RAR',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: '7z',\n title: '7-Zip',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'tar',\n title: 'TAR',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'gz',\n title: 'GZIP',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n ],\n },\n ];\n }\n} ","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMCodeFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'code',\n title: 'Code',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n extensions: [\n {\n name: 'js',\n title: 'JavaScript',\n icon: 'fa-light fa-file-code ax-text-yellow-500',\n meta: [],\n },\n {\n name: 'ts',\n title: 'TypeScript',\n icon: 'fa-light fa-file-code ax-text-blue-600',\n meta: [],\n },\n {\n name: 'html',\n title: 'HTML',\n icon: 'fa-light fa-file-code ax-text-orange-600',\n meta: [],\n },\n {\n name: 'css',\n title: 'CSS',\n icon: 'fa-light fa-file-code ax-text-pink-500',\n meta: [],\n },\n {\n name: 'json',\n title: 'JSON',\n icon: 'fa-light fa-file-code ax-text-green-500',\n meta: [],\n },\n {\n name: 'xml',\n title: 'XML',\n icon: 'fa-light fa-file-code ax-text-green-500',\n meta: [],\n },\n {\n name: 'py',\n title: 'Python',\n icon: 'fa-light fa-file-code ax-text-yellow-500',\n meta: [],\n },\n {\n name: 'java',\n title: 'Java',\n icon: 'fa-light fa-file-code ax-text-red-500',\n meta: [],\n },\n {\n name: 'cpp',\n title: 'C++',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n meta: [],\n },\n {\n name: 'cs',\n title: 'C#',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n meta: [],\n },\n ],\n },\n ];\n }\n} ","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXMFileTypeExtensionWidgetColumnComponent extends AXPValueWidgetComponent<any> { }\n","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXMFileTypeExtensionWidgetDesignerComponent extends AXPValueWidgetComponent<any> { }\n","import { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPFileType, AXPFileTypeProviderService } from '@acorex/platform/common';\nimport {\n AXPLayoutBuilderModule,\n AXPLayoutContextChangeEvent,\n AXPValueWidgetComponent,\n AXPWidgetNode,\n} from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\n\n@Component({\n template: ` <div>\n <ax-select-box\n #dd\n [dataSource]=\"dataSource\"\n valueField=\"name\"\n textField=\"title\"\n [multiple]=\"true\"\n [ngModel]=\"getValue()?.selectedItems\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n </ax-select-box>\n <div class=\"ax-py-3\"></div>\n <axp-widgets-container (onContextChanged)=\"handleOnContextChange($event)\" [context]=\"context()\">\n @if (selectedItems().length > 0) {\n <ax-collapse-group look=\"fill\">\n @for (item of selectedItems(); track item.name) {\n <!-- File Types -->\n <ax-collapse [caption]=\"item.title\">\n <div class=\"ax-flex ax-flex-col ax-gap-5\">\n @if (item.meta && item.meta.length > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <ax-text [textContent]=\"'Global Meta Data'\" class=\"ax-font-bold ax-text-sm\"></ax-text>\n @for (metaFile of item.meta; track metaFile.name) {\n <!-- File Meta Data -->\n <ax-form-field>\n <ax-label [required]=\"filedIsRequired(metaFile)\">{{ metaFile.title }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"getNode(metaFile)\" [mode]=\"'edit'\"></ng-container>\n </ax-form-field>\n }\n </div>\n }\n @if (item.extensions && item.extensions.length > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-3\">\n @for (ext of item.extensions; track ext.name) {\n <!-- Extensions -->\n @if (ext.meta && ext.meta.length > 0) {\n <ax-text [textContent]=\"ext.title\" class=\"ax-font-bold ax-text-sm\"></ax-text>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n @for (extMeta of ext.meta; track $index) {\n <!-- Extension Meta Data -->\n <ax-form-field>\n <ax-label [required]=\"filedIsRequired(extMeta)\">{{ extMeta.title }}</ax-label>\n <ng-container\n axp-widget-renderer\n [node]=\"getNode(extMeta)\"\n [mode]=\"'edit'\"\n ></ng-container>\n </ax-form-field>\n }\n </div>\n }\n <!-- End Extension Meta Data -->\n }\n </div>\n <!-- End Extensions -->\n }\n </div>\n </ax-collapse>\n }\n <!-- End File Types -->\n </ax-collapse-group>\n }\n </axp-widgets-container>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXSelectBoxModule,\n FormsModule,\n AXFormModule,\n AXLabelModule,\n AXDecoratorModule,\n AXPLayoutBuilderModule,\n AXCollapseModule,\n ],\n inputs: [],\n})\nexport class AXMFileTypeExtensionWidgetEditComponent extends AXPValueWidgetComponent<any> {\n protected fileTypeService = inject(AXPFileTypeProviderService);\n protected dataSource = new AXDataSource<unknown>({\n load: async (_) => {\n try {\n const res = await this.fileTypeService.items();\n const types = res\n .map((item) => {\n const { meta, extensions, ...rest } = item;\n return extensions.map((ext) => {\n const { meta, ...extRest } = ext;\n return {\n ...rest,\n ...extRest,\n name: `${item.name}.${ext.name}`,\n title: `${item.title}/${ext.title}`,\n };\n });\n })\n .flat();\n\n return {\n items: types,\n total: types.length,\n };\n } catch (e) {\n console.log(e);\n }\n return {\n items: [],\n total: 0,\n };\n },\n pageSize: 100,\n });\n\n public selectedItems = signal<AXPFileType[]>(this.getValue()?.selectedItems ?? []);\n public context = signal<any>(this.getValue()?.context ?? {});\n\n override ngOnInit() {\n super.ngOnInit();\n this.selectedItems.set(this.getValue()?.selectedItems ?? []);\n this.context.set(this.getValue()?.context ?? {});\n }\n\n protected override outputs(): string[] {\n return ['selectedItems', 'context'];\n }\n\n protected handleOnContextChange(e: AXPLayoutContextChangeEvent) {\n this.context.set(e.data);\n this.setValue({ ...this.getValue(), context: e.data });\n }\n\n protected async handleValueChange(e: AXValueChangedEvent) {\n const selectItems = (e.component as AXSelectBoxComponent).selectedItems as AXPFileType[];\n this.setValue({ ...this.getValue(), selectedItems: selectItems });\n\n const result: { [key: string]: AXPFileType } = {};\n for (const item of selectItems) {\n const type = item.name.split('.')[0];\n const ext = item.name.split('.')[1];\n var fileType = await this.fileTypeService.get(type);\n if (fileType != undefined) {\n const extension = fileType.extensions.find((extension) => extension.name == ext) || { name: ext, title: '' };\n if (extension.meta) {\n for (const meta of extension.meta) {\n if (!get(meta, '__node__')) {\n set(meta, '__node__', typeof meta.interface == 'function' ? await meta.interface() : meta.interface);\n }\n }\n }\n if (fileType.meta) {\n for (const meta of fileType.meta) {\n if (!get(meta, '__node__')) {\n set(meta, '__node__', typeof meta.interface == 'function' ? await meta.interface() : meta.interface);\n }\n }\n }\n if (result[type]) {\n result[type] = {\n ...fileType,\n extensions: [...result[type].extensions, extension],\n };\n } else {\n result[type] = {\n ...fileType,\n extensions: [extension],\n };\n }\n }\n }\n\n this.selectedItems.set(Object.values(result));\n }\n\n protected getNode(meta: any): AXPWidgetNode {\n return get(meta, '__node__');\n }\n\n protected filedIsRequired(meta: any): boolean {\n const node = get(meta, '__node__');\n if (node && node.options && node.options.validations) {\n return node.options.validations.some((validation: any) => validation.rule === 'required');\n }\n return false;\n }\n\n protected hasMetaInExtensions(extensions: any[]): boolean {\n return extensions.some((ext) => ext.meta && ext.meta.length > 0);\n }\n}\n","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXMFileTypeExtensionWidgetViewComponent extends AXPValueWidgetComponent<any> { }\n","import { AXP_WIDGETS_ADVANCE_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXmFileTypeExtensionWidget: AXPWidgetConfig = {\n name: 'file-type-extension',\n title: 'File Type Extension',\n description: 'Uploads and manages files',\n icon: 'fa-light fa-files',\n categories: AXP_WIDGETS_ADVANCE_CATEGORY,\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n view: {\n component: () =>\n import('./file-type-extension-view.component').then((c) => c.AXMFileTypeExtensionWidgetViewComponent),\n },\n edit: {\n component: () =>\n import('./file-type-extension-edit.component').then((c) => c.AXMFileTypeExtensionWidgetEditComponent),\n },\n // filter: {\n // component: () => import('./file-type-extension-filter.component').then((c) => c.AXPFileBoxWidgetFilterComponent),\n // },\n column: {\n component: () =>\n import('./file-type-extension-column.component').then((c) => c.AXMFileTypeExtensionWidgetColumnComponent),\n },\n // print: {\n // component: () => import('./file-type-extension-print.component').then((c) => c.AXPFileBoxWidgetPrintComponent),\n // },\n designer: {\n component: () =>\n import('./file-type-extension-edit.component').then((c) => c.AXMFileTypeExtensionWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n fileTypeExtension: 'file-type-extension';\n }\n}\n","import { AXP_FILE_TYPE_INFO_PROVIDER } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport {\n AXMArchiveFileTypeProvider,\n AXMAudioFileTypeProvider,\n AXMCodeFileTypeProvider,\n AXMDocumentFileTypeProvider,\n AXMImageFileTypeProvider,\n AXMVideoFileTypeProvider,\n} from './providers';\n\n@NgModule({\n providers: [\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMImageFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMVideoFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMDocumentFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMAudioFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMCodeFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMArchiveFileTypeProvider,\n multi: true,\n },\n ],\n})\nexport class AXMFileTypeModule { } ","import { AXPopupService } from '@acorex/components/popup';\nimport { AXUploaderService } from '@acorex/components/uploader';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nimport { AXMDocumentManagementDocumentTypeEntityModel, AXMDocumentTypeService } from '../../../entities';\nexport class AXMCheckDocumentTypeWorkflowAction extends AXPWorkflowAction {\n override async execute(context: AXPWorkflowContext): Promise<void> {\n const documentType = context.getVariable('documentType');\n if (documentType) {\n context.setOutput('need-choose-document-type', false);\n } else {\n context.setOutput('need-choose-document-type', true);\n }\n }\n}\n\nexport class AXMChooseDocumentTypeWorkflowAction extends AXPWorkflowAction {\n popupService = inject(AXPopupService);\n\n override async execute(context: AXPWorkflowContext): Promise<void> {\n const comp = (await import('../../shared/components')).AXMDocumentTypeChooseFileComponent;\n const result = await this.popupService.open(comp);\n if (result.data != null && result.data.documentTypeId != null) {\n context.setVariable('documentTypeId', result.data.documentTypeId);\n context.setOutput('isCanceled', false);\n } else {\n context.setOutput('isCanceled', true);\n }\n }\n}\n\nexport class AXMChooseFileWorkflowAction extends AXPWorkflowAction {\n documentTypeService = inject(AXMDocumentTypeService);\n uploadService = inject(AXUploaderService);\n\n override async execute(context: AXPWorkflowContext): Promise<void> {\n var doc: AXMDocumentManagementDocumentTypeEntityModel = context.getVariable('documentType');\n if (!doc) {\n const docId = context.getVariable('documentTypeId');\n doc = await this.documentTypeService.getOne(docId);\n }\n\n this.uploadService.browse({\n //accept: doc.type,\n multiple: doc.isMultiple,\n });\n }\n}\n\nexport const AXMUploadWorkflow: AXPWorkflow = {\n startStepId: 'check-document-type',\n steps: {\n 'check-document-type': {\n action: 'AXMCheckDocumentTypeWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"need-choose-document-type\") == true' }],\n nextStepId: 'choose-document-type',\n },\n ],\n },\n 'choose-document-type': {\n action: 'AXMChooseDocumentTypeWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"isCanceled\") == false' }],\n nextStepId: 'file-browser',\n },\n ],\n },\n 'file-browser': {\n action: 'AXMChooseFileWorkflowAction',\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'dispatch-event',\n },\n ],\n },\n },\n};\n","import { AXPTaskBadgeProvider } from \"@acorex/platform/layout/components\";\nimport { signal } from \"@angular/core\";\n\nexport class AXMTaskBadgeProviderSample1 implements AXPTaskBadgeProvider {\n count = signal(0);\n key = 'badge-1';\n\n constructor() {\n this.count.set(10);\n }\n\n}\n\n\n\nexport class AXMTaskBadgeProviderSample2 implements AXPTaskBadgeProvider {\n count = signal(5);\n key = 'badge-2';\n\n constructor() {\n setInterval(() => {\n this.count.update(c => c + 1);\n }, 30000);\n }\n\n}\n","//#region ---- Imports ----\n\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXMediaViewerData } from '@acorex/components/media-viewer';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPFileStorageInfo, AXPFileStorageService } from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\n\nimport { AXFileService } from '@acorex/core/file';\nimport { AXPPlatformScope, AXPQueryRequest } from '@acorex/platform/core';\nimport { castArray } from 'lodash-es';\nimport {\n AXMDocumentManagementDocumentEntityModel,\n AXMDocumentManagementDocumentTypeEntityModel,\n AXMDocumentManagementFolderCreateDto,\n AXMDocumentManagementFolderEntityModel,\n AXMDocumentService,\n AXMFolderService,\n} from '../../entities';\nimport {\n AXMDocumentExplorerBrowseMode,\n AXMDocumentExplorerNode,\n CreateFileDto,\n UpdateFileDto,\n UpdateFolderDto,\n} from './document-manager.types';\nimport { AXTranslationService } from '@acorex/core/translation';\n//#endregion\n\n//#region ---- Interface Definitions ----\n\n/**\n * Interface defining the contract for document drive service\n */\nexport interface AXMDocumentManagerServiceInterface {\n // Scope management\n scope(scope: AXPPlatformScope, options?: { tenantId?: string; userId?: string }): ScopedDriveService;\n\n // Root and folder operations\n getRoot(\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }>;\n getFolder(\n scope: AXPPlatformScope,\n folderId: string\n ): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }>;\n createFolder(data: AXMDocumentManagementFolderCreateDto): Promise<AXMDocumentExplorerNode>;\n updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode>;\n deleteFolder(folderId: string): Promise<void>;\n getAvailableSpace(): Promise<number>;\n\n // File operations\n createFile(data: CreateFileDto): Promise<AXMDocumentExplorerNode>;\n updateFile(fileId: string, data: UpdateFileDto): Promise<AXMDocumentExplorerNode>;\n deleteFile(fileId: string): Promise<void>;\n\n // Node operations\n deleteNodes(nodeIds: AXMDocumentExplorerNode[]): Promise<void>;\n copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;\n\n // Dialog operations\n showCreateFolderDialog(parentId?: string): Promise<AXMDocumentExplorerNode | null>;\n showDeleteNodesDialog(nodeIds: AXMDocumentExplorerNode[]): Promise<boolean>;\n showRenamePopup(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode | undefined>;\n\n // Search operations\n searchFolders(\n searchTerm: string,\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]>;\n\n\n searchFiles(\n searchTerm: string,\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]>;\n\n searchNodes(\n searchTerm: string,\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]>;\n\n // File browsing operations\n showChooseFileDialog(root: string): Promise<AXMDocumentExplorerNode[]>;\n\n // File actions\n moveTo(options: {\n node: AXMDocumentExplorerNode;\n browseMode?: AXMDocumentExplorerBrowseMode;\n multiple?: boolean;\n }): Promise<boolean>;\n\n copyTo(options: {\n node: AXMDocumentExplorerNode;\n browseMode?: AXMDocumentExplorerBrowseMode;\n multiple?: boolean;\n }): Promise<boolean>;\n\n showFileViewerPopup(node: AXMDocumentExplorerNode): Promise<void>;\n openFile(node: AXMDocumentExplorerNode): Promise<void>;\n\n // Data retrieval operations\n getAllFolders(): Promise<AXMDocumentExplorerNode[]>;\n getAllFiles(request?: AXPQueryRequest): Promise<AXMDocumentExplorerNode[]>;\n getAllNodes(): Promise<AXMDocumentExplorerNode[]>;\n downloadFile(node: AXMDocumentExplorerNode): Promise<void>;\n\n // Sharing and collaboration operations\n showShareDialog(node: AXMDocumentExplorerNode): Promise<void>;\n showShareWithEmailDialog(node: AXMDocumentExplorerNode): Promise<void>;\n showLinkDialog(node: AXMDocumentExplorerNode): Promise<void>;\n showLockDialog(node: AXMDocumentExplorerNode): Promise<void>;\n showUnlockDialog(node: AXMDocumentExplorerNode): Promise<void>;\n showFolderEditDialog(node: AXMDocumentExplorerNode): Promise<boolean>;\n updateFileName(node: AXMDocumentExplorerNode, name: string): Promise<AXMDocumentExplorerNode>;\n}\n\n//#endregion\n\n//#region ---- Service Implementation ----\n\n/**\n * Service for handling document drive operations\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMDocumentManagerService implements AXMDocumentManagerServiceInterface {\n\n //#region ---- Services & Dependencies ----\n\n protected folderService = inject(AXMFolderService);\n protected sessionService = inject(AXPSessionService);\n protected documentService = inject(AXMDocumentService);\n protected popupService = inject(AXPopupService);\n protected dialogService = inject(AXDialogService);\n protected fileService = inject(AXPFileStorageService);\n protected fileManagerService = inject(AXFileService);\n protected workflow = inject(AXPWorkflowService);\n protected translate = inject(AXTranslationService);\n\n\n //#endregion\n\n //#region ---- Private Properties ----\n\n private scopedDriveCache: Map<AXPPlatformScope, ScopedDriveService> = new Map();\n\n //#endregion\n\n //#region ---- Scope Management Methods ----\n\n /**\n * Creates a scoped drive service for the specified platform scope\n */\n scope(scope: AXPPlatformScope, options?: { tenantId?: string; userId?: string }): ScopedDriveService {\n const cacheKey = this.getScopeCacheKey(scope, options);\n if (!this.scopedDriveCache.has(cacheKey)) {\n this.scopedDriveCache.set(cacheKey, new ScopedDriveService(this, scope, options));\n }\n return this.scopedDriveCache.get(cacheKey)!;\n }\n\n /**\n * Generates a cache key for the scoped drive service\n */\n private getScopeCacheKey(\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): AXPPlatformScope {\n return scope;\n }\n\n //#endregion\n\n //#region ---- Private Helper Methods ----\n\n /**\n * Gets the platform root folder (top-level folder)\n */\n private async getPlatformRootFolder(): Promise<AXMDocumentManagementFolderEntityModel> {\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null!,\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'isNull' } },\n { field: 'tenantId', operator: { type: 'isNull' } },\n { field: 'userId', operator: { type: 'isNull' } },\n ],\n },\n });\n\n if (result.items.length === 0) {\n throw new Error('Platform root folder not found');\n }\n\n return result.items[0];\n }\n\n /**\n * Gets the tenant root folder\n */\n private async getTenantRootFolder(\n rootFolder: AXMDocumentManagementFolderEntityModel,\n tenantId: string\n ): Promise<AXMDocumentManagementFolderEntityModel> {\n if (!tenantId) {\n throw new Error('Tenant ID is required');\n }\n\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null!,\n logic: 'and',\n filters: [\n {\n field: 'parentId',\n operator: { type: 'equal' },\n value: rootFolder.folders?.find((f) => f.name === 'Tenants')?.id,\n },\n { field: 'tenantId', operator: { type: 'equal' }, value: tenantId },\n { field: 'userId', operator: { type: 'isNull' } },\n ],\n },\n });\n\n if (result.items.length === 0) {\n throw new Error('Tenant root folder not found');\n }\n\n return result.items[0];\n }\n\n /**\n * Gets the user root folder\n */\n private async getUserRootFolder(\n tenantFolderId: string,\n tenantId: string,\n userId: string\n ): Promise<AXMDocumentManagementFolderEntityModel> {\n if (!tenantId || !userId) {\n throw new Error('Both Tenant ID and User ID are required');\n }\n\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null!,\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'equal' }, value: tenantFolderId },\n { field: 'tenantId', operator: { type: 'equal' }, value: tenantId },\n { field: 'userId', operator: { type: 'equal' }, value: userId },\n ],\n },\n });\n\n if (result.items.length === 0) {\n throw new Error('User root folder not found');\n }\n\n return result.items[0];\n }\n\n //#endregion\n\n //#region ---- Mapping Methods ----\n\n /**\n * Maps folder entity to document explorer node\n */\n private mapFolderDtoToFolderNode = (folder: AXMDocumentManagementFolderEntityModel): AXMDocumentExplorerNode => {\n return {\n id: folder.id!,\n name: folder.name,\n type: 'folder',\n parentId: folder.parentId || null,\n modifiedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n description: folder.description,\n childrenCount: folder.nodeCount,\n size: folder.size,\n documentTypes: folder.documentTypes,\n storageType: 'physical',\n inherit: folder.inherit,\n children: [\n ...(folder.folders?.map(this.mapFolderDtoToFolderNode) || []),\n ...(folder.documents?.map(this.mapFileToNode) || []),\n ],\n };\n };\n\n /**\n * Maps file entity to document explorer node\n */\n private mapFileToNode(file: AXMDocumentManagementDocumentEntityModel): AXMDocumentExplorerNode {\n return {\n id: file.id!,\n name: file.name,\n type: 'file',\n parentId: file.parentId,\n modifiedAt: file.updatedAt,\n createdAt: file.createdAt,\n size: file.size,\n fileId: file.fileId,\n storageType: 'physical',\n meta: file.meta,\n };\n }\n\n /**\n * Maps document to media viewer data\n */\n private async mapDocumentToMediaViewerData(\n doc: AXMDocumentManagementDocumentEntityModel | AXMDocumentExplorerNode\n ): Promise<AXMediaViewerData> {\n if (!doc.fileId?.startsWith('http')) {\n const fileInfo = await this.fileService.getInfo(doc.fileId!);\n return {\n id: doc.id ?? '',\n name: doc.name,\n type: doc.name.endsWith('.pdf') ? 'pdf' : 'image',\n url: fileInfo.url ?? '',\n size: doc.size.toString(),\n thumbnail: fileInfo.url ?? '',\n };\n }\n\n return {\n id: doc.id ?? '',\n name: doc.name,\n type: (doc as any).meta?.['type'] ?? 'image',\n url: doc.fileId ?? '',\n size: doc.size.toString(),\n thumbnail: doc.fileId ?? '',\n };\n }\n\n //#endregion\n\n //#region ---- Utility Methods ----\n\n /**\n * Builds navigation path for a node\n */\n private async buildPath(node: AXMDocumentExplorerNode, stopFolderId?: string): Promise<AXMDocumentExplorerNode[]> {\n if (node.type === 'file') {\n return (await this.documentService.getPath(node.id, stopFolderId)).map(this.mapFolderDtoToFolderNode);\n } else {\n return (await this.folderService.getPath(node.id, stopFolderId)).map(this.mapFolderDtoToFolderNode);\n }\n }\n\n /**\n * Creates a copy name by adding \" copy\" before the extension\n */\n private createCopyName(originalName: string): string {\n const lastDotIndex = originalName.lastIndexOf('.');\n\n if (lastDotIndex === -1) {\n // No extension\n return `${originalName} copy`;\n }\n\n const nameWithoutExt = originalName.substring(0, lastDotIndex);\n const extension = originalName.substring(lastDotIndex);\n\n return `${nameWithoutExt} copy${extension}`;\n }\n\n //#endregion\n\n //#region ---- Root and Folder Operations ----\n\n /**\n * Gets the root folder based on the specified scope\n */\n async getRoot(\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }> {\n const rootFolder = await this.getPlatformRootFolder();\n let result: AXMDocumentExplorerNode;\n let path: AXMDocumentExplorerNode[] = [];\n\n switch (scope) {\n case AXPPlatformScope.Platform:\n result = this.mapFolderDtoToFolderNode(rootFolder);\n path = await this.buildPath(result);\n break;\n\n case AXPPlatformScope.Tenant: {\n if (!options?.tenantId) {\n throw new Error('Tenant ID is required for tenant scope');\n }\n const tenantRoot = await this.getTenantRootFolder(rootFolder, options.tenantId);\n result = this.mapFolderDtoToFolderNode(tenantRoot);\n path = await this.buildPath(result, tenantRoot.id);\n break;\n }\n\n case AXPPlatformScope.User: {\n if (!options?.tenantId || !options?.userId) {\n throw new Error('Both Tenant ID and User ID are required for user scope');\n }\n const tenantFolder = await this.getTenantRootFolder(rootFolder, options.tenantId);\n const userRoot = await this.getUserRootFolder(\n tenantFolder.folders?.find((f) => f.name === 'Users')?.id!,\n options.tenantId,\n options.userId\n );\n result = this.mapFolderDtoToFolderNode(userRoot);\n path = await this.buildPath(result, userRoot.id);\n break;\n }\n\n default:\n throw new Error(`Invalid scope: ${scope}`);\n }\n\n return { path, result };\n }\n\n /**\n * Gets a specific folder by ID\n */\n async getFolder(\n scope: AXPPlatformScope,\n folderId: string,\n options?: { tenantId?: string; userId?: string }\n ): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }> {\n if (!folderId) {\n throw new Error('Folder ID is required');\n }\n\n const folder = await this.folderService.getOne(folderId);\n if (!folder) {\n throw new Error('Folder not found');\n }\n\n const result = this.mapFolderDtoToFolderNode(folder);\n const path = await this.buildPath(result, (await this.getRoot(scope, options)).result.id);\n\n return { path, result };\n }\n\n /**\n * Creates a new folder\n */\n async createFolder(data: AXMDocumentManagementFolderCreateDto): Promise<AXMDocumentExplorerNode> {\n const now = new Date();\n const currentUser = this.sessionService.user;\n\n const folderToCreate: Omit<AXMDocumentManagementFolderEntityModel, 'id'> = {\n ...data,\n createdAt: now,\n updatedAt: now,\n createdBy: currentUser?.id?.toString() ?? 'system',\n updatedBy: currentUser?.id?.toString() ?? 'system',\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n size: 0,\n };\n\n const createdFolder = await this.folderService.insertOne(folderToCreate);\n const folder = await this.folderService.getOne(createdFolder);\n return this.mapFolderDtoToFolderNode(folder);\n }\n\n /**\n * Updates an existing folder\n */\n async updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode> {\n const currentUser = this.sessionService.user;\n const updateData = {\n ...data,\n updatedBy: currentUser?.id?.toString() ?? 'system',\n updatedAt: new Date(),\n };\n await this.folderService.updateOne(folderId, updateData);\n const updatedFolder = await this.folderService.getOne(folderId);\n return this.mapFolderDtoToFolderNode(updatedFolder);\n }\n\n /**\n * Deletes a folder\n */\n async deleteFolder(folderId: string): Promise<void> {\n await this.folderService.deleteOne(folderId);\n }\n\n /**\n * Gets available storage space\n */\n async getAvailableSpace(): Promise<number> {\n // For now, return a fixed value of 100GB (56 * 1024 * 1024 * 1024 bytes)\n // This should be replaced with actual storage quota logic when implemented\n return 56 * 1024 * 1024 * 1024;\n }\n\n //#endregion\n\n //#region ---- File Operations ----\n\n /**\n * Creates a new file\n */\n async createFile(data: CreateFileDto): Promise<AXMDocumentExplorerNode> {\n const fileId = await this.documentService.insertOne(data);\n const file = await this.documentService.getOne(fileId);\n return this.mapFileToNode(file);\n }\n\n /**\n * Updates an existing file\n */\n async updateFile(fileId: string, data: UpdateFileDto): Promise<AXMDocumentExplorerNode> {\n const updatedFile = await this.documentService.updateOne(fileId, data);\n return this.mapFileToNode(updatedFile);\n }\n\n /**\n * Deletes a file\n */\n async deleteFile(fileId: string): Promise<void> {\n await this.documentService.deleteOne(fileId);\n }\n\n /**\n * Opens a file\n */\n async openFile(node: AXMDocumentExplorerNode) {\n const file = await this.documentService.getOne(node.id);\n }\n\n /**\n * Downloads a file\n */\n async downloadFile(node: AXMDocumentExplorerNode): Promise<void> {\n // const file = await this.documentService.getOne(node.id);\n if (node.fileId) {\n if (node.fileId.startsWith('http')) {\n const link = document.createElement('a');\n link.href = node.fileId;\n link.download = node.name;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n return;\n }\n const fileInfo = await this.fileService.getInfo(node.fileId);\n\n const link = document.createElement('a');\n link.href = fileInfo.url ?? '';\n link.download = node.name; // Set the desired file name\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n console.log('id is null');\n }\n }\n\n //#endregion\n\n //#region ---- Node Operations ----\n\n /**\n * Deletes multiple nodes (files and folders)\n */\n async deleteNodes(nodes: AXMDocumentExplorerNode[]): Promise<void> {\n for (const node of nodes) {\n if (node.type == 'folder') {\n await this.deleteFolder(node.id);\n } else {\n await this.deleteFile(node.id);\n }\n }\n }\n\n /**\n * Creates a copy of a node (file or folder)\n */\n async copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode> {\n if (!node) {\n throw new Error('Node to copy cannot be null or undefined');\n }\n\n // Create a name with \" copy\" before the extension\n const newName = this.createCopyName(node.name);\n\n if (node.type === 'file') {\n // Get the original file to copy all its data\n const originalFile = await this.documentService.getOne(node.id);\n if (!originalFile) {\n throw new Error(`File with ID ${node.id} not found`);\n }\n\n // Create a document model from the original with the new name\n // Extract needed properties without id\n const { id, ...fileDataWithoutId } = originalFile;\n const fileData: CreateFileDto = {\n ...fileDataWithoutId,\n name: newName,\n title: newName,\n };\n\n // Create the new file\n return await this.createFile(fileData);\n } else if (node.type === 'folder') {\n // Get the original folder to copy all its data\n const originalFolder = await this.folderService.getOne(node.id);\n if (!originalFolder) {\n throw new Error(`Folder with ID ${node.id} not found`);\n }\n\n // Create a folder model from the original with the new name\n // Extract needed properties without id\n const { id, ...folderDataWithoutId } = originalFolder;\n const folderData: AXMDocumentManagementFolderCreateDto = {\n ...folderDataWithoutId,\n name: newName,\n };\n\n // Create the new folder\n return await this.createFolder(folderData);\n } else {\n throw new Error(`Unsupported node type: ${node.type}`);\n }\n }\n\n /**\n * Moves a node to another location\n */\n async moveTo(options: {\n node: AXMDocumentExplorerNode;\n scope: AXPPlatformScope;\n browseMode?: AXMDocumentExplorerBrowseMode;\n multiple?: boolean;\n }): Promise<boolean> {\n const comp = (await import('../drive-choose/drive-choose.component')).AXMDocumentDriveChooseComponent;\n const popup = await this.popupService.open(comp, {\n title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,\n data: {\n selectionMode: options.multiple ? 'multiple' : 'single',\n browseMode: options.browseMode ?? 'file',\n scope: options.scope\n },\n });\n\n const selectedFolders = popup.data.result ? popup.data?.items ?? [] : [];\n if (selectedFolders.length > 0) {\n const selectedFolder = selectedFolders[0];\n if (selectedFolder) {\n if (options.node.type === 'folder') {\n await this.updateFolder(options.node.id, { parentId: selectedFolder.id });\n } else {\n await this.updateFile(options.node.id, { parentId: selectedFolder.id });\n }\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n\n /**\n * Copies a node to another location\n */\n async copyTo(options: {\n node: AXMDocumentExplorerNode;\n scope: AXPPlatformScope;\n browseMode?: AXMDocumentExplorerBrowseMode;\n multiple?: boolean;\n }): Promise<boolean> {\n const comp = (await import('../drive-choose/drive-choose.component')).AXMDocumentDriveChooseComponent;\n const popup = await this.popupService.open(comp, {\n title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,\n data: {\n selectionMode: options.multiple ? 'multiple' : 'single',\n browseMode: options.browseMode ?? 'file',\n scope: options.scope\n },\n });\n\n const selectedFolders = popup.data.result ? popup.data?.items ?? [] : [];\n if (selectedFolders.length > 0) {\n const selectedFolder = selectedFolders[0];\n if (selectedFolder) {\n if (options.node.type === 'folder') {\n await this.createFolder({\n name: options.node.name,\n parentId: selectedFolder.id,\n color: '#ffffff',\n size: options.node.size,\n inherit: options.node.inherit ?? 'None',\n });\n } else {\n await this.createFile({\n title: options.node.name,\n name: options.node.name,\n parentId: selectedFolder.id,\n //TODO upload file to file storage\n fileId: '',\n size: 0,\n });\n }\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n\n //#endregion\n\n //#region ---- Search Operations ----\n\n /**\n * Searches for folders by term within a scope\n */\n async searchFolders(\n searchTerm: string,\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]> {\n const { result: rootNode } = await this.getRoot(scope, options);\n\n const folders = await this.folderService.searchFolders(searchTerm, rootNode.id);\n\n return folders.map((folder) => this.mapFolderDtoToFolderNode(folder));\n }\n\n /**\n * Searches for files by term within a scope\n */\n async searchFiles(\n searchTerm: string,\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]> {\n const { result: rootNode } = await this.getRoot(scope, options);\n\n const files = await this.documentService.searchFiles(searchTerm, rootNode.id);\n\n return files.map((file) => this.mapFileToNode(file));\n }\n\n /**\n * Searches for both files and folders by term within a scope\n */\n async searchNodes(\n searchTerm: string,\n scope: AXPPlatformScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]> {\n const [folders, files] = await Promise.all([\n this.searchFolders(searchTerm, scope, options),\n this.searchFiles(searchTerm, scope, options),\n ]);\n\n return [...folders, ...files];\n }\n\n //#endregion\n\n //#region ---- Data Retrieval Operations ----\n\n /**\n * Gets all folders\n */\n async getAllFolders(): Promise<AXMDocumentExplorerNode[]> {\n //TODO filter by scope\n return (await this.folderService.query()).items.map(this.mapFolderDtoToFolderNode);\n }\n\n /**\n * Gets all files with optional query\n */\n async getAllFiles(request?: AXPQueryRequest): Promise<AXMDocumentExplorerNode[]> {\n //TODO filter by scope\n return (await this.documentService.query(request)).items.map(this.mapFileToNode);\n }\n\n /**\n * Gets all nodes (files and folders)\n */\n async getAllNodes(): Promise<AXMDocumentExplorerNode[]> {\n return [...(await this.getAllFolders()), ...(await this.getAllFiles())];\n }\n\n //#endregion\n\n //#region ---- File Upload Operations ----\n\n /**\n * Uploads file by document type to a specific folder\n */\n async uploadFileByType(folderId: string, docTypeId: string): Promise<boolean> {\n const folder = await this.folderService.getOne(folderId);\n var docType = folder.documentTypes?.find((dt) => dt.id === docTypeId);\n\n if (folder && docType != null) {\n const comp = (await import('./components')).AXMDocumentTypeChooseFileComponent;\n const result = await this.popupService.open(comp, {\n title: `Select ${docType.title}`,\n data: {\n documentType: docType,\n },\n });\n if (result.data != null) {\n const { uploads, ...metaContext } = result.data.context;\n \n for (const listItem of uploads) { // listItem is AXPFileListItem\n let actualFile: File | undefined;\n if (listItem.source?.kind === 'blob' && listItem.source.value instanceof Blob) {\n actualFile = listItem.source.value as File;\n }\n\n if (!actualFile) {\n console.warn(`Skipping item without a valid blob source in uploadFileByType: ${listItem.name}`);\n continue;\n }\n\n const f = await this.fileService.save({\n category: 'document',\n file: actualFile,\n refId: folderId,\n refType: `${RootConfig.module.name}.${RootConfig.entities.folder.name}`,\n name: listItem.name, \n });\n await this.fileService.commit(f.fileId);\n await this.documentService.insertOne({\n fileId: f.fileId,\n meta: metaContext,\n parentId: folderId,\n size: listItem.size ?? 0,\n name: listItem.name,\n title: listItem.name,\n });\n }\n return true;\n } else {\n return false;\n }\n }\n return false;\n }\n\n /**\n * Uploads virtual file by document type\n */\n async uploadFileVirtualByType(docType: AXMDocumentManagementDocumentTypeEntityModel): Promise<AXMDocumentExplorerNode[]> {\n const comp = (await import('./components')).AXMDocumentTypeChooseFileComponent;\n const result = await this.popupService.open(comp, {\n title: `Select ${docType.title}`,\n data: {\n documentType: docType,\n },\n });\n const resultData: AXMDocumentExplorerNode[] = [];\n if (result.data != null) {\n const { uploads, ...metaContext } = result.data.context;\n\n for (const listItem of uploads) { // listItem is AXPFileListItem\n let storageFileId: string | undefined;\n\n if (listItem.source?.kind === 'fileId' && typeof listItem.source.value === 'string') {\n storageFileId = listItem.source.value;\n } else if (listItem.id) {\n storageFileId = listItem.id;\n console.warn(`Using listItem.id as storageFileId for virtual upload: ${listItem.name}. Verify this is the intended fallback.`);\n }\n\n if (!storageFileId) {\n console.error(`Cannot determine storageFileId for virtual upload: ${listItem.name}`);\n continue;\n }\n \n await this.fileService.commit(storageFileId);\n const documentEntityId = await this.documentService.insertOne({\n fileId: storageFileId,\n meta: metaContext,\n parentId: 'virtual',\n size: listItem.size ?? 0,\n name: listItem.name,\n title: listItem.name,\n });\n resultData.push({\n id: documentEntityId,\n name: listItem.name,\n parentId: 'virtual',\n type: 'file',\n storageType: 'virtual',\n size: listItem.size ?? 0,\n meta: metaContext,\n fileId: storageFileId\n });\n }\n return resultData;\n } else {\n return [];\n }\n }\n\n //#endregion\n\n //#region ---- Dialog Operations ----\n\n /**\n * Shows share dialog for a node\n */\n async showShareDialog(node: AXMDocumentExplorerNode): Promise<void> {\n const comp = (await import('./components/share-dialog/share-dialog.component')).AXMShareDialogComponent;\n const popup = await this.popupService.open(comp, {\n title: 'Share',\n data: {\n node,\n },\n });\n\n if (popup.data?.result) {\n // Handle the share action with popup.data.data\n }\n }\n\n /**\n * Shows share via email dialog for a node\n */\n async showShareWithEmailDialog(node: AXMDocumentExplorerNode): Promise<void> {\n const comp = (await import('./components/share-email-dialog/share-email-dialog.component'))\n .AXMShareEmailDialogComponent;\n const popup = await this.popupService.open(comp, {\n title: 'Share via Email',\n data: {\n node,\n },\n });\n\n if (popup.data?.result) {\n // Handle the share via email action with popup.data.data\n }\n }\n\n /**\n * Shows link dialog for a node\n */\n async showLinkDialog(node: AXMDocumentExplorerNode): Promise<void> {\n const comp = (await import('./components/link-dialog/link-dialog.component')).AXMLinkDialogComponent;\n const popup = await this.popupService.open(comp, {\n title: 'Share Link',\n data: {\n node,\n },\n });\n\n if (popup.data?.result) {\n // Handle the link generation with popup.data.data\n }\n }\n\n /**\n * Shows lock dialog for a document\n */\n async showLockDialog(node: AXMDocumentExplorerNode): Promise<void> {\n const comp = (await import('./components/lock-dialog/lock-dialog.component')).AXMLockDialogComponent;\n const popup = await this.popupService.open(comp, {\n title: 'Lock Document',\n data: {\n node,\n },\n });\n\n if (popup.data?.result) {\n // Handle the lock action with popup.data.data\n }\n }\n\n /**\n * Shows unlock dialog for a document\n */\n async showUnlockDialog(node: AXMDocumentExplorerNode): Promise<void> {\n const comp = (await import('./components/unlock-dialog/unlock-dialog.component')).AXMUnlockDialogComponent;\n const popup = await this.popupService.open(comp, {\n title: 'Unlock Document',\n data: {\n node,\n },\n });\n\n if (popup.data?.result) {\n // Handle the unlock action with popup.data.data\n }\n }\n\n /**\n * Shows folder edit dialog\n */\n async showFolderEditDialog(node: AXMDocumentExplorerNode): Promise<boolean> {\n const comp = (await import('../document-explorer/components/create-folder-dialog/create-folder-dialog.component'))\n .AXMCreateFolderDialog;\n const popup = await this.popupService.open(comp, {\n title: await this.translate.translateAsync('@document-management:actions.update-folder'),\n data: {\n defaultValue: node,\n },\n });\n\n return popup.data?.result;\n }\n\n /**\n * Shows create folder dialog\n */\n async showCreateFolderDialog(parentId?: string): Promise<AXMDocumentExplorerNode | null> {\n const comp = (await import('../document-explorer/components/create-folder-dialog/create-folder-dialog.component'))\n .AXMCreateFolderDialog;\n const popup = await this.popupService.open(comp, {\n title: await this.translate.translateAsync('@document-management:actions.create-folder'),\n data: {\n parentId,\n },\n });\n return popup.data?.folder as AXMDocumentExplorerNode;\n }\n\n /**\n * Shows rename popup for a node\n */\n async showRenamePopup(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode | undefined> {\n const comp = (await import('../document-explorer/components/rename-node-dialog/rename-node-dialog.component'))\n .AXMRenameNodeDialog;\n const popup = await this.popupService.open(comp, {\n title: 't(\"actions.rename\")',\n data: {\n node,\n },\n });\n\n return popup.data?.result;\n }\n\n /**\n * Shows delete nodes confirmation dialog\n */\n async showDeleteNodesDialog(nodeIds: AXMDocumentExplorerNode[]): Promise<boolean> {\n const result = await this.workflow.execute('delete-entity', {\n entities: nodeIds.map((node) => ({\n source: `${RootConfig.module.name}.${node.type == 'folder' ? RootConfig.entities.folder.name : RootConfig.entities.document.name\n }`,\n ids: [node.id],\n })),\n });\n return (result.getOutput('result') as boolean) ?? false;\n }\n\n /**\n * Shows choose file dialog\n */\n async showChooseFileDialog(scope: AXPPlatformScope): Promise<AXMDocumentExplorerNode[]> {\n const comp = (await import('../drive-choose/drive-choose.component')).AXMDocumentDriveChooseComponent;\n const result = await this.popupService.open(comp, {\n title: await this.translate.translateAsync('@document-management:actions.choose-from-drive'),\n data: {\n scope: scope,\n },\n });\n if (result.data?.result) {\n return castArray(result.data.items);\n }\n return [];\n }\n\n /**\n * Shows file viewer popup\n */\n async showFileViewerPopup(\n node: AXMDocumentExplorerNode,\n options?: { index?: number; folderVirtualFiles?: AXMDocumentExplorerNode[] }\n ): Promise<void> {\n const isVirtualFolder = node.parentId === 'virtual';\n const parentFolderName = isVirtualFolder ? 'Virtual' : (await this.folderService.getOne(node.parentId!)).name;\n\n const documents = isVirtualFolder\n ? options?.folderVirtualFiles ?? []\n : (await this.folderService.getOne(node.parentId!)).documents ?? [];\n\n const nodes = await Promise.all(\n documents\n .filter((item) => {\n if (!item.name) return false;\n const ext = item.name.split('.').pop()?.toLowerCase();\n return ext && ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'pdf'].includes(ext);\n })\n .map((doc) => this.mapDocumentToMediaViewerData(doc))\n );\n\n const comp = (await import('./components/file-viewer-popup/file-viewer-popup.component'))\n .AXMFileViewerPopupComponent;\n\n await this.popupService.open(comp, {\n title: parentFolderName,\n data: {\n nodes,\n index: isVirtualFolder\n ? options?.folderVirtualFiles?.findIndex((f) => f.id === node.id) ?? 0\n : options?.index ?? 0,\n },\n });\n }\n\n /**\n * Updates a file name\n */\n async updateFileName(node: AXMDocumentExplorerNode, name: string): Promise<AXMDocumentExplorerNode> {\n if (node.storageType == 'physical') {\n return this.mapFileToNode(await this.documentService.updateOne(node.id, { name }));\n } else {\n node.name = name;\n return node;\n }\n }\n\n //#endregion\n}\n\n//#endregion\n\n//#region ---- Scoped Drive Service ----\n\n/**\n * Scoped drive service for specific platform scopes\n */\nexport class ScopedDriveService {\n\n //#region ---- Constructor ----\n\n constructor(\n private parent: AXMDocumentManagerService,\n private scope: AXPPlatformScope,\n private options?: { tenantId?: string; userId?: string }\n ) {\n this.validateScopeOptions();\n }\n\n //#endregion\n\n //#region ---- Validation Methods ----\n\n /**\n * Validates the scope options are appropriate for the selected scope\n */\n private validateScopeOptions(): void {\n switch (this.scope) {\n case AXPPlatformScope.Tenant:\n if (!this.options?.tenantId) {\n throw new Error('Tenant ID is required for tenant scope');\n }\n break;\n case AXPPlatformScope.User:\n if (!this.options?.tenantId || !this.options?.userId) {\n throw new Error('Both Tenant ID and User ID are required for user scope');\n }\n break;\n }\n }\n\n //#endregion\n\n //#region ---- Scoped Operations ----\n\n /**\n * Gets root folder for this scope\n */\n async getRoot(): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }> {\n return this.parent.getRoot(this.scope, this.options);\n }\n\n /**\n * Gets folder for this scope\n */\n async getFolder(folderId: string): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }> {\n return this.parent.getFolder(this.scope, folderId, this.options);\n }\n\n /**\n * Creates folder in this scope\n */\n async createFolder(\n data: Omit<AXMDocumentManagementFolderCreateDto, 'tenantId' | 'userId'>\n ): Promise<AXMDocumentExplorerNode> {\n const folderData: AXMDocumentManagementFolderCreateDto = {\n ...data,\n tenantId: this.options?.tenantId,\n userId: this.options?.userId,\n };\n return this.parent.createFolder(folderData);\n }\n\n /**\n * Updates folder in this scope\n */\n async updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode> {\n return this.parent.updateFolder(folderId, data);\n }\n\n /**\n * Deletes folder in this scope\n */\n async deleteFolder(folderId: string): Promise<void> {\n return this.parent.deleteFolder(folderId);\n }\n\n /**\n * Gets available space for this scope\n */\n async getAvailableSpace(): Promise<number> {\n return this.parent.getAvailableSpace();\n }\n\n /**\n * Searches folders in this scope\n */\n async searchFolders(searchTerm: string): Promise<AXMDocumentExplorerNode[]> {\n this.validateScopeOptions();\n return this.parent.searchFolders(searchTerm, this.scope, this.options);\n }\n\n /**\n * Searches files in this scope\n */\n async searchFiles(searchTerm: string): Promise<AXMDocumentExplorerNode[]> {\n this.validateScopeOptions();\n return this.parent.searchFiles(searchTerm, this.scope, this.options);\n }\n\n /**\n * Searches nodes in this scope\n */\n async searchNodes(searchTerm: string): Promise<AXMDocumentExplorerNode[]> {\n this.validateScopeOptions();\n return this.parent.searchNodes(searchTerm, this.scope, this.options);\n }\n\n /**\n * Creates a copy of a node in this scope\n */\n async copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode> {\n this.validateScopeOptions();\n return this.parent.copy(node);\n }\n\n //#endregion\n\n}\n\n//#endregion\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPLayoutBuilderModule, AXPLayoutContextChangeEvent, AXPWidgetNode } from '@acorex/platform/layout/builder';\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { set } from 'lodash-es';\nimport get from 'lodash-es/get';\nimport { AXMDocumentManagementDocumentTypeEntityModel } from '../../../../entities';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './document-type-choose-file.component.html',\n imports: [\n CommonModule,\n //\n AXButtonModule,\n AXDecoratorModule,\n AXFormModule,\n AXLabelModule,\n AXSelectBoxModule,\n AXTranslationModule,\n //\n AXPLayoutBuilderModule,\n ],\n})\nexport class AXMDocumentTypeChooseFileComponent extends AXBasePageComponent {\n documentType!: AXMDocumentManagementDocumentTypeEntityModel;\n context = signal({});\n\n protected uploadNode = signal<AXPWidgetNode>({\n name: 'uploads',\n path: 'uploads',\n type: 'file-uploader',\n options: {\n accept: '.pdf',\n multiple: false,\n },\n });\n\n protected override async ngOnInit(): Promise<void> {\n this.uploadNode.update((old) => {\n return {\n ...old,\n options: {\n multiple: this.documentType.isMultiple,\n accept:\n this.documentType.name == 'any'\n ? ''\n : this.documentType.type.selectedItems.map((i) => `.${i.name.split('.')[1]}`).join(','),\n },\n };\n });\n for (const i of this.documentType.meta) {\n if (!get(i, '__node__')) {\n set(\n i,\n '__node__',\n typeof i.interface == 'function'\n ? await i.interface()\n : JSON.parse(i.interface as string)['children'][0]['children'][0]\n );\n }\n }\n }\n\n protected handleContextChanged(e: AXPLayoutContextChangeEvent) {\n console.log(e.data);\n\n this.context.set(e.data);\n }\n\n protected handleCancel() {\n this.close();\n }\n\n protected handleSubmit() {\n this.close({\n context: this.context(),\n });\n }\n\n protected getNode(meta: any): AXPWidgetNode {\n return get(meta, '__node__');\n }\n}\n","<ax-content>\n <div class=\"ax-flex ax-flex-col ax-py-4 ax-px-6\">\n <axp-widgets-container [context]=\"context()\" (onContextChanged)=\"handleContextChanged($event)\">\n <ax-form>\n @for (doc of documentType.meta; track doc.name) {\n <ax-form-field>\n <ax-label>{{ doc.title }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"getNode(doc)\" [mode]=\"'edit'\"></ng-container>\n </ax-form-field>\n }\n <ng-container axp-widget-renderer [node]=\"uploadNode()\" mode=\"edit\"></ng-container>\n </ax-form>\n </axp-widgets-container>\n </div>\n</ax-content>\n<ax-footer>\n <ax-suffix>\n <ax-button [text]=\"'cancel' | translate | async\" (onClick)=\"handleCancel()\"> </ax-button>\n <ax-button [text]=\"'submit' | translate | async\" look=\"solid\" color=\"primary\" (onClick)=\"handleSubmit()\">\n </ax-button>\n </ax-suffix>\n</ax-footer>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport {\n AXMediaViewerContainerComponent,\n AXMediaViewerData,\n AXMediaViewerModule,\n} from '@acorex/components/media-viewer';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { afterNextRender, ChangeDetectionStrategy, Component, viewChild } from '@angular/core';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './file-viewer-popup.component.html',\n styleUrl: './file-viewer-popup.scss',\n imports: [AXDecoratorModule, AXButtonModule, AXMediaViewerModule],\n})\nexport class AXMFileViewerPopupComponent extends AXBasePageComponent {\n index: number = 0;\n mediaViewer = viewChild(AXMediaViewerContainerComponent);\n\n f = afterNextRender(() => {\n setTimeout(() => {\n this.mediaViewer()?.goToIndex(this.index, 0);\n });\n });\n\n ngAfterViewInit(): void {\n console.log(this.index);\n\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\n //Add 'implements AfterViewInit' to the class.\n this.mediaViewer()?.goToIndex(this.index, 0);\n }\n\n onClose() {\n this.close();\n }\n\n nodes!: AXMediaViewerData[];\n}\n","<ax-content>\n <ax-media-viewer-container [thumbnail]=\"true\" #c [dataArray]=\"nodes\">\n <ax-header>\n <ax-prefix>\n <ax-file-info></ax-file-info>\n </ax-prefix>\n <ax-suffix>\n <ax-fullscreen-button></ax-fullscreen-button>\n </ax-suffix>\n </ax-header>\n <ax-prefix>\n <ax-button (click)=\"c.next()\">\n <ax-icon class=\"ax-icon ax-icon-chevron-right\"> </ax-icon>\n </ax-button>\n </ax-prefix>\n <ax-suffix>\n <ax-button (click)=\"c.prev()\">\n <ax-icon class=\"ax-icon ax-icon-chevron-left\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-media-viewer-container>\n</ax-content>\n<ax-footer>\n <ax-suffix>\n <ax-button [text]=\"'close'\" (click)=\"onClose()\" />\n </ax-suffix>\n</ax-footer>\n","export enum AXPDocumentExplorerSettings {\n ViewMode = 'document-explorer:layout:view-mode',\n SortField = 'document-explorer:layout:sort-field',\n SortDirection = 'document-explorer:layout:sort-direction'\n}\n\n","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPFileType, AXPFileTypeProviderService, AXPSettingService } from '@acorex/platform/common';\nimport { AXPActionMenuItem, AXPPlatformScope } from '@acorex/platform/core';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentTypeService } from '../../entities';\nimport { AXMDocumentManagerService } from '../shared/document-manager.service';\nimport {\n AXMDocumentExplorerBrowseMode,\n AXMDocumentExplorerNode,\n AXMDocumentSelectionMode,\n AXPDocumentExplorerViewMode,\n} from '../shared/document-manager.types';\nimport { AXPDocumentExplorerSettings } from './settings.keys';\nimport { AXMenuItem } from '@acorex/components/menu';\n\nexport const AXPDocumentExplorerViewModel = signalStore(\n { providedIn: 'root' },\n\n withState(() => ({\n // View State\n viewMode: 'large-tiles' as AXPDocumentExplorerViewMode,\n isLoading: false,\n scope: AXPPlatformScope.User,\n\n // Navigation State\n currentPath: [] as AXMDocumentExplorerNode[],\n currentNode: null as AXMDocumentExplorerNode | null,\n loadingFolderId: null as string | null,\n navigatingFolderId: null as string | null,\n backHistory: [] as { folderId: string; path: AXMDocumentExplorerNode[] }[],\n\n // Selection State\n selectionMode: 'none' as AXMDocumentSelectionMode,\n selectedNodes: [] as AXMDocumentExplorerNode[],\n\n // Browse State\n browseMode: 'file' as AXMDocumentExplorerBrowseMode,\n\n // Sort State\n sortField: 'name',\n sortDirection: 'asc',\n\n // Content State\n folders: [] as AXMDocumentExplorerNode[],\n files: [] as AXMDocumentExplorerNode[],\n itemsCount: 0,\n availableSpace: 0,\n\n // Drive State\n currentDrive: null as AXPPlatformScope | null,\n\n // File Type State\n fileTypes: [] as AXPFileType[],\n // Detail Panel State\n detailPanel: false,\n })),\n\n withComputed((store) => ({\n isRoot: computed(() => {\n const path = store.currentPath();\n return path.length === 1;\n }),\n\n isVirtual: computed(() => {\n const node = store.currentNode();\n return node?.storageType === 'virtual';\n }),\n\n currentFolder: computed(() => store.currentNode()),\n\n currentFolderContents: computed(() => ({\n folders: store.folders(),\n files: store.files(),\n })),\n\n isLargeTilesView: computed(() => store.viewMode() === 'large-tiles'),\n isSmallTilesView: computed(() => store.viewMode() === 'small-tiles'),\n isListView: computed(() => store.viewMode() === 'list'),\n isDetailsView: computed(() => store.viewMode() === 'details'),\n isLargeIconsView: computed(() => store.viewMode() === 'large-icons'),\n isSmallIconsView: computed(() => store.viewMode() === 'small-icons'),\n\n isBackAvailable: computed(() => store.backHistory().length > 0),\n isUpAvailable: computed(() => {\n const node = store.currentNode();\n return node?.parentId != null;\n }),\n\n selectedCount: computed(() => store.selectedNodes().length),\n hasSelectedItems: computed(() => store.selectedNodes().length > 0),\n hasMultipleSelectedItems: computed(() => store.selectedNodes().length > 1),\n isMultiSelect: computed(() => store.selectionMode() === 'multiple'),\n selectedNode: computed<AXMDocumentExplorerNode | null>(() => store.selectedNodes()[0] ?? null),\n\n isDetailPanelOpen: computed(() => store.detailPanel()),\n })),\n\n withMethods(\n (\n store,\n fileTypeService = inject(AXPFileTypeProviderService),\n documentTypeService = inject(AXMDocumentTypeService),\n driveService = inject(AXMDocumentManagerService),\n settingService = inject(AXPSettingService),\n sessionService = inject(AXPSessionService),\n translateService = inject(AXTranslationService)\n ) => ({\n async initialize(options?: {\n scope?: AXPPlatformScope; browseMode?: AXMDocumentExplorerBrowseMode,\n filter?: any\n }) {\n // Load file types\n const fileTypes = await fileTypeService.items();\n patchState(store, { fileTypes });\n // Load initial settings\n const viewMode = await settingService\n .scope(options?.scope || AXPPlatformScope.User)\n .get(AXPDocumentExplorerSettings.ViewMode);\n const sortField = await settingService\n .scope(options?.scope || AXPPlatformScope.User)\n .get(AXPDocumentExplorerSettings.SortField);\n const sortDirection = await settingService\n .scope(options?.scope || AXPPlatformScope.User)\n .get(AXPDocumentExplorerSettings.SortDirection);\n\n patchState(store, {\n viewMode: viewMode || 'list',\n sortField: sortField || 'name',\n sortDirection: sortDirection || 'asc',\n browseMode: options?.browseMode || 'file',\n scope: options?.scope || AXPPlatformScope.User,\n });\n },\n\n _load: async (folderId: string) => {\n patchState(store, { loadingFolderId: folderId, isLoading: true });\n\n await new Promise((resolve) => setTimeout(resolve, 100));\n\n try {\n const node = await driveService.getFolder(store.scope(), folderId, {\n tenantId: sessionService.tenant?.id,\n userId: sessionService.user?.id,\n });\n\n // Sort with direction\n const sortField = store.sortField();\n const sortDirection = store.sortDirection();\n const directionMultiplier = sortDirection === 'asc' ? 1 : -1;\n\n switch (sortField) {\n case 'name':\n node.result.children = node.result.children?.sort((a, b) =>\n directionMultiplier * a.name.localeCompare(b.name));\n break;\n case 'modified':\n node.result.children = node.result.children?.sort((a, b) =>\n directionMultiplier * ((a.modifiedAt?.getTime() ?? 0) - (b.modifiedAt?.getTime() ?? 0)));\n break;\n case 'size':\n node.result.children = node.result.children?.sort((a, b) =>\n directionMultiplier * ((a.size ?? 0) - (b.size ?? 0)));\n break;\n default:\n node.result.children = node.result.children?.sort((a, b) =>\n directionMultiplier * a.name.localeCompare(b.name));\n break;\n }\n\n\n\n patchState(store, {\n currentNode: node.result,\n currentPath: node.path,\n\n folders: node.result.children?.filter((item: AXMDocumentExplorerNode) => item.type === 'folder') || [],\n files:\n node.result.children?.filter(\n (item: AXMDocumentExplorerNode) => store.browseMode() == 'file' && item.type === 'file'\n ) || [],\n itemsCount: node.result.children?.length || 0,\n availableSpace: await driveService.getAvailableSpace(),\n loadingFolderId: null,\n isLoading: false,\n navigatingFolderId: null,\n });\n } catch (error) {\n patchState(store, {\n loadingFolderId: null,\n isLoading: false,\n });\n throw error;\n }\n },\n\n navigateToFolder(folderId: string) {\n const currentNode = store.currentNode();\n if (currentNode) {\n patchState(store, {\n backHistory: [...store.backHistory(), { folderId: currentNode.id, path: store.currentPath() }],\n });\n }\n patchState(store, { navigatingFolderId: folderId });\n },\n\n async loadFolderContents(folderId: string) {\n await this._load(folderId);\n this.deselectAll();\n },\n\n async virtualFolder(files: AXMDocumentExplorerNode[] = [], options?: {\n name?: string,\n parentId?: string,\n }) {\n const id = 'virtual';\n patchState(store, {\n loadingFolderId: id,\n isLoading: true,\n });\n await new Promise((resolve) => setTimeout(resolve, 100));\n\n const node: AXMDocumentExplorerNode = {\n id: id,\n name: options?.name || 'virtual',\n type: 'folder',\n children: files,\n parentId: options?.parentId || null,\n size: 0,\n storageType: 'virtual',\n };\n patchState(store, {\n currentNode: node,\n currentPath: [\n node\n ],\n folders: files.filter((item) => item.type === 'folder'),\n files: files.filter((item) => item.type === 'file'),\n itemsCount: files.length,\n availableSpace: await driveService.getAvailableSpace(),\n loadingFolderId: null,\n isLoading: false,\n navigatingFolderId: null,\n });\n },\n\n setViewMode(mode: AXPDocumentExplorerViewMode | string) {\n patchState(store, { viewMode: mode as AXPDocumentExplorerViewMode });\n settingService.scope(AXPPlatformScope.User).set(AXPDocumentExplorerSettings.ViewMode, mode);\n },\n isViewMode(mode: AXPDocumentExplorerViewMode | string) {\n return store.viewMode() === mode;\n },\n\n setSortField(field: string) {\n patchState(store, { sortField: field });\n settingService.scope(AXPPlatformScope.User).set(AXPDocumentExplorerSettings.SortField, field);\n this.refresh();\n },\n\n setSortDirection(direction: string) {\n patchState(store, { sortDirection: direction });\n settingService.scope(AXPPlatformScope.User).set(AXPDocumentExplorerSettings.SortDirection, direction);\n this.refresh();\n },\n setSelectionMode(mode: AXMDocumentSelectionMode | string) {\n patchState(store, { selectionMode: mode as AXMDocumentSelectionMode });\n },\n\n setDrive(scope: AXPPlatformScope) {\n patchState(store, { currentDrive: scope });\n },\n\n isLoadingFolder(folderId: string): boolean {\n return store.loadingFolderId() === folderId;\n },\n\n getFileInfo(fileName: string): { icon: string; type: string } {\n const fileTypes = store.fileTypes();\n const extension = fileName.split('.').pop()?.toLowerCase() || '';\n const extensions = fileTypes.flatMap((type) => type.extensions);\n const fileType = extensions.find((e) => e.name === extension);\n\n return {\n icon: fileType?.icon || 'fa-light fa-file',\n type: fileType?.name || 'Unknown',\n };\n },\n\n getNodeInfo(node: AXMDocumentExplorerNode): {\n name: string;\n icon: string;\n type: string;\n sections: [\n {\n title: string;\n details: {\n title: string;\n content?: any;\n icon?: string;\n format?: 'datetime' | 'filesize' | 'number' | 'string';\n }[];\n }\n ];\n } {\n // If no node, return a default object\n if (!node) {\n return {\n name: '---',\n icon: 'fa-light fa-folder',\n type: 'Folder',\n sections: [\n {\n title: 'Details',\n details: [],\n },\n ],\n };\n }\n\n // If the node is a file, return the file info\n if (node.type === 'file') {\n const fileTypes = store.fileTypes();\n const extension = node.name.split('.').pop()?.toLowerCase() || '';\n const extensions = fileTypes.flatMap((type) => type.extensions);\n const fileType = extensions.find((e) => e.name === extension);\n return {\n name: node.name,\n icon: fileType?.icon || 'fa-light fa-file',\n type: 'File',\n sections: [\n {\n title: 'Details',\n details: [\n {\n title: 'Description',\n content: node.description,\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Size',\n content: node.size || 0,\n format: 'filesize',\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Created at',\n content: node.createdAt || new Date(),\n format: 'datetime',\n icon: 'fa-solid fa-calendar-days',\n },\n {\n title: 'Modified at',\n content: node.modifiedAt || new Date(),\n format: 'datetime',\n icon: 'fa-solid fa-calendar-days',\n },\n ],\n },\n ],\n };\n }\n // If the node is a folder, return the folder info\n else {\n return {\n name: node.name,\n icon: 'fa-light fa-folder ax-text-yellow-500',\n type: 'Folder',\n sections: [\n {\n title: 'Details',\n details: [\n {\n title: 'Description',\n content: node.description,\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Items',\n content: node.childrenCount,\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Size',\n content: node.size || 0,\n format: 'filesize',\n icon: 'fa-solid fa-file-lines',\n },\n {\n title: 'Created at',\n content: node.createdAt || new Date(),\n format: 'datetime',\n icon: 'fa-solid fa-calendar-days',\n },\n {\n title: 'Modified at',\n content: node.modifiedAt || new Date(),\n format: 'datetime',\n icon: 'fa-solid fa-calendar-days',\n },\n ],\n },\n ],\n };\n }\n },\n\n sortItems(items: AXMDocumentExplorerNode[]): AXMDocumentExplorerNode[] {\n const field = store.sortField();\n const direction = store.sortDirection();\n\n return [...items].sort((a, b) => {\n let comparison = 0;\n\n switch (field) {\n case 'name':\n comparison = a.name.localeCompare(b.name);\n break;\n case 'modified':\n const aDate = a.modifiedAt ? new Date(a.modifiedAt) : new Date(0);\n const bDate = b.modifiedAt ? new Date(b.modifiedAt) : new Date(0);\n comparison = aDate.getTime() - bDate.getTime();\n break;\n case 'size':\n comparison = (a.size || 0) - (b.size || 0);\n break;\n }\n\n return direction === 'asc' ? comparison : -comparison;\n });\n },\n\n async refresh() {\n if (!store.isVirtual()) {\n const currentFolder = store.currentNode();\n if (currentFolder) {\n await this._load(currentFolder.id);\n }\n } else {\n patchState(store, { loadingFolderId: 'fake' });\n patchState(store, { loadingFolderId: null });\n }\n },\n\n navigateToUp() {\n const currentNode = store.currentNode();\n const parentId = currentNode?.parentId;\n if (parentId && currentNode) {\n patchState(store, {\n backHistory: [...store.backHistory(), { folderId: currentNode.id, path: store.currentPath() }],\n });\n patchState(store, { navigatingFolderId: parentId });\n this.loadFolderContents(parentId);\n }\n },\n\n async navigateBack() {\n const history = store.backHistory();\n if (history.length === 0) {\n return;\n }\n const lastEntry = history[history.length - 1];\n patchState(store, { backHistory: history.slice(0, history.length - 1) });\n patchState(store, { navigatingFolderId: lastEntry.folderId });\n await this.loadFolderContents(lastEntry.folderId);\n },\n\n async openGalleryWithFolderId(): Promise<void> {\n const folder = store.currentNode();\n const files = folder?.children?.filter((item: AXMDocumentExplorerNode) => item.type === 'file') || [];\n await driveService.showFileViewerPopup(files[0]);\n },\n\n //TODO: Delete only one node at a time\n async deleteNodes(nodes: AXMDocumentExplorerNode[] = store.selectedNodes()) {\n if (store.isVirtual()) {\n patchState(store, {\n files: store.currentFolderContents().files.filter((file) => !nodes.some((node) => node.name === file.name)),\n });\n this.deselectAll();\n } else {\n const result = await driveService.showDeleteNodesDialog(nodes);\n if (result) {\n this.deselectAll();\n await this.refresh();\n }\n }\n },\n\n toggleSelect(node: AXMDocumentExplorerNode) {\n if (store.selectionMode() === 'multiple') {\n patchState(store, {\n selectedNodes: store.selectedNodes().includes(node)\n ? store.selectedNodes().filter((n) => n.id !== node.id)\n : [...store.selectedNodes(), node],\n });\n } else {\n patchState(store, { selectedNodes: [node] });\n }\n },\n\n isItemSelected(node: AXMDocumentExplorerNode): boolean {\n return store.selectedNodes().some((selectedNode) => selectedNode.id === node.id);\n },\n\n selectAll() {\n patchState(store, { selectedNodes: [...store.folders(), ...store.files()] });\n },\n\n deselectAll() {\n patchState(store, { selectedNodes: [] });\n },\n\n openDetailPanel() {\n patchState(store, { detailPanel: true });\n },\n\n closeDetailPanel() {\n patchState(store, { detailPanel: false });\n },\n\n toggleDetailPanel() {\n patchState(store, { detailPanel: !store.detailPanel() });\n },\n\n //#region Menu Items\n\n async getFolderAddMenuItems(): Promise<AXPActionMenuItem[]> {\n const scope = RootConfig.config.i18n;\n\n return [\n {\n title: await translateService.translateAsync('actions.create-folder', { scope }),\n icon: 'fa-light fa-folder-plus',\n break: true,\n command: {\n name: 'new-folder',\n options: {\n folderId: store.currentFolder()?.id,\n },\n },\n },\n ...(store.currentFolder()?.documentTypes?.map((type) => ({\n title: type.title,\n //icon: type.icon,\n icon: 'fa-light fa-file-arrow-up',\n break: true,\n command: {\n name: `upload.${type.name}`,\n options: {\n folderId: store.currentFolder()?.id,\n documentType: type,\n },\n },\n })) ?? []),\n // {\n // title: await translateService.translateAsync('actions.open-gallery', { scope }),\n // icon: 'fa-light fa-images',\n // break: true,\n // command: {\n // name: 'open-gallery',\n // options: {\n // folderId: store.currentFolder()?.id,\n // },\n // },\n // },\n ];\n },\n\n async getFolderActionMenuItems(): Promise<AXPActionMenuItem[]> {\n return [\n {\n name: 'refresh',\n title: await translateService.translateAsync('refresh'),\n icon: 'fa-light fa-rotate-right',\n // break: true,\n },\n // {\n // name: 'delete',\n // title: await translateService.translateAsync('delete'),\n // color: 'danger',\n // icon: 'fa-light fa-trash',\n // },\n ];\n },\n\n //#endregion\n\n //#region Context Menu Items\n\n async getContextMenuItems(): Promise<AXPActionMenuItem[]> {\n return [...(await this.getFolderAddMenuItems()), ...(await this.getFolderActionMenuItems())];\n },\n\n //#endregion\n\n //#region ---- Menu Items ----\n \n /**\n * Returns menu items for file context menu\n */\n async getFileContextMenuItems(node: AXMDocumentExplorerNode): Promise<AXMenuItem[]> {\n const trans = async (key: string) => await translateService.translateAsync(key, { scope: RootConfig.config.i18n });\n \n return [\n {\n name: 'open-file',\n text: await trans('menu.open'),\n icon: this.getFileInfo(node.name).icon,\n data: node,\n },\n {\n name: 'download',\n text: await trans('menu.download'),\n icon: 'fa-light fa-download',\n data: node,\n },\n {\n name: 'share',\n text: await trans('menu.share.share'),\n icon: 'fa-light fa-share-nodes',\n items: [\n {\n name: 'share',\n text: await trans('menu.share.share'),\n icon: 'fa-light fa-users',\n data: node,\n },\n {\n name: 'share-with-email',\n text: await trans('menu.share.email'),\n icon: 'fa-light fa-envelope',\n data: node,\n },\n {\n name: 'link',\n text: await trans('menu.share.link'),\n icon: 'fa-light fa-link',\n data: node,\n },\n ],\n break: true,\n },\n {\n name: 'file-info',\n text: await trans('menu.information'),\n icon: 'fa-light fa-circle-info',\n items: [\n {\n name: 'rename',\n text: await trans('menu.rename'),\n icon: 'fa-light fa-pencil',\n data: node,\n },\n {\n name: 'properties',\n text: await trans('menu.properties'),\n icon: 'fa-light fa-memo-circle-info',\n break: true,\n data: node,\n },\n {\n name: 'lock',\n text: await trans('menu.lock'),\n icon: 'fa-light fa-lock',\n data: node,\n },\n ],\n break: true,\n },\n {\n name: 'copy',\n text: await trans('menu.make-copy'),\n icon: 'fa-light fa-copy',\n data: node,\n },\n {\n name: 'copy-to',\n text: await trans('menu.copy-to'),\n icon: 'fa-light fa-copy',\n data: node,\n },\n {\n name: 'move-to',\n text: await trans('menu.move-to'),\n icon: 'fa-light fa-arrow-right-arrow-left',\n break: true,\n data: node,\n },\n {\n name: 'delete',\n text: await trans('menu.delete'),\n color: 'danger',\n icon: 'fa-light fa-trash',\n data: node,\n },\n ];\n },\n\n /**\n * Returns menu items for folder context menu\n */\n async getFolderContextMenuItems(node: AXMDocumentExplorerNode): Promise<AXMenuItem[]> {\n const trans = async (key: string) => await translateService.translateAsync(key, { scope: RootConfig.config.i18n });\n \n const items: AXMenuItem[] = [\n {\n name: 'open-folder',\n text: await trans('menu.open'),\n icon: 'fa-light fa-folder-open',\n data: node,\n }\n ];\n\n if (node?.documentTypes?.length) {\n items.push({\n text: await trans('menu.upload'),\n icon: 'fa-light fa-file-arrow-up',\n break: true,\n items: node.documentTypes.map((type, index, array) => ({\n name: `upload.${type.name}`,\n text: type.title,\n icon: 'fa-light fa-file-arrow-up',\n break: index !== array.length - 1,\n data: {\n node,\n documentType: type,\n },\n })),\n });\n }\n\n items.push(\n {\n name: 'folder-info',\n text: await trans('menu.information'),\n icon: 'fa-light fa-circle-info',\n items: [\n {\n name: 'rename',\n text: await trans('menu.rename'),\n icon: 'fa-light fa-pencil',\n data: node,\n },\n {\n name: 'properties',\n text: await trans('menu.properties'),\n icon: 'fa-light fa-memo-circle-info',\n break: true,\n data: node,\n },\n {\n name: 'lock',\n text: await trans('menu.lock'),\n icon: 'fa-light fa-lock',\n data: node,\n },\n ],\n break: true,\n },\n {\n name: 'copy',\n text: await trans('menu.make-copy'),\n icon: 'fa-light fa-copy',\n data: node,\n },\n {\n name: 'copy-to',\n text: await trans('menu.copy-to'),\n icon: 'fa-light fa-copy',\n data: node,\n },\n {\n name: 'move-to',\n text: await trans('menu.move-to'),\n icon: 'fa-light fa-arrow-right-arrow-left',\n break: true,\n data: node,\n },\n {\n name: 'delete',\n text: await trans('menu.delete'),\n color: 'danger',\n icon: 'fa-light fa-trash',\n data: node,\n }\n );\n\n return items;\n },\n\n /**\n * Returns context menu items based on node type\n */\n async getNodeContextMenuItems(node: AXMDocumentExplorerNode): Promise<AXMenuItem[]> {\n if (node.type === 'file') {\n return await this.getFileContextMenuItems(node);\n } else {\n return await this.getFolderContextMenuItems(node);\n }\n },\n\n //#endregion\n\n //#region ---- Menu Actions ----\n\n /**\n * Opens a file\n */\n async openFile(node: AXMDocumentExplorerNode): Promise<void> {\n await driveService.openFile(node);\n },\n\n /**\n * Handles all menu item clicks\n */\n async handleMenuItemClick(name: string, data: any): Promise<void> {\n const node = data as AXMDocumentExplorerNode;\n switch (name) {\n case 'open-folder':\n this.navigateToFolder(node.id);\n break;\n case 'open-file':\n await this.openFile(node);\n break;\n case 'open-gallery':\n if (data.folderId != null) {\n await this.openGalleryWithFolderId();\n } else {\n await this.openGallery(node);\n }\n break;\n case 'download':\n this.downloadFile(node);\n break;\n case 'new-folder':\n await this.createFolder(node);\n break;\n case 'paste':\n //TODO: Handle paste operation\n break;\n case 'move-to':\n await this.moveTo(node);\n break;\n case 'copy-to':\n await this.copyTo(node);\n break;\n case 'rename':\n await this.renameNode(node);\n break;\n case 'properties':\n await this.showFolderProperty(node);\n break;\n case 'delete':\n await this.deleteNodes([node]);\n break;\n case 'refresh':\n await this.refresh();\n break;\n case 'copy':\n await this.makeCopy(node);\n break;\n /* \n case 'share':\n await this.share(node);\n break;\n case 'share-with-email':\n await this.shareWithEmail(node);\n break;\n case 'link':\n await this.link(node);\n break;\n */\n case 'lock':\n await this.lock(node);\n break;\n case 'unlock':\n await this.unlock(node);\n break;\n default:\n if (name?.startsWith('upload.')) {\n await this.uploadFileByType(\n data.node?.id ?? store.currentNode()?.id,\n data.documentType.id\n );\n await this.refresh();\n }\n break;\n }\n },\n\n /**\n * Downloads the specified file\n */\n downloadFile(node: AXMDocumentExplorerNode): void {\n driveService.downloadFile(node);\n },\n\n /**\n * Opens the gallery for a folder\n */\n async openGallery(node: AXMDocumentExplorerNode): Promise<void> {\n await driveService.showFileViewerPopup(node, {\n folderVirtualFiles: store.files(),\n index: store.files().findIndex((f: AXMDocumentExplorerNode) => f.id === node.id),\n });\n },\n\n /**\n * Shows properties for a folder\n */\n async showFolderProperty(node: AXMDocumentExplorerNode): Promise<void> {\n if (await driveService.showFolderEditDialog(node)) {\n await this.refresh();\n }\n },\n\n /**\n * Creates a new folder\n */\n async createFolder(node?: AXMDocumentExplorerNode): Promise<void> {\n const parentId = node?.id ?? store.currentNode()?.id;\n if (parentId) {\n const result = await driveService.showCreateFolderDialog(parentId);\n if (result) {\n await this.refresh();\n }\n }\n },\n\n /**\n * Renames a node\n */\n async renameNode(node?: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode | undefined> {\n if (node) {\n const result = await driveService.showRenamePopup(node);\n if (result) {\n if (node.storageType == 'virtual') {\n const files = store.files();\n const updatedFiles = files.map((file) => {\n if (file.id === result.id) {\n return result;\n }\n return file;\n });\n this.virtualFolder(updatedFiles);\n }\n await this.refresh();\n }\n return result;\n }\n return;\n },\n\n /**\n * Makes a copy of a node\n */\n async makeCopy(node?: AXMDocumentExplorerNode): Promise<void> {\n if (node) {\n try {\n await driveService.copy(node);\n await this.refresh();\n } catch (error) {\n console.error('Error copying node:', error);\n }\n }\n },\n\n /**\n * Locks a node\n */\n async lock(node: AXMDocumentExplorerNode): Promise<void> {\n await driveService.showLockDialog(node);\n },\n\n /**\n * Unlocks a node\n */\n async unlock(node: AXMDocumentExplorerNode): Promise<void> {\n await driveService.showUnlockDialog(node);\n },\n\n /**\n * Moves a node to a different location\n */\n async moveTo(node?: AXMDocumentExplorerNode): Promise<void> {\n if (node) {\n const result = await driveService.moveTo({ browseMode: 'folder', node: node, scope: store.scope() });\n if (result) {\n await this.refresh();\n }\n }\n },\n\n /**\n * Copies a node to a different location\n */\n async copyTo(node?: AXMDocumentExplorerNode): Promise<void> {\n if (node) {\n const result = await driveService.copyTo({ browseMode: 'folder', node: node, scope: store.scope() });\n if (result) {\n await this.refresh();\n }\n }\n },\n\n /**\n * Uploads a file by type\n */\n async uploadFileByType(folderId: string, documentTypeId: string): Promise<void> {\n await driveService.uploadFileByType(folderId, documentTypeId);\n await this.refresh();\n },\n\n //#endregion\n })\n )\n);\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuItem,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { Component, effect, inject, input, signal, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { get } from 'lodash-es';\nimport { AXMDocumentManagerService } from '../shared/document-manager.service';\nimport {\n AXMDocumentExplorerBrowseMode,\n AXMDocumentExplorerNode,\n AXMDocumentSelectionMode,\n AXPDocumentExplorerViewMode,\n} from '../shared/document-manager.types';\nimport { AXPDocumentExplorerViewModel } from './document-explorer.viewmodel';\n@Component({\n selector: 'axm-document-explorer',\n templateUrl: './document-explorer.component.html',\n styleUrls: ['./document-explorer.component.scss'],\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXFormatModule,\n AXDateTimeModule,\n AXMenuModule,\n ],\n})\nexport class AXMDocumentExplorerComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n protected contextMenu = viewChild<AXContextMenuComponent>('itemsContextMenu');\n protected rootContextMenu = viewChild<AXContextMenuComponent>('rootContextMenu');\n protected driveService = inject(AXMDocumentManagerService);\n protected translateService = inject(AXTranslationService);\n protected readonly layout = inject(AXPLayoutThemeService);\n\n browseMode = input<AXMDocumentExplorerBrowseMode>('file');\n viewMode = input<AXPDocumentExplorerViewMode>();\n selectionMode = input<AXMDocumentSelectionMode>('none');\n showContextMenu = input<boolean>(true);\n\n protected view = signal<Type<any> | null>(null);\n\n private viewMap = {\n list: async () => (await import('./views/list/list-view.component')).AXMDocumentExplorerListViewComponent,\n 'small-tiles': async () =>\n (await import('./views/small-tiles/small-tiles-view.component')).AXMDocumentExplorerSmallTilesViewComponent,\n 'large-tiles': async () =>\n (await import('./views/large-tiles/large-tiles-view.component')).AXMDocumentExplorerLargeTilesViewComponent,\n details: async () =>\n (await import('./views/details/details-view.component')).AXMDocumentExplorerDetailsViewComponent,\n 'large-icons': async () =>\n (await import('./views/large-icons/large-icons-view.component')).AXMDocumentExplorerLargeIconsViewComponent,\n 'small-icons': async () =>\n (await import('./views/small-icons/small-icons-view.component')).AXMDocumentExplorerSmallIconsViewComponent,\n 'attachment': async () =>\n (await import('./views/attachement-widget/attachment-widget.component')).AXMDocumentExplorerAttachmentComponent,\n };\n\n #effect = effect(() => {\n if (this.vm.loadingFolderId() == null) {\n setTimeout(() => {\n this.contextMenu()?.refresh();\n this.rootContextMenu()?.refresh();\n }, 300);\n }\n });\n\n #effect2 = effect(() => {\n if (this.viewMode()) {\n this.vm.setViewMode(this.viewMode()!);\n }\n if (this.selectionMode()) {\n this.vm.setSelectionMode(this.selectionMode()!);\n }\n });\n\n #effect3 = effect(async () => {\n const func = get(this.viewMap, this.vm.viewMode() as string) ?? this.viewMap['large-tiles'];\n const comp = await func();\n this.view.set(comp);\n });\n\n //#region Menu and Context Menu\n\n protected async handleContextMenuOnOpening(e: AXContextMenuOpeningEvent) {\n const node = get(e.targetElement, '__data__') as any as AXMDocumentExplorerNode;\n if (!node) {\n return;\n }\n\n // Get menu items from ViewModel\n const items = await this.vm.getNodeContextMenuItems(node);\n \n // Set items directly to the context menu\n e.items.push(...items);\n }\n\n protected async handleContextMenuRootOnOpening(e: AXContextMenuOpeningEvent) {\n //TODO: check async translate method in acorex\n const items = [\n ...(await this.vm.getFolderAddMenuItems()).map((m) => ({\n ...m,\n name: m.command?.name,\n data: m.command?.options,\n })),\n ...(await this.vm.getFolderActionMenuItems()),\n ];\n const mappedItems = items.map((m) => ({\n ...m,\n text: m.title,\n })) as AXMenuItem[];\n e.items.push(...mappedItems);\n\n e.items[e.items.length - 1].break = false;\n }\n\n protected async handleContextMenuItemClick(e: AXContextMenuItemsClickEvent) {\n if (e.item.name) {\n await this.vm.handleMenuItemClick(e.item.name, e.item.data);\n }\n }\n\n //#endregion\n\n // تمام متدهای زیر به ViewModel منتقل شدهاند و دیگر مورد نیاز نیستند\n\n}\n","<!-- Empty State -->\n<div class=\"view-container\">\n @if (vm.folders().length === 0 && vm.files().length === 0) {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-py-16 ax-h-full\">\n <ax-icon icon=\"fa-light fa-folder-open\" class=\"ax-text-6xl ax-mb-4\"></ax-icon>\n <h3 class=\"ax-text-xl ax-font-medium ax-mb-2\">No Items Found</h3>\n <p class=\"\">This folder is empty. Add some files or folders to get started.</p>\n </div>\n } @else {\n <ng-container [ngComponentOutlet]=\"view()\"></ng-container>\n }\n</div>\n\n<!-- Context Menu -->\n@if (showContextMenu()) {\n<!-- Item Context Menu-->\n<ax-context-menu\n #itemsContextMenu\n [target]=\"'.__explorer-item'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n>\n</ax-context-menu>\n<!-- Root Context Menu-->\n<ax-context-menu\n #rootContextMenu\n [target]=\"'.view-container'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n (onOpening)=\"handleContextMenuRootOnOpening($event)\"\n>\n</ax-context-menu>\n}\n","import { AXButtonModule } from \"@acorex/components/button\";\nimport { AXDecoratorModule } from \"@acorex/components/decorators\";\nimport { AXPDocumentExplorerViewModel } from \"../../../document-explorer\";\nimport { AXMDocumentExplorerNode } from \"../../document-manager.types\";\nimport { Component, inject } from \"@angular/core\";\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\n\n\n@Component({\n selector: 'axm-folder-path-breadcrumbs',\n templateUrl: './folder-path-breadcrumbs.component.html',\n styleUrls: ['./folder-path-breadcrumbs.component.scss'],\n standalone: true,\n imports: [\n AXButtonModule,\n AXDecoratorModule,\n ],\n})\nexport class AXMFolderPathBreadcrumbsComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n protected layout = inject(AXPLayoutThemeService);\n}\n","<!-- Breadcrumbs Section -->\n<div class=\"__breadcrumb ax-xs\">\n <!-- Desktop Breadcrumb -->\n @for (item of vm.currentPath(); track item.id; let i = $index;let last = $last) {\n <!-- Navigation Button -->\n <ax-button look=\"blank\" (onClick)=\"vm.navigateToFolder(item.id)\" [text]=\"item.name\" [disabled]=\"last\">\n @if(i === 0) {\n <ax-icon icon=\"fa-light fa-cloud\"></ax-icon>\n }@else {\n <ax-icon icon=\"fa-light fa-folder-closed\"></ax-icon>\n }\n </ax-button>\n <!-- Separator -->\n @if(!last) {\n <i class=\"far fa-chevron-right rtl:ax-rotate-180 fa-fw fa-xs ax-me-2\"></i>\n }\n <!-- End Navigation Button -->\n }\n</div>\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPFileUploaderWidgetViewComponent } from '@acorex/platform/widgets';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXMDocumentManagerService } from '../../../shared';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPFileListItem } from '@acorex/platform/core';\n\n@Component({\n selector: 'axp-file-uploader-widget-extension',\n template: `\n <ax-divider></ax-divider>\n <ax-button-item\n [text]=\"('@document-management:actions.choose-from-drive' | translate | async)!\"\n (onClick)=\"chooseFromDrive(scopes.Tenant)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n `,\n imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXTranslationModule,\n // Platform\n ],\n encapsulation: ViewEncapsulation.None,\n providers: [\n\n ],\n})\nexport class AXPFileUploaderWidgetExtensionComponent {\n\n protected readonly driveService = inject(AXMDocumentManagerService);\n protected readonly fileStorageService = inject(AXPFileStorageService);\n\n protected scopes = AXPPlatformScope;\n\n host!: AXPFileUploaderWidgetViewComponent;\n\n ngOnDestroy(): void {\n\n }\n\n protected async chooseFromDrive(scope: AXPPlatformScope) {\n const result = await this.driveService.showChooseFileDialog(scope);\n const files: AXPFileListItem[] = (await Promise.all(\n result.map(async (item: any) => {\n if (!item.fileId || item.isFolder) {\n return null;\n }\n try {\n const storageInfo = await this.fileStorageService.getInfo(item.fileId);\n if (!storageInfo) {\n console.warn(`Could not retrieve storage info for fileId: ${item.fileId}`);\n return null;\n }\n return {\n id: storageInfo.fileId,\n name: storageInfo.name || item.name || 'Unnamed File',\n size: storageInfo.size,\n type: storageInfo.mimeType,\n status: 'uploaded', // Files from drive are considered uploaded\n source: {\n kind: 'blob',\n value: new Blob([storageInfo.binary as BlobPart], { type: storageInfo.mimeType })\n }\n } as AXPFileListItem;\n } catch (error) {\n console.error(`Error processing fileId ${item.fileId}:`, error);\n return null;\n }\n })\n )).filter(Boolean) as AXPFileListItem[];\n this.host.setValue([...this.host.getValue(), ...files]);\n }\n}\n","import { AXPComponentSlotModule } from \"@acorex/platform/layout/components\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { AXPFileUploaderWidgetExtensionComponent } from \"./slots/file-uploader-widget-extension/file-uploader-widget-extension.component\";\n\n@NgModule({\n imports:[\n AXPComponentSlotModule.forChild({\n 'file-uploader-widget-actions': [\n {\n name: 'primary-actions',\n component: AXPFileUploaderWidgetExtensionComponent,\n },\n ]\n })\n ]\n}) \nexport class AXMDriveChooseModule { \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, Injector, NgModule } from '@angular/core';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMSettingProvider } from './settings.provider';\n\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { ROUTES, Routes } from '@angular/router';\nimport {\n AXMDocumentManagementDocumentEntityModule,\n AXMDocumentManagementDocumentTypeEntityModule,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeMetaValueEntityModule,\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,\n} from './entities';\nimport { AXmFileTypeExtensionWidget } from './features/file-type';\nimport { AXMFileTypeModule } from './features/file-type/file-type.module';\n\nimport { AXMediaViewerModule } from '@acorex/components/media-viewer';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMFolderService, AXMFolderServiceImpl } from './entities';\nimport {\n AXMCheckDocumentTypeWorkflowAction,\n AXMChooseDocumentTypeWorkflowAction,\n AXMChooseFileWorkflowAction,\n AXMUploadWorkflow,\n} from './features/workflow/upload/upload.workflow';\nimport { AXMTaskBadgeProviderSample1, AXMTaskBadgeProviderSample2 } from './badge.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';\nimport { AXMDriveChooseModule } from './features/drive-choose/drive-choose.module';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n path: ':app/drive/:scope',\n loadComponent: () => {\n return config.viewers.root();\n },\n canActivate: [AXPAuthGuard],\n data: { reuse: true },\n children: [\n {\n path: '',\n loadComponent: () => import('./features/drive/drive.component').then((c) => c.AXMDocumentDriveComponent),\n },\n {\n path: ':id',\n loadComponent: () => import('./features/drive/drive.component').then((c) => c.AXMDocumentDriveComponent),\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n AXMDriveChooseModule,\n //\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeMetaValueEntityModule,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeEntityModule,\n AXMDocumentManagementDocumentEntityModule,\n AXPLayoutBuilderModule.forChild({\n widgets: [AXmFileTypeExtensionWidget],\n }),\n AXMFileTypeModule,\n AXMediaViewerModule.forRoot(),\n AXPWorkflowModule.forChild({\n actions: {\n AXMCheckDocumentTypeWorkflowAction,\n AXMChooseDocumentTypeWorkflowAction,\n AXMChooseFileWorkflowAction,\n },\n workflows: {\n 'upload-document': AXMUploadWorkflow,\n },\n }),\n ],\n exports: [],\n\n providers: [\n {\n provide: AXMFolderService,\n useClass: AXMFolderServiceImpl,\n },\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 useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./permission-definition.provider')).AXMPermissionDefinitionProvider;\n return new provider(injector);\n },\n multi: true,\n },\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMTaskBadgeProviderSample1,\n multi: true,\n },\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMTaskBadgeProviderSample2,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXMDocumentManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i5","set","i1","i2","i3","i6","i7","get"],"mappings":"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"}
|