@acorex/modules 19.2.19 → 19.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/document-management/lib/features/document-explorer/document-explorer.component.d.ts +4 -3
  2. package/document-management/lib/features/document-explorer/document-explorer.viewmodel.d.ts +4 -3
  3. package/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.d.ts +3 -2
  4. package/document-management/lib/features/document-explorer/views/details/details-view.component.d.ts +3 -2
  5. package/document-management/lib/features/document-explorer/views/large-icons/large-icons-view.component.d.ts +3 -2
  6. package/document-management/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.d.ts +3 -2
  7. package/document-management/lib/features/document-explorer/views/list/list-view.component.d.ts +3 -2
  8. package/document-management/lib/features/document-explorer/views/small-icons/small-icons-view.component.d.ts +3 -2
  9. package/document-management/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.d.ts +3 -2
  10. package/document-management/lib/features/drive/drive.component.d.ts +54 -49
  11. package/document-management/lib/features/drive-choose/drive-choose.component.d.ts +3 -2
  12. package/document-management/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.d.ts +3 -2
  13. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +3 -2
  14. package/fesm2022/{acorex-modules-common-index-B3u5feXf.mjs → acorex-modules-common-index-D90SN6SH.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-common-index-B3u5feXf.mjs.map → acorex-modules-common-index-D90SN6SH.mjs.map} +1 -1
  16. package/fesm2022/acorex-modules-common.mjs +1 -1
  17. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-CpoLrul7.mjs → acorex-modules-document-management-acorex-modules-document-management-_BOVaDOq.mjs} +46 -28
  18. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-_BOVaDOq.mjs.map +1 -0
  19. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-Cp26sAs9.mjs → acorex-modules-document-management-create-folder-dialog.component-D66KoQNb.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-Cp26sAs9.mjs.map → acorex-modules-document-management-create-folder-dialog.component-D66KoQNb.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-document-management-details-view.component-CZyOdjEl.mjs → acorex-modules-document-management-details-view.component-BHcu_gYH.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-document-management-details-view.component-CZyOdjEl.mjs.map → acorex-modules-document-management-details-view.component-BHcu_gYH.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-document-management-drive-choose.component-HSZ-b7-z.mjs → acorex-modules-document-management-drive-choose.component-WoZfDyLK.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-document-management-drive-choose.component-HSZ-b7-z.mjs.map → acorex-modules-document-management-drive-choose.component-WoZfDyLK.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-document-management-drive.component-CZR-optD.mjs → acorex-modules-document-management-drive.component-B3BCzdVv.mjs} +93 -34
  26. package/fesm2022/acorex-modules-document-management-drive.component-B3BCzdVv.mjs.map +1 -0
  27. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C5pB5bc2.mjs → acorex-modules-document-management-large-icons-view.component-DvriE0YR.mjs} +2 -2
  28. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C5pB5bc2.mjs.map → acorex-modules-document-management-large-icons-view.component-DvriE0YR.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D9PFgzMQ.mjs → acorex-modules-document-management-large-tiles-view.component-ByWrKvZe.mjs} +2 -2
  30. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D9PFgzMQ.mjs.map → acorex-modules-document-management-large-tiles-view.component-ByWrKvZe.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-document-management-list-view.component-DjULM8Me.mjs → acorex-modules-document-management-list-view.component-B6J6Tokv.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-document-management-list-view.component-DjULM8Me.mjs.map → acorex-modules-document-management-list-view.component-B6J6Tokv.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-D3Cg9_5d.mjs → acorex-modules-document-management-rename-node-dialog.component-Dae6RWb8.mjs} +2 -2
  34. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-D3Cg9_5d.mjs.map → acorex-modules-document-management-rename-node-dialog.component-Dae6RWb8.mjs.map} +1 -1
  35. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-4M8c_1Dt.mjs → acorex-modules-document-management-small-icons-view.component-TrYeB22e.mjs} +2 -2
  36. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-4M8c_1Dt.mjs.map → acorex-modules-document-management-small-icons-view.component-TrYeB22e.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CXPXrH4g.mjs → acorex-modules-document-management-small-tiles-view.component-DDKdWg8I.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CXPXrH4g.mjs.map → acorex-modules-document-management-small-tiles-view.component-DDKdWg8I.mjs.map} +1 -1
  39. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  40. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-D1tWlJqL.mjs → acorex-modules-organization-management-org-chart-configuration.page-JKQwYEPq.mjs} +2 -2
  41. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-D1tWlJqL.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-JKQwYEPq.mjs.map} +1 -1
  42. package/fesm2022/{acorex-modules-organization-management-org-chart.page-bzbCuF-w.mjs → acorex-modules-organization-management-org-chart.page-C2ZtUVKI.mjs} +2 -2
  43. package/fesm2022/{acorex-modules-organization-management-org-chart.page-bzbCuF-w.mjs.map → acorex-modules-organization-management-org-chart.page-C2ZtUVKI.mjs.map} +1 -1
  44. package/fesm2022/acorex-modules-organization-management.mjs +2 -2
  45. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  46. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  47. package/package.json +1 -1
  48. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-CpoLrul7.mjs.map +0 -1
  49. package/fesm2022/acorex-modules-document-management-drive.component-CZR-optD.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-common-index-B3u5feXf.mjs","sources":["../../../../libs/modules/common/src/lib/features/widget-wrapper/dashboard-widget-wrapper.ts","../../../../libs/modules/common/src/lib/features/widget-wrapper/dashboard-widget-wrapper.html","../../../../libs/modules/common/src/lib/features/dashboard-popups/add-dashboard-popup.ts","../../../../libs/modules/common/src/lib/features/dashboard-popups/dashboard-popup.service.ts","../../../../libs/modules/common/src/lib/features/dashboard-home/dashboard-home.store.ts","../../../../libs/modules/common/src/lib/features/dashboard-home/dashboard-home.ts","../../../../libs/modules/common/src/lib/features/dashboard-home/dashboard-home.html"],"sourcesContent":["import { AXButtonItemComponent, AXButtonModule } from '@acorex/components/button';\nimport { AXItemClickEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\n\n@Component({\n selector: 'axc-dashboard-widget-wrapper',\n templateUrl: './dashboard-widget-wrapper.html',\n styleUrls: ['./dashboard-widget-wrapper.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXButtonModule, AXDecoratorModule, AXDropdownModule],\n standalone: true,\n})\nexport class AXCDashboardWidgetWrapperComponent {\n onDelete = output<void>();\n hasOptions = input<boolean>(true);\n handleOnItemClick(event: AXItemClickEvent<AXButtonItemComponent>) {\n console.log(event);\n switch (event.item.data) {\n case 'delete':\n this.onDelete.emit();\n break;\n\n default:\n break;\n }\n }\n}\n","<section class=\"ax-relative ax-size-full ax-flex ax-justify-center ax-items-center ax-group\">\n @if(hasOptions()){\n <div class=\"ax-p-1 ax-absolute ax-top-0 ax-left-0 ax-z-[9999] ax-invisible group-hover:ax-visible\">\n <ax-button color=\"secondary\" class=\"ax-sm\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-ellipsis-h\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ng-container>\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event)\">\n <ax-button-item [data]=\"'delete'\" text=\"Delete\" color=\"danger\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }\n <ng-content></ng-content>\n</section>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { Component, afterNextRender, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPDashboardLayout } from '../dashboard-home/dashboard.type';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center\">\n <ax-label>Title</ax-label>\n <ax-text-box [(ngModel)]=\"title\" name=\"title\"></ax-text-box>\n\n <ax-label>Description</ax-label>\n <ax-text-box [(ngModel)]=\"description\" name=\"description\"></ax-text-box>\n </div>\n\n <ax-footer>\n <ax-prefix></ax-prefix>\n <ax-suffix>\n <ax-button text=\"Cancel\" look=\"solid\" (onClick)=\"handleClose(true)\"></ax-button>\n <ax-button text=\"Save\" look=\"solid\" color=\"primary\" (onClick)=\"handleClose()\">\n <ax-icon class=\"fa-solid fa-save\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n imports: [FormsModule, AXButtonModule, AXTextBoxModule, AXLabelModule, AXButtonModule, AXDecoratorModule],\n})\nexport class AXCAddDashboardPopup extends AXBasePageComponent {\n private data: Partial<AXPDashboardLayout>;\n\n protected title = model<string>();\n protected description = model<string>();\n\n #init = afterNextRender(() => {\n this.title.set(this.data.title || '');\n this.description.set(this.data.description || '');\n });\n\n protected async handleClose(isCanceled = false) {\n this.close({\n title: this.title(),\n description: this.description(),\n isCanceled,\n });\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDashboardLayout } from '../dashboard-home/dashboard.type';\nimport { AXCAddDashboardPopup } from './add-dashboard-popup';\n\n@Injectable({ providedIn: 'root' })\nexport class AXPDashboardPopupService {\n popupService = inject(AXPopupService);\n async generateDashboardLayout(data: Partial<AXPDashboardLayout>): Promise<AXPDashboardLayout> {\n const result = await this.popupService.open(AXCAddDashboardPopup, {\n header: true,\n size: 'fit',\n draggable: true,\n hasBackdrop: true,\n title: 'Dashboard Layout Details',\n data: { data },\n });\n const { isCanceled, ...rest } = result.data;\n if (isCanceled) {\n throw new Error('Process is Canceled by User!');\n } else {\n return rest;\n }\n }\n}\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXGridLayoutEvent, AXGridLayoutOptions } from '@acorex/components/grid-layout-builder';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { AXPDesignerService } from '@acorex/platform/layout/designer';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { AXPDashboardPopupService } from '../dashboard-popups/dashboard-popup.service';\nimport { AXPDashboardLayout, AXPDashboardWidgetData } from './dashboard.type';\n\n// Initial state\nconst initialDashboards: AXPDashboardLayout[] = [\n {\n id: 'widget1',\n title: 'Home',\n widget: [\n {\n config: {\n id: '1',\n height: 5,\n width: 6,\n },\n node: {\n name: 'bar-chart',\n path: 'bar-chart',\n type: 'bar-chart',\n defaultValue: {\n data: [\n { label: 'Category A', value: 30, color: 'green' },\n { label: 'Category B', value: 80 },\n { label: 'Category C', value: 45 },\n { label: 'Category D', value: 10 },\n { label: 'Category E', value: 100 },\n ],\n options: { width: 600, height: 400, color: ['red', 'yellow', 'blue'] },\n },\n },\n },\n {\n config: {\n id: '5',\n height: 5,\n width: 6,\n },\n node: {\n name: 'map',\n path: 'map',\n type: 'map',\n options: {\n hasDraw: true,\n zoomLevel: 5,\n latitude: 32,\n longitude: 53,\n fitToDraw: true,\n limitDraw: [\n {\n points: [\n {\n latitude: 33.8339199536547,\n longitude: 51.16056693933671,\n },\n {\n latitude: 32.37996146435729,\n longitude: 50.017223524232904,\n },\n {\n latitude: 31.034108344903512,\n longitude: 51.402428046377885,\n },\n {\n latitude: 31.690781806136822,\n longitude: 53.24936740923793,\n },\n {\n latitude: 33.211116472416855,\n longitude: 53.18340528913575,\n },\n ],\n color: 'blue',\n },\n ],\n },\n },\n },\n ],\n },\n {\n id: 'widget2',\n title: 'Work',\n widget: [\n {\n config: {\n id: '2',\n height: 3,\n width: 3,\n },\n node: {\n name: 'sticky-note',\n path: 'sticky-note',\n type: 'sticky-note',\n defaultValue: `test`,\n options: {\n hasOptions: false,\n },\n },\n },\n {\n config: { id: '3', height: 4, width: 4 },\n node: {\n name: 'donut-chart',\n path: 'donut-chart',\n type: 'donut-chart',\n defaultValue: {\n data: [\n { id: 'a', name: 'Apples', value: 40, color: '#E57373' },\n { id: 'b', name: 'Bananas', value: 30, color: '#FFF176' },\n { id: 'c', name: 'ta', value: 20, color: '#F06292' },\n { id: 'd', name: 'Dates', value: 10, color: '#9575CD' },\n ],\n options: { width: 250, height: 250 },\n },\n },\n },\n {\n config: { id: '4', height: 4, width: 3 },\n node: {\n name: 'gauge-chart',\n path: 'gauge-chart',\n type: 'gauge-chart',\n defaultValue: {\n data: {\n id: 'gauge1',\n name: 'System Load',\n value: 65,\n color: '#2196F3',\n },\n options: {\n width: 250,\n height: 250,\n minValue: 0,\n maxValue: 100,\n // thresholds: [\n // { range: 30, color: '#4CAF50' }, // Green for low values\n // { range: 70, color: '#FFC107' }, // Yellow for medium values\n // { range: 100, color: '#F44336' }, // Red for high values\n // ],\n label: 'CPU Usage',\n animationDuration: 3000,\n },\n },\n },\n },\n ],\n },\n];\n\n// Define the state interface\ninterface DashboardState {\n dashboards: AXPDashboardLayout[];\n currentDashboardId: string | null;\n dashboardsOption: AXGridLayoutOptions;\n}\n\n// Create the SignalStore\nexport const AXCDashboardStore = signalStore(\n {},\n\n // Define the state\n withState<DashboardState>({\n dashboards: initialDashboards,\n currentDashboardId: initialDashboards[0].id,\n dashboardsOption: { float: true, cellHeight: 100, gap: 20, minRow: 7, column: 12 },\n }),\n\n // Define computed properties\n withComputed((state) => ({\n currentDashboard: computed(() => {\n return state.dashboards().find((dashboard) => dashboard.id === state.currentDashboardId()) || null;\n }),\n })),\n\n // Define methods\n withMethods(\n (\n state,\n dashboardPopup = inject(AXPDashboardPopupService),\n dialogService = inject(AXDialogService),\n translationService = inject(AXTranslationService),\n designerService = inject(AXPDesignerService)\n ) => ({\n // Set current dashboard\n setCurrentDashboard(dashboardId: string): void {\n patchState(state, { currentDashboardId: dashboardId });\n },\n\n // Add a new dashboard\n async addDashboard(): Promise<void> {\n try {\n const newDashboard = await dashboardPopup.generateDashboardLayout({});\n newDashboard.id = AXPDataGenerator.uuid();\n newDashboard.widget = [];\n // newDashboard.widget = [\n // {\n // config: {\n // h: 1,\n // w: 1,\n // id: AXPDataGenerator.uuid(),\n // },\n // },\n // ];\n\n const updatedDashboards = [...state.dashboards(), newDashboard];\n\n patchState(state, {\n dashboards: updatedDashboards,\n currentDashboardId: newDashboard.id,\n });\n } catch (error) {\n console.error('Error adding dashboard:', error);\n }\n },\n\n // Add a widget to the current dashboard\n async addWidget(): Promise<void> {\n if (!state.currentDashboardId()) {\n console.warn('No current dashboard selected');\n return;\n }\n\n try {\n // Step 1: Show the picker and get the selected widgets\n const widgets = await designerService.showPicker({\n name: 'page-layout',\n type: 'page-layout',\n children: [],\n });\n\n // Step 2: Convert the selected widgets into AXPDashboardWidgetData format\n const convertedWidgets: AXPDashboardWidgetData[] = widgets.map((widget) => ({\n config: { height: 2, width: 2, id: AXPDataGenerator.uuid() },\n node: widget,\n }));\n\n // Step 3: Update the dashboards\n const updatedDashboards = state.dashboards().map((dashboard) => {\n if (dashboard.id === state.currentDashboardId()) {\n return {\n ...dashboard,\n widget: [...dashboard.widget, ...convertedWidgets],\n };\n }\n return dashboard;\n });\n\n patchState(state, { dashboards: updatedDashboards });\n } catch (error) {\n console.error('Error adding widget:', error);\n }\n },\n\n // Remove a dashboard\n async removeDashboard(id: string): Promise<void> {\n if (!id) {\n console.warn('No dashboard ID provided for removal');\n return;\n }\n\n try {\n const dialogResult = await dialogService.confirm(\n await translationService.translateAsync('workflow.warning'),\n await translationService.translateAsync('workflow.confirm-delete'),\n 'danger',\n 'horizontal'\n );\n\n if (dialogResult.result) {\n // Remove the dashboard\n const updatedDashboards = state.dashboards().filter((dashboard) => dashboard.id !== id);\n\n // Update state\n patchState(state, {\n dashboards: updatedDashboards,\n currentDashboardId:\n id === state.currentDashboardId()\n ? updatedDashboards.length > 0\n ? updatedDashboards[0].id\n : null\n : state.currentDashboardId(),\n });\n }\n } catch (error) {\n console.error('Error removing dashboard:', error);\n }\n },\n\n // Remove a widget from a dashboard\n removeWidget(dashboardId: string, widgetId: string): void {\n const updatedDashboards = state.dashboards().map((dashboard) => {\n if (dashboard.id === dashboardId) {\n return {\n ...dashboard,\n widget: dashboard.widget.filter((widget) => widget.config.id !== widgetId),\n };\n }\n return dashboard;\n });\n\n patchState(state, { dashboards: updatedDashboards });\n },\n\n // Handle configuration changes\n handleConfigChange(dashboard: AXPDashboardLayout): void {\n const updatedDashboards = state.dashboards().map((d) => (d.id === dashboard.id ? dashboard : d));\n\n patchState(state, {\n dashboards: updatedDashboards,\n currentDashboardId: dashboard.id,\n });\n },\n\n // Handle grid layout changes\n onGridChange(event: AXGridLayoutEvent): void {\n if (!state.currentDashboard()) {\n console.warn('No current dashboard for grid change');\n return;\n }\n\n // Extract nodes from the event and remove the `element` property\n const nodes = event.nodes.map(({ element, ...rest }) => rest);\n\n // Update the current dashboard\n const currentDashboard = state.currentDashboard()!;\n const updatedWidgets = currentDashboard.widget.map((widget) => {\n const updatedNode = nodes.find((node) => node.id === widget.config.id);\n if (updatedNode) {\n return {\n ...widget,\n config: updatedNode,\n };\n }\n return widget;\n });\n\n const updatedDashboard = {\n ...currentDashboard,\n widget: updatedWidgets,\n };\n\n // Update the dashboards\n const updatedDashboards = state\n .dashboards()\n .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));\n\n patchState(state, { dashboards: updatedDashboards });\n },\n })\n )\n);\n","import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXGridLayoutBuilderModule } from '@acorex/components/grid-layout-builder';\nimport { AXTranslatorDirective } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerService } from '@acorex/platform/layout/designer';\nimport { AXPSimplePageLayout } from '@acorex/platform/themes/default';\nimport {\n AXPLayoutThemeService,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutPageHeaderComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n} from '@acorex/platform/themes/shared';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { RootConfig } from '../../const';\nimport { AXCDashboardWidgetWrapperComponent } from '../widget-wrapper/dashboard-widget-wrapper';\nimport { AXCDashboardStore } from './dashboard-home.store';\n\n@Component({\n templateUrl: './dashboard-home.html',\n styleUrls: ['./dashboard-home.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXPDesignerService, AXCDashboardStore],\n imports: [\n AXPLayoutBuilderModule,\n AXButtonModule,\n AXGridLayoutBuilderModule,\n AXPSimplePageLayout,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutPageHeaderComponent,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXDropdownButtonModule,\n AXCDashboardWidgetWrapperComponent,\n AXDecoratorModule,\n AXDropdownModule,\n AsyncPipe,\n AXTranslatorDirective,\n AXPThemeLayoutPageSecondaryActionsComponent,\n AXBreadcrumbsModule,\n ],\n standalone: true,\n})\nexport class AXPDashboardHomeComponent {\n protected readonly activatedRoute = inject(ActivatedRoute);\n protected readonly layout = inject(AXPLayoutThemeService);\n protected readonly store = inject(AXCDashboardStore);\n protected readonly rootConfig = RootConfig;\n\n isEdited = signal(false);\n toggleEdit() {\n //(window as any).d = this.activatedRoute;\n this.isEdited.update((i) => !i);\n }\n\n getGridBackground(): string | null {\n if (!this.isEdited()) {\n return null;\n }\n\n const gap = this.store.dashboardsOption().gap ?? 0; // Get the gap value, default to 0 if not provided\n const columnWidth = `calc((100% - ${gap}px) / ${this.store.dashboardsOption().column ?? 12})`;\n const cellHeight = this.store.dashboardsOption().cellHeight;\n\n // Adjust the vertical lines to start at the gap value and end before the gap\n const verticalLines = `linear-gradient(to right, #0000001c 1px, transparent 1px) ${gap}px 0 / ${columnWidth} 100%`;\n\n // Adjust the horizontal lines to start at the gap value and end before the gap\n const horizontalLines = `linear-gradient(to bottom, #0000001c 1px, transparent 1px) 0 ${gap}px / 100% ${cellHeight}px`;\n\n return `${verticalLines}, ${horizontalLines}`;\n }\n\n protected context = signal({});\n}\n","<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-page-header>\n <axp-layout-title> {{ store.currentDashboard()?.title }} </axp-layout-title>\n\n <axp-layout-description> {{ store.currentDashboard()?.description }} </axp-layout-description>\n 1\n <axp-layout-breadcrumbs>\n <!-- <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward ax-text-xs\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [routerLink]=\"b.url\" class=\"!ax-text-xs\"> {{ b.title}} </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs> -->\n </axp-layout-breadcrumbs>\n\n <axp-layout-actions>\n <axp-layout-actions-primary>\n <ax-button [text]=\"t('create-new', { scope: rootConfig.config.i18n }) | async\" [color]=\"'primary'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-plus\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"store.addDashboard()\"\n [text]=\" (t('dashboard.dashboard', { scope: rootConfig.config.i18n })| async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-folder-plus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-divider></ax-divider>\n <ax-button-item\n (onClick)=\"store.addWidget()\"\n [text]=\" (t('dashboard.widget', { scope: rootConfig.config.i18n })| async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n <ax-dropdown-button [text]=\"store.currentDashboard()?.title\" [color]=\"'primary'\">\n <ax-button-item-list>\n @for (dashboard of store.dashboards(); track dashboard.id) {\n <ax-button-item\n [text]=\"dashboard.title\"\n [selected]=\"dashboard.id === store.currentDashboard()?.id\"\n (onClick)=\"store.handleConfigChange(dashboard)\"\n >\n </ax-button-item>\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-screen ax-bg-gray-50 ax-p-4\">\n <!-- Icon -->\n <svg\n class=\"ax-w-16 ax-h-16 ax-text-gray-400 ax-mb-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n ></path>\n </svg>\n\n <!-- Message -->\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">No Dashboards Found</h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n It looks like you don't have any dashboards yet. Create one to get started!\n </p>\n </div>\n }\n </ax-button-item-list>\n </ax-dropdown-button>\n </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item\n [disabled]=\"store.dashboards().length<=1\"\n [text]=\"(t('dashboard.delete-current-dashboard', { scope: rootConfig.config.i18n }) | async)!\"\n (onClick)=\"store.removeDashboard(store.currentDashboard()?.id!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-trash\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n </axp-layout-page-header>\n\n <axp-layout-page-content class=\"ax-relative\">\n <ax-grid-layout-container\n [style.background]=\"getGridBackground()\"\n #grid\n [options]=\"store.dashboardsOption()\"\n (onChange)=\"store.onGridChange($event)\"\n >\n @for(widget of store.currentDashboard()?.widget ; track widget.config.id) {\n <ax-grid-layout-widget [options]=\"widget.config\">\n <!-- <div class=\"ax-absolute ax-top-0 ax-size-3 ax-handler ax-bg-blue-500 ax-z-[999]\"></div> -->\n <axc-dashboard-widget-wrapper\n [hasOptions]=\"widget.node?.options?.['hasOptions'] ?? true\"\n (onDelete)=\"store.removeWidget(store.currentDashboard()?.id!,widget.config.id!)\"\n >\n @if(widget.node){\n <axp-widgets-container [context]=\"context()\">\n <ng-container axp-widget-renderer [node]=\"widget.node\" [mode]=\"'edit'\"> </ng-container>\n </axp-widgets-container>\n }\n </axc-dashboard-widget-wrapper>\n </ax-grid-layout-widget>\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-bg-gray-50 ax-p-4\">\n <!-- Icon -->\n <svg\n class=\"ax-w-16 ax-h-16 ax-text-gray-400 ax-mb-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n ></path>\n </svg>\n\n <!-- Message -->\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">No Widget Found</h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n It looks like you don't have any Widget yet. Create one to get started!\n </p>\n </div>\n }\n </ax-grid-layout-container>\n <div class=\"ax-p-4 ax-absolute ax-bottom-0 ax-right-0\">\n <ax-button\n [color]=\"'primary'\"\n class=\"ax-xl ax-rounded-full\"\n [disabled]=\"!store.currentDashboard()?.widget?.length\"\n (onClick)=\"toggleEdit()\"\n >\n <ax-prefix> <ax-icon class=\"fa-solid fa-pen\"> </ax-icon></ax-prefix>\n </ax-button>\n </div>\n </axp-layout-page-content>\n</axp-layout-simple-page>\n"],"names":["i1","i3","i4"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-common-index-D90SN6SH.mjs","sources":["../../../../libs/modules/common/src/lib/features/widget-wrapper/dashboard-widget-wrapper.ts","../../../../libs/modules/common/src/lib/features/widget-wrapper/dashboard-widget-wrapper.html","../../../../libs/modules/common/src/lib/features/dashboard-popups/add-dashboard-popup.ts","../../../../libs/modules/common/src/lib/features/dashboard-popups/dashboard-popup.service.ts","../../../../libs/modules/common/src/lib/features/dashboard-home/dashboard-home.store.ts","../../../../libs/modules/common/src/lib/features/dashboard-home/dashboard-home.ts","../../../../libs/modules/common/src/lib/features/dashboard-home/dashboard-home.html"],"sourcesContent":["import { AXButtonItemComponent, AXButtonModule } from '@acorex/components/button';\nimport { AXItemClickEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\n\n@Component({\n selector: 'axc-dashboard-widget-wrapper',\n templateUrl: './dashboard-widget-wrapper.html',\n styleUrls: ['./dashboard-widget-wrapper.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXButtonModule, AXDecoratorModule, AXDropdownModule],\n standalone: true,\n})\nexport class AXCDashboardWidgetWrapperComponent {\n onDelete = output<void>();\n hasOptions = input<boolean>(true);\n handleOnItemClick(event: AXItemClickEvent<AXButtonItemComponent>) {\n console.log(event);\n switch (event.item.data) {\n case 'delete':\n this.onDelete.emit();\n break;\n\n default:\n break;\n }\n }\n}\n","<section class=\"ax-relative ax-size-full ax-flex ax-justify-center ax-items-center ax-group\">\n @if(hasOptions()){\n <div class=\"ax-p-1 ax-absolute ax-top-0 ax-left-0 ax-z-[9999] ax-invisible group-hover:ax-visible\">\n <ax-button color=\"secondary\" class=\"ax-sm\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-ellipsis-h\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ng-container>\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event)\">\n <ax-button-item [data]=\"'delete'\" text=\"Delete\" color=\"danger\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ng-container>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }\n <ng-content></ng-content>\n</section>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { Component, afterNextRender, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPDashboardLayout } from '../dashboard-home/dashboard.type';\n\n@Component({\n template: `\n <div class=\"ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center\">\n <ax-label>Title</ax-label>\n <ax-text-box [(ngModel)]=\"title\" name=\"title\"></ax-text-box>\n\n <ax-label>Description</ax-label>\n <ax-text-box [(ngModel)]=\"description\" name=\"description\"></ax-text-box>\n </div>\n\n <ax-footer>\n <ax-prefix></ax-prefix>\n <ax-suffix>\n <ax-button text=\"Cancel\" look=\"solid\" (onClick)=\"handleClose(true)\"></ax-button>\n <ax-button text=\"Save\" look=\"solid\" color=\"primary\" (onClick)=\"handleClose()\">\n <ax-icon class=\"fa-solid fa-save\"></ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n imports: [FormsModule, AXButtonModule, AXTextBoxModule, AXLabelModule, AXButtonModule, AXDecoratorModule],\n})\nexport class AXCAddDashboardPopup extends AXBasePageComponent {\n private data: Partial<AXPDashboardLayout>;\n\n protected title = model<string>();\n protected description = model<string>();\n\n #init = afterNextRender(() => {\n this.title.set(this.data.title || '');\n this.description.set(this.data.description || '');\n });\n\n protected async handleClose(isCanceled = false) {\n this.close({\n title: this.title(),\n description: this.description(),\n isCanceled,\n });\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPDashboardLayout } from '../dashboard-home/dashboard.type';\nimport { AXCAddDashboardPopup } from './add-dashboard-popup';\n\n@Injectable({ providedIn: 'root' })\nexport class AXPDashboardPopupService {\n popupService = inject(AXPopupService);\n async generateDashboardLayout(data: Partial<AXPDashboardLayout>): Promise<AXPDashboardLayout> {\n const result = await this.popupService.open(AXCAddDashboardPopup, {\n header: true,\n size: 'fit',\n draggable: true,\n hasBackdrop: true,\n title: 'Dashboard Layout Details',\n data: { data },\n });\n const { isCanceled, ...rest } = result.data;\n if (isCanceled) {\n throw new Error('Process is Canceled by User!');\n } else {\n return rest;\n }\n }\n}\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXGridLayoutEvent, AXGridLayoutOptions } from '@acorex/components/grid-layout-builder';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { AXPDesignerService } from '@acorex/platform/layout/designer';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { AXPDashboardPopupService } from '../dashboard-popups/dashboard-popup.service';\nimport { AXPDashboardLayout, AXPDashboardWidgetData } from './dashboard.type';\n\n// Initial state\nconst initialDashboards: AXPDashboardLayout[] = [\n {\n id: 'widget1',\n title: 'Home',\n widget: [\n {\n config: {\n id: '1',\n height: 5,\n width: 6,\n },\n node: {\n name: 'bar-chart',\n path: 'bar-chart',\n type: 'bar-chart',\n defaultValue: {\n data: [\n { label: 'Category A', value: 30, color: 'green' },\n { label: 'Category B', value: 80 },\n { label: 'Category C', value: 45 },\n { label: 'Category D', value: 10 },\n { label: 'Category E', value: 100 },\n ],\n options: { width: 600, height: 400, color: ['red', 'yellow', 'blue'] },\n },\n },\n },\n {\n config: {\n id: '5',\n height: 5,\n width: 6,\n },\n node: {\n name: 'map',\n path: 'map',\n type: 'map',\n options: {\n hasDraw: true,\n zoomLevel: 5,\n latitude: 32,\n longitude: 53,\n fitToDraw: true,\n limitDraw: [\n {\n points: [\n {\n latitude: 33.8339199536547,\n longitude: 51.16056693933671,\n },\n {\n latitude: 32.37996146435729,\n longitude: 50.017223524232904,\n },\n {\n latitude: 31.034108344903512,\n longitude: 51.402428046377885,\n },\n {\n latitude: 31.690781806136822,\n longitude: 53.24936740923793,\n },\n {\n latitude: 33.211116472416855,\n longitude: 53.18340528913575,\n },\n ],\n color: 'blue',\n },\n ],\n },\n },\n },\n ],\n },\n {\n id: 'widget2',\n title: 'Work',\n widget: [\n {\n config: {\n id: '2',\n height: 3,\n width: 3,\n },\n node: {\n name: 'sticky-note',\n path: 'sticky-note',\n type: 'sticky-note',\n defaultValue: `test`,\n options: {\n hasOptions: false,\n },\n },\n },\n {\n config: { id: '3', height: 4, width: 4 },\n node: {\n name: 'donut-chart',\n path: 'donut-chart',\n type: 'donut-chart',\n defaultValue: {\n data: [\n { id: 'a', name: 'Apples', value: 40, color: '#E57373' },\n { id: 'b', name: 'Bananas', value: 30, color: '#FFF176' },\n { id: 'c', name: 'ta', value: 20, color: '#F06292' },\n { id: 'd', name: 'Dates', value: 10, color: '#9575CD' },\n ],\n options: { width: 250, height: 250 },\n },\n },\n },\n {\n config: { id: '4', height: 4, width: 3 },\n node: {\n name: 'gauge-chart',\n path: 'gauge-chart',\n type: 'gauge-chart',\n defaultValue: {\n data: {\n id: 'gauge1',\n name: 'System Load',\n value: 65,\n color: '#2196F3',\n },\n options: {\n width: 250,\n height: 250,\n minValue: 0,\n maxValue: 100,\n // thresholds: [\n // { range: 30, color: '#4CAF50' }, // Green for low values\n // { range: 70, color: '#FFC107' }, // Yellow for medium values\n // { range: 100, color: '#F44336' }, // Red for high values\n // ],\n label: 'CPU Usage',\n animationDuration: 3000,\n },\n },\n },\n },\n ],\n },\n];\n\n// Define the state interface\ninterface DashboardState {\n dashboards: AXPDashboardLayout[];\n currentDashboardId: string | null;\n dashboardsOption: AXGridLayoutOptions;\n}\n\n// Create the SignalStore\nexport const AXCDashboardStore = signalStore(\n {},\n\n // Define the state\n withState<DashboardState>({\n dashboards: initialDashboards,\n currentDashboardId: initialDashboards[0].id,\n dashboardsOption: { float: true, cellHeight: 100, gap: 20, minRow: 7, column: 12 },\n }),\n\n // Define computed properties\n withComputed((state) => ({\n currentDashboard: computed(() => {\n return state.dashboards().find((dashboard) => dashboard.id === state.currentDashboardId()) || null;\n }),\n })),\n\n // Define methods\n withMethods(\n (\n state,\n dashboardPopup = inject(AXPDashboardPopupService),\n dialogService = inject(AXDialogService),\n translationService = inject(AXTranslationService),\n designerService = inject(AXPDesignerService)\n ) => ({\n // Set current dashboard\n setCurrentDashboard(dashboardId: string): void {\n patchState(state, { currentDashboardId: dashboardId });\n },\n\n // Add a new dashboard\n async addDashboard(): Promise<void> {\n try {\n const newDashboard = await dashboardPopup.generateDashboardLayout({});\n newDashboard.id = AXPDataGenerator.uuid();\n newDashboard.widget = [];\n // newDashboard.widget = [\n // {\n // config: {\n // h: 1,\n // w: 1,\n // id: AXPDataGenerator.uuid(),\n // },\n // },\n // ];\n\n const updatedDashboards = [...state.dashboards(), newDashboard];\n\n patchState(state, {\n dashboards: updatedDashboards,\n currentDashboardId: newDashboard.id,\n });\n } catch (error) {\n console.error('Error adding dashboard:', error);\n }\n },\n\n // Add a widget to the current dashboard\n async addWidget(): Promise<void> {\n if (!state.currentDashboardId()) {\n console.warn('No current dashboard selected');\n return;\n }\n\n try {\n // Step 1: Show the picker and get the selected widgets\n const widgets = await designerService.showPicker({\n name: 'page-layout',\n type: 'page-layout',\n children: [],\n });\n\n // Step 2: Convert the selected widgets into AXPDashboardWidgetData format\n const convertedWidgets: AXPDashboardWidgetData[] = widgets.map((widget) => ({\n config: { height: 2, width: 2, id: AXPDataGenerator.uuid() },\n node: widget,\n }));\n\n // Step 3: Update the dashboards\n const updatedDashboards = state.dashboards().map((dashboard) => {\n if (dashboard.id === state.currentDashboardId()) {\n return {\n ...dashboard,\n widget: [...dashboard.widget, ...convertedWidgets],\n };\n }\n return dashboard;\n });\n\n patchState(state, { dashboards: updatedDashboards });\n } catch (error) {\n console.error('Error adding widget:', error);\n }\n },\n\n // Remove a dashboard\n async removeDashboard(id: string): Promise<void> {\n if (!id) {\n console.warn('No dashboard ID provided for removal');\n return;\n }\n\n try {\n const dialogResult = await dialogService.confirm(\n await translationService.translateAsync('workflow.warning'),\n await translationService.translateAsync('workflow.confirm-delete'),\n 'danger',\n 'horizontal'\n );\n\n if (dialogResult.result) {\n // Remove the dashboard\n const updatedDashboards = state.dashboards().filter((dashboard) => dashboard.id !== id);\n\n // Update state\n patchState(state, {\n dashboards: updatedDashboards,\n currentDashboardId:\n id === state.currentDashboardId()\n ? updatedDashboards.length > 0\n ? updatedDashboards[0].id\n : null\n : state.currentDashboardId(),\n });\n }\n } catch (error) {\n console.error('Error removing dashboard:', error);\n }\n },\n\n // Remove a widget from a dashboard\n removeWidget(dashboardId: string, widgetId: string): void {\n const updatedDashboards = state.dashboards().map((dashboard) => {\n if (dashboard.id === dashboardId) {\n return {\n ...dashboard,\n widget: dashboard.widget.filter((widget) => widget.config.id !== widgetId),\n };\n }\n return dashboard;\n });\n\n patchState(state, { dashboards: updatedDashboards });\n },\n\n // Handle configuration changes\n handleConfigChange(dashboard: AXPDashboardLayout): void {\n const updatedDashboards = state.dashboards().map((d) => (d.id === dashboard.id ? dashboard : d));\n\n patchState(state, {\n dashboards: updatedDashboards,\n currentDashboardId: dashboard.id,\n });\n },\n\n // Handle grid layout changes\n onGridChange(event: AXGridLayoutEvent): void {\n if (!state.currentDashboard()) {\n console.warn('No current dashboard for grid change');\n return;\n }\n\n // Extract nodes from the event and remove the `element` property\n const nodes = event.nodes.map(({ element, ...rest }) => rest);\n\n // Update the current dashboard\n const currentDashboard = state.currentDashboard()!;\n const updatedWidgets = currentDashboard.widget.map((widget) => {\n const updatedNode = nodes.find((node) => node.id === widget.config.id);\n if (updatedNode) {\n return {\n ...widget,\n config: updatedNode,\n };\n }\n return widget;\n });\n\n const updatedDashboard = {\n ...currentDashboard,\n widget: updatedWidgets,\n };\n\n // Update the dashboards\n const updatedDashboards = state\n .dashboards()\n .map((dashboard) => (dashboard.id === updatedDashboard.id ? updatedDashboard : dashboard));\n\n patchState(state, { dashboards: updatedDashboards });\n },\n })\n )\n);\n","import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXGridLayoutBuilderModule } from '@acorex/components/grid-layout-builder';\nimport { AXTranslatorDirective } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPDesignerService } from '@acorex/platform/layout/designer';\nimport { AXPSimplePageLayout } from '@acorex/platform/themes/default';\nimport {\n AXPLayoutThemeService,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutPageHeaderComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXPThemeLayoutPageSecondaryActionsComponent,\n} from '@acorex/platform/themes/shared';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { RootConfig } from '../../const';\nimport { AXCDashboardWidgetWrapperComponent } from '../widget-wrapper/dashboard-widget-wrapper';\nimport { AXCDashboardStore } from './dashboard-home.store';\n\n@Component({\n templateUrl: './dashboard-home.html',\n styleUrls: ['./dashboard-home.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXPDesignerService, AXCDashboardStore],\n imports: [\n AXPLayoutBuilderModule,\n AXButtonModule,\n AXGridLayoutBuilderModule,\n AXPSimplePageLayout,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutPageHeaderComponent,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutPagePrimaryActionsComponent,\n AXDropdownButtonModule,\n AXCDashboardWidgetWrapperComponent,\n AXDecoratorModule,\n AXDropdownModule,\n AsyncPipe,\n AXTranslatorDirective,\n AXPThemeLayoutPageSecondaryActionsComponent,\n AXBreadcrumbsModule,\n ],\n standalone: true,\n})\nexport class AXPDashboardHomeComponent {\n protected readonly activatedRoute = inject(ActivatedRoute);\n protected readonly layout = inject(AXPLayoutThemeService);\n protected readonly store = inject(AXCDashboardStore);\n protected readonly rootConfig = RootConfig;\n\n isEdited = signal(false);\n toggleEdit() {\n //(window as any).d = this.activatedRoute;\n this.isEdited.update((i) => !i);\n }\n\n getGridBackground(): string | null {\n if (!this.isEdited()) {\n return null;\n }\n\n const gap = this.store.dashboardsOption().gap ?? 0; // Get the gap value, default to 0 if not provided\n const columnWidth = `calc((100% - ${gap}px) / ${this.store.dashboardsOption().column ?? 12})`;\n const cellHeight = this.store.dashboardsOption().cellHeight;\n\n // Adjust the vertical lines to start at the gap value and end before the gap\n const verticalLines = `linear-gradient(to right, #0000001c 1px, transparent 1px) ${gap}px 0 / ${columnWidth} 100%`;\n\n // Adjust the horizontal lines to start at the gap value and end before the gap\n const horizontalLines = `linear-gradient(to bottom, #0000001c 1px, transparent 1px) 0 ${gap}px / 100% ${cellHeight}px`;\n\n return `${verticalLines}, ${horizontalLines}`;\n }\n\n protected context = signal({});\n}\n","<axp-layout-simple-page *translate=\"let t\">\n <axp-layout-page-header>\n <axp-layout-title> {{ store.currentDashboard()?.title }} </axp-layout-title>\n\n <axp-layout-description> {{ store.currentDashboard()?.description }} </axp-layout-description>\n 1\n <axp-layout-breadcrumbs>\n <!-- <ax-breadcrumbs [class.ax-hidden]=\"layout.isSmall()\">\n <ng-template #divider>\n <i class=\"fa-regular fa-slash-forward ax-text-xs\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [routerLink]=\"b.url\" class=\"!ax-text-xs\"> {{ b.title}} </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs> -->\n </axp-layout-breadcrumbs>\n\n <axp-layout-actions>\n <axp-layout-actions-primary>\n <ax-button [text]=\"t('create-new', { scope: rootConfig.config.i18n }) | async\" [color]=\"'primary'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-plus\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"store.addDashboard()\"\n [text]=\" (t('dashboard.dashboard', { scope: rootConfig.config.i18n })| async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-folder-plus\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-divider></ax-divider>\n <ax-button-item\n (onClick)=\"store.addWidget()\"\n [text]=\" (t('dashboard.widget', { scope: rootConfig.config.i18n })| async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n <ax-dropdown-button [text]=\"store.currentDashboard()?.title\" [color]=\"'primary'\">\n <ax-button-item-list>\n @for (dashboard of store.dashboards(); track dashboard.id) {\n <ax-button-item\n [text]=\"dashboard.title\"\n [selected]=\"dashboard.id === store.currentDashboard()?.id\"\n (onClick)=\"store.handleConfigChange(dashboard)\"\n >\n </ax-button-item>\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-screen ax-bg-gray-50 ax-p-4\">\n <!-- Icon -->\n <svg\n class=\"ax-w-16 ax-h-16 ax-text-gray-400 ax-mb-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n ></path>\n </svg>\n\n <!-- Message -->\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">No Dashboards Found</h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n It looks like you don't have any dashboards yet. Create one to get started!\n </p>\n </div>\n }\n </ax-button-item-list>\n </ax-dropdown-button>\n </axp-layout-actions-primary>\n <axp-layout-actions-secondary>\n <ax-button-item\n [disabled]=\"store.dashboards().length<=1\"\n [text]=\"(t('dashboard.delete-current-dashboard', { scope: rootConfig.config.i18n }) | async)!\"\n (onClick)=\"store.removeDashboard(store.currentDashboard()?.id!)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-trash\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </axp-layout-actions-secondary>\n </axp-layout-actions>\n </axp-layout-page-header>\n\n <axp-layout-page-content class=\"ax-relative\">\n <ax-grid-layout-container\n [style.background]=\"getGridBackground()\"\n #grid\n [options]=\"store.dashboardsOption()\"\n (onChange)=\"store.onGridChange($event)\"\n >\n @for(widget of store.currentDashboard()?.widget ; track widget.config.id) {\n <ax-grid-layout-widget [options]=\"widget.config\">\n <!-- <div class=\"ax-absolute ax-top-0 ax-size-3 ax-handler ax-bg-blue-500 ax-z-[999]\"></div> -->\n <axc-dashboard-widget-wrapper\n [hasOptions]=\"widget.node?.options?.['hasOptions'] ?? true\"\n (onDelete)=\"store.removeWidget(store.currentDashboard()?.id!,widget.config.id!)\"\n >\n @if(widget.node){\n <axp-widgets-container [context]=\"context()\">\n <ng-container axp-widget-renderer [node]=\"widget.node\" [mode]=\"'edit'\"> </ng-container>\n </axp-widgets-container>\n }\n </axc-dashboard-widget-wrapper>\n </ax-grid-layout-widget>\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-bg-gray-50 ax-p-4\">\n <!-- Icon -->\n <svg\n class=\"ax-w-16 ax-h-16 ax-text-gray-400 ax-mb-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"\n ></path>\n </svg>\n\n <!-- Message -->\n <h2 class=\"ax-text-xl ax-font-semibold ax-text-gray-700 ax-mb-2\">No Widget Found</h2>\n <p class=\"ax-text-gray-500 ax-text-center ax-mb-6\">\n It looks like you don't have any Widget yet. Create one to get started!\n </p>\n </div>\n }\n </ax-grid-layout-container>\n <div class=\"ax-p-4 ax-absolute ax-bottom-0 ax-right-0\">\n <ax-button\n [color]=\"'primary'\"\n class=\"ax-xl ax-rounded-full\"\n [disabled]=\"!store.currentDashboard()?.widget?.length\"\n (onClick)=\"toggleEdit()\"\n >\n <ax-prefix> <ax-icon class=\"fa-solid fa-pen\"> </ax-icon></ax-prefix>\n </ax-button>\n </div>\n </axp-layout-page-content>\n</axp-layout-simple-page>\n"],"names":["i1","i3","i4"],"mappings":"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"}
@@ -493,7 +493,7 @@ function routesFactory() {
493
493
  children: [
494
494
  {
495
495
  path: 'home',
496
- loadComponent: () => import('./acorex-modules-common-index-B3u5feXf.mjs').then((c) => c.AXPDashboardHomeComponent),
496
+ loadComponent: () => import('./acorex-modules-common-index-D90SN6SH.mjs').then((c) => c.AXPDashboardHomeComponent),
497
497
  },
498
498
  ],
499
499
  },
@@ -3296,7 +3296,7 @@ class AXMDocumentManagerService {
3296
3296
  }
3297
3297
  }
3298
3298
  async showCreateFolderDialog(parentId) {
3299
- const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-Cp26sAs9.mjs'))
3299
+ const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-D66KoQNb.mjs'))
3300
3300
  .AXMCreateFolderDialog;
3301
3301
  const popup = await this.popupService.open(comp, {
3302
3302
  title: 't("actions.create-folder")',
@@ -3307,7 +3307,7 @@ class AXMDocumentManagerService {
3307
3307
  return popup.data?.folder;
3308
3308
  }
3309
3309
  async moveTo(options) {
3310
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-HSZ-b7-z.mjs')).AXMDocumentDriveChooseComponent;
3310
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-WoZfDyLK.mjs')).AXMDocumentDriveChooseComponent;
3311
3311
  //
3312
3312
  const popup = await this.popupService.open(comp, {
3313
3313
  title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,
@@ -3338,7 +3338,7 @@ class AXMDocumentManagerService {
3338
3338
  }
3339
3339
  }
3340
3340
  async copyTo(options) {
3341
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-HSZ-b7-z.mjs')).AXMDocumentDriveChooseComponent;
3341
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-WoZfDyLK.mjs')).AXMDocumentDriveChooseComponent;
3342
3342
  //
3343
3343
  const popup = await this.popupService.open(comp, {
3344
3344
  title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,
@@ -3409,7 +3409,7 @@ class AXMDocumentManagerService {
3409
3409
  console.log(file);
3410
3410
  }
3411
3411
  async rename(node) {
3412
- const comp = (await import('./acorex-modules-document-management-rename-node-dialog.component-D3Cg9_5d.mjs'))
3412
+ const comp = (await import('./acorex-modules-document-management-rename-node-dialog.component-Dae6RWb8.mjs'))
3413
3413
  .AXMRenameNodeDialog;
3414
3414
  const popup = await this.popupService.open(comp, {
3415
3415
  title: 't("actions.rename")',
@@ -3457,7 +3457,7 @@ class AXMDocumentManagerService {
3457
3457
  return [...(await this.getAllFolders()), ...(await this.getAllFiles())];
3458
3458
  }
3459
3459
  async showChooseFileDialog() {
3460
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-HSZ-b7-z.mjs')).AXMDocumentDriveChooseComponent;
3460
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-WoZfDyLK.mjs')).AXMDocumentDriveChooseComponent;
3461
3461
  await this.popupService.open(comp);
3462
3462
  }
3463
3463
  async downloadFile(node) {
@@ -3703,7 +3703,7 @@ const AXPDocumentExplorerViewModel = signalStore({ providedIn: 'root' }, withSta
3703
3703
  isMultiSelect: computed(() => store.selectionMode() === 'multiple'),
3704
3704
  selectedNode: computed(() => store.selectedNodes()[0] ?? null),
3705
3705
  isDetailPanelOpen: computed(() => store.detailPanel()),
3706
- })), withMethods((store, fileTypeService = inject(AXPFileTypeProviderService), driveService = inject(AXMDocumentManagerService), settingService = inject(AXPSettingService), translateService = inject(AXTranslationService)) => ({
3706
+ })), withMethods((store, fileTypeService = inject(AXPFileTypeProviderService), documentTypeService = inject(AXMDocumentTypeService), driveService = inject(AXMDocumentManagerService), settingService = inject(AXPSettingService), translateService = inject(AXTranslationService)) => ({
3707
3707
  async initialize(options) {
3708
3708
  // Load file types
3709
3709
  const fileTypes = await fileTypeService.items();
@@ -3979,23 +3979,34 @@ const AXPDocumentExplorerViewModel = signalStore({ providedIn: 'root' }, withSta
3979
3979
  patchState(store, { detailPanel: !store.detailPanel() });
3980
3980
  },
3981
3981
  //#region Menu Items
3982
- getFolderAddMenuItems() {
3982
+ async getFolderAddMenuItems() {
3983
+ const documentTypes = await documentTypeService.query();
3984
+ const items = documentTypes.items.map(item => ({
3985
+ name: item.name,
3986
+ title: item.title,
3987
+ })) ?? [];
3988
+ //
3983
3989
  const scope = RootConfig.config.i18n;
3984
3990
  return [
3985
3991
  {
3986
- name: 'new-folder',
3987
- title: `t("actions.create-folder",{scope:"${scope}"})`,
3992
+ title: await translateService.translateAsync('actions.create-folder', { scope }),
3988
3993
  icon: 'fa-light fa-folder-plus',
3989
3994
  break: true,
3995
+ command: {
3996
+ name: 'new-folder',
3997
+ options: {
3998
+ folderId: store.currentFolder()?.id,
3999
+ }
4000
+ }
3990
4001
  },
3991
4002
  {
3992
- name: 'upload-file',
3993
- title: `t("actions.upload-file",{scope:"${scope}"})`,
4003
+ title: await translateService.translateAsync('actions.upload-file', { scope }),
3994
4004
  icon: 'fa-light fa-file-arrow-up',
4005
+ items: items
3995
4006
  },
3996
4007
  ];
3997
4008
  },
3998
- getFolderActionMenuItems() {
4009
+ async getFolderActionMenuItems() {
3999
4010
  return [
4000
4011
  {
4001
4012
  name: 'refresh',
@@ -4010,7 +4021,12 @@ const AXPDocumentExplorerViewModel = signalStore({ providedIn: 'root' }, withSta
4010
4021
  icon: 'fa-light fa-trash',
4011
4022
  },
4012
4023
  ];
4013
- }
4024
+ },
4025
+ //#endregion
4026
+ //#region Context Menu Items
4027
+ async getContextMenuItems() {
4028
+ return [...await this.getFolderAddMenuItems(), ...await this.getFolderActionMenuItems()];
4029
+ },
4014
4030
  //#endregion
4015
4031
  })));
4016
4032
 
@@ -4028,12 +4044,12 @@ class AXMDocumentExplorerComponent {
4028
4044
  this.showContextMenu = input(true);
4029
4045
  this.view = signal(null);
4030
4046
  this.viewMap = {
4031
- list: async () => (await import('./acorex-modules-document-management-list-view.component-DjULM8Me.mjs')).AXMDocumentExplorerListViewComponent,
4032
- 'small-tiles': async () => (await import('./acorex-modules-document-management-small-tiles-view.component-CXPXrH4g.mjs')).AXMDocumentExplorerSmallTilesViewComponent,
4033
- 'large-tiles': async () => (await import('./acorex-modules-document-management-large-tiles-view.component-D9PFgzMQ.mjs')).AXMDocumentExplorerLargeTilesViewComponent,
4034
- details: async () => (await import('./acorex-modules-document-management-details-view.component-CZyOdjEl.mjs')).AXMDocumentExplorerDetailsViewComponent,
4035
- 'large-icons': async () => (await import('./acorex-modules-document-management-large-icons-view.component-C5pB5bc2.mjs')).AXMDocumentExplorerLargeIconsViewComponent,
4036
- 'small-icons': async () => (await import('./acorex-modules-document-management-small-icons-view.component-4M8c_1Dt.mjs')).AXMDocumentExplorerSmallIconsViewComponent,
4047
+ list: async () => (await import('./acorex-modules-document-management-list-view.component-B6J6Tokv.mjs')).AXMDocumentExplorerListViewComponent,
4048
+ 'small-tiles': async () => (await import('./acorex-modules-document-management-small-tiles-view.component-DDKdWg8I.mjs')).AXMDocumentExplorerSmallTilesViewComponent,
4049
+ 'large-tiles': async () => (await import('./acorex-modules-document-management-large-tiles-view.component-ByWrKvZe.mjs')).AXMDocumentExplorerLargeTilesViewComponent,
4050
+ details: async () => (await import('./acorex-modules-document-management-details-view.component-BHcu_gYH.mjs')).AXMDocumentExplorerDetailsViewComponent,
4051
+ 'large-icons': async () => (await import('./acorex-modules-document-management-large-icons-view.component-DvriE0YR.mjs')).AXMDocumentExplorerLargeIconsViewComponent,
4052
+ 'small-icons': async () => (await import('./acorex-modules-document-management-small-icons-view.component-TrYeB22e.mjs')).AXMDocumentExplorerSmallIconsViewComponent,
4037
4053
  };
4038
4054
  this.#effect = effect(() => {
4039
4055
  const navigatingFolderId = this.vm.loadingFolderId();
@@ -4203,12 +4219,14 @@ class AXMDocumentExplorerComponent {
4203
4219
  e.items.splice(1, 0, openWith);
4204
4220
  }
4205
4221
  }
4206
- handleContextMenuRootOnOpening(e) {
4207
- //TODO: check async translate method in acorex
4208
- e.items = [...this.vm.getFolderAddMenuItems(), ...this.vm.getFolderActionMenuItems()].map(m => ({
4222
+ async handleContextMenuRootOnOpening(e) {
4223
+ //TODO: check async translate method in acorex
4224
+ const items = [...await this.vm.getFolderAddMenuItems(), ...await this.vm.getFolderActionMenuItems()];
4225
+ const mappedItems = items.map(m => ({
4209
4226
  ...m,
4210
- text: `t("${m.name}")`,
4227
+ text: m.title,
4211
4228
  }));
4229
+ e.items.push(...mappedItems);
4212
4230
  }
4213
4231
  async handleContextMenuItemClick(e) {
4214
4232
  const node = e.item.data;
@@ -4323,7 +4341,7 @@ class AXMDocumentExplorerComponent {
4323
4341
  }
4324
4342
  }
4325
4343
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDocumentExplorerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4326
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMDocumentExplorerComponent, isStandalone: true, selector: "axm-document-explorer", inputs: { browseMode: { classPropertyName: "browseMode", publicName: "browseMode", isSignal: true, isRequired: false, transformFunction: null }, viewMode: { classPropertyName: "viewMode", publicName: "viewMode", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showContextMenu: { classPropertyName: "showContextMenu", publicName: "showContextMenu", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["itemsContextMenu"], descendants: true, isSignal: true }, { propertyName: "rootContextMenu", first: true, predicate: ["rootContextMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<!-- 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", styles: ["axm-document-explorer{display:flex;height:100%;width:100%;flex-direction:row;gap:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axm-document-explorer>.view-container{display:flex;flex:1 1 0%;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;flex-direction:column;gap:1rem}axm-document-explorer .animation-duration-2s{--fa-animation-duration: 2s}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i3$1.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }], encapsulation: i0.ViewEncapsulation.None }); }
4344
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMDocumentExplorerComponent, isStandalone: true, selector: "axm-document-explorer", inputs: { browseMode: { classPropertyName: "browseMode", publicName: "browseMode", isSignal: true, isRequired: false, transformFunction: null }, viewMode: { classPropertyName: "viewMode", publicName: "viewMode", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showContextMenu: { classPropertyName: "showContextMenu", publicName: "showContextMenu", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["itemsContextMenu"], descendants: true, isSignal: true }, { propertyName: "rootContextMenu", first: true, predicate: ["rootContextMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<!-- 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", styles: ["axm-document-explorer{display:flex;height:max-content;min-height:100%;width:100%;flex-direction:row;gap:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axm-document-explorer>.view-container{display:flex;flex:1 1 0%;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;flex-direction:column;gap:1rem}axm-document-explorer .animation-duration-2s{--fa-animation-duration: 2s}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i3$1.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }], encapsulation: i0.ViewEncapsulation.None }); }
4327
4345
  }
4328
4346
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDocumentExplorerComponent, decorators: [{
4329
4347
  type: Component,
@@ -4335,7 +4353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
4335
4353
  AXFormatModule,
4336
4354
  AXDateTimeModule,
4337
4355
  AXMenuModule,
4338
- ], template: "<!-- 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", styles: ["axm-document-explorer{display:flex;height:100%;width:100%;flex-direction:row;gap:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axm-document-explorer>.view-container{display:flex;flex:1 1 0%;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;flex-direction:column;gap:1rem}axm-document-explorer .animation-duration-2s{--fa-animation-duration: 2s}\n"] }]
4356
+ ], template: "<!-- 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", styles: ["axm-document-explorer{display:flex;height:max-content;min-height:100%;width:100%;flex-direction:row;gap:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axm-document-explorer>.view-container{display:flex;flex:1 1 0%;-webkit-user-select:none;-moz-user-select:-moz-none;user-select:none;flex-direction:column;gap:1rem}axm-document-explorer .animation-duration-2s{--fa-animation-duration: 2s}\n"] }]
4339
4357
  }] });
4340
4358
 
4341
4359
  class AXMChooseDocumentTypeComponent extends AXBasePageComponent {
@@ -4684,11 +4702,11 @@ function routesFacory() {
4684
4702
  children: [
4685
4703
  {
4686
4704
  path: '',
4687
- loadComponent: () => import('./acorex-modules-document-management-drive.component-CZR-optD.mjs').then((c) => c.AXMDocumentDriveComponent),
4705
+ loadComponent: () => import('./acorex-modules-document-management-drive.component-B3BCzdVv.mjs').then((c) => c.AXMDocumentDriveComponent),
4688
4706
  },
4689
4707
  {
4690
4708
  path: ':id',
4691
- loadComponent: () => import('./acorex-modules-document-management-drive.component-CZR-optD.mjs').then((c) => c.AXMDocumentDriveComponent),
4709
+ loadComponent: () => import('./acorex-modules-document-management-drive.component-B3BCzdVv.mjs').then((c) => c.AXMDocumentDriveComponent),
4692
4710
  },
4693
4711
  ],
4694
4712
  },
@@ -4828,4 +4846,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
4828
4846
  */
4829
4847
 
4830
4848
  export { AXPDocumentExplorerViewModel as A, AXMFolderService as B, AXMFolderServiceImpl as C, AXMEntityProvider as D, AXMMenuProvider as E, AXMSearchCommandProvider as F, AXMSettingProvider as G, RootConfig as R, AXMDocumentManagerService as a, AXMDocumentExplorerComponent as b, AXMDriveScope as c, AXMFolderPathBreadcrumbsComponent as d, AXMDocumentManagementModule as e, documentFactory as f, AXMDocumentManagementDocumentEntityModule as g, AXMDocumentService as h, AXMDocumentServiceImpl as i, documentTypeFactory as j, AXMDocumentManagementDocumentTypeEntityModule as k, AXMDocumentTypeService as l, AXMDocumentManagementDocumentTypeEntityServiceImpl as m, documentTypeMetaDefinitionfactory as n, AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule as o, AXMDocumentManagementDocumentTypeMetaDefinitionEntityService as p, AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl as q, documentTypeMetaValueFactory as r, AXMDocumentManagementDocumentTypeMetaValueEntityModule as s, AXMDocumentManagementDocumentTypeMetaValueEntityService as t, AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl as u, documentTypeStatusDefinitionFactory as v, AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule as w, AXMDocumentManagementDocumentTypeStatusDefinitionEntityService as x, AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl as y, folderFactory as z };
4831
- //# sourceMappingURL=acorex-modules-document-management-acorex-modules-document-management-CpoLrul7.mjs.map
4849
+ //# sourceMappingURL=acorex-modules-document-management-acorex-modules-document-management-_BOVaDOq.mjs.map