@feedmepos/mf-hrm-portal 1.1.6-dev → 2.0.0

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 (98) hide show
  1. package/dist/AuditLogList-Cm3ueTso.js +474 -0
  2. package/dist/EmployeeList-vMcIqBU_.js +626 -0
  3. package/dist/{main-C370wsCl.js → Main-CeGYov-a.js} +1502 -1531
  4. package/dist/Main-gHCENd4i.js +86 -0
  5. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-DuwNwJDM.js → PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js} +2 -2
  6. package/dist/PermissionSetList-Dw69OYF4.js +323 -0
  7. package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-bvPOPUhu.js +3092 -0
  8. package/dist/ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js +38 -0
  9. package/dist/RoleList-D1CrixYc.js +497 -0
  10. package/dist/{useSearch-C25VELOk.js → SelectFilter-NbXrJ4iH.js} +90 -101
  11. package/dist/TeamMemberList-M0Q8CP4h.js +973 -0
  12. package/dist/{TimesheetList-qaolOL4w.js → TimesheetList-BmOfy0pc.js} +31 -29
  13. package/dist/api/audit-log/index.d.ts +14 -0
  14. package/dist/api/index.d.ts +5 -0
  15. package/dist/api/permission-assignment/index.d.ts +10 -0
  16. package/dist/api/permission-set/index.d.ts +8 -0
  17. package/dist/api/report-query/index.d.ts +5 -0
  18. package/dist/api/team/index.d.ts +2 -1
  19. package/dist/app-RUdgf-7_.js +3286 -0
  20. package/dist/app.js +1 -1
  21. package/dist/components/AppForm.vue.d.ts +3 -2
  22. package/dist/components/CheckboxInput.vue.d.ts +10 -4
  23. package/dist/components/CollapsibleWrapper.vue.d.ts +3 -2
  24. package/dist/components/form/SelectFilter.vue.d.ts +3 -2
  25. package/dist/components/layout/FormColumn.vue.d.ts +6 -3
  26. package/dist/components/layout/FormItem.vue.d.ts +2 -1
  27. package/dist/components/layout/FormSection.vue.d.ts +2 -1
  28. package/dist/components/layout/FullWrapper.vue.d.ts +6 -3
  29. package/dist/components/layout/PageLayout.vue.d.ts +2 -1
  30. package/dist/components/menu/BottomSheetMenu.vue.d.ts +2 -1
  31. package/dist/components/menu/BottomSheetMenuItem.vue.d.ts +6 -3
  32. package/dist/components/table/EmptyDataTemplate/index.vue.d.ts +6 -3
  33. package/dist/composables/useAppStore.d.ts +6 -6
  34. package/dist/composables/useDateRange.d.ts +1 -1
  35. package/dist/composables/useReportPermissions.d.ts +14 -0
  36. package/dist/composables/useRestaurantMap.d.ts +4 -8
  37. package/dist/composables/useSheet.d.ts +1 -1
  38. package/dist/dayjs.min-D9w2-Exz.js +282 -0
  39. package/dist/employee-B3jBmvNJ.js +144 -0
  40. package/dist/helpers/permission-set.d.ts +69 -0
  41. package/dist/helpers/portal-user.d.ts +8 -0
  42. package/dist/helpers/rule.d.ts +5 -4
  43. package/dist/index-BMVQbdBd.js +827 -0
  44. package/dist/index-BS6B6k7h.js +10340 -0
  45. package/dist/{empty-placeholder-ey8LJtN1.js → index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js} +43 -2
  46. package/dist/{lodash-B5BTJU4_.js → lodash-CglPbFKR.js} +326 -343
  47. package/dist/router/shared.d.ts +4 -1
  48. package/dist/stores/employee.d.ts +4 -4
  49. package/dist/stores/permission-assignment.d.ts +277 -0
  50. package/dist/stores/permission-set.d.ts +265 -0
  51. package/dist/stores/role.d.ts +4 -4
  52. package/dist/stores/team.d.ts +300 -0
  53. package/dist/stores/timesheet.d.ts +19 -19
  54. package/dist/style.css +1 -1
  55. package/dist/team-afjBSzOz.js +33 -0
  56. package/dist/{timesheet-Cy-jSzje.js → timesheet-fOBJOS1i.js} +14 -14
  57. package/dist/tsconfig.app.tsbuildinfo +1 -1
  58. package/dist/types/audit-log.d.ts +1 -0
  59. package/dist/types/permission-assignment.d.ts +20 -0
  60. package/dist/types/permission-set.d.ts +24 -0
  61. package/dist/types/report-query.d.ts +6 -0
  62. package/dist/types/team.d.ts +13 -3
  63. package/dist/useAppStore-D-SLROq6.js +168 -0
  64. package/dist/useLoading-CLQGJW7G.js +99 -0
  65. package/dist/useReportPermissions-Cx4ghxj6.js +65 -0
  66. package/dist/{useRestaurantMap-CpS9-OSq.js → useRestaurantMap-D5BNPLKh.js} +7 -7
  67. package/dist/useSearch-B6WK1LBB.js +15 -0
  68. package/dist/views/audit-log/locales/index.d.ts +295 -0
  69. package/dist/views/hr/employee/{components/EmployeeForm.vue.d.ts → EmployeeForm.vue.d.ts} +10 -7
  70. package/dist/views/team/Main.vue.d.ts +2 -0
  71. package/dist/views/team/components/BasePermission.vue.d.ts +64 -0
  72. package/dist/views/team/components/{TeamMemberConditionPermission.vue.d.ts → ConditionPermission.vue.d.ts} +14 -1
  73. package/dist/views/team/components/InheritPermissionTooltip.vue.d.ts +14 -0
  74. package/dist/views/team/components/PermissionWithTooltip.vue.d.ts +14 -0
  75. package/dist/views/team/components/PortalPermissionEditor.vue.d.ts +68 -28
  76. package/dist/views/team/components/{TeamMemberRolePermission.vue.d.ts → PosRolePermission.vue.d.ts} +14 -1
  77. package/dist/views/team/locales/index.d.ts +200 -4
  78. package/dist/views/team/{components → member}/AddMemberForm.vue.d.ts +1 -0
  79. package/dist/views/team/member/TeamMemberList.vue.d.ts +4 -0
  80. package/dist/views/team/member/TeamMemberMasterUser.vue.d.ts +55 -0
  81. package/dist/views/team/permission-set/PermissionSetForm.vue.d.ts +19 -0
  82. package/dist/views/team/permission-set/PermissionSetList.vue.d.ts +5 -0
  83. package/package.json +15 -8
  84. package/dist/EmployeeList-CP42mLpi.js +0 -605
  85. package/dist/RoleList-CsctaXlu.js +0 -492
  86. package/dist/TeamMemberList-DtXoUa5K.js +0 -1508
  87. package/dist/app-G_Dbs0OJ.js +0 -1202
  88. package/dist/employee-BTWpYxn5.js +0 -449
  89. package/dist/index-8ift6lz3.js +0 -57
  90. package/dist/rule-CM7JgjNr.js +0 -142112
  91. package/dist/types/permission.d.ts +0 -4
  92. package/dist/useAppStore-zINIo0LR.js +0 -93
  93. package/dist/useLoading-CWBRIBiy.js +0 -141
  94. package/dist/views/team/components/TeamMemberBasePermission.vue.d.ts +0 -36
  95. package/dist/views/team/components/TeamMemberMasterUser.vue.d.ts +0 -718
  96. /package/dist/views/{hr/main.vue.d.ts → audit-log/AuditLogList.vue.d.ts} +0 -0
  97. /package/dist/views/{team/TeamMemberList.vue.d.ts → hr/Main.vue.d.ts} +0 -0
  98. /package/dist/views/team/{components → member}/MemberInfo.vue.d.ts +0 -0
@@ -15,6 +15,7 @@ export declare const i18nMessages: {
15
15
  phoneNumber: string;
16
16
  restaurant: string;
17
17
  permission: string;
18
+ assignedRoles: string;
18
19
  };
19
20
  };
20
21
  labels: {
@@ -70,9 +71,12 @@ export declare const i18nMessages: {
70
71
  search: string;
71
72
  general: string;
72
73
  stock: string;
74
+ hrm: string;
75
+ crm: string;
73
76
  includedFuture: string;
74
77
  includedNewRole: string;
75
78
  roles: string;
79
+ inherited: string;
76
80
  };
77
81
  masterUser: {
78
82
  title: string;
@@ -83,10 +87,54 @@ export declare const i18nMessages: {
83
87
  name: string;
84
88
  role: string;
85
89
  nameEmptyError: string;
90
+ restaurantRequired: string;
91
+ roleRequired: string;
86
92
  };
87
- role: {
93
+ posRole: {
88
94
  placeholder: string;
89
95
  };
96
+ permissionSet: {
97
+ title: string;
98
+ selectPlaceholder: string;
99
+ };
100
+ };
101
+ };
102
+ permissionSet: {
103
+ title: string;
104
+ createButtonLabel: string;
105
+ search: {
106
+ placeholder: string;
107
+ };
108
+ noData: {
109
+ title: string;
110
+ subtitle: string;
111
+ };
112
+ form: {
113
+ create: {
114
+ title: string;
115
+ confirmButtonLabel: string;
116
+ };
117
+ update: {
118
+ title: string;
119
+ confirmButtonLabel: string;
120
+ };
121
+ delete: {
122
+ title: string;
123
+ confirmationMessage: string;
124
+ successMessage: string;
125
+ conflictError: string;
126
+ setReferencedConflictError: string;
127
+ };
128
+ name: string;
129
+ namePlaceholder: string;
130
+ includedSets: string;
131
+ includedSetsPlaceholder: string;
132
+ };
133
+ table: {
134
+ columns: {
135
+ name: string;
136
+ permissions: string;
137
+ };
90
138
  };
91
139
  };
92
140
  };
@@ -159,9 +207,12 @@ export declare const i18nMessages: {
159
207
  search: string;
160
208
  general: string;
161
209
  stock: string;
210
+ hrm: string;
211
+ crm: string;
162
212
  includedFuture: string;
163
213
  includedNewRole: string;
164
214
  roles: string;
215
+ inherited: string;
165
216
  };
166
217
  masterUser: {
167
218
  title: string;
@@ -172,10 +223,54 @@ export declare const i18nMessages: {
172
223
  name: string;
173
224
  role: string;
174
225
  nameEmptyError: string;
226
+ restaurantRequired: string;
227
+ roleRequired: string;
175
228
  };
176
- role: {
229
+ posRole: {
177
230
  placeholder: string;
178
231
  };
232
+ permissionSet: {
233
+ title: string;
234
+ selectPlaceholder: string;
235
+ };
236
+ };
237
+ };
238
+ permissionSet: {
239
+ title: string;
240
+ createButtonLabel: string;
241
+ search: {
242
+ placeholder: string;
243
+ };
244
+ noData: {
245
+ title: string;
246
+ subtitle: string;
247
+ };
248
+ form: {
249
+ create: {
250
+ title: string;
251
+ confirmButtonLabel: string;
252
+ };
253
+ update: {
254
+ title: string;
255
+ confirmButtonLabel: string;
256
+ };
257
+ delete: {
258
+ title: string;
259
+ confirmationMessage: string;
260
+ successMessage: string;
261
+ conflictError: string;
262
+ setReferencedConflictError: string;
263
+ };
264
+ name: string;
265
+ namePlaceholder: string;
266
+ includedSets: string;
267
+ includedSetsPlaceholder: string;
268
+ };
269
+ table: {
270
+ columns: {
271
+ name: string;
272
+ permissions: string;
273
+ };
179
274
  };
180
275
  };
181
276
  };
@@ -248,9 +343,12 @@ export declare const i18nMessages: {
248
343
  search: string;
249
344
  general: string;
250
345
  stock: string;
346
+ hrm: string;
347
+ crm: string;
251
348
  includedFuture: string;
252
349
  includedNewRole: string;
253
350
  roles: string;
351
+ inherited: string;
254
352
  };
255
353
  masterUser: {
256
354
  title: string;
@@ -261,10 +359,54 @@ export declare const i18nMessages: {
261
359
  name: string;
262
360
  role: string;
263
361
  nameEmptyError: string;
362
+ restaurantRequired: string;
363
+ roleRequired: string;
264
364
  };
265
- role: {
365
+ posRole: {
266
366
  placeholder: string;
267
367
  };
368
+ permissionSet: {
369
+ title: string;
370
+ selectPlaceholder: string;
371
+ };
372
+ };
373
+ };
374
+ permissionSet: {
375
+ title: string;
376
+ createButtonLabel: string;
377
+ search: {
378
+ placeholder: string;
379
+ };
380
+ noData: {
381
+ title: string;
382
+ subtitle: string;
383
+ };
384
+ form: {
385
+ create: {
386
+ title: string;
387
+ confirmButtonLabel: string;
388
+ };
389
+ update: {
390
+ title: string;
391
+ confirmButtonLabel: string;
392
+ };
393
+ delete: {
394
+ title: string;
395
+ confirmationMessage: string;
396
+ successMessage: string;
397
+ conflictError: string;
398
+ setReferencedConflictError: string;
399
+ };
400
+ name: string;
401
+ namePlaceholder: string;
402
+ includedSets: string;
403
+ includedSetsPlaceholder: string;
404
+ };
405
+ table: {
406
+ columns: {
407
+ name: string;
408
+ permissions: string;
409
+ };
268
410
  };
269
411
  };
270
412
  };
@@ -337,9 +479,12 @@ export declare const i18nMessages: {
337
479
  search: string;
338
480
  general: string;
339
481
  stock: string;
482
+ hrm: string;
483
+ crm: string;
340
484
  includedFuture: string;
341
485
  includedNewRole: string;
342
486
  roles: string;
487
+ inherited: string;
343
488
  };
344
489
  masterUser: {
345
490
  title: string;
@@ -350,11 +495,62 @@ export declare const i18nMessages: {
350
495
  name: string;
351
496
  role: string;
352
497
  nameEmptyError: string;
498
+ restaurantRequired: string;
499
+ roleRequired: string;
500
+ };
501
+ posRole: {
502
+ placeholder: string;
503
+ };
504
+ permissionSet: {
505
+ title: string;
506
+ selectPlaceholder: string;
353
507
  };
354
- role: {
508
+ };
509
+ role: {
510
+ title: string;
511
+ createButtonLabel: string;
512
+ search: {
355
513
  placeholder: string;
356
514
  };
357
515
  };
358
516
  };
517
+ permissionSet: {
518
+ title: string;
519
+ createButtonLabel: string;
520
+ search: {
521
+ placeholder: string;
522
+ };
523
+ noData: {
524
+ title: string;
525
+ subtitle: string;
526
+ };
527
+ form: {
528
+ create: {
529
+ title: string;
530
+ confirmButtonLabel: string;
531
+ };
532
+ update: {
533
+ title: string;
534
+ confirmButtonLabel: string;
535
+ };
536
+ delete: {
537
+ title: string;
538
+ confirmationMessage: string;
539
+ successMessage: string;
540
+ conflictError: string;
541
+ setReferencedConflictError: string;
542
+ };
543
+ name: string;
544
+ namePlaceholder: string;
545
+ includedSets: string;
546
+ includedSetsPlaceholder: string;
547
+ };
548
+ table: {
549
+ columns: {
550
+ name: string;
551
+ permissions: string;
552
+ };
553
+ };
554
+ };
359
555
  };
360
556
  };
@@ -8,6 +8,7 @@ export interface TeamDialogData {
8
8
  phoneNumber: string;
9
9
  email: string;
10
10
  permissions: RawRule[];
11
+ permissionSetIds: string[];
11
12
  posUser?: IFdtoPermissionPosUser;
12
13
  }
13
14
  declare function readFormData(): IFdtoCreatePortalUserReq;
@@ -0,0 +1,4 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {
2
+ create: () => void;
3
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4
+ export default _default;
@@ -0,0 +1,55 @@
1
+ import { type PropType } from 'vue';
2
+ import type { FdoRestaurant } from '@feedmepos/core/entity';
3
+ import type { CheckboxOption } from '@/components/CheckboxInput.vue';
4
+ import type { IFdtoPermissionPosUser } from '@/types/team';
5
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ modelValue: {
7
+ type: PropType<IFdtoPermissionPosUser>;
8
+ default: undefined;
9
+ };
10
+ fallbackName: {
11
+ type: StringConstructor;
12
+ required: true;
13
+ };
14
+ fallbackPasscode: {
15
+ type: StringConstructor;
16
+ default: undefined;
17
+ };
18
+ restaurants: {
19
+ type: PropType<FdoRestaurant[]>;
20
+ required: true;
21
+ };
22
+ roles: {
23
+ type: PropType<CheckboxOption[]>;
24
+ required: true;
25
+ };
26
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
27
+ "update:model-value": (user: IFdtoPermissionPosUser | undefined) => any;
28
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
29
+ modelValue: {
30
+ type: PropType<IFdtoPermissionPosUser>;
31
+ default: undefined;
32
+ };
33
+ fallbackName: {
34
+ type: StringConstructor;
35
+ required: true;
36
+ };
37
+ fallbackPasscode: {
38
+ type: StringConstructor;
39
+ default: undefined;
40
+ };
41
+ restaurants: {
42
+ type: PropType<FdoRestaurant[]>;
43
+ required: true;
44
+ };
45
+ roles: {
46
+ type: PropType<CheckboxOption[]>;
47
+ required: true;
48
+ };
49
+ }>> & Readonly<{
50
+ "onUpdate:model-value"?: ((user: IFdtoPermissionPosUser | undefined) => any) | undefined;
51
+ }>, {
52
+ modelValue: IFdtoPermissionPosUser;
53
+ fallbackPasscode: string;
54
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
55
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { type PropType } from 'vue';
2
+ import type { IFdtoPermissionSet } from '@/types/permission-set';
3
+ declare function trigger(): Promise<void>;
4
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ modelValue: {
6
+ type: PropType<IFdtoPermissionSet>;
7
+ default: () => {};
8
+ };
9
+ }>, {
10
+ trigger: typeof trigger;
11
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
+ modelValue: {
13
+ type: PropType<IFdtoPermissionSet>;
14
+ default: () => {};
15
+ };
16
+ }>> & Readonly<{}>, {
17
+ modelValue: IFdtoPermissionSet;
18
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
19
+ export default _default;
@@ -0,0 +1,5 @@
1
+ declare function create(): void;
2
+ declare const _default: import("vue").DefineComponent<{}, {
3
+ create: typeof create;
4
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
5
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-hrm-portal",
3
- "version": "1.1.6-dev",
3
+ "version": "2.0.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -18,6 +18,7 @@
18
18
  "@feedmepos/core": "^2.14.36",
19
19
  "@feedmepos/mf-common": "^1.29.10",
20
20
  "@feedmepos/ui-library": "^1.7.0",
21
+ "@feedmepos/feature-flag": "^0.0.15",
21
22
  "axios": "^1.7.7",
22
23
  "dayjs": "^1.11.10",
23
24
  "libphonenumber-js": "^1.11.1",
@@ -27,7 +28,8 @@
27
28
  "vue": "^3.5.16",
28
29
  "vue-router": "^4.3.2",
29
30
  "vue3-lottie": "^3.3.0",
30
- "xlsx": "^0.18.5"
31
+ "xlsx": "^0.18.5",
32
+ "@feedmepos/hrm-permission": "1.0.0"
31
33
  },
32
34
  "devDependencies": {
33
35
  "@casl/ability": "^3.4.0",
@@ -56,8 +58,11 @@
56
58
  "prettier": "^3.7.4",
57
59
  "sass-embedded": "^1.93.3",
58
60
  "tailwindcss": "^3.3.3",
59
- "typescript": "~5.2.0",
61
+ "typescript": "^5.9.3",
60
62
  "vite": "^5.2.0",
63
+ "vitest": "^1.2.0",
64
+ "@vitest/ui": "^1.2.0",
65
+ "jsdom": "^24.0.0",
61
66
  "vue-eslint-parser": "^10.2.0",
62
67
  "vue-i18n": "10.0.5",
63
68
  "vue-tsc": "^2.0.6"
@@ -67,13 +72,15 @@
67
72
  "build": "run-p type-check \"build-only {@}\" --",
68
73
  "build:mf": "vite build --mode fmmf",
69
74
  "build:dts": "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.app.json --outDir ./dist && mv ./dist/src/* dist",
70
- "publish-npm": "pnpm build && npm config set registry https://npm.pkg.github.com/ && npm publish --access public --tag latest --no-git-checks",
71
- "publish-npm:beta": "pnpm build && npm config set registry https://npm.pkg.github.com/ && npm publish --access public --tag beta --no-git-checks",
72
- "publish-github": "pnpm build && npm config set registry https://npm.pkg.github.com/ && npm publish --tag latest --no-git-checks",
73
- "publish-github:beta": "pnpm build && npm config set registry https://npm.pkg.github.com/ && npm publish --tag beta --no-git-checks",
75
+ "publish-npm": "pnpm build && pnpm publish --registry https://npm.pkg.github.com/ --access public --tag latest --no-git-checks",
76
+ "publish-npm:beta": "pnpm build && pnpm publish --registry https://npm.pkg.github.com/ --access public --tag beta --no-git-checks",
77
+ "publish-github": "pnpm build && pnpm publish --registry https://npm.pkg.github.com/ --tag latest --no-git-checks",
78
+ "publish-github:beta": "pnpm build && pnpm publish --registry https://npm.pkg.github.com/ --tag beta --no-git-checks",
74
79
  "build-only": "pnpm build:mf && pnpm build:dts",
80
+ "build-only:dev": "VITE_TARGET_ENV=dev pnpm build:mf && pnpm build:dts",
75
81
  "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false",
76
82
  "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
77
- "format": "prettier --write src/"
83
+ "format": "prettier --write src/",
84
+ "test": "vitest"
78
85
  }
79
86
  }