@feedmepos/mf-hrm-portal 2.2.2 → 2.2.3
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.
- package/dist/{ApprovalCodeList-Dpg-lwZA.js → ApprovalCodeList-BnG3T_Lk.js} +2 -2
- package/dist/AuditLogList-CpK9-YkB.js +1776 -0
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-Di-1ZwEW.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CzKzq19d.js} +2 -2
- package/dist/{EmployeeList-ByeniR1c.js → EmployeeList-CUsRanu7.js} +8 -7
- package/dist/{GrantUserList-D0YIdpMH.js → GrantUserList-BJoj3ZcO.js} +3 -3
- package/dist/{Main-Bg0Najd8.js → Main-5QLhf80L.js} +5 -5
- package/dist/{Main-CTsTrR0m.js → Main-BEUu3Hba.js} +2 -2
- package/dist/{Main-C9-EztWV.js → Main-FPpK9B70.js} +9 -9
- package/dist/{PermissionSetList-CqVP3iB8.js → PermissionSetList-DZGZ0Pm_.js} +5 -5
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CXNhJDfA.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BHEW1_dv.js} +1122 -1122
- package/dist/{RoleList-CQuV9O_f.js → RoleList-D5yToard.js} +41 -41
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-B4PxNMwq.js +16 -0
- package/dist/{TeamMemberList-DNitiMN5.js → TeamMemberList-C4-AHxO4.js} +22 -21
- package/dist/{TimesheetList-DYJsjODe.js → TimesheetList-DMo8KXoU.js} +5 -5
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-DWKJIq76.js → TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-2KHu-f8U.js} +2 -2
- package/dist/{app-BJKd6Faz.js → app-DlSD8S9A.js} +3032 -2324
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-D8ClaZcZ.js → dayjs.min-DcI2auGP.js} +1 -1
- package/dist/{employee-C9VVckRM.js → employee-C_cvCoHM.js} +3 -3
- package/dist/{iteration-CMXHdaKL.js → iteration-DSzPQ0fZ.js} +1 -1
- package/dist/{lodash-0-Y1xSyQ.js → lodash-Ce0IJ8Y3.js} +1 -1
- package/dist/{role-B-Y4JezP.js → role-DkTkfUgR.js} +1 -1
- package/dist/rule-B-REsmVM.js +771 -0
- package/dist/src/api/audit-log/index.d.ts +6 -0
- package/dist/src/types/audit-log.d.ts +1 -1
- package/dist/src/views/audit-log/change-nodes.d.ts +14 -0
- package/dist/src/views/audit-log/event-line.d.ts +13 -0
- package/dist/src/views/audit-log/export-lines.d.ts +8 -0
- package/dist/src/views/audit-log/locales/index.d.ts +356 -0
- package/dist/src/views/audit-log/operation-status.d.ts +2 -0
- package/dist/src/views/audit-log/snapshot-diff.d.ts +11 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/useDebounce-B8ZPVS5C.js +15 -0
- package/dist/{useReportPermissions-C5_EivtU.js → useReportPermissions-VCzAQXKz.js} +5 -5
- package/package.json +2 -2
- package/dist/AuditLogList-B8lU5FU1.js +0 -1149
- package/dist/rule-raGIIqlH.js +0 -1121
- package/dist/useDebounce-CWb5QR9G.js +0 -28
|
@@ -9,6 +9,9 @@ declare const AuditLogAPI: {
|
|
|
9
9
|
actions?: string[];
|
|
10
10
|
outcomes?: string[];
|
|
11
11
|
feedmeAdminActors?: boolean;
|
|
12
|
+
search?: string;
|
|
13
|
+
searchUserIds?: string[];
|
|
14
|
+
searchSubjects?: string[];
|
|
12
15
|
}): Promise<number>;
|
|
13
16
|
read(params?: {
|
|
14
17
|
limit?: number;
|
|
@@ -21,6 +24,9 @@ declare const AuditLogAPI: {
|
|
|
21
24
|
actions?: string[];
|
|
22
25
|
outcomes?: string[];
|
|
23
26
|
feedmeAdminActors?: boolean;
|
|
27
|
+
search?: string;
|
|
28
|
+
searchUserIds?: string[];
|
|
29
|
+
searchSubjects?: string[];
|
|
24
30
|
}): Promise<AuditLogEntry[]>;
|
|
25
31
|
/**
|
|
26
32
|
* FeedMe-admin options for the User filter. `actors` is the named admin list (internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type { AuditLogEntry, AuditLogMetadata, AuditLogOutcome, AuditLogResolvedFrom } from '@feedmepos/hrm-permission';
|
|
1
|
+
export type { AuditLogEntry, AuditLogMetadata, AuditLogOperation, AuditLogOutcome, AuditLogResolvedFrom, } from '@feedmepos/hrm-permission';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ChangeNode } from '@feedmepos/hrm-permission';
|
|
2
|
+
export interface ChangeNodeDisplay {
|
|
3
|
+
label: string;
|
|
4
|
+
labelKey?: string;
|
|
5
|
+
type: 'add' | 'remove' | 'update';
|
|
6
|
+
beforeDisplay: string;
|
|
7
|
+
afterDisplay: string;
|
|
8
|
+
}
|
|
9
|
+
/** Render a single ChangeNode value (string | string[] | undefined) as display text. */
|
|
10
|
+
export declare function formatChangeValue(value: string | string[] | undefined): string;
|
|
11
|
+
/** Convert a ChangeNode into a flat display object for the UI. */
|
|
12
|
+
export declare function prepareChangeNodeDisplay(node: ChangeNode): ChangeNodeDisplay;
|
|
13
|
+
/** Decide whether to render changeNodes table (true) or fall back to raw diff (false). */
|
|
14
|
+
export declare function shouldRenderChangeNodes(changeNodes: ChangeNode[] | undefined): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface EventLineSource {
|
|
2
|
+
eventKey?: string;
|
|
3
|
+
params?: Record<string, string | number>;
|
|
4
|
+
operationLabel?: string;
|
|
5
|
+
}
|
|
6
|
+
type Translate = (key: string, params?: Record<string, unknown>) => string;
|
|
7
|
+
export declare function splitEventKey(key: string): {
|
|
8
|
+
entity: string;
|
|
9
|
+
verb: string;
|
|
10
|
+
} | null;
|
|
11
|
+
export declare function humanizeSegment(segment: string): string;
|
|
12
|
+
export declare function renderEventLine(t: Translate, source: EventLineSource): string;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AuditLogOperation, ChangeNode } from '@feedmepos/hrm-permission';
|
|
2
|
+
type Translate = (key: string, params?: Record<string, unknown>) => string;
|
|
3
|
+
type TranslationExists = (key: string) => boolean;
|
|
4
|
+
/** Resolve label with i18n fallback: use labelKey if available and translatable, else label. */
|
|
5
|
+
export declare function resolveChangeNodeLabel(t: Translate, te: TranslationExists, node: Pick<ChangeNode, 'label' | 'labelKey'>): string;
|
|
6
|
+
export declare function formatOperationEventLines(t: Translate, operations: AuditLogOperation[] | undefined): string;
|
|
7
|
+
export declare function formatChangeLines(t: Translate, te: TranslationExists, operations: AuditLogOperation[] | undefined): string;
|
|
8
|
+
export {};
|
|
@@ -19,6 +19,9 @@ export declare const i18nMessages: {
|
|
|
19
19
|
dateRange: {
|
|
20
20
|
placeholder: string;
|
|
21
21
|
};
|
|
22
|
+
search: {
|
|
23
|
+
placeholder: string;
|
|
24
|
+
};
|
|
22
25
|
user: {
|
|
23
26
|
feedmeAdmin: string;
|
|
24
27
|
};
|
|
@@ -92,12 +95,15 @@ export declare const i18nMessages: {
|
|
|
92
95
|
action: string;
|
|
93
96
|
operation: string;
|
|
94
97
|
outcome: string;
|
|
98
|
+
operationEvents: string;
|
|
99
|
+
changes: string;
|
|
95
100
|
businessId: string;
|
|
96
101
|
restaurantId: string;
|
|
97
102
|
country: string;
|
|
98
103
|
resolvedFrom: string;
|
|
99
104
|
requestMethod: string;
|
|
100
105
|
requestPath: string;
|
|
106
|
+
traceId: string;
|
|
101
107
|
};
|
|
102
108
|
detail: {
|
|
103
109
|
header: string;
|
|
@@ -134,6 +140,89 @@ export declare const i18nMessages: {
|
|
|
134
140
|
requestPath: string;
|
|
135
141
|
requestBody: string;
|
|
136
142
|
};
|
|
143
|
+
operation: {
|
|
144
|
+
toggle: string;
|
|
145
|
+
rowHint: string;
|
|
146
|
+
unlabeled: string;
|
|
147
|
+
badge: string;
|
|
148
|
+
partialFailure: string;
|
|
149
|
+
sheetHeader: string;
|
|
150
|
+
entity: string;
|
|
151
|
+
duration: string;
|
|
152
|
+
durationValue: string;
|
|
153
|
+
error: string;
|
|
154
|
+
changes: string;
|
|
155
|
+
showData: string;
|
|
156
|
+
added: string;
|
|
157
|
+
removed: string;
|
|
158
|
+
updated: string;
|
|
159
|
+
before: string;
|
|
160
|
+
after: string;
|
|
161
|
+
noChanges: string;
|
|
162
|
+
wholeValue: string;
|
|
163
|
+
};
|
|
164
|
+
event: {
|
|
165
|
+
sentence: {
|
|
166
|
+
restaurant: {
|
|
167
|
+
list: string;
|
|
168
|
+
};
|
|
169
|
+
"permission-assignment": {
|
|
170
|
+
manage: string;
|
|
171
|
+
list: string;
|
|
172
|
+
view: string;
|
|
173
|
+
create: string;
|
|
174
|
+
update: string;
|
|
175
|
+
delete: string;
|
|
176
|
+
};
|
|
177
|
+
"permission-set": {
|
|
178
|
+
manage: string;
|
|
179
|
+
list: string;
|
|
180
|
+
view: string;
|
|
181
|
+
create: string;
|
|
182
|
+
update: string;
|
|
183
|
+
delete: string;
|
|
184
|
+
};
|
|
185
|
+
"grant-user": {
|
|
186
|
+
create: string;
|
|
187
|
+
revoke: string;
|
|
188
|
+
};
|
|
189
|
+
"approval-code": {
|
|
190
|
+
create: string;
|
|
191
|
+
revoke: string;
|
|
192
|
+
};
|
|
193
|
+
"portal-user": {
|
|
194
|
+
list: string;
|
|
195
|
+
"list-page": string;
|
|
196
|
+
view: string;
|
|
197
|
+
create: string;
|
|
198
|
+
update: string;
|
|
199
|
+
delete: string;
|
|
200
|
+
};
|
|
201
|
+
"pos-user": {
|
|
202
|
+
list: string;
|
|
203
|
+
"list-page": string;
|
|
204
|
+
create: string;
|
|
205
|
+
"sync-meta": string;
|
|
206
|
+
update: string;
|
|
207
|
+
migrate: string;
|
|
208
|
+
"generate-passcode": string;
|
|
209
|
+
};
|
|
210
|
+
"pos-master-user": {
|
|
211
|
+
create: string;
|
|
212
|
+
update: string;
|
|
213
|
+
delete: string;
|
|
214
|
+
};
|
|
215
|
+
"pos-role": {
|
|
216
|
+
list: string;
|
|
217
|
+
create: string;
|
|
218
|
+
update: string;
|
|
219
|
+
};
|
|
220
|
+
timesheet: {
|
|
221
|
+
view: string;
|
|
222
|
+
update: string;
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
};
|
|
137
226
|
};
|
|
138
227
|
};
|
|
139
228
|
'zh-CN': {
|
|
@@ -154,6 +243,9 @@ export declare const i18nMessages: {
|
|
|
154
243
|
dateRange: {
|
|
155
244
|
placeholder: string;
|
|
156
245
|
};
|
|
246
|
+
search: {
|
|
247
|
+
placeholder: string;
|
|
248
|
+
};
|
|
157
249
|
user: {
|
|
158
250
|
feedmeAdmin: string;
|
|
159
251
|
};
|
|
@@ -227,12 +319,15 @@ export declare const i18nMessages: {
|
|
|
227
319
|
action: string;
|
|
228
320
|
operation: string;
|
|
229
321
|
outcome: string;
|
|
322
|
+
operationEvents: string;
|
|
323
|
+
changes: string;
|
|
230
324
|
businessId: string;
|
|
231
325
|
restaurantId: string;
|
|
232
326
|
country: string;
|
|
233
327
|
resolvedFrom: string;
|
|
234
328
|
requestMethod: string;
|
|
235
329
|
requestPath: string;
|
|
330
|
+
traceId: string;
|
|
236
331
|
};
|
|
237
332
|
detail: {
|
|
238
333
|
header: string;
|
|
@@ -270,6 +365,89 @@ export declare const i18nMessages: {
|
|
|
270
365
|
requestPath: string;
|
|
271
366
|
requestBody: string;
|
|
272
367
|
};
|
|
368
|
+
operation: {
|
|
369
|
+
toggle: string;
|
|
370
|
+
rowHint: string;
|
|
371
|
+
unlabeled: string;
|
|
372
|
+
badge: string;
|
|
373
|
+
partialFailure: string;
|
|
374
|
+
sheetHeader: string;
|
|
375
|
+
entity: string;
|
|
376
|
+
duration: string;
|
|
377
|
+
durationValue: string;
|
|
378
|
+
error: string;
|
|
379
|
+
changes: string;
|
|
380
|
+
showData: string;
|
|
381
|
+
added: string;
|
|
382
|
+
removed: string;
|
|
383
|
+
updated: string;
|
|
384
|
+
before: string;
|
|
385
|
+
after: string;
|
|
386
|
+
noChanges: string;
|
|
387
|
+
wholeValue: string;
|
|
388
|
+
};
|
|
389
|
+
event: {
|
|
390
|
+
sentence: {
|
|
391
|
+
restaurant: {
|
|
392
|
+
list: string;
|
|
393
|
+
};
|
|
394
|
+
"permission-assignment": {
|
|
395
|
+
manage: string;
|
|
396
|
+
list: string;
|
|
397
|
+
view: string;
|
|
398
|
+
create: string;
|
|
399
|
+
update: string;
|
|
400
|
+
delete: string;
|
|
401
|
+
};
|
|
402
|
+
"permission-set": {
|
|
403
|
+
manage: string;
|
|
404
|
+
list: string;
|
|
405
|
+
view: string;
|
|
406
|
+
create: string;
|
|
407
|
+
update: string;
|
|
408
|
+
delete: string;
|
|
409
|
+
};
|
|
410
|
+
"grant-user": {
|
|
411
|
+
create: string;
|
|
412
|
+
revoke: string;
|
|
413
|
+
};
|
|
414
|
+
"approval-code": {
|
|
415
|
+
create: string;
|
|
416
|
+
revoke: string;
|
|
417
|
+
};
|
|
418
|
+
"portal-user": {
|
|
419
|
+
list: string;
|
|
420
|
+
"list-page": string;
|
|
421
|
+
view: string;
|
|
422
|
+
create: string;
|
|
423
|
+
update: string;
|
|
424
|
+
delete: string;
|
|
425
|
+
};
|
|
426
|
+
"pos-user": {
|
|
427
|
+
list: string;
|
|
428
|
+
"list-page": string;
|
|
429
|
+
create: string;
|
|
430
|
+
"sync-meta": string;
|
|
431
|
+
update: string;
|
|
432
|
+
migrate: string;
|
|
433
|
+
"generate-passcode": string;
|
|
434
|
+
};
|
|
435
|
+
"pos-master-user": {
|
|
436
|
+
create: string;
|
|
437
|
+
update: string;
|
|
438
|
+
delete: string;
|
|
439
|
+
};
|
|
440
|
+
"pos-role": {
|
|
441
|
+
list: string;
|
|
442
|
+
create: string;
|
|
443
|
+
update: string;
|
|
444
|
+
};
|
|
445
|
+
timesheet: {
|
|
446
|
+
view: string;
|
|
447
|
+
update: string;
|
|
448
|
+
};
|
|
449
|
+
};
|
|
450
|
+
};
|
|
273
451
|
};
|
|
274
452
|
};
|
|
275
453
|
'th-TH': {
|
|
@@ -290,6 +468,9 @@ export declare const i18nMessages: {
|
|
|
290
468
|
dateRange: {
|
|
291
469
|
placeholder: string;
|
|
292
470
|
};
|
|
471
|
+
search: {
|
|
472
|
+
placeholder: string;
|
|
473
|
+
};
|
|
293
474
|
user: {
|
|
294
475
|
feedmeAdmin: string;
|
|
295
476
|
};
|
|
@@ -363,12 +544,15 @@ export declare const i18nMessages: {
|
|
|
363
544
|
action: string;
|
|
364
545
|
operation: string;
|
|
365
546
|
outcome: string;
|
|
547
|
+
operationEvents: string;
|
|
548
|
+
changes: string;
|
|
366
549
|
businessId: string;
|
|
367
550
|
restaurantId: string;
|
|
368
551
|
country: string;
|
|
369
552
|
resolvedFrom: string;
|
|
370
553
|
requestMethod: string;
|
|
371
554
|
requestPath: string;
|
|
555
|
+
traceId: string;
|
|
372
556
|
};
|
|
373
557
|
detail: {
|
|
374
558
|
header: string;
|
|
@@ -406,6 +590,89 @@ export declare const i18nMessages: {
|
|
|
406
590
|
requestPath: string;
|
|
407
591
|
requestBody: string;
|
|
408
592
|
};
|
|
593
|
+
operation: {
|
|
594
|
+
toggle: string;
|
|
595
|
+
rowHint: string;
|
|
596
|
+
unlabeled: string;
|
|
597
|
+
badge: string;
|
|
598
|
+
partialFailure: string;
|
|
599
|
+
sheetHeader: string;
|
|
600
|
+
entity: string;
|
|
601
|
+
duration: string;
|
|
602
|
+
durationValue: string;
|
|
603
|
+
error: string;
|
|
604
|
+
changes: string;
|
|
605
|
+
showData: string;
|
|
606
|
+
added: string;
|
|
607
|
+
removed: string;
|
|
608
|
+
updated: string;
|
|
609
|
+
before: string;
|
|
610
|
+
after: string;
|
|
611
|
+
noChanges: string;
|
|
612
|
+
wholeValue: string;
|
|
613
|
+
};
|
|
614
|
+
event: {
|
|
615
|
+
sentence: {
|
|
616
|
+
restaurant: {
|
|
617
|
+
list: string;
|
|
618
|
+
};
|
|
619
|
+
"permission-assignment": {
|
|
620
|
+
manage: string;
|
|
621
|
+
list: string;
|
|
622
|
+
view: string;
|
|
623
|
+
create: string;
|
|
624
|
+
update: string;
|
|
625
|
+
delete: string;
|
|
626
|
+
};
|
|
627
|
+
"permission-set": {
|
|
628
|
+
manage: string;
|
|
629
|
+
list: string;
|
|
630
|
+
view: string;
|
|
631
|
+
create: string;
|
|
632
|
+
update: string;
|
|
633
|
+
delete: string;
|
|
634
|
+
};
|
|
635
|
+
"grant-user": {
|
|
636
|
+
create: string;
|
|
637
|
+
revoke: string;
|
|
638
|
+
};
|
|
639
|
+
"approval-code": {
|
|
640
|
+
create: string;
|
|
641
|
+
revoke: string;
|
|
642
|
+
};
|
|
643
|
+
"portal-user": {
|
|
644
|
+
list: string;
|
|
645
|
+
"list-page": string;
|
|
646
|
+
view: string;
|
|
647
|
+
create: string;
|
|
648
|
+
update: string;
|
|
649
|
+
delete: string;
|
|
650
|
+
};
|
|
651
|
+
"pos-user": {
|
|
652
|
+
list: string;
|
|
653
|
+
"list-page": string;
|
|
654
|
+
create: string;
|
|
655
|
+
"sync-meta": string;
|
|
656
|
+
update: string;
|
|
657
|
+
migrate: string;
|
|
658
|
+
"generate-passcode": string;
|
|
659
|
+
};
|
|
660
|
+
"pos-master-user": {
|
|
661
|
+
create: string;
|
|
662
|
+
update: string;
|
|
663
|
+
delete: string;
|
|
664
|
+
};
|
|
665
|
+
"pos-role": {
|
|
666
|
+
list: string;
|
|
667
|
+
create: string;
|
|
668
|
+
update: string;
|
|
669
|
+
};
|
|
670
|
+
timesheet: {
|
|
671
|
+
view: string;
|
|
672
|
+
update: string;
|
|
673
|
+
};
|
|
674
|
+
};
|
|
675
|
+
};
|
|
409
676
|
};
|
|
410
677
|
};
|
|
411
678
|
'zh-Hant': {
|
|
@@ -426,6 +693,9 @@ export declare const i18nMessages: {
|
|
|
426
693
|
dateRange: {
|
|
427
694
|
placeholder: string;
|
|
428
695
|
};
|
|
696
|
+
search: {
|
|
697
|
+
placeholder: string;
|
|
698
|
+
};
|
|
429
699
|
user: {
|
|
430
700
|
feedmeAdmin: string;
|
|
431
701
|
};
|
|
@@ -499,12 +769,15 @@ export declare const i18nMessages: {
|
|
|
499
769
|
action: string;
|
|
500
770
|
operation: string;
|
|
501
771
|
outcome: string;
|
|
772
|
+
operationEvents: string;
|
|
773
|
+
changes: string;
|
|
502
774
|
businessId: string;
|
|
503
775
|
restaurantId: string;
|
|
504
776
|
country: string;
|
|
505
777
|
resolvedFrom: string;
|
|
506
778
|
requestMethod: string;
|
|
507
779
|
requestPath: string;
|
|
780
|
+
traceId: string;
|
|
508
781
|
};
|
|
509
782
|
detail: {
|
|
510
783
|
header: string;
|
|
@@ -542,6 +815,89 @@ export declare const i18nMessages: {
|
|
|
542
815
|
requestPath: string;
|
|
543
816
|
requestBody: string;
|
|
544
817
|
};
|
|
818
|
+
operation: {
|
|
819
|
+
toggle: string;
|
|
820
|
+
rowHint: string;
|
|
821
|
+
unlabeled: string;
|
|
822
|
+
badge: string;
|
|
823
|
+
partialFailure: string;
|
|
824
|
+
sheetHeader: string;
|
|
825
|
+
entity: string;
|
|
826
|
+
duration: string;
|
|
827
|
+
durationValue: string;
|
|
828
|
+
error: string;
|
|
829
|
+
changes: string;
|
|
830
|
+
showData: string;
|
|
831
|
+
added: string;
|
|
832
|
+
removed: string;
|
|
833
|
+
updated: string;
|
|
834
|
+
before: string;
|
|
835
|
+
after: string;
|
|
836
|
+
noChanges: string;
|
|
837
|
+
wholeValue: string;
|
|
838
|
+
};
|
|
839
|
+
event: {
|
|
840
|
+
sentence: {
|
|
841
|
+
restaurant: {
|
|
842
|
+
list: string;
|
|
843
|
+
};
|
|
844
|
+
"permission-assignment": {
|
|
845
|
+
manage: string;
|
|
846
|
+
list: string;
|
|
847
|
+
view: string;
|
|
848
|
+
create: string;
|
|
849
|
+
update: string;
|
|
850
|
+
delete: string;
|
|
851
|
+
};
|
|
852
|
+
"permission-set": {
|
|
853
|
+
manage: string;
|
|
854
|
+
list: string;
|
|
855
|
+
view: string;
|
|
856
|
+
create: string;
|
|
857
|
+
update: string;
|
|
858
|
+
delete: string;
|
|
859
|
+
};
|
|
860
|
+
"grant-user": {
|
|
861
|
+
create: string;
|
|
862
|
+
revoke: string;
|
|
863
|
+
};
|
|
864
|
+
"approval-code": {
|
|
865
|
+
create: string;
|
|
866
|
+
revoke: string;
|
|
867
|
+
};
|
|
868
|
+
"portal-user": {
|
|
869
|
+
list: string;
|
|
870
|
+
"list-page": string;
|
|
871
|
+
view: string;
|
|
872
|
+
create: string;
|
|
873
|
+
update: string;
|
|
874
|
+
delete: string;
|
|
875
|
+
};
|
|
876
|
+
"pos-user": {
|
|
877
|
+
list: string;
|
|
878
|
+
"list-page": string;
|
|
879
|
+
create: string;
|
|
880
|
+
"sync-meta": string;
|
|
881
|
+
update: string;
|
|
882
|
+
migrate: string;
|
|
883
|
+
"generate-passcode": string;
|
|
884
|
+
};
|
|
885
|
+
"pos-master-user": {
|
|
886
|
+
create: string;
|
|
887
|
+
update: string;
|
|
888
|
+
delete: string;
|
|
889
|
+
};
|
|
890
|
+
"pos-role": {
|
|
891
|
+
list: string;
|
|
892
|
+
create: string;
|
|
893
|
+
update: string;
|
|
894
|
+
};
|
|
895
|
+
timesheet: {
|
|
896
|
+
view: string;
|
|
897
|
+
update: string;
|
|
898
|
+
};
|
|
899
|
+
};
|
|
900
|
+
};
|
|
545
901
|
};
|
|
546
902
|
};
|
|
547
903
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type SnapshotDiffType = 'added' | 'removed' | 'changed';
|
|
2
|
+
export interface SnapshotDiffRow {
|
|
3
|
+
/** e.g. "name", "permissions[business::unitCostHistory]", "roles[0].roleId" */
|
|
4
|
+
path: string;
|
|
5
|
+
type: SnapshotDiffType;
|
|
6
|
+
/** null = value absent on the before side (render as em dash by caller) */
|
|
7
|
+
before: string | null;
|
|
8
|
+
/** null = value absent on the after side */
|
|
9
|
+
after: string | null;
|
|
10
|
+
}
|
|
11
|
+
export declare function computeSnapshotDiff(before: unknown, after: unknown): SnapshotDiffRow[];
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.employee-list-table[data-v-9cf34375] [class~=gap-24]>div:first-child{display:none}.timesheet-user-view[data-v-2c7a177a] .basis-72{display:none}.user-info-icon[data-v-827dfd60]{flex-shrink:0;cursor:pointer;font-size:.75rem;font-weight:600;line-height:1rem;letter-spacing:.02em;text-decoration-line:none;color:var(--fm-color-neutral-white);display:flex;align-items:center;justify-content:center;background:linear-gradient(201deg,#fc9b40 10.3%,#ff6052 98.36%)}.user-info-icon--md[data-v-827dfd60]{height:2.25rem;width:2.25rem;border-radius:8px}.user-info-icon--lg[data-v-827dfd60]{height:48px;width:48px;border-radius:16px}.profile-menu[data-v-827dfd60]{width:280px;padding-top:12px;padding-bottom:12px}.profile-menu--profile[data-v-827dfd60]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(8px * var(--tw-space-x-reverse));margin-left:calc(8px * calc(1 - var(--tw-space-x-reverse)))}.profile-menu--profile[data-v-827dfd60]{padding:16px 16px 12px;border-radius:8px;display:flex;align-items:center;border-width:1px;border-color:var(--fm-color-neutral-gray-200)}.profile-menu--profile .profile-displayName[data-v-827dfd60]{font-size:1rem;font-weight:400;line-height:1.25rem;letter-spacing:.005em;text-decoration-line:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu--profile .profile-email[data-v-827dfd60],.profile-menu--profile .profile-phone[data-v-827dfd60]{font-size:.875rem;font-weight:400;line-height:1.125rem;letter-spacing:.0125em;text-decoration-line:none;color:var(--fm-color-neutral-gray-300);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-log-list-table[data-v-
|
|
1
|
+
.employee-list-table[data-v-9cf34375] [class~=gap-24]>div:first-child{display:none}.timesheet-user-view[data-v-2c7a177a] .basis-72{display:none}.user-info-icon[data-v-827dfd60]{flex-shrink:0;cursor:pointer;font-size:.75rem;font-weight:600;line-height:1rem;letter-spacing:.02em;text-decoration-line:none;color:var(--fm-color-neutral-white);display:flex;align-items:center;justify-content:center;background:linear-gradient(201deg,#fc9b40 10.3%,#ff6052 98.36%)}.user-info-icon--md[data-v-827dfd60]{height:2.25rem;width:2.25rem;border-radius:8px}.user-info-icon--lg[data-v-827dfd60]{height:48px;width:48px;border-radius:16px}.profile-menu[data-v-827dfd60]{width:280px;padding-top:12px;padding-bottom:12px}.profile-menu--profile[data-v-827dfd60]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(8px * var(--tw-space-x-reverse));margin-left:calc(8px * calc(1 - var(--tw-space-x-reverse)))}.profile-menu--profile[data-v-827dfd60]{padding:16px 16px 12px;border-radius:8px;display:flex;align-items:center;border-width:1px;border-color:var(--fm-color-neutral-gray-200)}.profile-menu--profile .profile-displayName[data-v-827dfd60]{font-size:1rem;font-weight:400;line-height:1.25rem;letter-spacing:.005em;text-decoration-line:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu--profile .profile-email[data-v-827dfd60],.profile-menu--profile .profile-phone[data-v-827dfd60]{font-size:.875rem;font-weight:400;line-height:1.125rem;letter-spacing:.0125em;text-decoration-line:none;color:var(--fm-color-neutral-gray-300);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-log-list-table[data-v-8abe880c] [class~=gap-24]>div:first-child{display:none}.audit-log-list-table[data-v-8abe880c] tr:has(.audit-op-marker){background-color:var(--fm-color-neutral-gray-100);border-top:1px solid var(--fm-color-neutral-gray-200)}.audit-log-list-table[data-v-8abe880c] tr:has(.audit-op-marker):hover{background-color:#e8e8ed}.audit-log-action-label[data-v-8abe880c]{display:block;width:100%;max-width:100%;max-height:6.25rem;overflow-y:auto;white-space:pre-line;word-break:break-word;line-height:1.25rem;scrollbar-width:none;-ms-overflow-style:none}.audit-log-action-label[data-v-8abe880c]::-webkit-scrollbar{display:none}.audit-log-operation-label-detail[data-v-8abe880c]{max-height:6.875rem;overflow-y:auto;white-space:pre-line;word-break:break-word;line-height:1.375rem;scrollbar-width:none;-ms-overflow-style:none}.audit-log-operation-label-detail[data-v-8abe880c]::-webkit-scrollbar{display:none}
|