@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.
- package/document-management/lib/features/document-explorer/document-explorer.component.d.ts +4 -3
- package/document-management/lib/features/document-explorer/document-explorer.viewmodel.d.ts +4 -3
- package/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.d.ts +3 -2
- package/document-management/lib/features/document-explorer/views/details/details-view.component.d.ts +3 -2
- package/document-management/lib/features/document-explorer/views/large-icons/large-icons-view.component.d.ts +3 -2
- package/document-management/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.d.ts +3 -2
- package/document-management/lib/features/document-explorer/views/list/list-view.component.d.ts +3 -2
- package/document-management/lib/features/document-explorer/views/small-icons/small-icons-view.component.d.ts +3 -2
- package/document-management/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.d.ts +3 -2
- package/document-management/lib/features/drive/drive.component.d.ts +54 -49
- package/document-management/lib/features/drive-choose/drive-choose.component.d.ts +3 -2
- package/document-management/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.d.ts +3 -2
- package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +3 -2
- package/fesm2022/{acorex-modules-common-index-B3u5feXf.mjs → acorex-modules-common-index-D90SN6SH.mjs} +2 -2
- package/fesm2022/{acorex-modules-common-index-B3u5feXf.mjs.map → acorex-modules-common-index-D90SN6SH.mjs.map} +1 -1
- package/fesm2022/acorex-modules-common.mjs +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-CpoLrul7.mjs → acorex-modules-document-management-acorex-modules-document-management-_BOVaDOq.mjs} +46 -28
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-_BOVaDOq.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-Cp26sAs9.mjs → acorex-modules-document-management-create-folder-dialog.component-D66KoQNb.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-document-management-details-view.component-CZyOdjEl.mjs → acorex-modules-document-management-details-view.component-BHcu_gYH.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-HSZ-b7-z.mjs → acorex-modules-document-management-drive-choose.component-WoZfDyLK.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-document-management-drive.component-CZR-optD.mjs → acorex-modules-document-management-drive.component-B3BCzdVv.mjs} +93 -34
- package/fesm2022/acorex-modules-document-management-drive.component-B3BCzdVv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C5pB5bc2.mjs → acorex-modules-document-management-large-icons-view.component-DvriE0YR.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D9PFgzMQ.mjs → acorex-modules-document-management-large-tiles-view.component-ByWrKvZe.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-document-management-list-view.component-DjULM8Me.mjs → acorex-modules-document-management-list-view.component-B6J6Tokv.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-DjULM8Me.mjs.map → acorex-modules-document-management-list-view.component-B6J6Tokv.mjs.map} +1 -1
- 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
- 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
- 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
- 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
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CXPXrH4g.mjs → acorex-modules-document-management-small-tiles-view.component-DDKdWg8I.mjs} +2 -2
- 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
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-D1tWlJqL.mjs → acorex-modules-organization-management-org-chart-configuration.page-JKQwYEPq.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-bzbCuF-w.mjs → acorex-modules-organization-management-org-chart.page-C2ZtUVKI.mjs} +2 -2
- 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
- package/fesm2022/acorex-modules-organization-management.mjs +2 -2
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/package.json +1 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-CpoLrul7.mjs.map +0 -1
- 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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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
|
-
|
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
|
-
|
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-
|
4032
|
-
'small-tiles': async () => (await import('./acorex-modules-document-management-small-tiles-view.component-
|
4033
|
-
'large-tiles': async () => (await import('./acorex-modules-document-management-large-tiles-view.component-
|
4034
|
-
details: async () => (await import('./acorex-modules-document-management-details-view.component-
|
4035
|
-
'large-icons': async () => (await import('./acorex-modules-document-management-large-icons-view.component-
|
4036
|
-
'small-icons': async () => (await import('./acorex-modules-document-management-small-icons-view.component-
|
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
|
-
|
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:
|
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-
|
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-
|
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-
|
4849
|
+
//# sourceMappingURL=acorex-modules-document-management-acorex-modules-document-management-_BOVaDOq.mjs.map
|