@acorex-platform/module-report-management-client 0.0.37 → 0.0.46

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 (48) hide show
  1. package/fesm2022/acorex-platform-module-report-management-client-acorex-platform-module-report-management-client-D5dCG62j.mjs +1545 -0
  2. package/fesm2022/acorex-platform-module-report-management-client-acorex-platform-module-report-management-client-D5dCG62j.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-query-snapshot-policy.mjs +14 -0
  4. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-query-snapshot-policy.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-query-snapshot.mjs +14 -0
  6. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-query-snapshot.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-report-category.mjs +13 -0
  8. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-report-category.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-report-generation-request.mjs +14 -0
  10. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-report-generation-request.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-report.mjs +14 -0
  12. package/fesm2022/acorex-platform-module-report-management-client-contracts-entities-report.mjs.map +1 -1
  13. package/fesm2022/{acorex-platform-module-report-management-client-contracts-entity-catalog-acorex-platform-module-report-management-client-contracts-entity-catalog-CgrfJQLl.mjs → acorex-platform-module-report-management-client-contracts-entity-catalog-acorex-platform-module-report-management-client-contracts-entity-catalog-CboBAIna.mjs} +6 -6
  14. package/fesm2022/{acorex-platform-module-report-management-client-contracts-entity-catalog-acorex-platform-module-report-management-client-contracts-entity-catalog-CgrfJQLl.mjs.map → acorex-platform-module-report-management-client-contracts-entity-catalog-acorex-platform-module-report-management-client-contracts-entity-catalog-CboBAIna.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-module-report-management-client-contracts-entity-catalog-query-snapshot-policy.entity-D50GUBH6.mjs → acorex-platform-module-report-management-client-contracts-entity-catalog-query-snapshot-policy.entity-BUY06Dz0.mjs} +16 -2
  16. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-query-snapshot-policy.entity-BUY06Dz0.mjs.map +1 -0
  17. package/fesm2022/{acorex-platform-module-report-management-client-contracts-entity-catalog-query-snapshot.entity-DuR9ZuN2.mjs → acorex-platform-module-report-management-client-contracts-entity-catalog-query-snapshot.entity-CnnX3xZt.mjs} +16 -2
  18. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-query-snapshot.entity-CnnX3xZt.mjs.map +1 -0
  19. package/fesm2022/{acorex-platform-module-report-management-client-contracts-entity-catalog-report-category.entity-Dc4uvjsG.mjs → acorex-platform-module-report-management-client-contracts-entity-catalog-report-category.entity-BQFdNXAm.mjs} +15 -2
  20. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-report-category.entity-BQFdNXAm.mjs.map +1 -0
  21. package/fesm2022/{acorex-platform-module-report-management-client-contracts-entity-catalog-report-generation-request.entity-mJUQuk89.mjs → acorex-platform-module-report-management-client-contracts-entity-catalog-report-generation-request.entity-D381cWLE.mjs} +16 -2
  22. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-report-generation-request.entity-D381cWLE.mjs.map +1 -0
  23. package/fesm2022/{acorex-platform-module-report-management-client-contracts-entity-catalog-report.entity-CMDFRHeK.mjs → acorex-platform-module-report-management-client-contracts-entity-catalog-report.entity-Bwui0M8X.mjs} +16 -2
  24. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-report.entity-Bwui0M8X.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog.mjs +1 -1
  26. package/fesm2022/acorex-platform-module-report-management-client-contracts.mjs +21 -1
  27. package/fesm2022/acorex-platform-module-report-management-client-contracts.mjs.map +1 -1
  28. package/fesm2022/{acorex-platform-module-report-management-client-entity-reports-page-component.provider-B0dU2K_E.mjs → acorex-platform-module-report-management-client-entity-reports-page-component.provider-0eSOzb0y.mjs} +3 -3
  29. package/fesm2022/{acorex-platform-module-report-management-client-entity-reports-page-component.provider-B0dU2K_E.mjs.map → acorex-platform-module-report-management-client-entity-reports-page-component.provider-0eSOzb0y.mjs.map} +1 -1
  30. package/fesm2022/{acorex-platform-module-report-management-client-entity-reports-page.component-D4SAGGn-.mjs → acorex-platform-module-report-management-client-entity-reports-page.component-CHBZbbaH.mjs} +4 -4
  31. package/fesm2022/{acorex-platform-module-report-management-client-entity-reports-page.component-D4SAGGn-.mjs.map → acorex-platform-module-report-management-client-entity-reports-page.component-CHBZbbaH.mjs.map} +1 -1
  32. package/fesm2022/acorex-platform-module-report-management-client-report-layout-switcher.util-BGhHRYfe.mjs +2266 -0
  33. package/fesm2022/acorex-platform-module-report-management-client-report-layout-switcher.util-BGhHRYfe.mjs.map +1 -0
  34. package/fesm2022/{acorex-platform-module-report-management-client-report-popup-viewer.component-Dg3IxjGy.mjs → acorex-platform-module-report-management-client-report-popup-viewer.component-BJq1BeUz.mjs} +5 -4
  35. package/fesm2022/{acorex-platform-module-report-management-client-report-popup-viewer.component-Dg3IxjGy.mjs.map → acorex-platform-module-report-management-client-report-popup-viewer.component-BJq1BeUz.mjs.map} +1 -1
  36. package/fesm2022/acorex-platform-module-report-management-client-report-viewer-page.component-YUdzA4B9.mjs +934 -0
  37. package/fesm2022/acorex-platform-module-report-management-client-report-viewer-page.component-YUdzA4B9.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-module-report-management-client.mjs +1 -1
  39. package/package.json +1 -1
  40. package/types/acorex-platform-module-report-management-client-contracts.d.ts +8 -2
  41. package/types/acorex-platform-module-report-management-client.d.ts +16 -831
  42. package/fesm2022/acorex-platform-module-report-management-client-acorex-platform-module-report-management-client-DUdUNlnp.mjs +0 -4864
  43. package/fesm2022/acorex-platform-module-report-management-client-acorex-platform-module-report-management-client-DUdUNlnp.mjs.map +0 -1
  44. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-query-snapshot-policy.entity-D50GUBH6.mjs.map +0 -1
  45. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-query-snapshot.entity-DuR9ZuN2.mjs.map +0 -1
  46. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-report-category.entity-Dc4uvjsG.mjs.map +0 -1
  47. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-report-generation-request.entity-mJUQuk89.mjs.map +0 -1
  48. package/fesm2022/acorex-platform-module-report-management-client-contracts-entity-catalog-report.entity-CMDFRHeK.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-report-management-client-acorex-platform-module-report-management-client-D5dCG62j.mjs","sources":["../../../../libs/modules/report-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/report-management/client/src/lib/menu.provider.ts","../../../../libs/modules/report-management/client/src/lib/feature-definition.provider.ts","../../../../libs/modules/report-management/client/src/lib/settings.provider.ts","../../../../libs/modules/report-management/client/src/lib/reports/report-parameter.util.ts","../../../../libs/modules/report-management/client/src/lib/features/entity-reports/entity-reports.util.ts","../../../../libs/modules/report-management/client/src/lib/features/entity-reports/entity-reports.plugin.ts","../../../../libs/modules/report-management/client/src/lib/commands/open-report-viewer.command.ts","../../../../libs/modules/report-management/client/src/lib/features/background-operation/report-generation-background-operation.handler.ts","../../../../libs/modules/report-management/client/src/lib/features/report-generation/report-generation-inbox-toast.bridge.service.ts","../../../../libs/modules/report-management/client/src/lib/features/report-generation/report-generation-inbox-toast.providers.ts","../../../../libs/modules/report-management/client/src/lib/report-management.module.ts","../../../../libs/modules/report-management/client/src/lib/reports/report-viewer-user-settings.types.ts","../../../../libs/modules/report-management/client/src/lib/reports/report-viewer.service.ts","../../../../libs/modules/report-management/client/src/lib/reports/report-mapper.ts","../../../../libs/modules/report-management/client/src/lib/commands/open-report-in-popup.command.ts","../../../../libs/modules/report-management/client/src/acorex-platform-module-report-management-client.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport {\n AXPPermissionDefinitionProvider,\n AXPPermissionDefinitionProviderContext,\n} from '@acorex-platform/framework-client/auth';\nimport {\n AXPCommonPermissionGroupKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport {\n AXPInsightsReportingPermissionKeys\n} from '@acorex-platform/module-report-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ----- Permission Definition Provider -----\n\n/**\n * Registers report capabilities into the shared Insights & Reporting group.\n */\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPInsightsReportingPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:insights-reporting.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.InsightsReporting.Root, `${G}.insights-reporting.title`, `${G}.insights-reporting.description`, { order: 100 });\n\n context\n .addGroup(\n groups.InsightsReporting.Reports,\n `${G}.insights-reporting-reports.title`,\n `${G}.insights-reporting-reports.description`,\n { parent: groups.InsightsReporting.Root, order: 10 },\n )\n .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)\n .endPermission()\n .addPermission(keys.MaintainReports, `${P}.maintain-reports.title`, `${P}.maintain-reports.description`)\n .endPermission()\n .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport {\n AXPInsightsReportingPermissionKeys,\n AXPReportManagementMenuKeys,\n RootConfig,\n} from '@acorex-platform/module-report-management-client/contracts';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n\n context.addItems([\n {\n name: AXPReportManagementMenuKeys.Reports,\n text: RootConfig.entities.report.titlePlural,\n path: this.entityService.withEntity(module.name, RootConfig.entities.report.name).createPath(),\n icon: RootConfig.entities.report.icon,\n priority: 8300,\n policy: {\n features: [module.name],\n permissions: [AXPInsightsReportingPermissionKeys.MaintainReports],\n },\n },\n ]);\n }\n}\n","//#region ---- Imports ----\n\nimport {\n AXPFeatureDefinitionProvider,\n AXPFeatureDefinitionProviderContext,\n} from '@acorex-platform/framework-client/core';\nimport { AXPReportManagementFeatureKeys } from '@acorex-platform/module-report-management-client/contracts';\n\n//#endregion\n\n//#region ---- Feature Definition Provider ----\n\n/**\n * Report Management Feature Definition Provider.\n * Provides feature definitions for the Report Management module.\n */\nexport class AXPReportManagementFeatureDefinitionProvider implements AXPFeatureDefinitionProvider {\n async provide(context: AXPFeatureDefinitionProviderContext): Promise<void> {\n // Report Builder feature\n context.addFeature(AXPReportManagementFeatureKeys.ReportBuilder, {\n title: '@report-management:features.report-builder.title',\n description: '@report-management:features.report-builder.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n // Saved Reports feature\n context.addFeature(AXPReportManagementFeatureKeys.SavedReports, {\n title: '@report-management:features.saved-reports.title',\n description: '@report-management:features.saved-reports.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n // Scheduled Reports feature\n context.addFeature(AXPReportManagementFeatureKeys.ScheduledReports, {\n title: '@report-management:features.scheduled-reports.title',\n description: '@report-management:features.scheduled-reports.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n // Background Reports feature\n context.addFeature(AXPReportManagementFeatureKeys.BackgroundReports, {\n title: '@report-management:features.background-reports.title',\n description: '@report-management:features.background-reports.description',\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n\n//#endregion\n\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPReportManagementSettings,\n AXP_REPORT_MANAGEMENT_GENERATION_SETTING_DEFAULTS,\n} from '@acorex-platform/module-report-management-client/contracts';\n\n//#region ----- Report management settings -----\n\nconst DEDUPE_POLICY_ITEMS = [\n {\n value: 'none',\n text: '@report-management:settings.generation.items.dedupe-policy.options.none',\n },\n {\n value: 'in-flight',\n text: '@report-management:settings.generation.items.dedupe-policy.options.in-flight',\n },\n {\n value: 'in-flight-or-cooldown',\n text: '@report-management:settings.generation.items.dedupe-policy.options.in-flight-or-cooldown',\n },\n];\n\nexport class AXMReportManagementSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n const cooldownPolicy = `{{ context.eval('${AXPReportManagementSettings.GenerationDedupePolicy}') === 'in-flight-or-cooldown' }}`;\n\n context\n .addGroup(\n 'report-management',\n '@report-management:settings.group.title',\n '@report-management:settings.group.description',\n 'fa-light fa-chart-line',\n undefined,\n 840,\n )\n .addSection(\n 'generation',\n '@report-management:settings.generation.title',\n '@report-management:settings.generation.description',\n )\n .addSetting({\n key: AXPReportManagementSettings.GenerationDedupePolicy,\n title: '@report-management:settings.generation.items.dedupe-policy.title',\n description: '@report-management:settings.generation.items.dedupe-policy.description',\n scope: 'P',\n overridableAt: [],\n isInherited: false,\n defaultValue: AXP_REPORT_MANAGEMENT_GENERATION_SETTING_DEFAULTS[\n AXPReportManagementSettings.GenerationDedupePolicy\n ],\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: DEDUPE_POLICY_ITEMS,\n },\n },\n validationRules: [{ rule: 'required' }],\n })\n .addSetting({\n key: AXPReportManagementSettings.GenerationDedupeCooldownMinutes,\n title: '@report-management:settings.generation.items.dedupe-cooldown-minutes.title',\n description: '@report-management:settings.generation.items.dedupe-cooldown-minutes.description',\n scope: 'P',\n overridableAt: [],\n isInherited: false,\n defaultValue: AXP_REPORT_MANAGEMENT_GENERATION_SETTING_DEFAULTS[\n AXPReportManagementSettings.GenerationDedupeCooldownMinutes\n ],\n widget: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: { minValue: 0, maxValue: 1440, visibility: cooldownPolicy },\n },\n validationRules: [{ rule: 'required' }],\n })\n .addSetting({\n key: AXPReportManagementSettings.GenerationMaxConcurrentPerUser,\n title: '@report-management:settings.generation.items.max-concurrent-per-user.title',\n description: '@report-management:settings.generation.items.max-concurrent-per-user.description',\n scope: 'P',\n overridableAt: [],\n isInherited: false,\n defaultValue: AXP_REPORT_MANAGEMENT_GENERATION_SETTING_DEFAULTS[\n AXPReportManagementSettings.GenerationMaxConcurrentPerUser\n ],\n widget: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: { minValue: 0, maxValue: 50 },\n },\n validationRules: [{ rule: 'required' }],\n })\n .endSection()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ----- Types -----\n\nexport type AXPReportDateRangeValue = 'today' | { from: string; to: string };\n\nexport type AXPReportParameterValue = string | number | boolean | AXPReportDateRangeValue | Record<string, unknown>;\n\n//#endregion\n\n//#region ----- Date helpers -----\n\n/** Local calendar date as `yyyy-MM-dd` (session \"today\" for report ranges). */\nexport function formatReportDateOnly(date: Date = new Date()): string {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n return `${year}-${month}-${day}`;\n}\n\nexport function resolveTodayDateRange(date: Date = new Date()): { from: string; to: string } {\n const day = formatReportDateOnly(date);\n return { from: day, to: day };\n}\n\nexport function isReportDateRangeObject(value: unknown): value is { from?: unknown; to?: unknown; start?: unknown; end?: unknown } {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return false;\n }\n const raw = value as Record<string, unknown>;\n const from = raw['from'] ?? raw['start'];\n const to = raw['to'] ?? raw['end'];\n return typeof from === 'string' && typeof to === 'string' && !!from.trim() && !!to.trim();\n}\n\nexport function toReportDateRangeFilterValue(\n range: { from: string; to: string },\n): { operation: { type: 'between' }; value: { from: string; to: string } } {\n return {\n operation: { type: 'between' },\n value: { from: range.from, to: range.to },\n };\n}\n\n/**\n * Converts report default / binding values into filter-form context shape.\n * - `'today'` and `{ from, to }` → `{ operation: between, value }`\n * - existing filter objects are left unchanged\n */\nexport function resolveReportFilterDefaultValue(value: unknown, now: Date = new Date()): unknown {\n if (value === 'today') {\n return toReportDateRangeFilterValue(resolveTodayDateRange(now));\n }\n if (isReportDateRangeObject(value)) {\n return toReportDateRangeFilterValue({\n from: String(value.from ?? value.start),\n to: String(value.to ?? value.end),\n });\n }\n return value;\n}\n\ntype ReportParameterDefaultSource = {\n path: string;\n widget?: {\n defaultValue?: unknown;\n options?: Record<string, unknown>;\n };\n};\n\ntype ReportParameterGroupDefaultSource = {\n parameters?: ReportParameterDefaultSource[];\n};\n\nexport function collectReportParameterDefaults(\n parameterGroups: ReportParameterGroupDefaultSource[] | undefined,\n now: Date = new Date(),\n): Record<string, unknown> {\n const defaults: Record<string, unknown> = {};\n for (const group of parameterGroups ?? []) {\n for (const param of group.parameters ?? []) {\n const rawDefault = param.widget?.defaultValue ?? param.widget?.options?.['defaultValue'];\n if (rawDefault === undefined) {\n continue;\n }\n defaults[param.path] = resolveReportFilterDefaultValue(rawDefault, now);\n }\n }\n return defaults;\n}\n\n//#endregion\n\n//#region ----- Parameter resolution -----\n\n/**\n * Resolves special parameter tokens after expression evaluation.\n * - `dateRange: 'today'` → `{ from, to }` for the local calendar day\n */\nexport function resolveReportParameterValues(\n parameters: Record<string, unknown> | undefined,\n now: Date = new Date(),\n): Record<string, unknown> {\n if (!parameters) {\n return {};\n }\n\n const resolved: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(parameters)) {\n if (value === 'today') {\n resolved[key] = resolveTodayDateRange(now);\n continue;\n }\n resolved[key] = value;\n }\n return resolved;\n}\n\n/**\n * Maps entity-binding parameter declarations into OpenInPopup command parameters.\n * Field paths become `context.eval` expressions; `today` and `{from,to}` stay literal.\n */\nexport function mapEntityBindingParameters(\n parameters: Record<string, AXPReportParameterValue> | undefined,\n): Record<string, unknown> | undefined {\n if (!parameters) {\n return undefined;\n }\n\n return Object.fromEntries(\n Object.entries(parameters).map(([key, value]) => [key, toBindingParameterExpression(value)]),\n );\n}\n\nfunction toBindingParameterExpression(value: AXPReportParameterValue): unknown {\n if (value === 'today') {\n return 'today';\n }\n\n if (isReportDateRangeObject(value)) {\n return {\n from: String(value.from ?? value.start),\n to: String(value.to ?? value.end),\n };\n }\n\n if (typeof value !== 'string') {\n return value;\n }\n\n const trimmed = value.trim();\n if (!trimmed || trimmed.includes('{{') || trimmed.includes('context.eval')) {\n return value;\n }\n\n return `{{ context.eval('${trimmed}') }}`;\n}\n\n//#endregion\n\n//#region ----- Viewer query params -----\n\n/**\n * Flattens popup/filter parameters into report-viewer URL query params\n * (`field.operation.type` + `field.value` / nested `from`/`to`).\n */\nexport function flattenReportParametersToQueryParams(\n parameters: Record<string, unknown>,\n): Record<string, string> {\n const result: Record<string, string> = {};\n\n for (const [field, rawValue] of Object.entries(parameters)) {\n if (rawValue === null || rawValue === undefined || rawValue === '') {\n continue;\n }\n\n if (isReportDateRangeObject(rawValue)) {\n const from = String(rawValue.from ?? rawValue.start);\n const to = String(rawValue.to ?? rawValue.end);\n result[`${field}.operation.type`] = 'between';\n result[`${field}.value.from`] = from;\n result[`${field}.value.to`] = to;\n continue;\n }\n\n if (typeof rawValue === 'object' && !Array.isArray(rawValue) && 'operation' in rawValue) {\n const filterObj = rawValue as { operation?: { type?: string }; value?: unknown };\n if (filterObj.operation?.type) {\n result[`${field}.operation.type`] = String(filterObj.operation.type);\n }\n if (isReportDateRangeObject(filterObj.value)) {\n result[`${field}.value.from`] = String(filterObj.value.from ?? filterObj.value.start);\n result[`${field}.value.to`] = String(filterObj.value.to ?? filterObj.value.end);\n } else if (filterObj.value !== undefined && filterObj.value !== null && filterObj.value !== '') {\n result[`${field}.value`] = Array.isArray(filterObj.value)\n ? filterObj.value.map(String).join(',')\n : String(filterObj.value);\n }\n continue;\n }\n\n result[`${field}.operation.type`] = Array.isArray(rawValue) ? 'in' : 'equal';\n result[`${field}.value`] = Array.isArray(rawValue) ? rawValue.map(String).join(',') : String(rawValue);\n }\n\n return result;\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport type {\n AXPReportDefinition,\n AXPReportEntityBinding,\n AXPReportEntityDisplay,\n} from '@acorex-platform/module-report-management-client/contracts';\nimport type { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport { mapEntityBindingParameters } from '../../reports/report-parameter.util';\n\n//#endregion\n\n//#region ----- Types -----\n\nexport interface AXPEntityBoundReport {\n report: AXPReportDefinition;\n binding: AXPReportEntityBinding;\n}\n\n//#endregion\n\n//#region ----- Constants -----\n\nexport const OPEN_REPORT_IN_POPUP_COMMAND = 'ReportManagement.Report:OpenInPopup';\nexport const ENTITY_REPORTS_PAGE_COMPONENT_KEY = 'entity-reports-page';\n\n//#endregion\n\n//#region ----- Display helpers -----\n\nexport function normalizeReportEntityDisplays(\n display: AXPReportEntityBinding['display'],\n): Set<AXPReportEntityDisplay> {\n if (!display) {\n return new Set<AXPReportEntityDisplay>(['page']);\n }\n const list = Array.isArray(display) ? display : [display];\n return new Set(list);\n}\n\nexport function bindingShowsOnPage(binding: AXPReportEntityBinding): boolean {\n const displays = normalizeReportEntityDisplays(binding.display);\n // Default / empty → page. Explicit lists without `page` hide from the Reports page.\n return displays.has('page') || displays.size === 0;\n}\n\nexport function resolveBindingTitle(\n report: AXPReportDefinition,\n binding: AXPReportEntityBinding,\n): AXPMultiLanguageString {\n if (typeof binding.title === 'string' && binding.title.trim()) {\n return binding.title.trim();\n }\n return report.title;\n}\n\nexport function resolveBindingDescription(\n report: AXPReportDefinition,\n binding: AXPReportEntityBinding,\n): AXPMultiLanguageString | undefined {\n if (typeof binding.description === 'string' && binding.description.trim()) {\n return binding.description.trim();\n }\n if (typeof report.description === 'string') {\n const trimmed = report.description.trim();\n return trimmed || undefined;\n }\n return report.description;\n}\n\nexport function buildOpenInPopupCommandOptions(\n report: AXPReportDefinition,\n binding: AXPReportEntityBinding,\n): Record<string, unknown> {\n return {\n reportId: report.id,\n layoutId: binding.layoutId,\n title: resolveBindingTitle(report, binding),\n parameters: mapEntityBindingParameters(binding.parameters),\n };\n}\n\nexport function extractEntityBindings(\n report: AXPReportDefinition,\n entityType: string,\n): AXPReportEntityBinding[] {\n const bindings = report.entities ?? [];\n return bindings\n .filter((binding) => binding?.entity === entityType)\n .sort((a, b) => (a.order ?? 0) - (b.order ?? 0));\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXPEntityActionPlugin,\n resolveEntityPluginDetailPageOrder,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { Injector } from '@angular/core';\nimport { ENTITY_REPORTS_PAGE_COMPONENT_KEY } from './entity-reports.util';\n\n//#endregion\n\n//#region ----- Types -----\n\nexport type EntityReportsPluginOptions = {\n /** Title for the Reports detail page. */\n title?: string;\n /** Icon for the Reports detail page. */\n icon?: string;\n};\n\n//#endregion\n\n//#region ----- Plugin factory -----\n\n/**\n * Entity `reports` plugin — contributes a Reports detail page for definitions\n * bound via `entities[]`. Reports open from that page (not entity Actions).\n *\n * Takes {@link Injector} for factory signature parity with other entity plugins.\n */\nexport function createEntityReportsPlugin(_injector: Injector): AXPEntityActionPlugin {\n return {\n name: 'reports',\n order: 55,\n apply: async (ctx, options?: EntityReportsPluginOptions) => {\n const opts = options ?? {};\n const entityType = `${ctx.entity.module}.${ctx.entity.name}`;\n const pageTitle = opts.title?.trim() || '@report-management:entity-reports.page.title';\n\n //#region ----- Reports detail page -----\n\n ctx.entity.pages ??= [];\n const pageExists = ctx.entity.pages.some(\n (p: { componentKey?: string }) => p.componentKey === ENTITY_REPORTS_PAGE_COMPONENT_KEY,\n );\n const pageOrder = resolveEntityPluginDetailPageOrder(\n { relatedEntities: ctx.entity.relatedEntities, pages: ctx.entity.pages },\n 'reports',\n {\n componentKey: ENTITY_REPORTS_PAGE_COMPONENT_KEY,\n skipPage: pageExists ? { componentKey: ENTITY_REPORTS_PAGE_COMPONENT_KEY } : undefined,\n },\n );\n const page = {\n componentKey: ENTITY_REPORTS_PAGE_COMPONENT_KEY,\n title: pageTitle,\n icon: opts.icon ?? 'fa-light fa-chart-mixed',\n layout: { order: pageOrder },\n options: { entityType },\n } as any;\n if (!pageExists) {\n ctx.entity.pages.push(page);\n } else {\n const pages = ctx.entity.pages as any[];\n const index = pages.findIndex((p) => p.componentKey === ENTITY_REPORTS_PAGE_COMPONENT_KEY);\n if (index >= 0) {\n pages[index] = { ...pages[index], ...page };\n }\n }\n\n //#endregion\n\n (ctx.entity as any).extensions ??= {};\n (ctx.entity as any).extensions.reports = {\n entityType,\n };\n },\n };\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPExpressionEvaluatorService } from '@acorex-platform/framework-client/core';\nimport { AXPTabNavigationService } from '@acorex-platform/framework-client/common';\nimport { AXPExpressionEvaluatorScope } from '@acorex-platform/framework-shared/core';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPInAppInboxConnectorService } from '@acorex-platform/module-communication-management-client';\nimport { buildReportGenerationNotificationCorrelationId } from '@acorex-platform/module-report-management-client/contracts';\nimport { get } from 'lodash-es';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-report-management-client/contracts';\n\n//#endregion\n\n//#region ----- Command Input -----\n\nexport interface AXPOpenReportViewerCommandInput {\n reportId?: string;\n runId?: string;\n data?: Record<string, unknown>;\n options?: Partial<AXPOpenReportViewerCommandInput>;\n}\n\n//#endregion\n\n//#region ----- Command -----\n\n/** Opens a report in the full-page report viewer. */\n@Injectable({ providedIn: 'root' })\nexport class AXPOpenReportViewerCommand\n implements AXPCommand<AXPOpenReportViewerCommandInput | Record<string, unknown>, void>\n{\n //#region ----- Services & Dependencies -----\n\n private readonly sessionService = inject(AXPSessionService);\n private readonly tabNavigation = inject(AXPTabNavigationService);\n private readonly expressionEvaluator = inject(AXPExpressionEvaluatorService);\n private readonly translate = inject(AXTranslationService);\n private readonly inboxConnector = inject(AXPInAppInboxConnectorService, { optional: true });\n\n //#endregion\n\n //#region ----- Command Implementation -----\n\n async execute(\n input: AXPOpenReportViewerCommandInput | Record<string, unknown>,\n ): AXPCommandExecuteResultPromise<void> {\n const rowData = this.resolveRowData(input);\n const options = await this.resolveOptions(input, rowData);\n\n if (!options.reportId) {\n return {\n success: false,\n message: {\n text: await this.translate.translateAsync(\n '@report-management:report-viewer.messages.error.invalid-popup-target',\n ),\n },\n };\n }\n\n const runId = typeof options.runId === 'string' ? options.runId.trim() : '';\n if (runId) {\n await this.dismissReportGenerationInboxNotification(runId);\n }\n\n const appName = this.sessionService.application?.name;\n if (!appName) {\n return {\n success: false,\n message: {\n text: await this.translate.translateAsync(\n '@report-management:report-viewer.messages.error.invalid-popup-target',\n ),\n },\n };\n }\n\n // Put reportId in the path (not queryParams): tabular navigation drops NavigationExtras.\n const path = runId\n ? `${appName}/${RootConfig.module.route}/viewer/${options.reportId}?runId=${encodeURIComponent(runId)}`\n : `${appName}/${RootConfig.module.route}/viewer/${options.reportId}`;\n await this.tabNavigation.navigate(path);\n\n return { success: true, kind: 'object', data: undefined };\n }\n\n //#endregion\n\n //#region ----- Helpers -----\n\n private async dismissReportGenerationInboxNotification(runId: string): Promise<void> {\n if (!this.inboxConnector) {\n return;\n }\n try {\n await this.inboxConnector.dismissByCorrelationId(\n buildReportGenerationNotificationCorrelationId(runId),\n );\n } catch {\n // Best-effort — navigation should still proceed.\n }\n }\n\n private resolveRowData(\n input: AXPOpenReportViewerCommandInput | Record<string, unknown>,\n ): Record<string, unknown> {\n const ctx = input as AXPOpenReportViewerCommandInput;\n if (ctx?.data && typeof ctx.data === 'object') {\n return ctx.data as Record<string, unknown>;\n }\n if (\n (input as Record<string, unknown>)['data'] &&\n typeof (input as Record<string, unknown>)['data'] === 'object'\n ) {\n return (input as Record<string, unknown>)['data'] as Record<string, unknown>;\n }\n return input as Record<string, unknown>;\n }\n\n private async resolveOptions(\n input: AXPOpenReportViewerCommandInput | Record<string, unknown>,\n rowData: Record<string, unknown>,\n ): Promise<AXPOpenReportViewerCommandInput> {\n const typedInput = input as AXPOpenReportViewerCommandInput;\n const rawOptions = {\n reportId: typedInput.reportId,\n runId: typedInput.runId,\n ...(typedInput.options ?? {}),\n };\n\n const scope: AXPExpressionEvaluatorScope = {\n context: {\n eval: (path: string) => get(rowData, path),\n },\n };\n\n return (await this.expressionEvaluator.evaluate(rawOptions, scope)) as AXPOpenReportViewerCommandInput;\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_BACKGROUND_OPERATION_HANDLERS,\n AXPBackgroundOperationHandler,\n type AXPBackgroundOperation,\n type AXPBackgroundOperationCta,\n} from '@acorex-platform/framework-client/common';\nimport { AXPExecuteCommand } from '@acorex-platform/framework-shared/core';\nimport { Injectable, Provider, inject } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { AXPOpenReportViewerCommand } from '../../commands/open-report-viewer.command';\nimport { AXPQueryService } from '@acorex-platform/framework-client/runtime';\nimport { runtimeQueryPayloadData } from '@acorex-platform/framework-shared/core';\nimport {\n AXMReportManagementQueryKeys,\n type AXMReportGenerationRequest,\n} from '@acorex-platform/module-report-management-client/contracts';\n\n//#endregion\n\n//#region ----- Handler -----\n\n@Injectable()\nexport class AXMReportGenerationBackgroundOperationHandler extends AXPBackgroundOperationHandler {\n readonly providerKey = 'report-management';\n\n private readonly openViewer = inject(AXPOpenReportViewerCommand);\n private readonly queryService = inject(AXPQueryService);\n\n async execute(command: AXPExecuteCommand, operation: AXPBackgroundOperation): Promise<void> {\n if (command.name !== 'click') {\n return;\n }\n\n const reportRequestId =\n get(operation.data, 'reportRequestId') ??\n get(operation.data, 'payload.reportRequestId') ??\n get(operation.data, 'command.payload.reportRequestId');\n if (typeof reportRequestId !== 'string' || !reportRequestId.trim()) {\n return;\n }\n\n const result = await this.queryService.fetch<{ id: string }, AXMReportGenerationRequest>(\n AXMReportManagementQueryKeys.ReportGeneration.Get,\n { id: reportRequestId },\n );\n const request = runtimeQueryPayloadData(result);\n if (!request?.reportId) {\n return;\n }\n\n if (request.status === 'completed') {\n await this.openViewer.execute({ reportId: request.reportId, runId: request.id });\n return;\n }\n\n await this.openViewer.execute({ reportId: request.reportId });\n }\n\n override resolveCta(operation: AXPBackgroundOperation): AXPBackgroundOperationCta | null {\n if (operation.status === 'failed' && operation.capabilities.retryable) {\n return {\n text: '@general:background-operation.actions.retry',\n icon: 'fa-light fa-arrow-rotate-right',\n color: 'primary',\n look: 'solid',\n command: { name: 'retry' },\n };\n }\n\n if (operation.status === 'completed' && operation.capabilities.clickable) {\n return {\n text: '@report-management:report-generation.notifications.actions.open-viewer',\n icon: 'fa-light fa-file-chart-column',\n color: 'primary',\n look: 'solid',\n command: { name: 'click' },\n };\n }\n\n return null;\n }\n}\n\n//#endregion\n\n//#region ----- Providers -----\n\nexport const AXM_REPORT_GENERATION_BACKGROUND_OPERATION_HANDLERS: Provider[] = [\n {\n provide: AXP_BACKGROUND_OPERATION_HANDLERS,\n useExisting: AXMReportGenerationBackgroundOperationHandler,\n multi: true,\n },\n AXMReportGenerationBackgroundOperationHandler,\n];\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXP_USER_NOTIFICATION_SERVICE } from '@acorex-platform/framework-client/common';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPInAppInboxConnectorService } from '@acorex-platform/module-communication-management-client';\nimport type { AXPInAppInboxItem } from '@acorex-platform/module-communication-management-client';\nimport { REPORT_GENERATION_NOTIFICATION_DEFINITION_KEY } from '@acorex-platform/module-report-management-client/contracts';\nimport { DestroyRef, effect, inject, Injectable, Injector } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged, map } from 'rxjs';\n\n//#endregion\n\n//#region ----- Constants -----\n\nconst TOASTED_KEYS_STORAGE = 'axp:report-generation-inbox-toast-keys';\n\n//#endregion\n\n//#region ----- Bridge -----\n\n/**\n * When a report-generation inbox row arrives (user was not watching inline),\n * mirrors it as a transient toast with an open action. Inbox persistence stays server-owned.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMReportGenerationInboxToastBridgeService {\n //#region ----- Dependencies -----\n\n private readonly inboxConnector = inject(AXPInAppInboxConnectorService, { optional: true });\n private readonly userNotificationService = inject(AXP_USER_NOTIFICATION_SERVICE);\n private readonly commandService = inject(AXPCommandService);\n private readonly translationService = inject(AXTranslationService);\n private readonly sessionService = inject(AXPSessionService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly injector = inject(Injector);\n\n //#endregion\n\n //#region ----- State -----\n\n private started = false;\n private inboxBaselined = false;\n private boundUserId: string | null = null;\n private readonly toastedKeys = new Set<string>();\n\n //#endregion\n\n //#region ----- Lifecycle -----\n\n start(): void {\n if (this.started || !this.inboxConnector) {\n return;\n }\n this.started = true;\n\n this.sessionService.isReadyForAppScopedApi$\n .pipe(\n map(() => this.sessionService.user?.id?.trim() || null),\n distinctUntilChanged(),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((userId) => {\n this.bindSessionUser(userId);\n });\n\n this.bindSessionUser(this.sessionService.user?.id?.trim() || null);\n\n effect(\n () => {\n const userId = this.sessionService.user?.id?.trim();\n const inboxLoading = this.inboxConnector?.loading() ?? false;\n const items = this.readReportGenerationItems();\n\n if (!this.sessionService.isReadyForAppScopedApi || !userId) {\n return;\n }\n\n if (!this.inboxBaselined) {\n for (const item of items) {\n this.markToasted(this.toastKey(item));\n }\n if (!inboxLoading) {\n this.inboxBaselined = true;\n }\n return;\n }\n\n for (const item of items) {\n const key = this.toastKey(item);\n if (this.toastedKeys.has(key)) {\n continue;\n }\n this.markToasted(key);\n void this.showToastForInboxItem(item);\n }\n },\n { injector: this.injector },\n );\n }\n\n //#endregion\n\n //#region ----- Toast -----\n\n private async showToastForInboxItem(item: AXPInAppInboxItem): Promise<void> {\n const action = item.actions?.[0];\n const actionTitle = action?.title\n ? await this.translationService.translateAsync(action.title)\n : await this.translationService.translateAsync(\n '@report-management:report-generation.notifications.actions.open-viewer',\n );\n\n const toastActions = action?.command?.name\n ? [\n {\n text: actionTitle,\n color: 'primary' as const,\n onClick: () => this.executeInboxAction(item, action),\n },\n ]\n : undefined;\n\n await this.userNotificationService.notify({\n correlationId: item.correlationId?.trim() || item.id,\n title: await this.resolveText(item.title),\n body: await this.resolveText(item.body),\n icon: item.iconClass ?? this.resolveIcon(item),\n delivery: {\n toast: {\n color: this.resolveToastColor(item),\n location: 'bottom-center',\n closeButton: true,\n timeOut: 8_000,\n timeOutProgress: true,\n showActions: !!toastActions?.length,\n },\n },\n toastActions,\n });\n }\n\n private async executeInboxAction(\n item: AXPInAppInboxItem,\n action: NonNullable<AXPInAppInboxItem['actions']>[number],\n ): Promise<void> {\n if (!action.command?.name) {\n return;\n }\n await this.commandService.execute(action.command.name, action.command.options ?? {});\n }\n\n //#endregion\n\n //#region ----- Helpers -----\n\n private readReportGenerationItems(): AXPInAppInboxItem[] {\n const userId = this.sessionService.user?.id?.trim();\n return (this.inboxConnector?.inboxList() ?? []).filter((item) => {\n if (item.definitionKey !== REPORT_GENERATION_NOTIFICATION_DEFINITION_KEY) {\n return false;\n }\n const recipientUserId = item.recipientUserId?.trim();\n return !recipientUserId || recipientUserId === userId;\n });\n }\n\n private toastKey(item: AXPInAppInboxItem): string {\n return item.correlationId?.trim() || item.id;\n }\n\n private bindSessionUser(userId: string | null): void {\n if (userId === this.boundUserId) {\n return;\n }\n this.boundUserId = userId;\n this.inboxBaselined = false;\n this.toastedKeys.clear();\n if (userId) {\n this.loadPersistedToastedKeys(userId);\n }\n }\n\n private markToasted(key: string): void {\n const normalized = key.trim();\n if (!normalized) {\n return;\n }\n this.toastedKeys.add(normalized);\n this.persistToastedKeys();\n }\n\n private toastedStorageKey(userId: string): string {\n return `${TOASTED_KEYS_STORAGE}:${userId}`;\n }\n\n private loadPersistedToastedKeys(userId: string): void {\n try {\n const raw = sessionStorage.getItem(this.toastedStorageKey(userId));\n if (!raw) {\n return;\n }\n const parsed = JSON.parse(raw) as unknown;\n if (!Array.isArray(parsed)) {\n return;\n }\n for (const entry of parsed) {\n if (typeof entry === 'string' && entry.trim()) {\n this.toastedKeys.add(entry.trim());\n }\n }\n } catch {\n // Ignore corrupt session storage.\n }\n }\n\n private persistToastedKeys(): void {\n const userId = this.boundUserId?.trim();\n if (!userId) {\n return;\n }\n try {\n sessionStorage.setItem(this.toastedStorageKey(userId), JSON.stringify([...this.toastedKeys]));\n } catch {\n // Ignore quota / privacy errors.\n }\n }\n\n private async resolveText(value: string): Promise<string> {\n const text = value?.trim();\n if (!text) {\n return '';\n }\n if (text.startsWith('@')) {\n return this.translationService.translateAsync(text);\n }\n return text;\n }\n\n private resolveToastColor(item: AXPInAppInboxItem): 'success' | 'danger' | 'warning' {\n switch (item.priority) {\n case 'Danger':\n return 'danger';\n case 'Warning':\n return 'warning';\n default:\n return 'success';\n }\n }\n\n private resolveIcon(item: AXPInAppInboxItem): string {\n if (item.priority === 'Danger') {\n return 'fa-light fa-circle-exclamation';\n }\n if (item.priority === 'Warning') {\n return 'fa-light fa-triangle-exclamation';\n }\n return 'fa-light fa-circle-check';\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { inject, type Provider } from '@angular/core';\nimport {\n AXP_APP_STARTUP_PRIORITY,\n provideAppStartUpTask,\n} from '@acorex-platform/framework-client/core';\nimport { AXPInAppInboxConnectorService } from '@acorex-platform/module-communication-management-client';\nimport { AXMReportGenerationInboxToastBridgeService } from './report-generation-inbox-toast.bridge.service';\n\n//#endregion\n\n//#region ----- Providers -----\n\nexport function provideReportGenerationInboxToastBridge(): Provider[] {\n return [\n provideAppStartUpTask(() => {\n const bridge = inject(AXMReportGenerationInboxToastBridgeService);\n const inbox = inject(AXPInAppInboxConnectorService, { optional: true });\n return {\n name: 'report-generation-inbox-toast-bridge',\n priority: AXP_APP_STARTUP_PRIORITY.realtimeHandlers,\n run: async () => {\n if (inbox) {\n await inbox.ensureReady();\n await inbox.refresh();\n }\n bridge.start();\n },\n };\n }),\n ];\n}\n\n//#endregion\n","import { AXP_FEATURE_DEFINITION_PROVIDER, provideLazyProvider } from '@acorex-platform/framework-client/core';\nimport { AXPDomainModule } from '@acorex-platform/framework-client/domain';\nimport { AXP_ENTITY_ACTION_PLUGIN, provideEntity } from '@acorex-platform/framework-client/layout/entity';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';\nimport { AXPRootLayoutComponent } from '@acorex-platform/framework-client/themes/default';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { Routes, ROUTES } from '@angular/router';\nimport { RootConfig } from '@acorex-platform/module-report-management-client/contracts';\nimport { AXP_MENU_PROVIDER, AXP_PROTECTED_ROUTE_GUARDS, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXPRuntimeModule, provideCommandSetups } from '@acorex-platform/framework-client/runtime';\n\n// Entity Modules\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMMenuProvider } from './menu.provider';\n\nimport { AXPReportManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport { AXMReportManagementSettingProvider } from './settings.provider';\nimport { createEntityReportsPlugin } from './features/entity-reports/entity-reports.plugin';\nimport { AXM_REPORT_GENERATION_BACKGROUND_OPERATION_HANDLERS } from './features/background-operation/report-generation-background-operation.handler';\nimport { provideReportGenerationInboxToastBridge } from './features/report-generation/report-generation-inbox-toast.providers';\n\nfunction routesFacory() {\n let routes: Routes = [\n {\n path: `:app/${RootConfig.module.route}/viewer`,\n canActivate: [...AXP_PROTECTED_ROUTE_GUARDS],\n data: { tab: true, rootLayout: true },\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: ':reportId',\n loadComponent: () =>\n import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then(\n (c) => c.AXPReportViewerPageComponent,\n ),\n data: { reuse: true },\n },\n {\n path: '',\n loadComponent: () =>\n import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then(\n (c) => c.AXPReportViewerPageComponent,\n ),\n data: { reuse: true },\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n AXPDomainModule,\n AXPRuntimeModule,\n // Entity Modules\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n \n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXPReportManagementFeatureDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMReportManagementSettingProvider,\n multi: true,\n },\n ...AXM_REPORT_GENERATION_BACKGROUND_OPERATION_HANDLERS,\n ...provideReportGenerationInboxToastBridge(),\n provideCommandSetups([\n {\n key: 'ReportManagement.Report:OpenInPopup',\n command: () =>\n import('./commands/open-report-in-popup.command').then((c) => c.AXPOpenReportInPopupCommand),\n },\n {\n key: 'ReportManagement.Report:OpenViewer',\n command: () =>\n import('./commands/open-report-viewer.command').then((c) => c.AXPOpenReportViewerCommand),\n },\n ]),\n {\n provide: AXP_ENTITY_ACTION_PLUGIN,\n multi: true,\n useFactory: () => createEntityReportsPlugin(inject(Injector)),\n },\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./features/entity-reports/entity-reports-page-component.provider').then(\n (m) => m.AXMEntityReportsPageComponentProvider,\n ),\n ),\n ],\n})\nexport class AXMReportManagementModule { }\n","import { AXPQuerySort } from '@acorex-platform/framework-shared/entity';\n\n//#region ---- User Settings (per report + layout) ----\n\nexport interface AXPReportTableColumnUserState {\n field: string;\n width?: number;\n}\n\nexport interface AXPReportTableLayoutUserState {\n columns?: AXPReportTableColumnUserState[];\n sorts?: AXPQuerySort[];\n pageSize?: number;\n}\n\nexport interface AXPReportViewerUserSettings {\n activeLayoutId?: string;\n layouts?: Record<string, { table?: AXPReportTableLayoutUserState }>;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { inject, Injectable } from '@angular/core';\nimport { resolveMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport {\n AXPReportDefinition,\n AXPReportLayoutDefinition,\n AXPReportLayoutType,\n AXPReportLayoutAction,\n} from '@acorex-platform/module-report-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { RootConfig } from '@acorex-platform/module-report-management-client/contracts';\nimport {\n extractEntityBindings,\n type AXPEntityBoundReport,\n} from '../features/entity-reports/entity-reports.util';\n\n//#endregion\n\n/**\n * Report Viewer Service\n *\n * Handles report definition retrieval, caching, and layout actions.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPReportViewerService {\n //#region ---- Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly reportDefinitionService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.report.name)\n .data();\n\n //#endregion\n\n //#region ---- Cache Storage ----\n\n /** Cache for individual report definitions by id */\n private definitionsById = new Map<string, AXPReportDefinition>();\n\n /** Pending API requests to prevent duplicate calls */\n private pendingReportRequests = new Map<string, Promise<AXPReportDefinition | undefined>>();\n\n //#endregion\n\n //#region ---- Public API: Report Definitions ----\n\n /**\n * Reports bound to a host entity type via `entities[].entity`.\n * Falls back to an in-memory filter when the nested-array query returns nothing\n * (or is unsupported by the current query backend).\n */\n async getReportsByEntityType(entityType: string): Promise<AXPEntityBoundReport[]> {\n if (!entityType?.trim()) {\n return [];\n }\n\n let items: AXPReportDefinition[] = [];\n try {\n const result = await this.reportDefinitionService.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'entities.entity',\n operator: { type: 'equal' },\n value: entityType,\n },\n ],\n },\n });\n items = (result.items ?? []) as AXPReportDefinition[];\n } catch {\n items = [];\n }\n\n if (items.length === 0) {\n try {\n const fallback = await this.reportDefinitionService.query({\n skip: 0,\n take: 1000,\n });\n items = ((fallback.items ?? []) as AXPReportDefinition[]).filter((report) =>\n (report.entities ?? []).some((binding) => binding?.entity === entityType),\n );\n } catch {\n items = [];\n }\n }\n\n const bound: AXPEntityBoundReport[] = [];\n for (const report of items) {\n this.definitionsById.set(report.id, report);\n for (const binding of extractEntityBindings(report, entityType)) {\n bound.push({ report, binding });\n }\n }\n\n return bound.sort(\n (a, b) =>\n (a.binding.order ?? 0) - (b.binding.order ?? 0) ||\n resolveMultiLanguageString(a.report.title, 'en-US').localeCompare(\n resolveMultiLanguageString(b.report.title, 'en-US'),\n ),\n );\n }\n\n /**\n * Get single report definition by ID with O(1) lookup\n */\n async getReportById(id: string): Promise<AXPReportDefinition | undefined> {\n if (this.definitionsById.has(id)) {\n return this.definitionsById.get(id);\n }\n\n if (this.pendingReportRequests.has(id)) {\n return this.pendingReportRequests.get(id)!;\n }\n\n const requestPromise = this.loadReport(id);\n this.pendingReportRequests.set(id, requestPromise);\n\n return requestPromise;\n }\n\n //#endregion\n\n //#region ---- Public API: Layout Actions ----\n\n /**\n * Get general actions list for a layout type.\n * Override in connectivity layer (mock/API) to provide general actions.\n */\n getGeneralActionsList(layoutType: AXPReportLayoutType): AXPReportLayoutAction[] {\n return [];\n }\n\n /**\n * Get merged actions for a layout definition.\n * Combines general actions with layout-specific actions.\n */\n getMergedActions(layoutDefinition: AXPReportLayoutDefinition): AXPReportLayoutAction[] {\n const generalActions = this.getGeneralActionsList(layoutDefinition.layout.type);\n const customActions = layoutDefinition.actions || [];\n\n const customActionsMap = new Map<string, AXPReportLayoutAction>();\n customActions.forEach((action) => {\n if (action.name) {\n customActionsMap.set(action.name, action);\n }\n });\n\n const merged: AXPReportLayoutAction[] = [];\n const usedNames = new Set<string>();\n\n generalActions.forEach((action) => {\n if (action.name && customActionsMap.has(action.name)) {\n merged.push(customActionsMap.get(action.name)!);\n usedNames.add(action.name);\n } else {\n merged.push(action);\n if (action.name) {\n usedNames.add(action.name);\n }\n }\n });\n\n customActions.forEach((action) => {\n if (action.name && !usedNames.has(action.name)) {\n merged.push(action);\n usedNames.add(action.name);\n } else if (!action.name) {\n merged.push(action);\n }\n });\n\n return merged;\n }\n\n getPrimaryActions(layoutDefinition: AXPReportLayoutDefinition): AXPReportLayoutAction[] {\n return this.getMergedActions(layoutDefinition).filter((action) => action.priority === 'primary');\n }\n\n getSecondaryActions(layoutDefinition: AXPReportLayoutDefinition): AXPReportLayoutAction[] {\n return this.getMergedActions(layoutDefinition).filter((action) => action.priority === 'secondary');\n }\n\n //#endregion\n\n //#region ---- Private: Data Loading ----\n\n /**\n * Load single report from entity service and cache result.\n * Can be overridden in extended services (e.g., API layer).\n */\n protected async loadReport(id: string): Promise<AXPReportDefinition | undefined> {\n try {\n const result = (await this.reportDefinitionService.byKey(id)) as AXPReportDefinition | undefined;\n\n if (result) {\n this.definitionsById.set(id, result);\n return result;\n }\n\n return undefined;\n } finally {\n this.pendingReportRequests.delete(id);\n }\n }\n\n //#endregion\n\n //#region ---- Cache Management ----\n\n protected isReportCached(reportId: string): boolean {\n return this.definitionsById.has(reportId) || this.pendingReportRequests.has(reportId);\n }\n\n clearAllCache(): void {\n this.definitionsById.clear();\n this.pendingReportRequests.clear();\n }\n\n clearReportsCache(): void {\n this.definitionsById.clear();\n this.pendingReportRequests.clear();\n }\n\n //#endregion\n\n //#region ---- Action Handlers (Override in Connectivity Layer) ----\n\n async executeAction(commandName: string, options?: Record<string, unknown>): Promise<void> {\n console.log(`Execute action: ${commandName} - should be implemented in connectivity layer`, options);\n }\n\n //#endregion\n}\n","import {\n AXPContextData,\n AXPFilterClause,\n type AXPRuntimeQueryResult,\n runtimeQueryCollectionData,\n runtimeQueryObjectData,\n runtimeQueryPayloadData,\n} from '@acorex-platform/framework-shared/core';\nimport type { AXBarChartValue } from '@acorex/charts/bar-chart';\nimport type { AXDonutChartValue } from '@acorex/charts/donut-chart';\nimport type { AXLineChartValue } from '@acorex/charts/line-chart';\n\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport { isReportDateRangeObject } from './report-parameter.util';\nimport type { AXPChartDataMapping } from '@acorex-platform/module-report-management-client/contracts';\n\nexport function AXPieChartReportMapper(data: Record<string, number>): AXDonutChartValue {\n return Object.entries(data)\n .map(([key, value]) => ({\n id: key,\n label: key,\n value: Number(value),\n }))\n .filter((item) => Number.isFinite(item.value) && item.value > 0);\n}\n\nexport function AXBarChartReportMapper(data: Record<string, number>): AXBarChartValue {\n return Object.entries(data)\n .map(([key, value]) => ({\n id: key,\n label: key,\n value: Number(value),\n }))\n .filter((item) => Number.isFinite(item.value));\n}\n\nexport function AXLineChartReportMapper(data: Record<string, number>): AXLineChartValue {\n const entries = Object.entries(data);\n if (entries.length === 0) {\n return [];\n }\n const dataPoints = entries.map(([key, value]) => ({\n x: key,\n y: value,\n }));\n\n return [\n {\n id: 'series-1',\n label: 'Data Series',\n tooltipLabel: 'Countries Info',\n lineColor: '#d81159',\n fillColor: '#d8115920',\n data: dataPoints,\n },\n ];\n}\n\n//#region ---- Helpers ----\n\n/**\n * Determines whether a filter value should be treated as empty.\n * This handles deep objects, arrays, and primitives so that\n * values like { from: null, to: null } are considered empty.\n */\nfunction isEmptyFilterValue(value: unknown): boolean {\n if (value === null || value === undefined || value === '') {\n return true;\n }\n\n if (Array.isArray(value)) {\n return value.length === 0 || value.every((item) => isEmptyFilterValue(item));\n }\n\n if (typeof value === 'object') {\n const entries = Object.entries(value as Record<string, unknown>);\n if (entries.length === 0) {\n return true;\n }\n\n // Consider object empty if all nested values are empty\n return entries.every(([, v]) => isEmptyFilterValue(v));\n }\n\n return false;\n}\n\n//#endregion\n\n/**\n * Converts AXPContextData (filter context) to AXPFilterClause format\n *\n * Input format:\n * {\n * \"fieldName\": {\n * \"operation\": { \"type\": \"between\" },\n * \"value\": { \"from\": \"...\", \"to\": \"...\" }\n * }\n * }\n *\n * Output format:\n * {\n * logic: 'and',\n * filters: [\n * {\n * field: 'fieldName',\n * operator: { type: 'between' },\n * value: { from: \"...\", to: \"...\" }\n * }\n * ]\n * }\n */\nexport function convertContextDataToFilterClause(context: AXPContextData): AXPFilterClause {\n const filters: AXDataSourceFilterOption[] = [];\n\n // Iterate through all keys in context\n for (const [fieldName, fieldData] of Object.entries(context)) {\n if (fieldName.endsWith('EditorObj') || fieldName.startsWith('__')) {\n continue;\n }\n\n // Drill-down and URL shortcuts may pass plain parameter values (e.g. { brand: 'id' })\n if (fieldData === null || fieldData === undefined || typeof fieldData !== 'object' || Array.isArray(fieldData)) {\n if (!isEmptyFilterValue(fieldData)) {\n filters.push({\n field: fieldName,\n operator: {\n type: Array.isArray(fieldData) ? 'in' : 'equal',\n },\n value: fieldData,\n });\n }\n continue;\n }\n\n // Plain `{ from, to }` / `{ start, end }` objects (e.g. dateRange from OpenInPopup)\n if (isReportDateRangeObject(fieldData) && !('operation' in fieldData)) {\n // Date-range widgets use `between`; CDK operator union is narrower than runtime.\n filters.push({\n field: fieldName,\n operator: { type: 'between' as never },\n value: {\n from: String(fieldData.from ?? fieldData.start),\n to: String(fieldData.to ?? fieldData.end),\n },\n });\n continue;\n }\n\n // Skip structured filter objects without operation metadata\n if (!('operation' in fieldData)) {\n continue;\n }\n\n const operation = (fieldData as any).operation;\n const value = (fieldData as any).value;\n\n // Skip if operation type is missing\n if (!operation || !operation.type) {\n continue;\n }\n\n // Skip if value is effectively empty (null/undefined/empty string,\n // empty object/array, or deep object where all nested values are empty)\n if (isEmptyFilterValue(value)) {\n continue;\n }\n\n // Create filter clause\n const filter: AXDataSourceFilterOption = {\n field: fieldName,\n operator: {\n type: operation.type,\n },\n value: value,\n };\n\n filters.push(filter);\n }\n\n // Return filter clause with AND logic\n if (filters.length === 0) {\n return {\n logic: 'and',\n filters: [],\n };\n }\n\n return {\n logic: 'and',\n filters: filters,\n };\n}\n\n//#region ----- Query payload helpers -----\n\nexport type AXPReportPdfSource = {\n url?: string;\n base64?: string;\n blob?: Blob;\n filename?: string;\n};\n\nfunction asPdfSource(record: Record<string, unknown> | undefined): AXPReportPdfSource | null {\n if (!record) {\n return null;\n }\n const url = typeof record['url'] === 'string' ? record['url'] : undefined;\n const base64 = typeof record['base64'] === 'string' ? record['base64'] : undefined;\n const blob = record['blob'] instanceof Blob ? record['blob'] : undefined;\n const filename = typeof record['filename'] === 'string' ? record['filename'] : undefined;\n if (url == null && base64 == null && blob == null) {\n return null;\n }\n return { url, base64, blob, filename };\n}\n\nexport function queryResultToPdfSource(\n queryResult: AXPRuntimeQueryResult<unknown> | null | undefined,\n): AXPReportPdfSource | null {\n if (!queryResult?.success) {\n return null;\n }\n\n const fromObject = asPdfSource(\n (runtimeQueryPayloadData(queryResult) ?? runtimeQueryObjectData(queryResult)) as\n | Record<string, unknown>\n | undefined,\n );\n if (fromObject) {\n return fromObject;\n }\n\n const page = runtimeQueryCollectionData(queryResult);\n return asPdfSource(page?.items?.[0] as Record<string, unknown> | undefined);\n}\n\nexport function queryResultToChartSeries(\n queryResult: AXPRuntimeQueryResult<unknown> | null | undefined,\n mapping?: AXPChartDataMapping | null,\n): Record<string, number> {\n if (!queryResult?.success) {\n return {};\n }\n\n const objectData = runtimeQueryObjectData(queryResult) as Record<string, unknown> | undefined;\n if (objectData && !('items' in objectData)) {\n const series: Record<string, number> = {};\n for (const [key, value] of Object.entries(objectData)) {\n const n = Number(value);\n if (Number.isFinite(n)) {\n series[key] = n;\n }\n }\n if (Object.keys(series).length > 0) {\n return series;\n }\n }\n\n const page = runtimeQueryCollectionData(queryResult);\n const rows = (page?.items ?? []) as Record<string, unknown>[];\n if (rows.length === 0) {\n return {};\n }\n\n const firstRow = rows[0] ?? {};\n const keys = Object.keys(firstRow);\n const xField = mapping?.xField ?? keys[0] ?? 'x';\n const yFieldsRaw = mapping?.yFields;\n const yField = Array.isArray(yFieldsRaw)\n ? yFieldsRaw[0]\n : yFieldsRaw\n ? String(yFieldsRaw)\n : (keys[1] ?? 'value');\n\n const chartData: Record<string, number> = {};\n for (const row of rows) {\n const key = String(row[xField] ?? '');\n if (!key) {\n continue;\n }\n const value = Number(row[yField] ?? 0);\n if (Number.isFinite(value)) {\n chartData[key] = value;\n }\n }\n return chartData;\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPExpressionEvaluatorService } from '@acorex-platform/framework-client/core';\nimport {\n AXPExpressionEvaluatorScope,\n resolveMultiLanguageString,\n type AXPMultiLanguageString,\n} from '@acorex-platform/framework-shared/core';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPInAppInboxConnectorService } from '@acorex-platform/module-communication-management-client';\nimport { buildReportGenerationNotificationCorrelationId } from '@acorex-platform/module-report-management-client/contracts';\nimport { get, isString } from 'lodash-es';\nimport { inject, Injectable } from '@angular/core';\nimport { resolveReportParameterValues } from '../reports/report-parameter.util';\nimport { AXPReportViewerService } from '../reports';\n\n//#endregion\n\n//#region ----- Command Input -----\n\nexport interface AXPOpenReportInPopupCommandInput {\n reportId?: string;\n layoutId?: string;\n runId?: string;\n title?: AXPMultiLanguageString;\n parameters?: Record<string, unknown>;\n hideColumnFields?: string[];\n data?: Record<string, unknown>;\n options?: Partial<AXPOpenReportInPopupCommandInput>;\n}\n\n//#endregion\n\n//#region ----- Command -----\n\n/** Opens a report in a results-only popup. Pass `runId` to show a frozen generation run. */\n@Injectable({ providedIn: 'root' })\nexport class AXPOpenReportInPopupCommand\n implements AXPCommand<AXPOpenReportInPopupCommandInput | Record<string, unknown>, void>\n{\n //#region ----- Services & Dependencies -----\n\n private readonly popupService = inject(AXPopupService);\n private readonly expressionEvaluator = inject(AXPExpressionEvaluatorService);\n private readonly translate = inject(AXTranslationService);\n private readonly reportViewerService = inject(AXPReportViewerService);\n private readonly inboxConnector = inject(AXPInAppInboxConnectorService, { optional: true });\n\n //#endregion\n\n //#region ----- Command Implementation -----\n\n async execute(\n input: AXPOpenReportInPopupCommandInput | Record<string, unknown>,\n ): AXPCommandExecuteResultPromise<void> {\n const rowData = this.resolveRowData(input);\n const options = await this.resolveOptions(input, rowData);\n\n if (!options.reportId) {\n return {\n success: false,\n message: {\n text: await this.translate.translateAsync(\n '@report-management:report-viewer.messages.error.invalid-popup-target',\n ),\n },\n };\n }\n\n const runId = typeof options.runId === 'string' ? options.runId.trim() : '';\n if (runId) {\n await this.dismissReportGenerationInboxNotification(runId);\n }\n const popupTitle = await this.resolvePopupTitle(options, rowData, runId);\n const parameters = resolveReportParameterValues(options.parameters);\n\n const comp = (\n await import('../features/report-viewer/report-popup-viewer/report-popup-viewer.component')\n ).AXPReportPopupViewerComponent;\n\n this.popupService.open(comp, {\n title: popupTitle,\n size: 'lg',\n maximizable: true,\n data: {\n reportId: options.reportId,\n layoutId: options.layoutId,\n runId,\n parameters,\n hideColumnFields: options.hideColumnFields ?? [],\n },\n });\n\n return {\n success: true,\n kind: 'object',\n data: undefined,\n metadata: { refresh: false },\n };\n }\n\n //#endregion\n\n //#region ----- Helpers -----\n\n private resolveRowData(\n input: AXPOpenReportInPopupCommandInput | Record<string, unknown>,\n ): Record<string, unknown> {\n const ctx = input as AXPOpenReportInPopupCommandInput;\n if (ctx?.data && typeof ctx.data === 'object') {\n return ctx.data as Record<string, unknown>;\n }\n if (\n (input as Record<string, unknown>)['data'] &&\n typeof (input as Record<string, unknown>)['data'] === 'object'\n ) {\n return (input as Record<string, unknown>)['data'] as Record<string, unknown>;\n }\n return input as Record<string, unknown>;\n }\n\n private async resolveOptions(\n input: AXPOpenReportInPopupCommandInput | Record<string, unknown>,\n rowData: Record<string, unknown>,\n ): Promise<AXPOpenReportInPopupCommandInput> {\n const typedInput = input as AXPOpenReportInPopupCommandInput;\n const rawOptions = {\n reportId: typedInput.reportId,\n layoutId: typedInput.layoutId,\n runId: typedInput.runId,\n title: typedInput.title,\n parameters: typedInput.parameters,\n hideColumnFields: typedInput.hideColumnFields,\n ...(typedInput.options ?? {}),\n };\n\n const scope: AXPExpressionEvaluatorScope = {\n context: {\n eval: (path: string) => get(rowData, path),\n },\n };\n\n return (await this.expressionEvaluator.evaluate(rawOptions, scope)) as AXPOpenReportInPopupCommandInput;\n }\n\n private async resolvePopupTitle(\n options: AXPOpenReportInPopupCommandInput,\n rowData: Record<string, unknown>,\n runId: string,\n ): Promise<string> {\n let baseTitle = await this.resolveExplicitPopupTitle(options.title, rowData);\n\n if (!baseTitle && options.reportId) {\n const report = await this.reportViewerService.getReportById(options.reportId);\n if (report?.title) {\n baseTitle =\n this.translate.resolve(report.title) ||\n resolveMultiLanguageString(report.title, this.translate.getActiveLang() || 'en-US') ||\n '';\n }\n }\n\n if (!baseTitle) {\n baseTitle = await this.translate.translateAsync(\n '@report-management:report-viewer.components.report-popup-viewer.title',\n );\n }\n\n if (!runId) {\n return baseTitle;\n }\n\n return this.translate.translateAsync(\n '@report-management:report-viewer.components.report-popup-viewer.generated-title',\n { params: { title: baseTitle } },\n );\n }\n\n private async resolveExplicitPopupTitle(\n title: AXPMultiLanguageString | undefined,\n rowData: Record<string, unknown>,\n ): Promise<string> {\n if (title && typeof title === 'object') {\n const resolved = this.translate.resolve(title);\n if (resolved) {\n return resolved;\n }\n }\n\n if (!isString(title) || !title.trim()) {\n return '';\n }\n\n const scope: AXPExpressionEvaluatorScope = {\n context: {\n eval: (path: string) => get(rowData, path),\n },\n };\n\n const evaluated = await this.expressionEvaluator.evaluate(title, scope);\n return isString(evaluated) ? evaluated : title;\n }\n\n private async dismissReportGenerationInboxNotification(runId: string): Promise<void> {\n if (!this.inboxConnector) {\n return;\n }\n try {\n await this.inboxConnector.dismissByCorrelationId(\n buildReportGenerationNotificationCorrelationId(runId),\n );\n } catch {\n // Best-effort — opening the report should still proceed.\n }\n }\n\n //#endregion\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -66,6 +66,20 @@ async function querySnapshotPolicyEntityFactory() {
66
66
  name: RootConfig.entities.querySnapshotPolicy.name,
67
67
  title: RootConfig.entities.querySnapshotPolicy.title,
68
68
  icon: RootConfig.entities.querySnapshotPolicy.icon,
69
+ searchTags: [
70
+ 'query-snapshot-policy',
71
+ 'snapshot-policy',
72
+ 'cache-policy',
73
+ 'query-refresh-policy',
74
+ 'snapshot-schedule',
75
+ 'cache-ttl',
76
+ 'refresh-interval',
77
+ 'data-refresh',
78
+ 'سیاست اسنپ‌شات',
79
+ 'سیاست‌های اسنپ‌شات کوئری',
80
+ 'سیاست کش',
81
+ 'نوسازی کوئری',
82
+ ],
69
83
  formats: {
70
84
  individual: RootConfig.entities.querySnapshotPolicy.title,
71
85
  plural: RootConfig.entities.querySnapshotPolicy.titlePlural,
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-report-management-client-contracts-entities-query-snapshot-policy.mjs","sources":["../../../../libs/modules/report-management/contracts/src/root-config.ts","../../../../libs/modules/report-management/contracts/src/entities/query-snapshot-policy/query-snapshot-policy.entity.ts","../../../../libs/modules/report-management/contracts/src/acorex-platform-module-report-management-client-contracts-entities-query-snapshot-policy.ts"],"sourcesContent":["const config = {\n i18n: 'report-management',\n module: 'ReportManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-chart-bar',\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'ReportCategory',\n fullName: `${config.module}.ReportCategory`,\n title: `@${config.i18n}:reports.entities.category.title`,\n titlePlural: `@${config.i18n}:reports.entities.category.plural`,\n icon: 'fa-light fa-folder',\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}:reports.entities.report.title`,\n titlePlural: `@${config.i18n}:reports.entities.report.plural`,\n icon: 'fa-light fa-file-chart-pie',\n },\n querySnapshotPolicy: {\n name: 'QuerySnapshotPolicy',\n fullName: `${config.module}.QuerySnapshotPolicy`,\n title: `@${config.i18n}:query-snapshots.entities.policy.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.policy.plural`,\n icon: 'fa-light fa-sliders',\n },\n querySnapshot: {\n name: 'QuerySnapshot',\n fullName: `${config.module}.QuerySnapshot`,\n title: `@${config.i18n}:query-snapshots.entities.snapshot.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.snapshot.plural`,\n icon: 'fa-light fa-camera',\n },\n reportGenerationRequest: {\n name: 'ReportGenerationRequest',\n fullName: `${config.module}.ReportGenerationRequest`,\n title: `@${config.i18n}:report-generation.entities.request.title`,\n titlePlural: `@${config.i18n}:report-generation.entities.request.plural`,\n icon: 'fa-light fa-file-export',\n },\n },\n} as const;\n","import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Query snapshot policy entity factory ----\n\nconst I18N = '@report-management:query-snapshots.entities.policy';\n\nexport async function querySnapshotPolicyEntityFactory(): Promise<AXPEntity | null> {\n return {\n module: RootConfig.module.name,\n name: RootConfig.entities.querySnapshotPolicy.name,\n title: RootConfig.entities.querySnapshotPolicy.title,\n icon: RootConfig.entities.querySnapshotPolicy.icon,\n formats: {\n individual: RootConfig.entities.querySnapshotPolicy.title,\n plural: RootConfig.entities.querySnapshotPolicy.titlePlural,\n searchResult: {\n title: '{{ queryName }}',\n description: RootConfig.module.title,\n },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'queryName',\n title: `${I18N}.fields.query-name`,\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n options: {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n },\n },\n {\n name: 'enabled',\n title: `${I18N}.fields.enabled`,\n groupId: 'basic-info',\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: { type: AXPWidgetsCatalog.toggle },\n },\n options: {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n },\n },\n {\n name: 'schedule',\n title: `${I18N}.fields.schedule`,\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'staleAfterMs',\n title: `${I18N}.fields.stale-after-ms`,\n groupId: 'basic-info',\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'triggers',\n title: `${I18N}.fields.triggers`,\n groupId: 'basic-info',\n schema: { dataType: 'object', interface: { type: 'json' } },\n },\n ],\n columns: [{ name: 'queryName' }, { name: 'enabled' }, { name: 'schedule' }, { name: 'staleAfterMs' }],\n interfaces: {\n master: {\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'queryName', dir: 'asc' }] })],\n },\n },\n },\n };\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.query-snapshot-policy';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-report-management-client-contracts-entities-query-snapshot-policy.mjs","sources":["../../../../libs/modules/report-management/contracts/src/root-config.ts","../../../../libs/modules/report-management/contracts/src/entities/query-snapshot-policy/query-snapshot-policy.entity.ts","../../../../libs/modules/report-management/contracts/src/acorex-platform-module-report-management-client-contracts-entities-query-snapshot-policy.ts"],"sourcesContent":["const config = {\n i18n: 'report-management',\n module: 'ReportManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-chart-bar',\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'ReportCategory',\n fullName: `${config.module}.ReportCategory`,\n title: `@${config.i18n}:reports.entities.category.title`,\n titlePlural: `@${config.i18n}:reports.entities.category.plural`,\n icon: 'fa-light fa-folder',\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}:reports.entities.report.title`,\n titlePlural: `@${config.i18n}:reports.entities.report.plural`,\n icon: 'fa-light fa-file-chart-pie',\n },\n querySnapshotPolicy: {\n name: 'QuerySnapshotPolicy',\n fullName: `${config.module}.QuerySnapshotPolicy`,\n title: `@${config.i18n}:query-snapshots.entities.policy.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.policy.plural`,\n icon: 'fa-light fa-sliders',\n },\n querySnapshot: {\n name: 'QuerySnapshot',\n fullName: `${config.module}.QuerySnapshot`,\n title: `@${config.i18n}:query-snapshots.entities.snapshot.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.snapshot.plural`,\n icon: 'fa-light fa-camera',\n },\n reportGenerationRequest: {\n name: 'ReportGenerationRequest',\n fullName: `${config.module}.ReportGenerationRequest`,\n title: `@${config.i18n}:report-generation.entities.request.title`,\n titlePlural: `@${config.i18n}:report-generation.entities.request.plural`,\n icon: 'fa-light fa-file-export',\n },\n },\n} as const;\n","import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Query snapshot policy entity factory ----\n\nconst I18N = '@report-management:query-snapshots.entities.policy';\n\nexport async function querySnapshotPolicyEntityFactory(): Promise<AXPEntity | null> {\n return {\n module: RootConfig.module.name,\n name: RootConfig.entities.querySnapshotPolicy.name,\n title: RootConfig.entities.querySnapshotPolicy.title,\n icon: RootConfig.entities.querySnapshotPolicy.icon,\n searchTags: [\n 'query-snapshot-policy',\n 'snapshot-policy',\n 'cache-policy',\n 'query-refresh-policy',\n 'snapshot-schedule',\n 'cache-ttl',\n 'refresh-interval',\n 'data-refresh',\n 'سیاست اسنپ‌شات',\n 'سیاست‌های اسنپ‌شات کوئری',\n 'سیاست کش',\n 'نوسازی کوئری',\n ],\n formats: {\n individual: RootConfig.entities.querySnapshotPolicy.title,\n plural: RootConfig.entities.querySnapshotPolicy.titlePlural,\n searchResult: {\n title: '{{ queryName }}',\n description: RootConfig.module.title,\n },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'queryName',\n title: `${I18N}.fields.query-name`,\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n options: {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n },\n },\n {\n name: 'enabled',\n title: `${I18N}.fields.enabled`,\n groupId: 'basic-info',\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: { type: AXPWidgetsCatalog.toggle },\n },\n options: {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n },\n },\n {\n name: 'schedule',\n title: `${I18N}.fields.schedule`,\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'staleAfterMs',\n title: `${I18N}.fields.stale-after-ms`,\n groupId: 'basic-info',\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'triggers',\n title: `${I18N}.fields.triggers`,\n groupId: 'basic-info',\n schema: { dataType: 'object', interface: { type: 'json' } },\n },\n ],\n columns: [{ name: 'queryName' }, { name: 'enabled' }, { name: 'schedule' }, { name: 'staleAfterMs' }],\n interfaces: {\n master: {\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'queryName', dir: 'asc' }] })],\n },\n },\n },\n };\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.query-snapshot-policy';\n"],"names":[],"mappings":"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"}
@@ -85,6 +85,20 @@ async function querySnapshotEntityFactory() {
85
85
  name: RootConfig.entities.querySnapshot.name,
86
86
  title: RootConfig.entities.querySnapshot.title,
87
87
  icon: RootConfig.entities.querySnapshot.icon,
88
+ searchTags: [
89
+ 'query-snapshot',
90
+ 'cached-query',
91
+ 'query-cache',
92
+ 'snapshot-data',
93
+ 'stale-snapshot',
94
+ 'report-cache',
95
+ 'data-snapshot',
96
+ 'query-result-cache',
97
+ 'اسنپ‌شات کوئری',
98
+ 'اسنپ‌شات‌های کوئری',
99
+ 'کش کوئری',
100
+ 'ذخیره نتیجه',
101
+ ],
88
102
  formats: {
89
103
  individual: RootConfig.entities.querySnapshot.title,
90
104
  plural: RootConfig.entities.querySnapshot.titlePlural,
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-report-management-client-contracts-entities-query-snapshot.mjs","sources":["../../../../libs/modules/report-management/contracts/src/commands.keys.ts","../../../../libs/modules/report-management/contracts/src/root-config.ts","../../../../libs/modules/report-management/contracts/src/entities/query-snapshot/query-snapshot.entity.ts","../../../../libs/modules/report-management/contracts/src/acorex-platform-module-report-management-client-contracts-entities-query-snapshot.ts"],"sourcesContent":["//#region ---- Report management command keys ----\n\nexport const AXMReportManagementCommandKeys = {\n RecalculateQuerySnapshots: 'ReportManagement:RecalculateQuerySnapshots',\n RefreshQuerySnapshots: 'ReportManagement:RefreshQuerySnapshots',\n ReportGeneration: {\n Create: 'ReportManagement:ReportGeneration:Create',\n Execute: 'ReportManagement:ReportGeneration:Execute',\n ReleaseInlineWatch: 'ReportManagement:ReportGeneration:ReleaseInlineWatch',\n },\n} as const;\n\nexport const AXM_RECALCULATE_QUERY_SNAPSHOTS_COMMAND_KEY =\n AXMReportManagementCommandKeys.RecalculateQuerySnapshots;\n\nexport const AXM_REFRESH_QUERY_SNAPSHOTS_COMMAND_KEY =\n AXMReportManagementCommandKeys.RefreshQuerySnapshots;\n\n//#endregion\n","const config = {\n i18n: 'report-management',\n module: 'ReportManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-chart-bar',\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'ReportCategory',\n fullName: `${config.module}.ReportCategory`,\n title: `@${config.i18n}:reports.entities.category.title`,\n titlePlural: `@${config.i18n}:reports.entities.category.plural`,\n icon: 'fa-light fa-folder',\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}:reports.entities.report.title`,\n titlePlural: `@${config.i18n}:reports.entities.report.plural`,\n icon: 'fa-light fa-file-chart-pie',\n },\n querySnapshotPolicy: {\n name: 'QuerySnapshotPolicy',\n fullName: `${config.module}.QuerySnapshotPolicy`,\n title: `@${config.i18n}:query-snapshots.entities.policy.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.policy.plural`,\n icon: 'fa-light fa-sliders',\n },\n querySnapshot: {\n name: 'QuerySnapshot',\n fullName: `${config.module}.QuerySnapshot`,\n title: `@${config.i18n}:query-snapshots.entities.snapshot.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.snapshot.plural`,\n icon: 'fa-light fa-camera',\n },\n reportGenerationRequest: {\n name: 'ReportGenerationRequest',\n fullName: `${config.module}.ReportGenerationRequest`,\n title: `@${config.i18n}:report-generation.entities.request.title`,\n titlePlural: `@${config.i18n}:report-generation.entities.request.plural`,\n icon: 'fa-light fa-file-export',\n },\n },\n} as const;\n","import { AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView } from '@acorex-platform/framework-shared/entity';\nimport { AXM_REFRESH_QUERY_SNAPSHOTS_COMMAND_KEY } from '../../commands.keys';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Query snapshot entity factory ----\n\nconst I18N = '@report-management:query-snapshots.entities.snapshot';\n\nconst STATUS_ITEMS = [\n { name: 'ready', title: `${I18N}.statuses.ready` },\n { name: 'stale', title: `${I18N}.statuses.stale` },\n { name: 'failed', title: `${I18N}.statuses.failed` },\n];\n\nexport async function querySnapshotEntityFactory(): Promise<AXPEntity | null> {\n return {\n module: RootConfig.module.name,\n name: RootConfig.entities.querySnapshot.name,\n title: RootConfig.entities.querySnapshot.title,\n icon: RootConfig.entities.querySnapshot.icon,\n formats: {\n individual: RootConfig.entities.querySnapshot.title,\n plural: RootConfig.entities.querySnapshot.titlePlural,\n searchResult: {\n title: '{{ key }}',\n description: '{{ status }}',\n },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'key',\n title: `${I18N}.fields.key`,\n groupId: 'basic-info',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n options: {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n },\n },\n {\n name: 'status',\n title: `${I18N}.fields.status`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: { type: AXPWidgetsCatalog.select, options: { items: STATUS_ITEMS } },\n },\n options: {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n },\n },\n {\n name: 'calculatedAt',\n title: `${I18N}.fields.calculated-at`,\n groupId: 'basic-info',\n schema: {\n dataType: 'datetime',\n readonly: true,\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n },\n options: { sort: { enabled: true } },\n },\n {\n name: 'durationMs',\n title: `${I18N}.fields.duration-ms`,\n groupId: 'basic-info',\n schema: { dataType: 'number', readonly: true, interface: { type: AXPWidgetsCatalog.number } },\n },\n {\n name: 'lastError',\n title: `${I18N}.fields.last-error`,\n groupId: 'basic-info',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.largeText } },\n },\n {\n name: 'payload',\n title: `${I18N}.fields.payload`,\n groupId: 'basic-info',\n schema: {\n dataType: 'object',\n readonly: true,\n interface: { type: AXPWidgetsList.Advanced.JsonViewer, options: { disabled: true } },\n },\n },\n ],\n columns: [{ name: 'key' }, { name: 'status' }, { name: 'calculatedAt' }, { name: 'durationMs' }],\n interfaces: {\n master: {\n list: {\n actions: [\n {\n title: '@report-management:query-snapshots.actions.refresh-now',\n icon: 'fa-light fa-rotate',\n command: { name: AXM_REFRESH_QUERY_SNAPSHOTS_COMMAND_KEY },\n priority: 'primary',\n type: 'action',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'calculatedAt', dir: 'desc' }] })],\n },\n },\n },\n };\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.query-snapshot';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-report-management-client-contracts-entities-query-snapshot.mjs","sources":["../../../../libs/modules/report-management/contracts/src/commands.keys.ts","../../../../libs/modules/report-management/contracts/src/root-config.ts","../../../../libs/modules/report-management/contracts/src/entities/query-snapshot/query-snapshot.entity.ts","../../../../libs/modules/report-management/contracts/src/acorex-platform-module-report-management-client-contracts-entities-query-snapshot.ts"],"sourcesContent":["//#region ---- Report management command keys ----\n\nexport const AXMReportManagementCommandKeys = {\n RecalculateQuerySnapshots: 'ReportManagement:RecalculateQuerySnapshots',\n RefreshQuerySnapshots: 'ReportManagement:RefreshQuerySnapshots',\n ReportGeneration: {\n Create: 'ReportManagement:ReportGeneration:Create',\n Execute: 'ReportManagement:ReportGeneration:Execute',\n ReleaseInlineWatch: 'ReportManagement:ReportGeneration:ReleaseInlineWatch',\n },\n} as const;\n\nexport const AXM_RECALCULATE_QUERY_SNAPSHOTS_COMMAND_KEY =\n AXMReportManagementCommandKeys.RecalculateQuerySnapshots;\n\nexport const AXM_REFRESH_QUERY_SNAPSHOTS_COMMAND_KEY =\n AXMReportManagementCommandKeys.RefreshQuerySnapshots;\n\n//#endregion\n","const config = {\n i18n: 'report-management',\n module: 'ReportManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-chart-bar',\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'ReportCategory',\n fullName: `${config.module}.ReportCategory`,\n title: `@${config.i18n}:reports.entities.category.title`,\n titlePlural: `@${config.i18n}:reports.entities.category.plural`,\n icon: 'fa-light fa-folder',\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}:reports.entities.report.title`,\n titlePlural: `@${config.i18n}:reports.entities.report.plural`,\n icon: 'fa-light fa-file-chart-pie',\n },\n querySnapshotPolicy: {\n name: 'QuerySnapshotPolicy',\n fullName: `${config.module}.QuerySnapshotPolicy`,\n title: `@${config.i18n}:query-snapshots.entities.policy.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.policy.plural`,\n icon: 'fa-light fa-sliders',\n },\n querySnapshot: {\n name: 'QuerySnapshot',\n fullName: `${config.module}.QuerySnapshot`,\n title: `@${config.i18n}:query-snapshots.entities.snapshot.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.snapshot.plural`,\n icon: 'fa-light fa-camera',\n },\n reportGenerationRequest: {\n name: 'ReportGenerationRequest',\n fullName: `${config.module}.ReportGenerationRequest`,\n title: `@${config.i18n}:report-generation.entities.request.title`,\n titlePlural: `@${config.i18n}:report-generation.entities.request.plural`,\n icon: 'fa-light fa-file-export',\n },\n },\n} as const;\n","import { AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView } from '@acorex-platform/framework-shared/entity';\nimport { AXM_REFRESH_QUERY_SNAPSHOTS_COMMAND_KEY } from '../../commands.keys';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Query snapshot entity factory ----\n\nconst I18N = '@report-management:query-snapshots.entities.snapshot';\n\nconst STATUS_ITEMS = [\n { name: 'ready', title: `${I18N}.statuses.ready` },\n { name: 'stale', title: `${I18N}.statuses.stale` },\n { name: 'failed', title: `${I18N}.statuses.failed` },\n];\n\nexport async function querySnapshotEntityFactory(): Promise<AXPEntity | null> {\n return {\n module: RootConfig.module.name,\n name: RootConfig.entities.querySnapshot.name,\n title: RootConfig.entities.querySnapshot.title,\n icon: RootConfig.entities.querySnapshot.icon,\n searchTags: [\n 'query-snapshot',\n 'cached-query',\n 'query-cache',\n 'snapshot-data',\n 'stale-snapshot',\n 'report-cache',\n 'data-snapshot',\n 'query-result-cache',\n 'اسنپ‌شات کوئری',\n 'اسنپ‌شات‌های کوئری',\n 'کش کوئری',\n 'ذخیره نتیجه',\n ],\n formats: {\n individual: RootConfig.entities.querySnapshot.title,\n plural: RootConfig.entities.querySnapshot.titlePlural,\n searchResult: {\n title: '{{ key }}',\n description: '{{ status }}',\n },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'key',\n title: `${I18N}.fields.key`,\n groupId: 'basic-info',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n options: {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n },\n },\n {\n name: 'status',\n title: `${I18N}.fields.status`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: { type: AXPWidgetsCatalog.select, options: { items: STATUS_ITEMS } },\n },\n options: {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n },\n },\n {\n name: 'calculatedAt',\n title: `${I18N}.fields.calculated-at`,\n groupId: 'basic-info',\n schema: {\n dataType: 'datetime',\n readonly: true,\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n },\n options: { sort: { enabled: true } },\n },\n {\n name: 'durationMs',\n title: `${I18N}.fields.duration-ms`,\n groupId: 'basic-info',\n schema: { dataType: 'number', readonly: true, interface: { type: AXPWidgetsCatalog.number } },\n },\n {\n name: 'lastError',\n title: `${I18N}.fields.last-error`,\n groupId: 'basic-info',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.largeText } },\n },\n {\n name: 'payload',\n title: `${I18N}.fields.payload`,\n groupId: 'basic-info',\n schema: {\n dataType: 'object',\n readonly: true,\n interface: { type: AXPWidgetsList.Advanced.JsonViewer, options: { disabled: true } },\n },\n },\n ],\n columns: [{ name: 'key' }, { name: 'status' }, { name: 'calculatedAt' }, { name: 'durationMs' }],\n interfaces: {\n master: {\n list: {\n actions: [\n {\n title: '@report-management:query-snapshots.actions.refresh-now',\n icon: 'fa-light fa-rotate',\n command: { name: AXM_REFRESH_QUERY_SNAPSHOTS_COMMAND_KEY },\n priority: 'primary',\n type: 'action',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'calculatedAt', dir: 'desc' }] })],\n },\n },\n },\n };\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.query-snapshot';\n"],"names":[],"mappings":"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"}
@@ -66,6 +66,19 @@ async function reportCategoryEntityFactory() {
66
66
  parentKey: 'parentId',
67
67
  title: RootConfig.entities.category.title,
68
68
  icon: RootConfig.entities.category.icon,
69
+ searchTags: [
70
+ 'report-category',
71
+ 'report-folder',
72
+ 'report-group',
73
+ 'category-tree',
74
+ 'report-organization',
75
+ 'report-hierarchy',
76
+ 'report-classification',
77
+ 'دسته گزارش',
78
+ 'دسته‌های گزارش',
79
+ 'دسته',
80
+ 'گروه گزارش',
81
+ ],
69
82
  formats: {
70
83
  individual: RootConfig.entities.category.title,
71
84
  plural: RootConfig.entities.category.titlePlural,
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-report-management-client-contracts-entities-report-category.mjs","sources":["../../../../libs/modules/report-management/contracts/src/root-config.ts","../../../../libs/modules/report-management/contracts/src/entities/report-category/report-category.entity.ts","../../../../libs/modules/report-management/contracts/src/acorex-platform-module-report-management-client-contracts-entities-report-category.ts"],"sourcesContent":["const config = {\n i18n: 'report-management',\n module: 'ReportManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-chart-bar',\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'ReportCategory',\n fullName: `${config.module}.ReportCategory`,\n title: `@${config.i18n}:reports.entities.category.title`,\n titlePlural: `@${config.i18n}:reports.entities.category.plural`,\n icon: 'fa-light fa-folder',\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}:reports.entities.report.title`,\n titlePlural: `@${config.i18n}:reports.entities.report.plural`,\n icon: 'fa-light fa-file-chart-pie',\n },\n querySnapshotPolicy: {\n name: 'QuerySnapshotPolicy',\n fullName: `${config.module}.QuerySnapshotPolicy`,\n title: `@${config.i18n}:query-snapshots.entities.policy.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.policy.plural`,\n icon: 'fa-light fa-sliders',\n },\n querySnapshot: {\n name: 'QuerySnapshot',\n fullName: `${config.module}.QuerySnapshot`,\n title: `@${config.i18n}:query-snapshots.entities.snapshot.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.snapshot.plural`,\n icon: 'fa-light fa-camera',\n },\n reportGenerationRequest: {\n name: 'ReportGenerationRequest',\n fullName: `${config.module}.ReportGenerationRequest`,\n title: `@${config.i18n}:report-generation.entities.request.title`,\n titlePlural: `@${config.i18n}:report-generation.entities.request.plural`,\n icon: 'fa-light fa-file-export',\n },\n },\n} as const;\n","import {AXPEntity, createAllQueryView, entityMasterCrudActions} from '@acorex-platform/framework-shared/entity';\nimport {AXPWidgetsCatalog} from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Report category entity factory ----\n\nexport async function reportCategoryEntityFactory(): Promise<AXPEntity | null> {\n return {\n module: RootConfig.module.name,\n name: RootConfig.entities.category.name,\n parentKey: 'parentId',\n title: RootConfig.entities.category.title,\n icon: RootConfig.entities.category.icon,\n formats: {\n individual: RootConfig.entities.category.title,\n plural: RootConfig.entities.category.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText } },\n },\n {\n name: 'parentId',\n title: '@general:terms.classification.parent',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'childrenCount',\n title: '@general:terms.common.children-count',\n groupId: 'basic-info',\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number } },\n },\n {\n name: 'itemsCount',\n title: '@general:terms.common.items-count',\n groupId: 'basic-info',\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number } },\n },\n ],\n columns: [{ name: 'title' }, { name: 'description' }],\n interfaces: {\n master: {\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.report-category';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-report-management-client-contracts-entities-report-category.mjs","sources":["../../../../libs/modules/report-management/contracts/src/root-config.ts","../../../../libs/modules/report-management/contracts/src/entities/report-category/report-category.entity.ts","../../../../libs/modules/report-management/contracts/src/acorex-platform-module-report-management-client-contracts-entities-report-category.ts"],"sourcesContent":["const config = {\n i18n: 'report-management',\n module: 'ReportManagement',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-chart-bar',\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'ReportCategory',\n fullName: `${config.module}.ReportCategory`,\n title: `@${config.i18n}:reports.entities.category.title`,\n titlePlural: `@${config.i18n}:reports.entities.category.plural`,\n icon: 'fa-light fa-folder',\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}:reports.entities.report.title`,\n titlePlural: `@${config.i18n}:reports.entities.report.plural`,\n icon: 'fa-light fa-file-chart-pie',\n },\n querySnapshotPolicy: {\n name: 'QuerySnapshotPolicy',\n fullName: `${config.module}.QuerySnapshotPolicy`,\n title: `@${config.i18n}:query-snapshots.entities.policy.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.policy.plural`,\n icon: 'fa-light fa-sliders',\n },\n querySnapshot: {\n name: 'QuerySnapshot',\n fullName: `${config.module}.QuerySnapshot`,\n title: `@${config.i18n}:query-snapshots.entities.snapshot.title`,\n titlePlural: `@${config.i18n}:query-snapshots.entities.snapshot.plural`,\n icon: 'fa-light fa-camera',\n },\n reportGenerationRequest: {\n name: 'ReportGenerationRequest',\n fullName: `${config.module}.ReportGenerationRequest`,\n title: `@${config.i18n}:report-generation.entities.request.title`,\n titlePlural: `@${config.i18n}:report-generation.entities.request.plural`,\n icon: 'fa-light fa-file-export',\n },\n },\n} as const;\n","import {AXPEntity, createAllQueryView, entityMasterCrudActions} from '@acorex-platform/framework-shared/entity';\nimport {AXPWidgetsCatalog} from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Report category entity factory ----\n\nexport async function reportCategoryEntityFactory(): Promise<AXPEntity | null> {\n return {\n module: RootConfig.module.name,\n name: RootConfig.entities.category.name,\n parentKey: 'parentId',\n title: RootConfig.entities.category.title,\n icon: RootConfig.entities.category.icon,\n searchTags: [\n 'report-category',\n 'report-folder',\n 'report-group',\n 'category-tree',\n 'report-organization',\n 'report-hierarchy',\n 'report-classification',\n 'دسته گزارش',\n 'دسته‌های گزارش',\n 'دسته',\n 'گروه گزارش',\n ],\n formats: {\n individual: RootConfig.entities.category.title,\n plural: RootConfig.entities.category.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText } },\n },\n {\n name: 'parentId',\n title: '@general:terms.classification.parent',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'childrenCount',\n title: '@general:terms.common.children-count',\n groupId: 'basic-info',\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number } },\n },\n {\n name: 'itemsCount',\n title: '@general:terms.common.items-count',\n groupId: 'basic-info',\n schema: { dataType: 'number', interface: { type: AXPWidgetsCatalog.number } },\n },\n ],\n columns: [{ name: 'title' }, { name: 'description' }],\n interfaces: {\n master: {\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.report-category';\n"],"names":[],"mappings":"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"}
@@ -88,6 +88,20 @@ async function reportGenerationRequestEntityFactory() {
88
88
  name: RootConfig.entities.reportGenerationRequest.name,
89
89
  title: RootConfig.entities.reportGenerationRequest.title,
90
90
  icon: RootConfig.entities.reportGenerationRequest.icon,
91
+ searchTags: [
92
+ 'report-generation',
93
+ 'background-report',
94
+ 'report-export',
95
+ 'report-job',
96
+ 'async-report',
97
+ 'scheduled-report',
98
+ 'report-queue',
99
+ 'generation-request',
100
+ 'تولید گزارش',
101
+ 'گزارش پس‌زمینه',
102
+ 'اجرای تولید گزارش',
103
+ 'خروجی گزارش',
104
+ ],
91
105
  formats: {
92
106
  individual: RootConfig.entities.reportGenerationRequest.title,
93
107
  plural: RootConfig.entities.reportGenerationRequest.titlePlural,