@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
@@ -0,0 +1,295 @@
1
+ import { AXPWidgetsCatalog, AXPRegionalSetting } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+ import { R as RootConfig } from './acorex-platform-module-timesheet-management-client-contracts-entity-catalog-acorex-platform-module-timesheet-management-client-contracts-entity-catalog-BbB3MCCl.mjs';
4
+
5
+ //#region ---- Constants ----
6
+ const i18n = RootConfig.config.i18n;
7
+ const entityI18n = `${i18n}:time-entries.entities.time-entry`;
8
+ const listSortAndFilterOptions = {
9
+ sort: { enabled: true },
10
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
11
+ };
12
+ //#endregion
13
+ //#region ---- Entity Factory ----
14
+ /**
15
+ * Time entry entity factory for individual logged work intervals.
16
+ */
17
+ async function factoryTimeEntry() {
18
+ const entityDef = {
19
+ module: RootConfig.module.name,
20
+ name: RootConfig.entities.timeEntry.name,
21
+ title: RootConfig.entities.timeEntry.title,
22
+ icon: RootConfig.entities.timeEntry.icon,
23
+ formats: {
24
+ individual: RootConfig.entities.timeEntry.title,
25
+ plural: RootConfig.entities.timeEntry.titlePlural,
26
+ searchResult: {
27
+ title: '{{ workItem.code }}',
28
+ description: '{{ entryDate | date:"mediumDate" }} — {{ durationSeconds }}s',
29
+ },
30
+ },
31
+ plugins: [{ name: 'history' }],
32
+ groups: [
33
+ { id: 'basic-info', title: '@general:terms.interface.basic-info' },
34
+ { id: 'timing', title: `@${entityI18n}.groups.timing` },
35
+ { id: 'details', title: `@${entityI18n}.groups.details` },
36
+ ],
37
+ properties: [
38
+ {
39
+ name: 'id',
40
+ title: '@general:terms.common.id',
41
+ groupId: 'basic-info',
42
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
43
+ },
44
+ {
45
+ name: 'employeeId',
46
+ title: `@${entityI18n}.fields.employee-id.title`,
47
+ groupId: 'basic-info',
48
+ options: listSortAndFilterOptions,
49
+ schema: {
50
+ dataType: 'string',
51
+ interface: {
52
+ type: AXPWidgetsCatalog.lookup,
53
+ options: {
54
+ look: 'select',
55
+ entity: 'HumanCapitalManagement.Employee',
56
+ textField: 'person.fullName',
57
+ valueField: 'id',
58
+ expose: [
59
+ { source: 'id', target: 'employee.id' },
60
+ { source: 'employeeCode', target: 'employee.employeeCode' },
61
+ { source: 'person.fullName', target: 'employee.person.fullName' },
62
+ ],
63
+ },
64
+ },
65
+ },
66
+ validations: [{ rule: 'required' }],
67
+ },
68
+ {
69
+ name: 'periodId',
70
+ title: `@${entityI18n}.fields.period-id.title`,
71
+ groupId: 'basic-info',
72
+ options: listSortAndFilterOptions,
73
+ schema: {
74
+ dataType: 'string',
75
+ interface: {
76
+ type: AXPWidgetsCatalog.lookup,
77
+ options: {
78
+ look: 'select',
79
+ entity: `${RootConfig.module.name}.${RootConfig.entities.timesheetPeriod.name}`,
80
+ textField: 'startDate',
81
+ valueField: 'id',
82
+ expose: [
83
+ { source: 'id', target: 'period.id' },
84
+ { source: 'startDate', target: 'period.startDate' },
85
+ { source: 'endDate', target: 'period.endDate' },
86
+ { source: 'statusId', target: 'period.statusId' },
87
+ ],
88
+ },
89
+ },
90
+ },
91
+ validations: [{ rule: 'required' }],
92
+ },
93
+ {
94
+ name: 'workItemId',
95
+ title: `@${entityI18n}.fields.work-item-id.title`,
96
+ groupId: 'basic-info',
97
+ options: listSortAndFilterOptions,
98
+ schema: {
99
+ dataType: 'string',
100
+ interface: {
101
+ type: AXPWidgetsCatalog.lookup,
102
+ options: {
103
+ look: 'select',
104
+ entity: `${RootConfig.module.name}.${RootConfig.entities.workItem.name}`,
105
+ textField: 'code',
106
+ valueField: 'id',
107
+ expose: [
108
+ { source: 'id', target: 'workItem.id' },
109
+ { source: 'code', target: 'workItem.code' },
110
+ { source: 'title', target: 'workItem.title' },
111
+ ],
112
+ },
113
+ },
114
+ },
115
+ validations: [{ rule: 'required' }],
116
+ },
117
+ {
118
+ name: 'projectId',
119
+ title: `@${entityI18n}.fields.project-id.title`,
120
+ groupId: 'basic-info',
121
+ options: listSortAndFilterOptions,
122
+ schema: {
123
+ dataType: 'string',
124
+ interface: {
125
+ type: AXPWidgetsCatalog.lookup,
126
+ options: {
127
+ look: 'select',
128
+ entity: 'ProjectManagement.Project',
129
+ textField: 'name',
130
+ valueField: 'id',
131
+ expose: [
132
+ { source: 'id', target: 'project.id' },
133
+ { source: 'title', target: 'project.title' },
134
+ ],
135
+ },
136
+ },
137
+ },
138
+ },
139
+ {
140
+ name: 'startedAt',
141
+ title: `@${entityI18n}.fields.started-at.title`,
142
+ groupId: 'timing',
143
+ options: listSortAndFilterOptions,
144
+ schema: {
145
+ dataType: 'date',
146
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
147
+ },
148
+ },
149
+ {
150
+ name: 'endedAt',
151
+ title: `@${entityI18n}.fields.ended-at.title`,
152
+ groupId: 'timing',
153
+ options: listSortAndFilterOptions,
154
+ schema: {
155
+ dataType: 'date',
156
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
157
+ },
158
+ },
159
+ {
160
+ name: 'durationSeconds',
161
+ title: `@${entityI18n}.fields.duration-seconds.title`,
162
+ groupId: 'timing',
163
+ options: listSortAndFilterOptions,
164
+ schema: {
165
+ dataType: 'number',
166
+ interface: { type: AXPWidgetsCatalog.number, options: { minValue: 0 } },
167
+ },
168
+ validations: [{ rule: 'required' }],
169
+ },
170
+ {
171
+ name: 'description',
172
+ title: '@general:terms.common.description',
173
+ groupId: 'details',
174
+ schema: {
175
+ dataType: 'string',
176
+ interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 3 } },
177
+ },
178
+ },
179
+ {
180
+ name: 'isBillable',
181
+ title: `@${entityI18n}.fields.is-billable.title`,
182
+ groupId: 'details',
183
+ options: listSortAndFilterOptions,
184
+ schema: {
185
+ dataType: 'boolean',
186
+ defaultValue: true,
187
+ interface: { type: AXPWidgetsCatalog.toggle },
188
+ },
189
+ },
190
+ {
191
+ name: 'entryDate',
192
+ title: `@${entityI18n}.fields.entry-date.title`,
193
+ groupId: 'timing',
194
+ options: listSortAndFilterOptions,
195
+ schema: {
196
+ dataType: 'date',
197
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'date' } },
198
+ },
199
+ validations: [{ rule: 'required' }],
200
+ },
201
+ {
202
+ name: 'timezone',
203
+ title: `@${entityI18n}.fields.timezone.title`,
204
+ groupId: 'timing',
205
+ schema: {
206
+ dataType: 'string',
207
+ defaultValue: `{{ settings.get('${AXPRegionalSetting.TimeZone}') }}`,
208
+ interface: {
209
+ type: AXPWidgetsCatalog.lookup,
210
+ options: {
211
+ entity: 'LocaleManagement.Timezones',
212
+ look: 'select',
213
+ allowSearch: true,
214
+ valueField: 'code',
215
+ textField: 'title',
216
+ filter: {
217
+ logic: 'and',
218
+ filters: [{ field: 'isActive', operator: { type: 'equal' }, value: true }],
219
+ },
220
+ },
221
+ },
222
+ },
223
+ validations: [{ rule: 'required' }],
224
+ },
225
+ ],
226
+ columns: [
227
+ { name: 'employeeId', options: { dataPath: 'employee.person.fullName' } },
228
+ { name: 'periodId', options: { dataPath: 'period.startDate' } },
229
+ { name: 'workItemId', options: { dataPath: 'workItem.code' } },
230
+ { name: 'projectId', options: { dataPath: 'project.title' } },
231
+ { name: 'entryDate' },
232
+ { name: 'durationSeconds' },
233
+ { name: 'isBillable' },
234
+ ],
235
+ interfaces: {
236
+ master: {
237
+ create: {
238
+ sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],
239
+ properties: [
240
+ { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },
241
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
242
+ { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },
243
+ { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },
244
+ { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },
245
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },
246
+ { name: 'startedAt', layout: { positions: { lg: { colSpan: 6 } } } },
247
+ { name: 'endedAt', layout: { positions: { lg: { colSpan: 6 } } } },
248
+ { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },
249
+ { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },
250
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
251
+ ],
252
+ },
253
+ update: {
254
+ sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],
255
+ properties: [
256
+ { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },
257
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
258
+ { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },
259
+ { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },
260
+ { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },
261
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },
262
+ { name: 'startedAt', layout: { positions: { lg: { colSpan: 6 } } } },
263
+ { name: 'endedAt', layout: { positions: { lg: { colSpan: 6 } } } },
264
+ { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },
265
+ { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },
266
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
267
+ ],
268
+ },
269
+ single: {
270
+ title: '{{ workItem.code }}',
271
+ sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],
272
+ properties: [
273
+ { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },
274
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
275
+ { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },
276
+ { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },
277
+ { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },
278
+ { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },
279
+ { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },
280
+ ],
281
+ actions: [...entityMasterRecordActions()],
282
+ },
283
+ list: {
284
+ actions: [...entityMasterCrudActions()],
285
+ views: [createAllQueryView({ sorts: [{ name: 'entryDate', dir: 'desc' }] })],
286
+ },
287
+ },
288
+ },
289
+ };
290
+ return entityDef;
291
+ }
292
+ //#endregion
293
+
294
+ export { factoryTimeEntry };
295
+ //# sourceMappingURL=acorex-platform-module-timesheet-management-client-contracts-entity-catalog-time-entry.entity-CAs7zUnV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-timesheet-management-client-contracts-entity-catalog-time-entry.entity-CAs7zUnV.mjs","sources":["../../../../libs/modules/timesheet-management/contracts/src/entities/time-entry/time-entry.entity.ts"],"sourcesContent":["import { AXPRegionalSetting, AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Constants ----\n\nconst i18n = RootConfig.config.i18n;\nconst entityI18n = `${i18n}:time-entries.entities.time-entry`;\n\nconst listSortAndFilterOptions = {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n};\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\n/**\n * Time entry entity factory for individual logged work intervals.\n */\nexport async function factoryTimeEntry(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.timeEntry.name,\n title: RootConfig.entities.timeEntry.title,\n icon: RootConfig.entities.timeEntry.icon,\n formats: {\n individual: RootConfig.entities.timeEntry.title,\n plural: RootConfig.entities.timeEntry.titlePlural,\n searchResult: {\n title: '{{ workItem.code }}',\n description: '{{ entryDate | date:\"mediumDate\" }} — {{ durationSeconds }}s',\n },\n },\n plugins: [{ name: 'history' }],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'timing', title: `@${entityI18n}.groups.timing` },\n { id: 'details', title: `@${entityI18n}.groups.details` },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'employeeId',\n title: `@${entityI18n}.fields.employee-id.title`,\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: 'HumanCapitalManagement.Employee',\n textField: 'person.fullName',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'employee.id' },\n { source: 'employeeCode', target: 'employee.employeeCode' },\n { source: 'person.fullName', target: 'employee.person.fullName' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'periodId',\n title: `@${entityI18n}.fields.period-id.title`,\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: `${RootConfig.module.name}.${RootConfig.entities.timesheetPeriod.name}`,\n textField: 'startDate',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'period.id' },\n { source: 'startDate', target: 'period.startDate' },\n { source: 'endDate', target: 'period.endDate' },\n { source: 'statusId', target: 'period.statusId' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'workItemId',\n title: `@${entityI18n}.fields.work-item-id.title`,\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: `${RootConfig.module.name}.${RootConfig.entities.workItem.name}`,\n textField: 'code',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'workItem.id' },\n { source: 'code', target: 'workItem.code' },\n { source: 'title', target: 'workItem.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'projectId',\n title: `@${entityI18n}.fields.project-id.title`,\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: 'ProjectManagement.Project',\n textField: 'name',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'project.id' },\n { source: 'title', target: 'project.title' },\n ],\n },\n },\n },\n },\n {\n name: 'startedAt',\n title: `@${entityI18n}.fields.started-at.title`,\n groupId: 'timing',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n },\n },\n {\n name: 'endedAt',\n title: `@${entityI18n}.fields.ended-at.title`,\n groupId: 'timing',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },\n },\n },\n {\n name: 'durationSeconds',\n title: `@${entityI18n}.fields.duration-seconds.title`,\n groupId: 'timing',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'number',\n interface: { type: AXPWidgetsCatalog.number, options: { minValue: 0 } },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'details',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 3 } },\n },\n },\n {\n name: 'isBillable',\n title: `@${entityI18n}.fields.is-billable.title`,\n groupId: 'details',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: { type: AXPWidgetsCatalog.toggle },\n },\n },\n {\n name: 'entryDate',\n title: `@${entityI18n}.fields.entry-date.title`,\n groupId: 'timing',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'date' } },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'timezone',\n title: `@${entityI18n}.fields.timezone.title`,\n groupId: 'timing',\n schema: {\n dataType: 'string',\n defaultValue: `{{ settings.get('${AXPRegionalSetting.TimeZone}') }}`,\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'LocaleManagement.Timezones',\n look: 'select',\n allowSearch: true,\n valueField: 'code',\n textField: 'title',\n filter: {\n logic: 'and',\n filters: [{ field: 'isActive', operator: { type: 'equal' }, value: true }],\n },\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [\n { name: 'employeeId', options: { dataPath: 'employee.person.fullName' } },\n { name: 'periodId', options: { dataPath: 'period.startDate' } },\n { name: 'workItemId', options: { dataPath: 'workItem.code' } },\n { name: 'projectId', options: { dataPath: 'project.title' } },\n { name: 'entryDate' },\n { name: 'durationSeconds' },\n { name: 'isBillable' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],\n properties: [\n { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startedAt', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endedAt', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],\n properties: [\n { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startedAt', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endedAt', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{ workItem.code }}',\n sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],\n properties: [\n { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'entryDate', dir: 'desc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+ import { R as RootConfig } from './acorex-platform-module-timesheet-management-client-contracts-entity-catalog-acorex-platform-module-timesheet-management-client-contracts-entity-catalog-BbB3MCCl.mjs';
4
+
5
+ //#region ---- Constants ----
6
+ const i18n = RootConfig.config.i18n;
7
+ const entityI18n = `${i18n}:timesheet-corrections.entities.timesheet-correction`;
8
+ const listSortAndFilterOptions = {
9
+ sort: { enabled: true },
10
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
11
+ };
12
+ //#endregion
13
+ //#region ---- Entity Factory ----
14
+ /**
15
+ * Timesheet correction entity factory for post-submission change requests.
16
+ */
17
+ async function factoryTimesheetCorrection() {
18
+ const entityDef = {
19
+ module: RootConfig.module.name,
20
+ name: RootConfig.entities.timesheetCorrection.name,
21
+ title: RootConfig.entities.timesheetCorrection.title,
22
+ icon: RootConfig.entities.timesheetCorrection.icon,
23
+ formats: {
24
+ individual: RootConfig.entities.timesheetCorrection.title,
25
+ plural: RootConfig.entities.timesheetCorrection.titlePlural,
26
+ searchResult: {
27
+ title: '{{ period.startDate | date:"mediumDate" }}',
28
+ description: '{{ reason }}',
29
+ },
30
+ },
31
+ plugins: [
32
+ { name: 'history' },
33
+ {
34
+ name: 'status',
35
+ options: {
36
+ field: 'statusId',
37
+ definition: 'timesheet-management.status.timesheet-correction',
38
+ },
39
+ },
40
+ ],
41
+ groups: [
42
+ { id: 'basic-info', title: '@general:terms.interface.basic-info' },
43
+ { id: 'changes', title: `@${entityI18n}.groups.changes` },
44
+ ],
45
+ properties: [
46
+ {
47
+ name: 'id',
48
+ title: '@general:terms.common.id',
49
+ groupId: 'basic-info',
50
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
51
+ },
52
+ {
53
+ name: 'periodId',
54
+ title: `@${entityI18n}.fields.period-id.title`,
55
+ groupId: 'basic-info',
56
+ options: listSortAndFilterOptions,
57
+ schema: {
58
+ dataType: 'string',
59
+ interface: {
60
+ type: AXPWidgetsCatalog.lookup,
61
+ options: {
62
+ look: 'select',
63
+ entity: `${RootConfig.module.name}.${RootConfig.entities.timesheetPeriod.name}`,
64
+ textField: 'startDate',
65
+ valueField: 'id',
66
+ expose: [
67
+ { source: 'id', target: 'period.id' },
68
+ { source: 'startDate', target: 'period.startDate' },
69
+ { source: 'endDate', target: 'period.endDate' },
70
+ ],
71
+ },
72
+ },
73
+ },
74
+ validations: [{ rule: 'required' }],
75
+ },
76
+ {
77
+ name: 'requestedById',
78
+ title: `@${entityI18n}.fields.requested-by-id.title`,
79
+ groupId: 'basic-info',
80
+ options: listSortAndFilterOptions,
81
+ schema: {
82
+ dataType: 'string',
83
+ interface: {
84
+ type: AXPWidgetsCatalog.lookup,
85
+ options: {
86
+ look: 'select',
87
+ entity: 'HumanCapitalManagement.Employee',
88
+ textField: 'person.fullName',
89
+ valueField: 'id',
90
+ expose: [{ source: 'id', target: 'requestedBy.id' }],
91
+ },
92
+ },
93
+ },
94
+ validations: [{ rule: 'required' }],
95
+ },
96
+ {
97
+ name: 'reason',
98
+ title: `@${entityI18n}.fields.reason.title`,
99
+ groupId: 'basic-info',
100
+ schema: {
101
+ dataType: 'string',
102
+ interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 3 } },
103
+ },
104
+ validations: [{ rule: 'required' }],
105
+ },
106
+ {
107
+ name: 'statusId',
108
+ title: `@${entityI18n}.fields.status-id.title`,
109
+ groupId: 'basic-info',
110
+ options: listSortAndFilterOptions,
111
+ schema: {
112
+ dataType: 'string',
113
+ readonly: true,
114
+ visible: false,
115
+ interface: { type: AXPWidgetsCatalog.text },
116
+ },
117
+ },
118
+ {
119
+ name: 'changes',
120
+ title: `@${entityI18n}.fields.changes.title`,
121
+ groupId: 'changes',
122
+ schema: {
123
+ dataType: 'string',
124
+ interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 6 } },
125
+ },
126
+ validations: [{ rule: 'required' }],
127
+ },
128
+ ],
129
+ columns: [
130
+ { name: 'periodId', options: { dataPath: 'period.startDate' } },
131
+ { name: 'requestedById' },
132
+ { name: 'statusId' },
133
+ { name: 'reason' },
134
+ ],
135
+ interfaces: {
136
+ master: {
137
+ create: {
138
+ sections: [{ id: 'basic-info' }, { id: 'changes' }],
139
+ properties: [
140
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
141
+ { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },
142
+ { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },
143
+ { name: 'changes', layout: { positions: { lg: { colSpan: 12 } } } },
144
+ ],
145
+ },
146
+ update: {
147
+ sections: [{ id: 'basic-info' }, { id: 'changes' }],
148
+ properties: [
149
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
150
+ { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },
151
+ { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },
152
+ { name: 'changes', layout: { positions: { lg: { colSpan: 12 } } } },
153
+ ],
154
+ },
155
+ single: {
156
+ title: '{{ reason }}',
157
+ sections: [{ id: 'basic-info' }, { id: 'changes' }],
158
+ properties: [
159
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
160
+ { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },
161
+ { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },
162
+ { name: 'changes', layout: { positions: { lg: { colSpan: 12 } } } },
163
+ ],
164
+ actions: [...entityMasterRecordActions()],
165
+ },
166
+ list: {
167
+ actions: [...entityMasterCrudActions()],
168
+ views: [createAllQueryView({ sorts: [{ name: 'periodId', dir: 'desc' }] })],
169
+ },
170
+ },
171
+ },
172
+ };
173
+ return entityDef;
174
+ }
175
+ //#endregion
176
+
177
+ export { factoryTimesheetCorrection };
178
+ //# sourceMappingURL=acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-correction.entity--wZeCM5Q.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-correction.entity--wZeCM5Q.mjs","sources":["../../../../libs/modules/timesheet-management/contracts/src/entities/timesheet-correction/timesheet-correction.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\n//#region ---- Constants ----\n\nconst i18n = RootConfig.config.i18n;\nconst entityI18n = `${i18n}:timesheet-corrections.entities.timesheet-correction`;\n\nconst listSortAndFilterOptions = {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n};\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\n/**\n * Timesheet correction entity factory for post-submission change requests.\n */\nexport async function factoryTimesheetCorrection(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.timesheetCorrection.name,\n title: RootConfig.entities.timesheetCorrection.title,\n icon: RootConfig.entities.timesheetCorrection.icon,\n formats: {\n individual: RootConfig.entities.timesheetCorrection.title,\n plural: RootConfig.entities.timesheetCorrection.titlePlural,\n searchResult: {\n title: '{{ period.startDate | date:\"mediumDate\" }}',\n description: '{{ reason }}',\n },\n },\n plugins: [\n { name: 'history' },\n {\n name: 'status',\n options: {\n field: 'statusId',\n definition: 'timesheet-management.status.timesheet-correction',\n },\n },\n ],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'changes', title: `@${entityI18n}.groups.changes` },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'periodId',\n title: `@${entityI18n}.fields.period-id.title`,\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: `${RootConfig.module.name}.${RootConfig.entities.timesheetPeriod.name}`,\n textField: 'startDate',\n valueField: 'id',\n expose: [\n { source: 'id', target: 'period.id' },\n { source: 'startDate', target: 'period.startDate' },\n { source: 'endDate', target: 'period.endDate' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'requestedById',\n title: `@${entityI18n}.fields.requested-by-id.title`,\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n look: 'select',\n entity: 'HumanCapitalManagement.Employee',\n textField: 'person.fullName',\n valueField: 'id',\n expose: [{ source: 'id', target: 'requestedBy.id' }],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'reason',\n title: `@${entityI18n}.fields.reason.title`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 3 } },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'statusId',\n title: `@${entityI18n}.fields.status-id.title`,\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n readonly: true,\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n },\n },\n {\n name: 'changes',\n title: `@${entityI18n}.fields.changes.title`,\n groupId: 'changes',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 6 } },\n },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [\n { name: 'periodId', options: { dataPath: 'period.startDate' } },\n { name: 'requestedById' },\n { name: 'statusId' },\n { name: 'reason' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'changes' }],\n properties: [\n { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'changes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'changes' }],\n properties: [\n { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'changes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{ reason }}',\n sections: [{ id: 'basic-info' }, { id: 'changes' }],\n properties: [\n { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'requestedById', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'reason', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'changes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'periodId', dir: 'desc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}