@acorex-platform/module-timesheet-management-client 0.0.32 → 0.0.37

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 (56) hide show
  1. package/fesm2022/acorex-platform-module-timesheet-management-client-admin-adjust-timesheet-period.command-8lA7h4rI.mjs.map +1 -1
  2. package/fesm2022/acorex-platform-module-timesheet-management-client-approval-inbox.query-Wyz_jjxb.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-module-timesheet-management-client-approve-timesheet-period.command-DlAeGANo.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-module-timesheet-management-client-compare-attendance-vs-timesheet.query-ZZym5nSx.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.mjs +369 -0
  6. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-correction.mjs +252 -0
  8. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-correction.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-period.mjs +347 -0
  10. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-period.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-policy.mjs +281 -0
  12. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-policy.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-work-item.mjs +305 -0
  14. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-work-item.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-acorex-platform-module-timesheet-management-client-contracts-entity-catalog-BbB3MCCl.mjs +97 -0
  16. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-acorex-platform-module-timesheet-management-client-contracts-entity-catalog-BbB3MCCl.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-time-entry.entity-CAs7zUnV.mjs +295 -0
  18. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-time-entry.entity-CAs7zUnV.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-correction.entity--wZeCM5Q.mjs +178 -0
  20. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-correction.entity--wZeCM5Q.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-period.entity-BOyfB4YA.mjs +273 -0
  22. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-period.entity-BOyfB4YA.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-policy.entity-CqqN7Xty.mjs +207 -0
  24. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-policy.entity-CqqN7Xty.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-work-item.entity-DilF7u50.mjs +231 -0
  26. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-work-item.entity-DilF7u50.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog.mjs +2 -0
  28. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-module-timesheet-management-client-create-time-entry.command-DS2EVLym.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-module-timesheet-management-client-delete-time-entry.command-5_ItHpnx.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-module-timesheet-management-client-local-entities.mjs +33 -0
  33. package/fesm2022/acorex-platform-module-timesheet-management-client-local-entities.mjs.map +1 -0
  34. package/fesm2022/acorex-platform-module-timesheet-management-client-lock-timesheet-period.command-D7V7SWUK.mjs.map +1 -1
  35. package/fesm2022/acorex-platform-module-timesheet-management-client-my-timesheet-grid.query-DlDY3tdF.mjs.map +1 -1
  36. package/fesm2022/acorex-platform-module-timesheet-management-client-reject-timesheet-period.command-CONxKPNm.mjs.map +1 -1
  37. package/fesm2022/acorex-platform-module-timesheet-management-client-reopen-timesheet-period.command-DRr_c67L.mjs.map +1 -1
  38. package/fesm2022/acorex-platform-module-timesheet-management-client-report-billable-summary.query-BeLk4Of7.mjs.map +1 -1
  39. package/fesm2022/acorex-platform-module-timesheet-management-client-report-hours-by-project.query-Sp8cLnTC.mjs.map +1 -1
  40. package/fesm2022/acorex-platform-module-timesheet-management-client-report-hours-by-work-item.query-C8RU9Uc0.mjs.map +1 -1
  41. package/fesm2022/acorex-platform-module-timesheet-management-client-submit-timesheet-period.command-C2qlQVIC.mjs.map +1 -1
  42. package/fesm2022/acorex-platform-module-timesheet-management-client-team-timesheets.query-B0QpkVEI.mjs.map +1 -1
  43. package/fesm2022/acorex-platform-module-timesheet-management-client-timesheet-validation.service-DMrJn3HU.mjs.map +1 -1
  44. package/fesm2022/acorex-platform-module-timesheet-management-client-update-time-entry.command-Do6s9OrI.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-module-timesheet-management-client-work-item-search.query-BA2kvF-S.mjs.map +1 -1
  46. package/fesm2022/acorex-platform-module-timesheet-management-client-workforce-exception-report.query-0q-AITic.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-module-timesheet-management-client.mjs +1 -1
  48. package/fesm2022/acorex-platform-module-timesheet-management-client.mjs.map +1 -1
  49. package/package.json +29 -1
  50. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.d.ts +8 -0
  51. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-correction.d.ts +8 -0
  52. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-period.d.ts +8 -0
  53. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-policy.d.ts +8 -0
  54. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-work-item.d.ts +8 -0
  55. package/types/acorex-platform-module-timesheet-management-client-contracts-entity-catalog.d.ts +10 -0
  56. package/types/acorex-platform-module-timesheet-management-client-local-entities.d.ts +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-timesheet-management-client.mjs","sources":["../../../../libs/modules/timesheet-management/client/src/lib/features/my-timesheet/my-timesheet-page.component.ts","../../../../libs/modules/timesheet-management/client/src/lib/features/my-timesheet/my-timesheet-page.component.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/features/my-timesheet/my-timesheet-page.routes.ts","../../../../libs/modules/timesheet-management/client/src/lib/feature-definition.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/features/timesheet-correction/timesheet-correction-status.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/features/timesheet-period/timesheet-period-status.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/manifest.ts","../../../../libs/modules/timesheet-management/client/src/lib/menu.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/timesheet-management.module.ts","../../../../libs/modules/timesheet-management/client/src/acorex-platform-module-timesheet-management-client.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSystemStatusType } from '@acorex-platform/framework-shared/core';\nimport { AXPThemeLayoutBlockComponent } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport {\n AXPPageLayoutBase,\n AXPPageLayoutBaseComponent,\n AXPPageLayoutComponent,\n} from '@acorex-platform/framework-client/layout/views';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { AsyncPipe, CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n OnInit,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { groupBy, sumBy } from 'lodash';\nimport { RootConfig } from '@acorex-platform/module-timesheet-management-client/contracts';\nimport type { AXMTimesheetManagementTimeEntryEntityModel } from '@acorex-platform/module-timesheet-management-client/contracts';\nimport type { AXMTimesheetManagementTimesheetPeriodEntityModel } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-my-timesheet-page',\n imports: [\n CommonModule,\n AsyncPipe,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n ],\n template: `\n <axp-page-layout>\n <axp-page-content>\n <div class=\"flex flex-col gap-4 p-4\">\n @if (loading()) {\n <ax-loading />\n } @else if (!period()) {\n <p class=\"text-sm text-muted\">\n {{ '@timesheet-management:pages.my-timesheet.empty-period' | translate | async }}\n </p>\n } @else {\n <div class=\"flex flex-wrap items-center justify-between gap-4\">\n <div>\n <p class=\"text-sm font-medium\">\n {{ period()?.startDate }} – {{ period()?.endDate }}\n </p>\n <p class=\"text-xs text-muted\">\n {{ '@timesheet-management:timesheet-periods.entities.timesheet-period.fields.status' | translate | async }}:\n {{ period()?.statusId }}\n </p>\n </div>\n <div class=\"flex items-center gap-3\">\n <p class=\"text-sm\">{{ formatHours(totalSeconds()) }}</p>\n @if (canSubmit()) {\n <ax-button color=\"primary\" (onClick)=\"submitCurrentPeriod()\">\n {{ '@timesheet-management:timesheet-periods.transitions.submit' | translate | async }}\n </ax-button>\n }\n </div>\n </div>\n\n <div class=\"overflow-x-auto rounded border border-surface\">\n <table class=\"w-full text-sm\">\n <thead>\n <tr class=\"border-b border-surface bg-lighter-surface\">\n <th class=\"p-2 text-left\">{{ '@general:terms.date' | translate | async }}</th>\n <th class=\"p-2 text-right\">{{ '@timesheet-management:time-entries.entities.time-entry.fields.duration' | translate | async }}</th>\n <th class=\"p-2 text-left\">{{ '@timesheet-management:work-items.entities.work-item.title' | translate | async }}</th>\n </tr>\n </thead>\n <tbody>\n @for (day of days(); track day.date) {\n <tr class=\"border-b border-lighter-surface\">\n <td class=\"p-2\">{{ day.date }}</td>\n <td class=\"p-2 text-right\">{{ formatHours(day.totalSeconds) }}</td>\n <td class=\"p-2\">{{ day.entries.length }}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </div>\n </axp-page-content>\n </axp-page-layout>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMMyTimesheetPageComponent,\n },\n ],\n host: { class: 'axm-my-timesheet-page block w-full' },\n})\nexport class AXMMyTimesheetPageComponent extends AXPPageLayoutBaseComponent implements OnInit {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly commandService = inject(AXPCommandService);\n\n //#endregion\n\n //#region ---- State ----\n\n protected readonly loading = signal(false);\n protected readonly period = signal<AXMTimesheetManagementTimesheetPeriodEntityModel | null>(null);\n protected readonly days = signal<{ date: string; totalSeconds: number; entries: AXMTimesheetManagementTimeEntryEntityModel[] }[]>([]);\n protected readonly totalSeconds = signal(0);\n\n protected readonly canSubmit = computed(\n () => this.period()?.statusId === AXPSystemStatusType.Draft,\n );\n\n //#endregion\n\n //#region ---- Lifecycle ----\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n await this.loadGrid();\n }\n\n //#endregion\n\n //#region ---- Page metadata ----\n\n override getPageTitle(): string {\n return RootConfig.pages.myTimesheet.title;\n }\n\n //#endregion\n\n //#region ---- UI handlers ----\n\n protected formatHours(totalSeconds: number): string {\n const hours = Math.floor(totalSeconds / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n return `${hours}h ${minutes}m`;\n }\n\n //#endregion\n\n //#region ---- Data loading ----\n\n private async loadGrid(): Promise<void> {\n const employeeId = this.sessionService.user?.id;\n if (!employeeId) {\n return;\n }\n\n this.loading.set(true);\n try {\n const periodAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.timesheetPeriod.name)\n .data<string, AXMTimesheetManagementTimesheetPeriodEntityModel>();\n\n const periods = await periodAccessor.query({\n skip: 0,\n take: 1,\n sort: [{ field: 'startDate', dir: 'desc' }],\n filter: {\n field: 'employeeId',\n operator: { type: 'equal' },\n value: employeeId,\n },\n });\n\n const currentPeriod = periods.items[0] ?? null;\n this.period.set(currentPeriod);\n\n if (!currentPeriod) {\n this.days.set([]);\n this.totalSeconds.set(0);\n this.recompute();\n return;\n }\n\n const entryAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.timeEntry.name)\n .data<string, AXMTimesheetManagementTimeEntryEntityModel>();\n\n const entriesResult = await entryAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [\n { field: 'employeeId', operator: { type: 'equal' }, value: employeeId },\n { field: 'periodId', operator: { type: 'equal' }, value: currentPeriod.id },\n ],\n },\n });\n\n const grouped = groupBy(entriesResult.items, (row) => row.entryDate);\n const days = Object.keys(grouped)\n .sort()\n .map((date) => ({\n date,\n totalSeconds: sumBy(grouped[date], (row) => row.durationSeconds ?? 0),\n entries: grouped[date],\n }));\n\n this.days.set(days);\n this.totalSeconds.set(sumBy(entriesResult.items, (row) => row.durationSeconds ?? 0));\n this.recompute();\n } finally {\n this.loading.set(false);\n }\n }\n\n /** Submits the current period via the registered command. */\n protected async submitCurrentPeriod(): Promise<void> {\n const id = this.period()?.id;\n if (!id) {\n return;\n }\n\n const result = await this.commandService.execute('TimesheetManagement.TimesheetPeriod:Submit', { id });\n if (result?.success) {\n await this.loadGrid();\n }\n }\n\n //#endregion\n}\n\n//#endregion\n","import {\n AXPPageComponentDefinition,\n AXPPageComponentProvider,\n} from '@acorex-platform/framework-client/layout/components';\nimport { Injectable } from '@angular/core';\n\n//#region ---- Page component key ----\n\nexport const MY_TIMESHEET_PAGE_COMPONENT_KEY = 'timesheet-management-my-timesheet-page';\n\n//#endregion\n\n//#region ---- My Timesheet Page Component Provider ----\n\n@Injectable()\nexport class AXMMyTimesheetPageComponentProvider implements AXPPageComponentProvider {\n async components(): Promise<AXPPageComponentDefinition[]> {\n return [\n {\n key: MY_TIMESHEET_PAGE_COMPONENT_KEY,\n loader: () =>\n import('./my-timesheet-page.component').then((m) => m.AXMMyTimesheetPageComponent),\n },\n ];\n }\n}\n\n//#endregion\n","import { AXP_PROTECTED_ROUTE_GUARDS } from '@acorex-platform/framework-client/common';\nimport { AXPRootLayoutComponent } from '@acorex-platform/framework-client/themes/default';\nimport { Routes } from '@angular/router';\nimport { RootConfig } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#region ---- My Timesheet Routes ----\n\nexport const myTimesheetPageRoutes: Routes = [\n {\n path: `:app/${RootConfig.module.route}/${RootConfig.pages.myTimesheet.path}`,\n canActivate: [...AXP_PROTECTED_ROUTE_GUARDS],\n loadComponent: () => AXPRootLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () =>\n import('./my-timesheet-page.component').then((m) => m.AXMMyTimesheetPageComponent),\n data: { reuse: true },\n },\n ],\n },\n];\n\n//#endregion\n","//#region ---- Imports ----\n\nimport {\n AXPFeatureDefinitionProvider,\n AXPFeatureDefinitionProviderContext,\n} from '@acorex-platform/framework-client/core';\nimport { AXMTimesheetManagementFeatureKeys } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#endregion\n\n//#region ---- Feature Definition Provider ----\n\nexport class AXMTimesheetManagementFeatureDefinitionProvider implements AXPFeatureDefinitionProvider {\n async provide(context: AXPFeatureDefinitionProviderContext): Promise<void> {\n context.addFeature(AXMTimesheetManagementFeatureKeys.TimesheetEntry, {\n title: '@timesheet-management:features.timesheet-entry.title',\n description: '@timesheet-management:features.timesheet-entry.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n context.addFeature(AXMTimesheetManagementFeatureKeys.TimesheetApproval, {\n title: '@timesheet-management:features.timesheet-approval.title',\n description: '@timesheet-management:features.timesheet-approval.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n context.addFeature(AXMTimesheetManagementFeatureKeys.TimesheetReporting, {\n title: '@timesheet-management:features.timesheet-reporting.title',\n description: '@timesheet-management:features.timesheet-reporting.description',\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPStatusProvider, AXPStatusTransition, AXPSystemStatusType, systemStatusToDefinition } from '@acorex-platform/framework-shared/core';\n\n//#endregion\n\n//#region ---- Timesheet Correction Status Provider ----\n\nexport class AXMTimesheetCorrectionStatusProvider extends AXPStatusProvider {\n readonly key = 'timesheet-management.status.timesheet-correction';\n\n readonly defaultStatus = AXPSystemStatusType.WaitingApproval;\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.WaitingApproval, {\n title: '@timesheet-management:timesheet-corrections.states.waiting-approval',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Approved, {\n title: '@timesheet-management:timesheet-corrections.states.approved',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Rejected, {\n title: '@timesheet-management:timesheet-corrections.states.rejected',\n generateView: true,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.WaitingApproval,\n to: AXPSystemStatusType.Approved,\n title: '@general:statuses.transitions.approve',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.WaitingApproval,\n to: AXPSystemStatusType.Rejected,\n title: '@general:statuses.transitions.reject',\n requiresApproval: true,\n },\n ];\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPStatusProvider, AXPStatusTransition, AXPSystemStatusType, systemStatusToDefinition } from '@acorex-platform/framework-shared/core';\nimport { AXMTimesheetPeriodLockedStatusId } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#endregion\n\n//#region ---- Timesheet Period Status Provider ----\n\n/**\n * Timesheet period status provider defining Draft, WaitingApproval, Approved, Rejected, and locked states.\n * Used by the status plugin to manage period submission, approval, rejection, reopen, and lock transitions.\n */\nexport class AXMTimesheetPeriodStatusProvider extends AXPStatusProvider {\n readonly key = 'timesheet-management.status.timesheet-period';\n\n readonly defaultStatus = AXPSystemStatusType.Draft;\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Draft, {\n title: '@timesheet-management:timesheet-periods.states.draft',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.WaitingApproval, {\n title: '@timesheet-management:timesheet-periods.states.waiting-approval',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Approved, {\n title: '@timesheet-management:timesheet-periods.states.approved',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Rejected, {\n title: '@timesheet-management:timesheet-periods.states.rejected',\n generateView: true,\n }),\n {\n name: AXMTimesheetPeriodLockedStatusId,\n title: '@timesheet-management:timesheet-periods.states.locked',\n color: 'neutral',\n icon: 'fa-light fa-lock',\n generateView: true,\n },\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Draft,\n to: AXPSystemStatusType.WaitingApproval,\n title: '@timesheet-management:timesheet-periods.transitions.submit',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.WaitingApproval,\n to: AXPSystemStatusType.Approved,\n title: '@timesheet-management:timesheet-periods.transitions.approve',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.WaitingApproval,\n to: AXPSystemStatusType.Rejected,\n title: '@timesheet-management:timesheet-periods.transitions.reject',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.Rejected,\n to: AXPSystemStatusType.Draft,\n title: '@timesheet-management:timesheet-periods.transitions.reopen',\n },\n {\n from: AXPSystemStatusType.Approved,\n to: AXPSystemStatusType.Draft,\n title: '@timesheet-management:timesheet-periods.transitions.reopen',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.Approved,\n to: AXMTimesheetPeriodLockedStatusId,\n title: '@timesheet-management:timesheet-periods.transitions.lock',\n requiresApproval: true,\n },\n ];\n}\n\n//#endregion\n","import { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-timesheet-management-client/contracts';\n\nexport const TimesheetManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'domain',\n domain: 'human-capital',\n required: false,\n};\n","import { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport {\n AXPCommonMenuKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport {\n RootConfig,\n AXPProjectsWorkPermissionKeys\n} from '@acorex-platform/module-timesheet-management-client/contracts';\nimport { AXMTimesheetManagementFeatureKeys } from '@acorex-platform/module-timesheet-management-client/contracts';\nimport { AXMTimesheetManagementMenuKeys } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#region ---- Menu Provider ----\n\nexport class AXMTimesheetManagementMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n private readonly sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n\n const module = RootConfig.module;\n const keys = AXPProjectsWorkPermissionKeys;\n const app = this.sessionService.application?.name ?? ':app';\n\n const organizationMenu = context.find(AXPCommonMenuKeys.Organization);\n if (!organizationMenu.exists) {\n context.addItems([\n {\n name: AXPCommonMenuKeys.Organization,\n priority: 9000,\n text: '@organization-management:module.menus.root.title',\n type: 'menu',\n icon: 'fa-light fa-sitemap',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.Organization).addItems([\n {\n name: AXMTimesheetManagementMenuKeys.MyTimesheet,\n text: RootConfig.pages.myTimesheet.title,\n path: `${app}/${RootConfig.module.route}/${RootConfig.pages.myTimesheet.path}`,\n priority: 25,\n icon: RootConfig.pages.myTimesheet.icon,\n policy: {\n permissions: [keys.MaintainTimesheets],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetEntry],\n },\n },\n {\n name: AXMTimesheetManagementMenuKeys.PeriodHistory,\n text: RootConfig.entities.timesheetPeriod.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.timesheetPeriod.name),\n priority: 26,\n icon: RootConfig.entities.timesheetPeriod.icon,\n policy: {\n permissions: [keys.MaintainTimesheets],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetEntry],\n },\n },\n {\n name: AXMTimesheetManagementMenuKeys.ApprovalInbox,\n text: RootConfig.pages.approvalInbox.title,\n path: `${app}/${RootConfig.module.route}/${RootConfig.pages.approvalInbox.path}`,\n priority: 27,\n icon: RootConfig.pages.approvalInbox.icon,\n policy: {\n permissions: [keys.ManageTimesheetActions],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetApproval],\n },\n },\n {\n name: AXMTimesheetManagementMenuKeys.TeamTimesheets,\n text: RootConfig.pages.teamTimesheets.title,\n path: `${app}/${RootConfig.module.route}/${RootConfig.pages.teamTimesheets.path}`,\n priority: 28,\n icon: RootConfig.pages.teamTimesheets.icon,\n policy: {\n permissions: [keys.ManageTimesheetActions],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetApproval],\n },\n },\n {\n name: AXMTimesheetManagementMenuKeys.WorkItems,\n text: RootConfig.entities.workItem.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.workItem.name),\n priority: 29,\n icon: RootConfig.entities.workItem.icon,\n policy: {\n permissions: [keys.MaintainTimesheets],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetEntry],\n },\n },\n ]);\n\n const orgConfigMenu = context.find(AXPCommonMenuKeys.OrganizationConfig);\n if (!orgConfigMenu.exists) {\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: AXPCommonMenuKeys.OrganizationConfig,\n priority: 8600,\n text: '@organization-management:module.menus.configuration.title',\n icon: module.icon,\n type: 'menu',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.OrganizationConfig).addItems([\n {\n name: AXMTimesheetManagementMenuKeys.Policies,\n text: RootConfig.entities.timesheetPolicy.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.timesheetPolicy.name),\n priority: 23,\n icon: RootConfig.entities.timesheetPolicy.icon,\n policy: {\n permissions: [keys.Setup],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetEntry],\n },\n },\n ]);\n }\n}\n\n//#endregion\n","//#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 AXPProjectsWorkPermissionKeys\n} from '@acorex-platform/module-timesheet-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers timesheet capabilities into the shared Projects & Work group.\n */\n@Injectable()\nexport class AXMTimesheetManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPProjectsWorkPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:projects-work.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.ProjectsWork.Root, `${G}.projects-work.title`, `${G}.projects-work.description`, { order: 60 });\n\n context\n .addGroup(\n groups.ProjectsWork.TimeTracking,\n `${G}.projects-work-time-tracking.title`,\n `${G}.projects-work-time-tracking.description`,\n { parent: groups.ProjectsWork.Root, order: 30 },\n )\n .addPermission(\n keys.MaintainTimesheets,\n `${P}.maintain-timesheets.title`,\n `${P}.maintain-timesheets.description`,\n )\n .endPermission()\n .addPermission(\n keys.ManageTimesheetActions,\n `${P}.manage-timesheet-actions.title`,\n `${P}.manage-timesheet-actions.description`,\n )\n .endPermission()\n .addPermission(\n keys.ViewTimesheetReports,\n `${P}.view-timesheet-reports.title`,\n `${P}.view-timesheet-reports.description`,\n )\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXP_MENU_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex-platform/framework-client/common';\nimport { AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';\nimport { AXPRuntimeModule, provideCommandSetups, provideQuerySetups } from '@acorex-platform/framework-client/runtime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ROUTES } from '@angular/router';\nimport { AXMTimesheetManagementCommandKeys } from '@acorex-platform/module-timesheet-management-client/contracts';\n\nimport { AXMTimesheetManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport { AXMMyTimesheetPageComponentProvider } from './features/my-timesheet/my-timesheet-page.component.provider';\nimport { myTimesheetPageRoutes } from './features/my-timesheet/my-timesheet-page.routes';\nimport { AXMTimesheetCorrectionStatusProvider } from './features/timesheet-correction/timesheet-correction-status.provider';\nimport { AXMTimesheetPeriodStatusProvider } from './features/timesheet-period/timesheet-period-status.provider';\nimport { TimesheetManagementManifest } from './manifest';\nimport { AXMTimesheetManagementMenuProvider } from './menu.provider';\nimport { AXMTimesheetManagementPermissionDefinitionProvider } from './permission-definition.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [CommonModule, AXPRuntimeModule],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: () => [...myTimesheetPageRoutes],\n },\n {\n provide: AXP_PAGE_COMPONENT_PROVIDER,\n useClass: AXMMyTimesheetPageComponentProvider,\n multi: true,\n },\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: TimesheetManagementManifest,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMTimesheetManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMTimesheetManagementMenuProvider,\n multi: true,\n },\n \n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXMTimesheetManagementFeatureDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMTimesheetPeriodStatusProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMTimesheetCorrectionStatusProvider,\n multi: true,\n },\n provideCommandSetups([\n // {\n // key: AXMTimesheetManagementCommandKeys.WorkItemResolveFromJira,\n // command: () =>\n // import('./features/work-item/commands/resolve-work-item-from-jira-issue.command').then(\n // (c) => c.ResolveWorkItemFromJiraIssueCommand,\n // ),\n // },\n {\n key: AXMTimesheetManagementCommandKeys.TimeEntryCreate,\n command: () =>\n import('./features/time-entry/commands/create-time-entry.command').then((c) => c.CreateTimeEntryCommand),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimeEntryUpdate,\n command: () =>\n import('./features/time-entry/commands/update-time-entry.command').then((c) => c.UpdateTimeEntryCommand),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimeEntryDelete,\n command: () =>\n import('./features/time-entry/commands/delete-time-entry.command').then((c) => c.DeleteTimeEntryCommand),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodSubmit,\n command: () =>\n import('./features/timesheet-period/commands/submit-timesheet-period.command').then(\n (c) => c.SubmitTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodApprove,\n command: () =>\n import('./features/timesheet-period/commands/approve-timesheet-period.command').then(\n (c) => c.ApproveTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodReject,\n command: () =>\n import('./features/timesheet-period/commands/reject-timesheet-period.command').then(\n (c) => c.RejectTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodReopen,\n command: () =>\n import('./features/timesheet-period/commands/reopen-timesheet-period.command').then(\n (c) => c.ReopenTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodLock,\n command: () =>\n import('./features/timesheet-period/commands/lock-timesheet-period.command').then(\n (c) => c.LockTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodAdminAdjust,\n command: () =>\n import('./features/timesheet-period/commands/admin-adjust-timesheet-period.command').then(\n (c) => c.AdminAdjustTimesheetPeriodCommand,\n ),\n },\n ]),\n provideQuerySetups([\n {\n key: 'TimesheetManagement:MyTimesheetGrid',\n loader: () =>\n import('./features/reporting/queries/my-timesheet-grid.query').then((c) => c.AXMMyTimesheetGridQuery),\n },\n {\n key: 'TimesheetManagement:TeamTimesheets',\n loader: () =>\n import('./features/reporting/queries/team-timesheets.query').then((c) => c.AXMTeamTimesheetsQuery),\n },\n {\n key: 'TimesheetManagement:ApprovalInbox',\n loader: () => import('./features/reporting/queries/approval-inbox.query').then((c) => c.AXMApprovalInboxQuery),\n },\n {\n key: 'TimesheetManagement:ReportHoursByProject',\n loader: () =>\n import('./features/reporting/queries/report-hours-by-project.query').then(\n (c) => c.AXMReportHoursByProjectQuery,\n ),\n },\n {\n key: 'TimesheetManagement:ReportHoursByWorkItem',\n loader: () =>\n import('./features/reporting/queries/report-hours-by-work-item.query').then(\n (c) => c.AXMReportHoursByWorkItemQuery,\n ),\n },\n {\n key: 'TimesheetManagement:ReportBillableSummary',\n loader: () =>\n import('./features/reporting/queries/report-billable-summary.query').then(\n (c) => c.AXMReportBillableSummaryQuery,\n ),\n },\n {\n key: 'TimesheetManagement:WorkItemSearch',\n loader: () =>\n import('./features/reporting/queries/work-item-search.query').then((c) => c.AXMWorkItemSearchQuery),\n },\n {\n key: 'Workforce:CompareAttendanceVsTimesheet',\n loader: () =>\n import('./features/reporting/queries/compare-attendance-vs-timesheet.query').then(\n (c) => c.AXMCompareAttendanceVsTimesheetQuery,\n ),\n },\n {\n key: 'Workforce:ExceptionReport',\n loader: () =>\n import('./features/reporting/queries/workforce-exception-report.query').then(\n (c) => c.AXMWorkforceExceptionReportQuery,\n ),\n },\n ]),\n ],\n})\nexport class AXMTimesheetManagementModule {}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-timesheet-management-client.mjs","sources":["../../../../libs/modules/timesheet-management/client/src/lib/features/my-timesheet/my-timesheet-page.component.ts","../../../../libs/modules/timesheet-management/client/src/lib/features/my-timesheet/my-timesheet-page.component.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/features/my-timesheet/my-timesheet-page.routes.ts","../../../../libs/modules/timesheet-management/client/src/lib/feature-definition.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/features/timesheet-correction/timesheet-correction-status.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/features/timesheet-period/timesheet-period-status.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/manifest.ts","../../../../libs/modules/timesheet-management/client/src/lib/menu.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/timesheet-management/client/src/lib/timesheet-management.module.ts","../../../../libs/modules/timesheet-management/client/src/acorex-platform-module-timesheet-management-client.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSystemStatusType } from '@acorex-platform/framework-shared/core';\nimport { AXPThemeLayoutBlockComponent } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport {\n AXPPageLayoutBase,\n AXPPageLayoutBaseComponent,\n AXPPageLayoutComponent,\n} from '@acorex-platform/framework-client/layout/views';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { AsyncPipe, CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n OnInit,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { groupBy, sumBy } from 'lodash';\nimport { RootConfig } from '@acorex-platform/module-timesheet-management-client/contracts';\nimport type { AXMTimesheetManagementTimeEntryEntityModel } from '@acorex-platform/module-timesheet-management-client/contracts';\nimport type { AXMTimesheetManagementTimesheetPeriodEntityModel } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-my-timesheet-page',\n imports: [\n CommonModule,\n AsyncPipe,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n ],\n template: `\n <axp-page-layout>\n <axp-page-content>\n <div class=\"flex flex-col gap-4 p-4\">\n @if (loading()) {\n <ax-loading />\n } @else if (!period()) {\n <p class=\"text-sm text-muted\">\n {{ '@timesheet-management:pages.my-timesheet.empty-period' | translate | async }}\n </p>\n } @else {\n <div class=\"flex flex-wrap items-center justify-between gap-4\">\n <div>\n <p class=\"text-sm font-medium\">\n {{ period()?.startDate }} – {{ period()?.endDate }}\n </p>\n <p class=\"text-xs text-muted\">\n {{ '@timesheet-management:timesheet-periods.entities.timesheet-period.fields.status' | translate | async }}:\n {{ period()?.statusId }}\n </p>\n </div>\n <div class=\"flex items-center gap-3\">\n <p class=\"text-sm\">{{ formatHours(totalSeconds()) }}</p>\n @if (canSubmit()) {\n <ax-button color=\"primary\" (onClick)=\"submitCurrentPeriod()\">\n {{ '@timesheet-management:timesheet-periods.transitions.submit' | translate | async }}\n </ax-button>\n }\n </div>\n </div>\n\n <div class=\"overflow-x-auto rounded border border-surface\">\n <table class=\"w-full text-sm\">\n <thead>\n <tr class=\"border-b border-surface bg-lighter-surface\">\n <th class=\"p-2 text-left\">{{ '@general:terms.date' | translate | async }}</th>\n <th class=\"p-2 text-right\">{{ '@timesheet-management:time-entries.entities.time-entry.fields.duration' | translate | async }}</th>\n <th class=\"p-2 text-left\">{{ '@timesheet-management:work-items.entities.work-item.title' | translate | async }}</th>\n </tr>\n </thead>\n <tbody>\n @for (day of days(); track day.date) {\n <tr class=\"border-b border-lighter-surface\">\n <td class=\"p-2\">{{ day.date }}</td>\n <td class=\"p-2 text-right\">{{ formatHours(day.totalSeconds) }}</td>\n <td class=\"p-2\">{{ day.entries.length }}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </div>\n </axp-page-content>\n </axp-page-layout>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMMyTimesheetPageComponent,\n },\n ],\n host: { class: 'axm-my-timesheet-page block w-full' },\n})\nexport class AXMMyTimesheetPageComponent extends AXPPageLayoutBaseComponent implements OnInit {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly commandService = inject(AXPCommandService);\n\n //#endregion\n\n //#region ---- State ----\n\n protected readonly loading = signal(false);\n protected readonly period = signal<AXMTimesheetManagementTimesheetPeriodEntityModel | null>(null);\n protected readonly days = signal<{ date: string; totalSeconds: number; entries: AXMTimesheetManagementTimeEntryEntityModel[] }[]>([]);\n protected readonly totalSeconds = signal(0);\n\n protected readonly canSubmit = computed(\n () => this.period()?.statusId === AXPSystemStatusType.Draft,\n );\n\n //#endregion\n\n //#region ---- Lifecycle ----\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n await this.loadGrid();\n }\n\n //#endregion\n\n //#region ---- Page metadata ----\n\n override getPageTitle(): string {\n return RootConfig.pages.myTimesheet.title;\n }\n\n //#endregion\n\n //#region ---- UI handlers ----\n\n protected formatHours(totalSeconds: number): string {\n const hours = Math.floor(totalSeconds / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n return `${hours}h ${minutes}m`;\n }\n\n //#endregion\n\n //#region ---- Data loading ----\n\n private async loadGrid(): Promise<void> {\n const employeeId = this.sessionService.user?.id;\n if (!employeeId) {\n return;\n }\n\n this.loading.set(true);\n try {\n const periodAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.timesheetPeriod.name)\n .data<string, AXMTimesheetManagementTimesheetPeriodEntityModel>();\n\n const periods = await periodAccessor.query({\n skip: 0,\n take: 1,\n sort: [{ field: 'startDate', dir: 'desc' }],\n filter: {\n field: 'employeeId',\n operator: { type: 'equal' },\n value: employeeId,\n },\n });\n\n const currentPeriod = periods.items[0] ?? null;\n this.period.set(currentPeriod);\n\n if (!currentPeriod) {\n this.days.set([]);\n this.totalSeconds.set(0);\n this.recompute();\n return;\n }\n\n const entryAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.timeEntry.name)\n .data<string, AXMTimesheetManagementTimeEntryEntityModel>();\n\n const entriesResult = await entryAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n logic: 'and',\n filters: [\n { field: 'employeeId', operator: { type: 'equal' }, value: employeeId },\n { field: 'periodId', operator: { type: 'equal' }, value: currentPeriod.id },\n ],\n },\n });\n\n const grouped = groupBy(entriesResult.items, (row) => row.entryDate);\n const days = Object.keys(grouped)\n .sort()\n .map((date) => ({\n date,\n totalSeconds: sumBy(grouped[date], (row) => row.durationSeconds ?? 0),\n entries: grouped[date],\n }));\n\n this.days.set(days);\n this.totalSeconds.set(sumBy(entriesResult.items, (row) => row.durationSeconds ?? 0));\n this.recompute();\n } finally {\n this.loading.set(false);\n }\n }\n\n /** Submits the current period via the registered command. */\n protected async submitCurrentPeriod(): Promise<void> {\n const id = this.period()?.id;\n if (!id) {\n return;\n }\n\n const result = await this.commandService.execute('TimesheetManagement.TimesheetPeriod:Submit', { id });\n if (result?.success) {\n await this.loadGrid();\n }\n }\n\n //#endregion\n}\n\n//#endregion\n","import {\n AXPPageComponentDefinition,\n AXPPageComponentProvider,\n} from '@acorex-platform/framework-client/layout/components';\nimport { Injectable } from '@angular/core';\n\n//#region ---- Page component key ----\n\nexport const MY_TIMESHEET_PAGE_COMPONENT_KEY = 'timesheet-management-my-timesheet-page';\n\n//#endregion\n\n//#region ---- My Timesheet Page Component Provider ----\n\n@Injectable()\nexport class AXMMyTimesheetPageComponentProvider implements AXPPageComponentProvider {\n async components(): Promise<AXPPageComponentDefinition[]> {\n return [\n {\n key: MY_TIMESHEET_PAGE_COMPONENT_KEY,\n loader: () =>\n import('./my-timesheet-page.component').then((m) => m.AXMMyTimesheetPageComponent),\n },\n ];\n }\n}\n\n//#endregion\n","import { AXP_PROTECTED_ROUTE_GUARDS } from '@acorex-platform/framework-client/common';\nimport { AXPRootLayoutComponent } from '@acorex-platform/framework-client/themes/default';\nimport { Routes } from '@angular/router';\nimport { RootConfig } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#region ---- My Timesheet Routes ----\n\nexport const myTimesheetPageRoutes: Routes = [\n {\n path: `:app/${RootConfig.module.route}/${RootConfig.pages.myTimesheet.path}`,\n canActivate: [...AXP_PROTECTED_ROUTE_GUARDS],\n loadComponent: () => AXPRootLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () =>\n import('./my-timesheet-page.component').then((m) => m.AXMMyTimesheetPageComponent),\n data: { reuse: true },\n },\n ],\n },\n];\n\n//#endregion\n","//#region ---- Imports ----\n\nimport {\n AXPFeatureDefinitionProvider,\n AXPFeatureDefinitionProviderContext,\n} from '@acorex-platform/framework-client/core';\nimport { AXMTimesheetManagementFeatureKeys } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#endregion\n\n//#region ---- Feature Definition Provider ----\n\nexport class AXMTimesheetManagementFeatureDefinitionProvider implements AXPFeatureDefinitionProvider {\n async provide(context: AXPFeatureDefinitionProviderContext): Promise<void> {\n context.addFeature(AXMTimesheetManagementFeatureKeys.TimesheetEntry, {\n title: '@timesheet-management:features.timesheet-entry.title',\n description: '@timesheet-management:features.timesheet-entry.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n context.addFeature(AXMTimesheetManagementFeatureKeys.TimesheetApproval, {\n title: '@timesheet-management:features.timesheet-approval.title',\n description: '@timesheet-management:features.timesheet-approval.description',\n defaultValue: true,\n type: 'boolean',\n });\n\n context.addFeature(AXMTimesheetManagementFeatureKeys.TimesheetReporting, {\n title: '@timesheet-management:features.timesheet-reporting.title',\n description: '@timesheet-management:features.timesheet-reporting.description',\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPStatusProvider, AXPStatusTransition, AXPSystemStatusType, systemStatusToDefinition } from '@acorex-platform/framework-shared/core';\n\n//#endregion\n\n//#region ---- Timesheet Correction Status Provider ----\n\nexport class AXMTimesheetCorrectionStatusProvider extends AXPStatusProvider {\n readonly key = 'timesheet-management.status.timesheet-correction';\n\n readonly defaultStatus = AXPSystemStatusType.WaitingApproval;\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.WaitingApproval, {\n title: '@timesheet-management:timesheet-corrections.states.waiting-approval',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Approved, {\n title: '@timesheet-management:timesheet-corrections.states.approved',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Rejected, {\n title: '@timesheet-management:timesheet-corrections.states.rejected',\n generateView: true,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.WaitingApproval,\n to: AXPSystemStatusType.Approved,\n title: '@general:statuses.transitions.approve',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.WaitingApproval,\n to: AXPSystemStatusType.Rejected,\n title: '@general:statuses.transitions.reject',\n requiresApproval: true,\n },\n ];\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPStatusProvider, AXPStatusTransition, AXPSystemStatusType, systemStatusToDefinition } from '@acorex-platform/framework-shared/core';\nimport { AXMTimesheetPeriodLockedStatusId } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#endregion\n\n//#region ---- Timesheet Period Status Provider ----\n\n/**\n * Timesheet period status provider defining Draft, WaitingApproval, Approved, Rejected, and locked states.\n * Used by the status plugin to manage period submission, approval, rejection, reopen, and lock transitions.\n */\nexport class AXMTimesheetPeriodStatusProvider extends AXPStatusProvider {\n readonly key = 'timesheet-management.status.timesheet-period';\n\n readonly defaultStatus = AXPSystemStatusType.Draft;\n\n readonly statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Draft, {\n title: '@timesheet-management:timesheet-periods.states.draft',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.WaitingApproval, {\n title: '@timesheet-management:timesheet-periods.states.waiting-approval',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Approved, {\n title: '@timesheet-management:timesheet-periods.states.approved',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Rejected, {\n title: '@timesheet-management:timesheet-periods.states.rejected',\n generateView: true,\n }),\n {\n name: AXMTimesheetPeriodLockedStatusId,\n title: '@timesheet-management:timesheet-periods.states.locked',\n color: 'neutral',\n icon: 'fa-light fa-lock',\n generateView: true,\n },\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Draft,\n to: AXPSystemStatusType.WaitingApproval,\n title: '@timesheet-management:timesheet-periods.transitions.submit',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.WaitingApproval,\n to: AXPSystemStatusType.Approved,\n title: '@timesheet-management:timesheet-periods.transitions.approve',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.WaitingApproval,\n to: AXPSystemStatusType.Rejected,\n title: '@timesheet-management:timesheet-periods.transitions.reject',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.Rejected,\n to: AXPSystemStatusType.Draft,\n title: '@timesheet-management:timesheet-periods.transitions.reopen',\n },\n {\n from: AXPSystemStatusType.Approved,\n to: AXPSystemStatusType.Draft,\n title: '@timesheet-management:timesheet-periods.transitions.reopen',\n requiresApproval: true,\n },\n {\n from: AXPSystemStatusType.Approved,\n to: AXMTimesheetPeriodLockedStatusId,\n title: '@timesheet-management:timesheet-periods.transitions.lock',\n requiresApproval: true,\n },\n ];\n}\n\n//#endregion\n","import { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-timesheet-management-client/contracts';\n\nexport const TimesheetManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'domain',\n domain: 'human-capital',\n required: false,\n};\n","import { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport {\n AXPCommonMenuKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport {\n RootConfig,\n AXPProjectsWorkPermissionKeys\n} from '@acorex-platform/module-timesheet-management-client/contracts';\nimport { AXMTimesheetManagementFeatureKeys } from '@acorex-platform/module-timesheet-management-client/contracts';\nimport { AXMTimesheetManagementMenuKeys } from '@acorex-platform/module-timesheet-management-client/contracts';\n\n//#region ---- Menu Provider ----\n\nexport class AXMTimesheetManagementMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n private readonly sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n\n const module = RootConfig.module;\n const keys = AXPProjectsWorkPermissionKeys;\n const app = this.sessionService.application?.name ?? ':app';\n\n const organizationMenu = context.find(AXPCommonMenuKeys.Organization);\n if (!organizationMenu.exists) {\n context.addItems([\n {\n name: AXPCommonMenuKeys.Organization,\n priority: 9000,\n text: '@organization-management:module.menus.root.title',\n type: 'menu',\n icon: 'fa-light fa-sitemap',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.Organization).addItems([\n {\n name: AXMTimesheetManagementMenuKeys.MyTimesheet,\n text: RootConfig.pages.myTimesheet.title,\n path: `${app}/${RootConfig.module.route}/${RootConfig.pages.myTimesheet.path}`,\n priority: 25,\n icon: RootConfig.pages.myTimesheet.icon,\n policy: {\n permissions: [keys.MaintainTimesheets],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetEntry],\n },\n },\n {\n name: AXMTimesheetManagementMenuKeys.PeriodHistory,\n text: RootConfig.entities.timesheetPeriod.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.timesheetPeriod.name),\n priority: 26,\n icon: RootConfig.entities.timesheetPeriod.icon,\n policy: {\n permissions: [keys.MaintainTimesheets],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetEntry],\n },\n },\n {\n name: AXMTimesheetManagementMenuKeys.ApprovalInbox,\n text: RootConfig.pages.approvalInbox.title,\n path: `${app}/${RootConfig.module.route}/${RootConfig.pages.approvalInbox.path}`,\n priority: 27,\n icon: RootConfig.pages.approvalInbox.icon,\n policy: {\n permissions: [keys.ManageTimesheetActions],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetApproval],\n },\n },\n {\n name: AXMTimesheetManagementMenuKeys.TeamTimesheets,\n text: RootConfig.pages.teamTimesheets.title,\n path: `${app}/${RootConfig.module.route}/${RootConfig.pages.teamTimesheets.path}`,\n priority: 28,\n icon: RootConfig.pages.teamTimesheets.icon,\n policy: {\n permissions: [keys.ManageTimesheetActions],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetApproval],\n },\n },\n {\n name: AXMTimesheetManagementMenuKeys.WorkItems,\n text: RootConfig.entities.workItem.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.workItem.name),\n priority: 29,\n icon: RootConfig.entities.workItem.icon,\n policy: {\n permissions: [keys.MaintainTimesheets],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetEntry],\n },\n },\n ]);\n\n const orgConfigMenu = context.find(AXPCommonMenuKeys.OrganizationConfig);\n if (!orgConfigMenu.exists) {\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: AXPCommonMenuKeys.OrganizationConfig,\n priority: 8600,\n text: '@organization-management:module.menus.configuration.title',\n icon: module.icon,\n type: 'menu',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.OrganizationConfig).addItems([\n {\n name: AXMTimesheetManagementMenuKeys.Policies,\n text: RootConfig.entities.timesheetPolicy.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.timesheetPolicy.name),\n priority: 23,\n icon: RootConfig.entities.timesheetPolicy.icon,\n policy: {\n permissions: [keys.Setup],\n features: [AXMTimesheetManagementFeatureKeys.TimesheetEntry],\n },\n },\n ]);\n }\n}\n\n//#endregion\n","//#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 AXPProjectsWorkPermissionKeys\n} from '@acorex-platform/module-timesheet-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers timesheet capabilities into the shared Projects & Work group.\n */\n@Injectable()\nexport class AXMTimesheetManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPProjectsWorkPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:projects-work.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.ProjectsWork.Root, `${G}.projects-work.title`, `${G}.projects-work.description`, { order: 60 });\n\n context\n .addGroup(\n groups.ProjectsWork.TimeTracking,\n `${G}.projects-work-time-tracking.title`,\n `${G}.projects-work-time-tracking.description`,\n { parent: groups.ProjectsWork.Root, order: 30 },\n )\n .addPermission(\n keys.MaintainTimesheets,\n `${P}.maintain-timesheets.title`,\n `${P}.maintain-timesheets.description`,\n )\n .endPermission()\n .addPermission(\n keys.ManageTimesheetActions,\n `${P}.manage-timesheet-actions.title`,\n `${P}.manage-timesheet-actions.description`,\n )\n .endPermission()\n .addPermission(\n keys.ViewTimesheetReports,\n `${P}.view-timesheet-reports.title`,\n `${P}.view-timesheet-reports.description`,\n )\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXP_MENU_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex-platform/framework-client/common';\nimport { AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';\nimport { AXPRuntimeModule, provideCommandSetups, provideQuerySetups } from '@acorex-platform/framework-client/runtime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ROUTES } from '@angular/router';\nimport { AXMTimesheetManagementCommandKeys } from '@acorex-platform/module-timesheet-management-client/contracts';\n\nimport { AXMTimesheetManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport { AXMMyTimesheetPageComponentProvider } from './features/my-timesheet/my-timesheet-page.component.provider';\nimport { myTimesheetPageRoutes } from './features/my-timesheet/my-timesheet-page.routes';\nimport { AXMTimesheetCorrectionStatusProvider } from './features/timesheet-correction/timesheet-correction-status.provider';\nimport { AXMTimesheetPeriodStatusProvider } from './features/timesheet-period/timesheet-period-status.provider';\nimport { TimesheetManagementManifest } from './manifest';\nimport { AXMTimesheetManagementMenuProvider } from './menu.provider';\nimport { AXMTimesheetManagementPermissionDefinitionProvider } from './permission-definition.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [CommonModule, AXPRuntimeModule],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: () => [...myTimesheetPageRoutes],\n },\n {\n provide: AXP_PAGE_COMPONENT_PROVIDER,\n useClass: AXMMyTimesheetPageComponentProvider,\n multi: true,\n },\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: TimesheetManagementManifest,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMTimesheetManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMTimesheetManagementMenuProvider,\n multi: true,\n },\n \n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXMTimesheetManagementFeatureDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMTimesheetPeriodStatusProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMTimesheetCorrectionStatusProvider,\n multi: true,\n },\n provideCommandSetups([\n // {\n // key: AXMTimesheetManagementCommandKeys.WorkItemResolveFromJira,\n // command: () =>\n // import('./features/work-item/commands/resolve-work-item-from-jira-issue.command').then(\n // (c) => c.ResolveWorkItemFromJiraIssueCommand,\n // ),\n // },\n {\n key: AXMTimesheetManagementCommandKeys.TimeEntryCreate,\n command: () =>\n import('./features/time-entry/commands/create-time-entry.command').then((c) => c.CreateTimeEntryCommand),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimeEntryUpdate,\n command: () =>\n import('./features/time-entry/commands/update-time-entry.command').then((c) => c.UpdateTimeEntryCommand),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimeEntryDelete,\n command: () =>\n import('./features/time-entry/commands/delete-time-entry.command').then((c) => c.DeleteTimeEntryCommand),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodSubmit,\n command: () =>\n import('./features/timesheet-period/commands/submit-timesheet-period.command').then(\n (c) => c.SubmitTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodApprove,\n command: () =>\n import('./features/timesheet-period/commands/approve-timesheet-period.command').then(\n (c) => c.ApproveTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodReject,\n command: () =>\n import('./features/timesheet-period/commands/reject-timesheet-period.command').then(\n (c) => c.RejectTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodReopen,\n command: () =>\n import('./features/timesheet-period/commands/reopen-timesheet-period.command').then(\n (c) => c.ReopenTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodLock,\n command: () =>\n import('./features/timesheet-period/commands/lock-timesheet-period.command').then(\n (c) => c.LockTimesheetPeriodCommand,\n ),\n },\n {\n key: AXMTimesheetManagementCommandKeys.TimesheetPeriodAdminAdjust,\n command: () =>\n import('./features/timesheet-period/commands/admin-adjust-timesheet-period.command').then(\n (c) => c.AdminAdjustTimesheetPeriodCommand,\n ),\n },\n ]),\n provideQuerySetups([\n {\n key: 'TimesheetManagement:MyTimesheetGrid',\n loader: () =>\n import('./features/reporting/queries/my-timesheet-grid.query').then((c) => c.AXMMyTimesheetGridQuery),\n },\n {\n key: 'TimesheetManagement:TeamTimesheets',\n loader: () =>\n import('./features/reporting/queries/team-timesheets.query').then((c) => c.AXMTeamTimesheetsQuery),\n },\n {\n key: 'TimesheetManagement:ApprovalInbox',\n loader: () => import('./features/reporting/queries/approval-inbox.query').then((c) => c.AXMApprovalInboxQuery),\n },\n {\n key: 'TimesheetManagement:ReportHoursByProject',\n loader: () =>\n import('./features/reporting/queries/report-hours-by-project.query').then(\n (c) => c.AXMReportHoursByProjectQuery,\n ),\n },\n {\n key: 'TimesheetManagement:ReportHoursByWorkItem',\n loader: () =>\n import('./features/reporting/queries/report-hours-by-work-item.query').then(\n (c) => c.AXMReportHoursByWorkItemQuery,\n ),\n },\n {\n key: 'TimesheetManagement:ReportBillableSummary',\n loader: () =>\n import('./features/reporting/queries/report-billable-summary.query').then(\n (c) => c.AXMReportBillableSummaryQuery,\n ),\n },\n {\n key: 'TimesheetManagement:WorkItemSearch',\n loader: () =>\n import('./features/reporting/queries/work-item-search.query').then((c) => c.AXMWorkItemSearchQuery),\n },\n {\n key: 'Workforce:CompareAttendanceVsTimesheet',\n loader: () =>\n import('./features/reporting/queries/compare-attendance-vs-timesheet.query').then(\n (c) => c.AXMCompareAttendanceVsTimesheetQuery,\n ),\n },\n {\n key: 'Workforce:ExceptionReport',\n loader: () =>\n import('./features/reporting/queries/workforce-exception-report.query').then(\n (c) => c.AXMWorkforceExceptionReportQuery,\n ),\n },\n ]),\n ],\n})\nexport class AXMTimesheetManagementModule {}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-timesheet-management-client",
3
- "version": "0.0.32",
3
+ "version": "0.0.37",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0 || ^22.0.0",
@@ -22,6 +22,34 @@
22
22
  "./contracts": {
23
23
  "types": "./types/acorex-platform-module-timesheet-management-client-contracts.d.ts",
24
24
  "default": "./fesm2022/acorex-platform-module-timesheet-management-client-contracts.mjs"
25
+ },
26
+ "./contracts/entities/time-entry": {
27
+ "types": "./types/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.d.ts",
28
+ "default": "./fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.mjs"
29
+ },
30
+ "./contracts/entities/timesheet-correction": {
31
+ "types": "./types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-correction.d.ts",
32
+ "default": "./fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-correction.mjs"
33
+ },
34
+ "./contracts/entities/timesheet-period": {
35
+ "types": "./types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-period.d.ts",
36
+ "default": "./fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-period.mjs"
37
+ },
38
+ "./contracts/entities/timesheet-policy": {
39
+ "types": "./types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-policy.d.ts",
40
+ "default": "./fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-policy.mjs"
41
+ },
42
+ "./contracts/entities/work-item": {
43
+ "types": "./types/acorex-platform-module-timesheet-management-client-contracts-entities-work-item.d.ts",
44
+ "default": "./fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-work-item.mjs"
45
+ },
46
+ "./contracts/entity-catalog": {
47
+ "types": "./types/acorex-platform-module-timesheet-management-client-contracts-entity-catalog.d.ts",
48
+ "default": "./fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog.mjs"
49
+ },
50
+ "./local-entities": {
51
+ "types": "./types/acorex-platform-module-timesheet-management-client-local-entities.d.ts",
52
+ "default": "./fesm2022/acorex-platform-module-timesheet-management-client-local-entities.mjs"
25
53
  }
26
54
  },
27
55
  "type": "module"
@@ -0,0 +1,8 @@
1
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Time entry entity factory for individual logged work intervals.
5
+ */
6
+ declare function factoryTimeEntry(): Promise<AXPEntity | null>;
7
+
8
+ export { factoryTimeEntry };
@@ -0,0 +1,8 @@
1
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Timesheet correction entity factory for post-submission change requests.
5
+ */
6
+ declare function factoryTimesheetCorrection(): Promise<AXPEntity | null>;
7
+
8
+ export { factoryTimesheetCorrection };
@@ -0,0 +1,8 @@
1
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Timesheet period entity factory grouping time entries for approval workflows.
5
+ */
6
+ declare function factoryTimesheetPeriod(): Promise<AXPEntity | null>;
7
+
8
+ export { factoryTimesheetPeriod };
@@ -0,0 +1,8 @@
1
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Timesheet policy entity factory defining validation rules for time entry capture.
5
+ */
6
+ declare function factoryTimesheetPolicy(): Promise<AXPEntity | null>;
7
+
8
+ export { factoryTimesheetPolicy };
@@ -0,0 +1,8 @@
1
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Work item entity factory for billable/non-billable time tracking references.
5
+ */
6
+ declare function factoryWorkItem(): Promise<AXPEntity | null>;
7
+
8
+ export { factoryWorkItem };
@@ -0,0 +1,10 @@
1
+ import { AXPLocalEntityCatalog } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Lazy per-entity layout factories. Do not re-export from the contracts barrel
5
+ * so RootConfig imports stay light. Server seed and client `local-entities`
6
+ * consume this catalog explicitly.
7
+ */
8
+ declare const timesheetManagementLocalEntityCatalog: AXPLocalEntityCatalog;
9
+
10
+ export { timesheetManagementLocalEntityCatalog };
@@ -0,0 +1,12 @@
1
+ import * as _angular_core from '@angular/core';
2
+ export { timesheetManagementLocalEntityCatalog } from '@acorex-platform/module-timesheet-management-client/contracts/entity-catalog';
3
+
4
+ /**
5
+ * Registers timesheet-management layouts on the client from packaged factories.
6
+ * Each `import()` targets a secondary entry so unused entities stay out of the
7
+ * bundle. Do not add this to the demo app; demo continues to load layouts via
8
+ * `Domain:GetEntityLayout`.
9
+ */
10
+ declare function provideTimesheetManagementLocalEntities(): _angular_core.EnvironmentProviders;
11
+
12
+ export { provideTimesheetManagementLocalEntities };