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

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 (34) hide show
  1. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.mjs +369 -0
  2. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-correction.mjs +252 -0
  4. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-correction.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-period.mjs +347 -0
  6. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-period.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-policy.mjs +281 -0
  8. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-policy.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-work-item.mjs +305 -0
  10. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entities-work-item.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-acorex-platform-module-timesheet-management-client-contracts-entity-catalog-BbB3MCCl.mjs +97 -0
  12. 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
  13. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-time-entry.entity-CAs7zUnV.mjs +295 -0
  14. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-time-entry.entity-CAs7zUnV.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-correction.entity--wZeCM5Q.mjs +178 -0
  16. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-correction.entity--wZeCM5Q.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-period.entity-BOyfB4YA.mjs +273 -0
  18. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-period.entity-BOyfB4YA.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-policy.entity-CqqN7Xty.mjs +207 -0
  20. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-timesheet-policy.entity-CqqN7Xty.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-work-item.entity-DilF7u50.mjs +231 -0
  22. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog-work-item.entity-DilF7u50.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog.mjs +2 -0
  24. package/fesm2022/acorex-platform-module-timesheet-management-client-contracts-entity-catalog.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-timesheet-management-client-local-entities.mjs +33 -0
  26. package/fesm2022/acorex-platform-module-timesheet-management-client-local-entities.mjs.map +1 -0
  27. package/package.json +29 -1
  28. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.d.ts +8 -0
  29. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-correction.d.ts +8 -0
  30. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-period.d.ts +8 -0
  31. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-timesheet-policy.d.ts +8 -0
  32. package/types/acorex-platform-module-timesheet-management-client-contracts-entities-work-item.d.ts +8 -0
  33. package/types/acorex-platform-module-timesheet-management-client-contracts-entity-catalog.d.ts +10 -0
  34. package/types/acorex-platform-module-timesheet-management-client-local-entities.d.ts +12 -0
@@ -0,0 +1,369 @@
1
+ import { AXPWidgetsCatalog, AXPRegionalSetting } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ //#region ---- Module Config ----
5
+ const config = {
6
+ i18n: 'timesheet-management',
7
+ module: 'TimesheetManagement',
8
+ route: 'timesheet-management',
9
+ };
10
+ const RootConfig = {
11
+ config,
12
+ module: {
13
+ name: config.module,
14
+ route: config.route,
15
+ title: `@${config.i18n}:module.title`,
16
+ icon: 'fa-light fa-clock',
17
+ },
18
+ entities: {
19
+ workItem: {
20
+ name: 'WorkItem',
21
+ source: `${config.module}.WorkItem`,
22
+ title: `@${config.i18n}:work-items.entities.work-item.title`,
23
+ titlePlural: `@${config.i18n}:work-items.entities.work-item.plural`,
24
+ icon: 'fa-light fa-list-check',
25
+ },
26
+ timesheetPeriod: {
27
+ name: 'TimesheetPeriod',
28
+ source: `${config.module}.TimesheetPeriod`,
29
+ title: `@${config.i18n}:timesheet-periods.entities.timesheet-period.title`,
30
+ titlePlural: `@${config.i18n}:timesheet-periods.entities.timesheet-period.plural`,
31
+ icon: 'fa-light fa-calendar-week',
32
+ },
33
+ timeEntry: {
34
+ name: 'TimeEntry',
35
+ source: `${config.module}.TimeEntry`,
36
+ title: `@${config.i18n}:time-entries.entities.time-entry.title`,
37
+ titlePlural: `@${config.i18n}:time-entries.entities.time-entry.plural`,
38
+ icon: 'fa-light fa-hourglass-half',
39
+ },
40
+ timesheetCorrection: {
41
+ name: 'TimesheetCorrection',
42
+ source: `${config.module}.TimesheetCorrection`,
43
+ title: `@${config.i18n}:timesheet-corrections.entities.timesheet-correction.title`,
44
+ titlePlural: `@${config.i18n}:timesheet-corrections.entities.timesheet-correction.plural`,
45
+ icon: 'fa-light fa-pen-to-square',
46
+ },
47
+ timesheetPolicy: {
48
+ name: 'TimesheetPolicy',
49
+ source: `${config.module}.TimesheetPolicy`,
50
+ title: `@${config.i18n}:timesheet-policies.entities.timesheet-policy.title`,
51
+ titlePlural: `@${config.i18n}:timesheet-policies.entities.timesheet-policy.plural`,
52
+ icon: 'fa-light fa-sliders',
53
+ },
54
+ },
55
+ pages: {
56
+ myTimesheet: {
57
+ path: 'my-timesheet',
58
+ title: `@${config.i18n}:pages.my-timesheet.title`,
59
+ icon: 'fa-light fa-calendar-week',
60
+ },
61
+ approvalInbox: {
62
+ path: 'approval-inbox',
63
+ title: `@${config.i18n}:pages.approval-inbox.title`,
64
+ icon: 'fa-light fa-inbox',
65
+ },
66
+ teamTimesheets: {
67
+ path: 'team-timesheets',
68
+ title: `@${config.i18n}:pages.team-timesheets.title`,
69
+ icon: 'fa-light fa-users',
70
+ },
71
+ },
72
+ };
73
+ //#endregion
74
+
75
+ //#region ---- Constants ----
76
+ const i18n = RootConfig.config.i18n;
77
+ const entityI18n = `${i18n}:time-entries.entities.time-entry`;
78
+ const listSortAndFilterOptions = {
79
+ sort: { enabled: true },
80
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
81
+ };
82
+ //#endregion
83
+ //#region ---- Entity Factory ----
84
+ /**
85
+ * Time entry entity factory for individual logged work intervals.
86
+ */
87
+ async function factoryTimeEntry() {
88
+ const entityDef = {
89
+ module: RootConfig.module.name,
90
+ name: RootConfig.entities.timeEntry.name,
91
+ title: RootConfig.entities.timeEntry.title,
92
+ icon: RootConfig.entities.timeEntry.icon,
93
+ formats: {
94
+ individual: RootConfig.entities.timeEntry.title,
95
+ plural: RootConfig.entities.timeEntry.titlePlural,
96
+ searchResult: {
97
+ title: '{{ workItem.code }}',
98
+ description: '{{ entryDate | date:"mediumDate" }} — {{ durationSeconds }}s',
99
+ },
100
+ },
101
+ plugins: [{ name: 'history' }],
102
+ groups: [
103
+ { id: 'basic-info', title: '@general:terms.interface.basic-info' },
104
+ { id: 'timing', title: `@${entityI18n}.groups.timing` },
105
+ { id: 'details', title: `@${entityI18n}.groups.details` },
106
+ ],
107
+ properties: [
108
+ {
109
+ name: 'id',
110
+ title: '@general:terms.common.id',
111
+ groupId: 'basic-info',
112
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
113
+ },
114
+ {
115
+ name: 'employeeId',
116
+ title: `@${entityI18n}.fields.employee-id.title`,
117
+ groupId: 'basic-info',
118
+ options: listSortAndFilterOptions,
119
+ schema: {
120
+ dataType: 'string',
121
+ interface: {
122
+ type: AXPWidgetsCatalog.lookup,
123
+ options: {
124
+ look: 'select',
125
+ entity: 'HumanCapitalManagement.Employee',
126
+ textField: 'person.fullName',
127
+ valueField: 'id',
128
+ expose: [
129
+ { source: 'id', target: 'employee.id' },
130
+ { source: 'employeeCode', target: 'employee.employeeCode' },
131
+ { source: 'person.fullName', target: 'employee.person.fullName' },
132
+ ],
133
+ },
134
+ },
135
+ },
136
+ validations: [{ rule: 'required' }],
137
+ },
138
+ {
139
+ name: 'periodId',
140
+ title: `@${entityI18n}.fields.period-id.title`,
141
+ groupId: 'basic-info',
142
+ options: listSortAndFilterOptions,
143
+ schema: {
144
+ dataType: 'string',
145
+ interface: {
146
+ type: AXPWidgetsCatalog.lookup,
147
+ options: {
148
+ look: 'select',
149
+ entity: `${RootConfig.module.name}.${RootConfig.entities.timesheetPeriod.name}`,
150
+ textField: 'startDate',
151
+ valueField: 'id',
152
+ expose: [
153
+ { source: 'id', target: 'period.id' },
154
+ { source: 'startDate', target: 'period.startDate' },
155
+ { source: 'endDate', target: 'period.endDate' },
156
+ { source: 'statusId', target: 'period.statusId' },
157
+ ],
158
+ },
159
+ },
160
+ },
161
+ validations: [{ rule: 'required' }],
162
+ },
163
+ {
164
+ name: 'workItemId',
165
+ title: `@${entityI18n}.fields.work-item-id.title`,
166
+ groupId: 'basic-info',
167
+ options: listSortAndFilterOptions,
168
+ schema: {
169
+ dataType: 'string',
170
+ interface: {
171
+ type: AXPWidgetsCatalog.lookup,
172
+ options: {
173
+ look: 'select',
174
+ entity: `${RootConfig.module.name}.${RootConfig.entities.workItem.name}`,
175
+ textField: 'code',
176
+ valueField: 'id',
177
+ expose: [
178
+ { source: 'id', target: 'workItem.id' },
179
+ { source: 'code', target: 'workItem.code' },
180
+ { source: 'title', target: 'workItem.title' },
181
+ ],
182
+ },
183
+ },
184
+ },
185
+ validations: [{ rule: 'required' }],
186
+ },
187
+ {
188
+ name: 'projectId',
189
+ title: `@${entityI18n}.fields.project-id.title`,
190
+ groupId: 'basic-info',
191
+ options: listSortAndFilterOptions,
192
+ schema: {
193
+ dataType: 'string',
194
+ interface: {
195
+ type: AXPWidgetsCatalog.lookup,
196
+ options: {
197
+ look: 'select',
198
+ entity: 'ProjectManagement.Project',
199
+ textField: 'name',
200
+ valueField: 'id',
201
+ expose: [
202
+ { source: 'id', target: 'project.id' },
203
+ { source: 'title', target: 'project.title' },
204
+ ],
205
+ },
206
+ },
207
+ },
208
+ },
209
+ {
210
+ name: 'startedAt',
211
+ title: `@${entityI18n}.fields.started-at.title`,
212
+ groupId: 'timing',
213
+ options: listSortAndFilterOptions,
214
+ schema: {
215
+ dataType: 'date',
216
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
217
+ },
218
+ },
219
+ {
220
+ name: 'endedAt',
221
+ title: `@${entityI18n}.fields.ended-at.title`,
222
+ groupId: 'timing',
223
+ options: listSortAndFilterOptions,
224
+ schema: {
225
+ dataType: 'date',
226
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'datetime' } },
227
+ },
228
+ },
229
+ {
230
+ name: 'durationSeconds',
231
+ title: `@${entityI18n}.fields.duration-seconds.title`,
232
+ groupId: 'timing',
233
+ options: listSortAndFilterOptions,
234
+ schema: {
235
+ dataType: 'number',
236
+ interface: { type: AXPWidgetsCatalog.number, options: { minValue: 0 } },
237
+ },
238
+ validations: [{ rule: 'required' }],
239
+ },
240
+ {
241
+ name: 'description',
242
+ title: '@general:terms.common.description',
243
+ groupId: 'details',
244
+ schema: {
245
+ dataType: 'string',
246
+ interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 3 } },
247
+ },
248
+ },
249
+ {
250
+ name: 'isBillable',
251
+ title: `@${entityI18n}.fields.is-billable.title`,
252
+ groupId: 'details',
253
+ options: listSortAndFilterOptions,
254
+ schema: {
255
+ dataType: 'boolean',
256
+ defaultValue: true,
257
+ interface: { type: AXPWidgetsCatalog.toggle },
258
+ },
259
+ },
260
+ {
261
+ name: 'entryDate',
262
+ title: `@${entityI18n}.fields.entry-date.title`,
263
+ groupId: 'timing',
264
+ options: listSortAndFilterOptions,
265
+ schema: {
266
+ dataType: 'date',
267
+ interface: { type: AXPWidgetsCatalog.dateTime, options: { format: 'date' } },
268
+ },
269
+ validations: [{ rule: 'required' }],
270
+ },
271
+ {
272
+ name: 'timezone',
273
+ title: `@${entityI18n}.fields.timezone.title`,
274
+ groupId: 'timing',
275
+ schema: {
276
+ dataType: 'string',
277
+ defaultValue: `{{ settings.get('${AXPRegionalSetting.TimeZone}') }}`,
278
+ interface: {
279
+ type: AXPWidgetsCatalog.lookup,
280
+ options: {
281
+ entity: 'LocaleManagement.Timezones',
282
+ look: 'select',
283
+ allowSearch: true,
284
+ valueField: 'code',
285
+ textField: 'title',
286
+ filter: {
287
+ logic: 'and',
288
+ filters: [{ field: 'isActive', operator: { type: 'equal' }, value: true }],
289
+ },
290
+ },
291
+ },
292
+ },
293
+ validations: [{ rule: 'required' }],
294
+ },
295
+ ],
296
+ columns: [
297
+ { name: 'employeeId', options: { dataPath: 'employee.person.fullName' } },
298
+ { name: 'periodId', options: { dataPath: 'period.startDate' } },
299
+ { name: 'workItemId', options: { dataPath: 'workItem.code' } },
300
+ { name: 'projectId', options: { dataPath: 'project.title' } },
301
+ { name: 'entryDate' },
302
+ { name: 'durationSeconds' },
303
+ { name: 'isBillable' },
304
+ ],
305
+ interfaces: {
306
+ master: {
307
+ create: {
308
+ sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],
309
+ properties: [
310
+ { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },
311
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
312
+ { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },
313
+ { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },
314
+ { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },
315
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },
316
+ { name: 'startedAt', layout: { positions: { lg: { colSpan: 6 } } } },
317
+ { name: 'endedAt', layout: { positions: { lg: { colSpan: 6 } } } },
318
+ { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },
319
+ { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },
320
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
321
+ ],
322
+ },
323
+ update: {
324
+ sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],
325
+ properties: [
326
+ { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },
327
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
328
+ { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },
329
+ { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },
330
+ { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },
331
+ { name: 'timezone', layout: { positions: { lg: { colSpan: 6 } } } },
332
+ { name: 'startedAt', layout: { positions: { lg: { colSpan: 6 } } } },
333
+ { name: 'endedAt', layout: { positions: { lg: { colSpan: 6 } } } },
334
+ { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },
335
+ { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },
336
+ { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },
337
+ ],
338
+ },
339
+ single: {
340
+ title: '{{ workItem.code }}',
341
+ sections: [{ id: 'basic-info' }, { id: 'timing' }, { id: 'details' }],
342
+ properties: [
343
+ { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },
344
+ { name: 'periodId', layout: { positions: { lg: { colSpan: 6 } } } },
345
+ { name: 'workItemId', layout: { positions: { lg: { colSpan: 6 } } } },
346
+ { name: 'projectId', layout: { positions: { lg: { colSpan: 6 } } } },
347
+ { name: 'entryDate', layout: { positions: { lg: { colSpan: 6 } } } },
348
+ { name: 'durationSeconds', layout: { positions: { lg: { colSpan: 6 } } } },
349
+ { name: 'isBillable', layout: { positions: { lg: { colSpan: 6 } } } },
350
+ ],
351
+ actions: [...entityMasterRecordActions()],
352
+ },
353
+ list: {
354
+ actions: [...entityMasterCrudActions()],
355
+ views: [createAllQueryView({ sorts: [{ name: 'entryDate', dir: 'desc' }] })],
356
+ },
357
+ },
358
+ },
359
+ };
360
+ return entityDef;
361
+ }
362
+ //#endregion
363
+
364
+ /**
365
+ * Generated bundle index. Do not edit.
366
+ */
367
+
368
+ export { factoryTimeEntry };
369
+ //# sourceMappingURL=acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.mjs","sources":["../../../../libs/modules/timesheet-management/contracts/src/root-config.ts","../../../../libs/modules/timesheet-management/contracts/src/entities/time-entry/time-entry.entity.ts","../../../../libs/modules/timesheet-management/contracts/src/acorex-platform-module-timesheet-management-client-contracts-entities-time-entry.ts"],"sourcesContent":["//#region ---- Module Config ----\n\nconst config = {\n i18n: 'timesheet-management',\n module: 'TimesheetManagement',\n route: 'timesheet-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n route: config.route,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-clock',\n },\n entities: {\n workItem: {\n name: 'WorkItem',\n source: `${config.module}.WorkItem`,\n title: `@${config.i18n}:work-items.entities.work-item.title`,\n titlePlural: `@${config.i18n}:work-items.entities.work-item.plural`,\n icon: 'fa-light fa-list-check',\n },\n timesheetPeriod: {\n name: 'TimesheetPeriod',\n source: `${config.module}.TimesheetPeriod`,\n title: `@${config.i18n}:timesheet-periods.entities.timesheet-period.title`,\n titlePlural: `@${config.i18n}:timesheet-periods.entities.timesheet-period.plural`,\n icon: 'fa-light fa-calendar-week',\n },\n timeEntry: {\n name: 'TimeEntry',\n source: `${config.module}.TimeEntry`,\n title: `@${config.i18n}:time-entries.entities.time-entry.title`,\n titlePlural: `@${config.i18n}:time-entries.entities.time-entry.plural`,\n icon: 'fa-light fa-hourglass-half',\n },\n timesheetCorrection: {\n name: 'TimesheetCorrection',\n source: `${config.module}.TimesheetCorrection`,\n title: `@${config.i18n}:timesheet-corrections.entities.timesheet-correction.title`,\n titlePlural: `@${config.i18n}:timesheet-corrections.entities.timesheet-correction.plural`,\n icon: 'fa-light fa-pen-to-square',\n },\n timesheetPolicy: {\n name: 'TimesheetPolicy',\n source: `${config.module}.TimesheetPolicy`,\n title: `@${config.i18n}:timesheet-policies.entities.timesheet-policy.title`,\n titlePlural: `@${config.i18n}:timesheet-policies.entities.timesheet-policy.plural`,\n icon: 'fa-light fa-sliders',\n },\n },\n pages: {\n myTimesheet: {\n path: 'my-timesheet',\n title: `@${config.i18n}:pages.my-timesheet.title`,\n icon: 'fa-light fa-calendar-week',\n },\n approvalInbox: {\n path: 'approval-inbox',\n title: `@${config.i18n}:pages.approval-inbox.title`,\n icon: 'fa-light fa-inbox',\n },\n teamTimesheets: {\n path: 'team-timesheets',\n title: `@${config.i18n}:pages.team-timesheets.title`,\n icon: 'fa-light fa-users',\n },\n },\n};\n\n//#endregion\n","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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.time-entry';\n"],"names":[],"mappings":"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"}