@feedmepos/mf-hrm-portal 2.2.4 → 2.2.5-dev.10
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-ChGQwko6.js → ApprovalCodeList-BsDMMSIz.js} +7 -7
- package/dist/{AuditLogList-Cpj8O5qS.js → AuditLogList-CGNZdtmn.js} +244 -241
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CNmbZlVZ.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-C6MoToqi.js} +2 -2
- package/dist/EmployeeList-B_OuDWWQ.js +787 -0
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-DPT2FoIc.js → FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js} +1 -1
- package/dist/{GrantUserList-CAXJmQ4i.js → GrantUserList-Bd0lXmFo.js} +8 -8
- package/dist/{Main-Ada9K_jO.js → Main-B66lSeOv.js} +8 -8
- package/dist/{Main-T9-30vq8.js → Main-CzHSNHsH.js} +5 -5
- package/dist/{Main-7yT_w5vt.js → Main-njRQ1tFk.js} +11 -11
- package/dist/PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js +243 -0
- package/dist/{PermissionSetList-CkWYPmT2.js → PermissionSetList-GTI6Cwj5.js} +20 -20
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CCLLrSyq.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-C-QEQ-js.js} +937 -944
- package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-Z-DH7ouY.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-XHuHin8t.js} +1 -1
- package/dist/{RoleList-Do36AmlU.js → RoleList-CmHgtM0m.js} +9 -9
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-SFqxftRx.js +426 -0
- package/dist/ScheduleButton.vue_vue_type_script_setup_true_lang-CrWfo-zF.js +690 -0
- package/dist/ScheduleGeneralPage-DxFxJN5j.js +320 -0
- package/dist/SchedulePage-cJDI3-E7.js +14647 -0
- package/dist/SchedulePositionPage-n1wUShIM.js +293 -0
- package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-B8W4sTsA.js +242 -0
- package/dist/SelectFilter-CG13h83-.js +264 -0
- package/dist/TeamMemberList-ByZt3VqN.js +1154 -0
- package/dist/{TimesheetList-DboJ2_89.js → TimesheetList-Dv0-W--W.js} +71 -68
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_2c7a177a_lang-C4g8wRjv.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-DIo6h5-a.js} +3 -3
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/{app-CcCcPbyB.js → app-SCXGJ95F.js} +3182 -2565
- package/dist/app.js +1 -1
- package/dist/{approval-code-BRClD2HN.js → approval-code-jIjkeVEb.js} +1 -1
- package/dist/{dayjs.min-lvkj1Rwa.js → dayjs.min-DqMLPYv-.js} +1 -1
- package/dist/employee-DT_xYQkz.js +204 -0
- package/dist/{grant-user-Dhi3ilC_.js → grant-user-SNiDV22U.js} +1 -1
- package/dist/{iteration-LZbo-knt.js → iteration-B5dB9ecy.js} +1 -1
- package/dist/{lodash-CKzaMa7f.js → lodash-CRHFapxI.js} +1 -1
- package/dist/{restaurant-DiYb0pCm.js → restaurant-BTpBmfBV.js} +2 -2
- package/dist/{role-BZr8zzeq.js → role-CJm8pXaw.js} +2 -2
- package/dist/{rule-DNaqlUUB.js → rule-AJm-eVzJ.js} +291 -279
- package/dist/src/api/employee/index.d.ts +5 -1
- package/dist/src/api/schedule/index.d.ts +41 -0
- package/dist/src/api/team/index.d.ts +3 -0
- package/dist/src/components/form/OutletRoleAssignment.vue.d.ts +16 -0
- package/dist/src/components/form/PasscodeGenerateButton.vue.d.ts +15 -0
- package/dist/src/components/form/PasscodePinField.vue.d.ts +18 -0
- package/dist/src/components/layout/AppSidebar.vue.d.ts +2 -0
- package/dist/src/components/layout/PortalShell.vue.d.ts +12 -0
- package/dist/src/components/layout/withShell.d.ts +14 -0
- package/dist/src/helpers/outlet-role-assignment.d.ts +40 -0
- package/dist/src/helpers/rule.d.ts +15 -0
- package/dist/src/helpers/string.d.ts +2 -1
- package/dist/src/router/shared.d.ts +4 -1
- package/dist/src/types/schedule.d.ts +232 -0
- package/dist/src/views/audit-log/locales/index.d.ts +4 -0
- package/dist/src/views/hr/locales/index.d.ts +8 -0
- package/dist/src/views/scheduling/ScheduleGeneralPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/SchedulePositionPage.vue.d.ts +3 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeIdentitySection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModal.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeModeStep.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePosAccessSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeePositionsSection.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleAddEmployeeSchedulingSection.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPickPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAddPositionModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +22 -0
- package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +34 -0
- package/dist/src/views/scheduling/components/ScheduleAssignEmployeePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleModal.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleButton.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleChangeEmployeeModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +24 -0
- package/dist/src/views/scheduling/components/ScheduleCostRail.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleDateRangePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayNotePopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleDemandRow.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleDemandSheet.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleDotsIcon.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeDetailPanel.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeIdentity.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleEmployeeMenu.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleFilterBar.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGapPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleGridHeader.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleGridSkeleton.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleLeaveEditModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleLegendBar.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWelcome.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizard.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +14 -0
- package/dist/src/views/scheduling/components/SchedulePdfPreview.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/SchedulePublishModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleReviewBar.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +54 -0
- package/dist/src/views/scheduling/components/ScheduleSelectExistingEmployeeModal.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleShiftCell.vue.d.ts +35 -0
- package/dist/src/views/scheduling/components/ScheduleShiftHeadcountEditor.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleShiftImpact.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftMoreOptions.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +16 -0
- package/dist/src/views/scheduling/components/ScheduleShiftRepeatDaysRow.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftSegmentsEditor.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleShiftWhoPicker.vue.d.ts +25 -0
- package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +14 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +18 -0
- package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +60 -0
- package/dist/src/views/scheduling/components/ScheduleStatsRow.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleSwapShiftsModal.vue.d.ts +8 -0
- package/dist/src/views/scheduling/components/ScheduleTimePickerPopover.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +20 -0
- package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +72 -0
- package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +38 -0
- package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +29 -0
- package/dist/src/views/scheduling/composables/schedule-employee-profile.d.ts +7 -0
- package/dist/src/views/scheduling/composables/schedule-popover-position.d.ts +16 -0
- package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +14 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +10 -0
- package/dist/src/views/scheduling/composables/scheduleAutoSolver.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useCollapsedList.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +98 -0
- package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +73 -0
- package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +77 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +122 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +143 -0
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +426 -0
- package/dist/src/views/scheduling/composables/useScheduleCellState.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleClashDetection.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +19 -0
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +43 -0
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +48 -0
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +77 -0
- package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +76 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandRow.d.ts +45 -0
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +145 -0
- package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +41 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeProfile.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +26 -0
- package/dist/src/views/scheduling/composables/useScheduleFilterBar.d.ts +14 -0
- package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +82 -0
- package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +70 -0
- package/dist/src/views/scheduling/composables/useScheduleLegend.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleLegendBar.d.ts +35 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1316 -0
- package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +20 -0
- package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +50 -0
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +32 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +93 -0
- package/dist/src/views/scheduling/composables/useScheduleRangeCalendar.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +189 -0
- package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +54 -0
- package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +163 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +181 -0
- package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +25 -0
- package/dist/src/views/scheduling/composables/useScheduleTimePicker.d.ts +49 -0
- package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +10 -0
- package/dist/src/views/scheduling/composables/useScheduleViewportFit.d.ts +9 -0
- package/dist/src/views/scheduling/data.d.ts +110 -0
- package/dist/src/views/scheduling/locales/index.d.ts +496 -0
- package/dist/src/views/scheduling/schedule-store.d.ts +151 -0
- package/dist/src/views/scheduling/types.d.ts +324 -0
- package/dist/src/views/team/components/PortalConditionForm.vue.d.ts +2 -2
- package/dist/src/views/team/condition-builders/ConditionBuilderForm.vue.d.ts +2 -2
- package/dist/src/views/team/locales/index.d.ts +12 -0
- package/dist/src/views/team/member/AddMemberForm.vue.d.ts +1 -0
- package/dist/src/views/team/member/TeamMemberMasterUser.vue.d.ts +21 -3
- package/dist/string-VNuQNweN.js +15 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-BGhlB1_1.js → useAppStore-DCwd8GWN.js} +1 -1
- package/dist/{useLoading-CvgqVDbF.js → useLoading-CXzTpIVv.js} +1 -1
- package/dist/{useReportPermissions-Buzv6pkY.js → useReportPermissions-Cg3lV70m.js} +3 -3
- package/package.json +1 -1
- package/dist/EmployeeList-PdGzSCP-.js +0 -887
- package/dist/SelectFilter-ATOm0hdn.js +0 -269
- package/dist/Skeleton.vue_vue_type_script_setup_true_lang-B4PxNMwq.js +0 -16
- package/dist/TeamMemberList-CVVNnz0R.js +0 -1216
- package/dist/employee-CLgrXpmZ.js +0 -201
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import { defineComponent as Mt, ref as S, computed as A, onMounted as Ao, onBeforeUnmount as Fo, watch as de, resolveComponent as N, createElementBlock as b, openBlock as v, createBlock as
|
|
2
|
-
import { d as D } from "./dayjs.min-
|
|
1
|
+
import { defineComponent as Mt, ref as S, computed as A, onMounted as Ao, onBeforeUnmount as Fo, watch as de, resolveComponent as N, createElementBlock as b, openBlock as v, createBlock as we, createCommentVNode as j, createElementVNode as a, Fragment as q, renderList as ae, withCtx as B, createVNode as m, toDisplayString as l, unref as c, nextTick as Mo, onUnmounted as Oo, createTextVNode as Ve, normalizeClass as Do } from "vue";
|
|
2
|
+
import { d as D } from "./dayjs.min-DqMLPYv-.js";
|
|
3
3
|
import { useI18n as Ot, useCoreStore as jo } from "@feedmepos/mf-common";
|
|
4
|
-
import { B as St, _ as Co } from "./app-
|
|
4
|
+
import { B as St, _ as Co } from "./app-SCXGJ95F.js";
|
|
5
5
|
import { components as ue } from "@feedmepos/ui-library";
|
|
6
|
-
import { g as Ze, b as et } from "./restaurant-
|
|
7
|
-
import { S as Pe
|
|
8
|
-
import { _ as
|
|
9
|
-
import { _ as
|
|
10
|
-
import { t as
|
|
11
|
-
import { defineStore as
|
|
12
|
-
import { u as
|
|
13
|
-
|
|
6
|
+
import { g as Ze, b as et } from "./restaurant-BTpBmfBV.js";
|
|
7
|
+
import { S as Pe } from "./SelectFilter-CG13h83-.js";
|
|
8
|
+
import { _ as To } from "./PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js";
|
|
9
|
+
import { _ as Vo } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
|
|
10
|
+
import { t as Po, p as kt } from "./rule-AJm-eVzJ.js";
|
|
11
|
+
import { defineStore as Eo } from "pinia";
|
|
12
|
+
import { u as $o } from "./useDebounce-B8ZPVS5C.js";
|
|
13
|
+
import { n as No } from "./string-VNuQNweN.js";
|
|
14
|
+
import { _ as Uo } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
15
|
+
const Se = [
|
|
14
16
|
{ key: "all", label: "All", subjectPrefixes: [] },
|
|
15
17
|
{ key: "inventory", label: "Inventory", subjectPrefixes: ["business::inventory", "inventory"] },
|
|
16
18
|
{ key: "report", label: "Report", subjectPrefixes: ["business::report", "report"] },
|
|
@@ -97,10 +99,10 @@ const Le = [
|
|
|
97
99
|
await et().get(`${tt}/actors`, { params: o })
|
|
98
100
|
);
|
|
99
101
|
}
|
|
100
|
-
},
|
|
102
|
+
}, Ro = { class: "flex h-[46px] items-center gap-8 rounded-sm px-16 hover:bg-fm-color-opacity-sm" }, Ko = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, Bo = {
|
|
101
103
|
"data-more-measure": "",
|
|
102
104
|
class: "flex h-[46px] items-center gap-8 rounded-sm px-16"
|
|
103
|
-
},
|
|
105
|
+
}, Yo = { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary" }, zo = /* @__PURE__ */ Mt({
|
|
104
106
|
__name: "AuditLogModuleTabs",
|
|
105
107
|
props: {
|
|
106
108
|
modelValue: {},
|
|
@@ -135,9 +137,9 @@ const Le = [
|
|
|
135
137
|
if (!T || E.some((J) => J.value === T.value)) return E;
|
|
136
138
|
if (_ === 0) return [T];
|
|
137
139
|
const Y = n.items.findIndex((J) => J.value === T.value), U = i.value, w = C.value, ce = U[Y] ?? 0;
|
|
138
|
-
let ne = _,
|
|
139
|
-
for (; ne > 1 &&
|
|
140
|
-
ne--,
|
|
140
|
+
let ne = _, Ae = U.slice(0, ne - 1).reduce((J, he) => J + he, 0);
|
|
141
|
+
for (; ne > 1 && Ae + ce + w > O.value; )
|
|
142
|
+
ne--, Ae = U.slice(0, ne - 1).reduce((J, he) => J + he, 0);
|
|
141
143
|
return [...n.items.slice(0, Math.max(ne - 1, 0)), T];
|
|
142
144
|
}), K = A(() => {
|
|
143
145
|
const _ = new Set(I.value.map((M) => M.value));
|
|
@@ -165,7 +167,7 @@ const Le = [
|
|
|
165
167
|
ref: p,
|
|
166
168
|
class: "relative flex w-full flex-row items-center"
|
|
167
169
|
}, [
|
|
168
|
-
(v(!0), b(q, null, ae(I.value, (w) => (v(),
|
|
170
|
+
(v(!0), b(q, null, ae(I.value, (w) => (v(), we(E, {
|
|
169
171
|
key: w.value,
|
|
170
172
|
"model-value": t.modelValue,
|
|
171
173
|
label: w.label,
|
|
@@ -174,7 +176,7 @@ const Le = [
|
|
|
174
176
|
value: w.value,
|
|
175
177
|
"onUpdate:modelValue": W
|
|
176
178
|
}, null, 8, ["model-value", "label", "badge", "disabled", "value"]))), 128)),
|
|
177
|
-
K.value.length > 0 ? (v(),
|
|
179
|
+
K.value.length > 0 ? (v(), we(U, {
|
|
178
180
|
key: 0,
|
|
179
181
|
"show-menu": g.value,
|
|
180
182
|
class: "max-w-[360px] min-w-[90px] rounded-sm",
|
|
@@ -182,13 +184,13 @@ const Le = [
|
|
|
182
184
|
onMenuChanged: M[0] || (M[0] = (w) => g.value = w)
|
|
183
185
|
}, {
|
|
184
186
|
"menu-button": B(() => [
|
|
185
|
-
a("div",
|
|
187
|
+
a("div", Ro, [
|
|
186
188
|
m(T, { name: "more_vert" }),
|
|
187
|
-
a("span",
|
|
189
|
+
a("span", Ko, l(c(d)("auditLog.modules.more")), 1)
|
|
188
190
|
])
|
|
189
191
|
]),
|
|
190
192
|
default: B(() => [
|
|
191
|
-
(v(!0), b(q, null, ae(K.value, (w) => (v(),
|
|
193
|
+
(v(!0), b(q, null, ae(K.value, (w) => (v(), we(Y, {
|
|
192
194
|
key: w.value,
|
|
193
195
|
"model-value": t.modelValue === w.value,
|
|
194
196
|
label: w.label,
|
|
@@ -216,15 +218,15 @@ const Le = [
|
|
|
216
218
|
value: w.value
|
|
217
219
|
}, null, 8, ["model-value", "label", "badge", "disabled", "value"])
|
|
218
220
|
]))), 128)),
|
|
219
|
-
a("div",
|
|
221
|
+
a("div", Bo, [
|
|
220
222
|
m(T, { name: "more_vert" }),
|
|
221
|
-
a("span",
|
|
223
|
+
a("span", Yo, l(c(d)("auditLog.modules.more")), 1)
|
|
222
224
|
])
|
|
223
225
|
], 512)
|
|
224
226
|
], 512);
|
|
225
227
|
};
|
|
226
228
|
}
|
|
227
|
-
}),
|
|
229
|
+
}), qo = Eo("team", () => {
|
|
228
230
|
const t = S([]), o = S(!1), n = S(!1), r = A(
|
|
229
231
|
() => Object.fromEntries(t.value.map((h) => [h.doc.userId, h.name]))
|
|
230
232
|
), d = A(
|
|
@@ -236,7 +238,7 @@ const Le = [
|
|
|
236
238
|
if (!(!h && t.value.length > 0))
|
|
237
239
|
try {
|
|
238
240
|
o.value = !0;
|
|
239
|
-
const i = await
|
|
241
|
+
const i = await Po.readTeamMembers();
|
|
240
242
|
t.value = i.sort((C, O) => C.doc.isOwner ? -1 : C.name.localeCompare(O.name)), n.value = !0;
|
|
241
243
|
} finally {
|
|
242
244
|
o.value = !1;
|
|
@@ -252,7 +254,7 @@ const Le = [
|
|
|
252
254
|
readTeamMembers: p
|
|
253
255
|
};
|
|
254
256
|
});
|
|
255
|
-
function
|
|
257
|
+
function Jo(t) {
|
|
256
258
|
const o = t.indexOf(".");
|
|
257
259
|
return o <= 0 || o === t.length - 1 ? null : { entity: t.slice(0, o), verb: t.slice(o + 1) };
|
|
258
260
|
}
|
|
@@ -260,16 +262,16 @@ function wt(t) {
|
|
|
260
262
|
const o = t.split("-").join(" ");
|
|
261
263
|
return o.charAt(0).toUpperCase() + o.slice(1);
|
|
262
264
|
}
|
|
263
|
-
function
|
|
265
|
+
function Ho(t, o, n) {
|
|
264
266
|
const r = t(o, n);
|
|
265
267
|
return r === o ? null : r;
|
|
266
268
|
}
|
|
267
269
|
function st(t, o) {
|
|
268
270
|
const { eventKey: n, params: r, operationLabel: d } = o;
|
|
269
271
|
if (n) {
|
|
270
|
-
const g =
|
|
272
|
+
const g = Ho(t, `auditLog.event.sentence.${n}`, r);
|
|
271
273
|
if (g) return g;
|
|
272
|
-
const p =
|
|
274
|
+
const p = Jo(n);
|
|
273
275
|
if (p) {
|
|
274
276
|
const h = `${wt(p.verb)} ${wt(p.entity)}`, i = (r == null ? void 0 : r.label) ?? (r == null ? void 0 : r.name);
|
|
275
277
|
return i !== void 0 && i !== "" ? `${h} — ${i}` : h;
|
|
@@ -280,7 +282,7 @@ function st(t, o) {
|
|
|
280
282
|
function ge(t) {
|
|
281
283
|
return typeof t == "object" && t !== null && !Array.isArray(t);
|
|
282
284
|
}
|
|
283
|
-
function
|
|
285
|
+
function Ie(t) {
|
|
284
286
|
return Array.isArray(t);
|
|
285
287
|
}
|
|
286
288
|
function Ne(t) {
|
|
@@ -293,7 +295,7 @@ function Ne(t) {
|
|
|
293
295
|
}
|
|
294
296
|
return String(t);
|
|
295
297
|
}
|
|
296
|
-
function
|
|
298
|
+
function Wo(t, o) {
|
|
297
299
|
return t ? `${t}.${o}` : o;
|
|
298
300
|
}
|
|
299
301
|
function It(t) {
|
|
@@ -302,19 +304,19 @@ function It(t) {
|
|
|
302
304
|
if (!o.startsWith("{") && !o.startsWith("[")) return { ok: !1, value: void 0 };
|
|
303
305
|
try {
|
|
304
306
|
const n = JSON.parse(o);
|
|
305
|
-
return ge(n) ||
|
|
307
|
+
return ge(n) || Ie(n) ? { ok: !0, value: n } : { ok: !1, value: void 0 };
|
|
306
308
|
} catch {
|
|
307
309
|
return { ok: !1, value: void 0 };
|
|
308
310
|
}
|
|
309
311
|
}
|
|
310
|
-
const
|
|
311
|
-
function
|
|
312
|
+
const Go = ["_id", "id", "subject", "key", "name"];
|
|
313
|
+
function Xo(t, o) {
|
|
312
314
|
if (t.length === 0 || o.length === 0) return null;
|
|
313
315
|
const n = (d, g) => d.every((p) => ge(p) && p[g] !== void 0), r = (d, g) => {
|
|
314
316
|
const p = d.map((h) => h[g]);
|
|
315
317
|
return p.length === new Set(p).size;
|
|
316
318
|
};
|
|
317
|
-
for (const d of
|
|
319
|
+
for (const d of Go)
|
|
318
320
|
if (n(t, d) && n(o, d) && r(t, d) && r(o, d))
|
|
319
321
|
return d;
|
|
320
322
|
return null;
|
|
@@ -325,15 +327,15 @@ function Dt(t, o, n) {
|
|
|
325
327
|
function jt(t, o, n) {
|
|
326
328
|
n.push({ path: t, type: "removed", before: Ne(o), after: null });
|
|
327
329
|
}
|
|
328
|
-
function
|
|
330
|
+
function Qo(t, o, n, r) {
|
|
329
331
|
const d = /* @__PURE__ */ new Set([...Object.keys(o), ...Object.keys(n)]);
|
|
330
332
|
for (const g of Array.from(d)) {
|
|
331
333
|
const p = Object.prototype.hasOwnProperty.call(o, g), h = Object.prototype.hasOwnProperty.call(n, g);
|
|
332
|
-
Ue(
|
|
334
|
+
Ue(Wo(t, g), o[g], p, n[g], h, r);
|
|
333
335
|
}
|
|
334
336
|
}
|
|
335
|
-
function
|
|
336
|
-
const d =
|
|
337
|
+
function Zo(t, o, n, r) {
|
|
338
|
+
const d = Xo(o, n);
|
|
337
339
|
if (d) {
|
|
338
340
|
const L = new Map(
|
|
339
341
|
o.map((_) => [_[d], _])
|
|
@@ -383,11 +385,11 @@ function Ue(t, o, n, r, d, g) {
|
|
|
383
385
|
}
|
|
384
386
|
if (JSON.stringify(o) === JSON.stringify(r)) return;
|
|
385
387
|
if (ge(o) && ge(r)) {
|
|
386
|
-
|
|
388
|
+
Qo(t, o, r, g);
|
|
387
389
|
return;
|
|
388
390
|
}
|
|
389
|
-
if (
|
|
390
|
-
|
|
391
|
+
if (Ie(o) && Ie(r)) {
|
|
392
|
+
Zo(t, o, r, g);
|
|
391
393
|
return;
|
|
392
394
|
}
|
|
393
395
|
const p = It(o), h = It(r);
|
|
@@ -402,13 +404,13 @@ function Ue(t, o, n, r, d, g) {
|
|
|
402
404
|
after: Ne(r)
|
|
403
405
|
});
|
|
404
406
|
}
|
|
405
|
-
function
|
|
407
|
+
function es(t, o) {
|
|
406
408
|
if (JSON.stringify(t) === JSON.stringify(o)) return [];
|
|
407
409
|
const n = t == null, r = o == null;
|
|
408
410
|
let d = t;
|
|
409
|
-
n && (ge(o) ? d = {} :
|
|
411
|
+
n && (ge(o) ? d = {} : Ie(o) && (d = []));
|
|
410
412
|
let g = o;
|
|
411
|
-
r && (ge(t) ? g = {} :
|
|
413
|
+
r && (ge(t) ? g = {} : Ie(t) && (g = []));
|
|
412
414
|
const p = [];
|
|
413
415
|
return Ue("", d, !0, g, !0, p), p;
|
|
414
416
|
}
|
|
@@ -419,7 +421,7 @@ function At(t) {
|
|
|
419
421
|
function pe(t) {
|
|
420
422
|
return t === void 0 ? "—" : Array.isArray(t) ? t.length > 0 ? t.join(", ") : "—" : t || "—";
|
|
421
423
|
}
|
|
422
|
-
function
|
|
424
|
+
function ts(t) {
|
|
423
425
|
return {
|
|
424
426
|
label: t.label,
|
|
425
427
|
labelKey: t.labelKey,
|
|
@@ -428,7 +430,7 @@ function es(t) {
|
|
|
428
430
|
afterDisplay: pe(t.after)
|
|
429
431
|
};
|
|
430
432
|
}
|
|
431
|
-
function
|
|
433
|
+
function os(t) {
|
|
432
434
|
return Array.isArray(t) && t.length > 0;
|
|
433
435
|
}
|
|
434
436
|
function Ct(t, o, n) {
|
|
@@ -437,7 +439,7 @@ function Ct(t, o, n) {
|
|
|
437
439
|
function Tt(t, o) {
|
|
438
440
|
return st(t, o) || t("auditLog.operation.unlabeled");
|
|
439
441
|
}
|
|
440
|
-
function
|
|
442
|
+
function ss(t, o) {
|
|
441
443
|
return !o || o.length === 0 ? "" : o.map((n) => {
|
|
442
444
|
const r = Tt(t, n), d = t(`auditLog.outcome.${n.status}`);
|
|
443
445
|
let g = `${r}: ${d}`;
|
|
@@ -445,35 +447,33 @@ function os(t, o) {
|
|
|
445
447
|
}).join(`
|
|
446
448
|
`);
|
|
447
449
|
}
|
|
448
|
-
function
|
|
450
|
+
function as(t, o, n) {
|
|
449
451
|
const r = Ct(t, o, n);
|
|
450
452
|
return n.type === "add" ? `${r}: + ${pe(n.after)}` : n.type === "remove" ? `${r}: - ${pe(n.before)}` : `${r}: ${pe(n.before)} → ${pe(n.after)}`;
|
|
451
453
|
}
|
|
452
|
-
function
|
|
454
|
+
function ns(t, o, n) {
|
|
453
455
|
if (!n || n.length === 0) return "";
|
|
454
456
|
const r = n.filter((p) => p.changeNodes && p.changeNodes.length > 0);
|
|
455
457
|
if (r.length === 0) return "";
|
|
456
458
|
const d = r.length > 1;
|
|
457
459
|
return r.map((p) => {
|
|
458
|
-
const h = (p.changeNodes ?? []).map((i) =>
|
|
460
|
+
const h = (p.changeNodes ?? []).map((i) => as(t, o, i));
|
|
459
461
|
return d ? [`[${Tt(t, p)}]`, ...h].join(`
|
|
460
462
|
`) : h.join(`
|
|
461
463
|
`);
|
|
462
464
|
}).join(`
|
|
463
465
|
`);
|
|
464
466
|
}
|
|
465
|
-
const
|
|
467
|
+
const ls = {
|
|
466
468
|
class: "flex flex-col gap-4 p-12 w-[260px]"
|
|
467
|
-
}, ls = {
|
|
468
|
-
class: "text-xs font-semibold text-fm-color-typo-secondary mb-4"
|
|
469
469
|
}, rs = {
|
|
470
|
-
class: "
|
|
470
|
+
class: "text-xs font-semibold text-fm-color-typo-secondary mb-4"
|
|
471
471
|
}, is = {
|
|
472
|
-
class: "
|
|
472
|
+
class: "flex min-h-0 flex-1 flex-col gap-16"
|
|
473
473
|
}, us = {
|
|
474
|
-
class: "
|
|
474
|
+
class: "space-y-16"
|
|
475
475
|
}, ds = {
|
|
476
|
-
class: "
|
|
476
|
+
class: "flex flex-wrap items-center gap-8"
|
|
477
477
|
}, cs = {
|
|
478
478
|
class: "w-fit"
|
|
479
479
|
}, fs = {
|
|
@@ -481,232 +481,234 @@ const ns = {
|
|
|
481
481
|
}, ms = {
|
|
482
482
|
class: "w-fit"
|
|
483
483
|
}, vs = {
|
|
484
|
-
class: "
|
|
484
|
+
class: "w-fit"
|
|
485
485
|
}, ps = {
|
|
486
|
+
class: "flex h-full flex-col overflow-auto"
|
|
487
|
+
}, gs = {
|
|
486
488
|
key: 0,
|
|
487
489
|
class: "space-y-12 p-4 text-sm"
|
|
488
|
-
}, gs = {
|
|
489
|
-
class: "flex items-start justify-between gap-8 rounded-lg border border-fm-color-border-default p-12"
|
|
490
490
|
}, hs = {
|
|
491
|
-
class: "
|
|
491
|
+
class: "flex items-start justify-between gap-8 rounded-lg border border-fm-color-border-default p-12"
|
|
492
492
|
}, ys = {
|
|
493
|
-
class: "
|
|
493
|
+
class: "min-w-0 flex-1"
|
|
494
494
|
}, bs = {
|
|
495
|
+
class: "audit-log-operation-label-detail text-base font-bold leading-snug text-fm-color-typo-primary"
|
|
496
|
+
}, _s = {
|
|
495
497
|
key: 0,
|
|
496
498
|
class: "mt-4 break-all font-mono text-xs text-fm-color-typo-secondary"
|
|
497
|
-
}, _s = {
|
|
498
|
-
class: "flex items-center gap-4"
|
|
499
499
|
}, xs = {
|
|
500
|
-
class: "
|
|
500
|
+
class: "flex items-center gap-4"
|
|
501
501
|
}, Ls = {
|
|
502
|
-
class: "
|
|
502
|
+
class: "rounded-lg border border-fm-color-border-default p-12"
|
|
503
503
|
}, Ss = {
|
|
504
|
-
class: "
|
|
504
|
+
class: "space-y-12"
|
|
505
505
|
}, ks = {
|
|
506
|
-
class: "font-semibold"
|
|
507
|
-
}, ws = {
|
|
508
506
|
class: "text-xs text-fm-color-typo-secondary"
|
|
509
|
-
},
|
|
507
|
+
}, ws = {
|
|
510
508
|
class: "font-semibold"
|
|
511
|
-
},
|
|
509
|
+
}, Is = {
|
|
512
510
|
class: "text-xs text-fm-color-typo-secondary"
|
|
511
|
+
}, As = {
|
|
512
|
+
class: "font-semibold"
|
|
513
513
|
}, Fs = {
|
|
514
|
-
class: "
|
|
514
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
515
515
|
}, Ms = {
|
|
516
|
-
|
|
516
|
+
class: "break-all font-semibold"
|
|
517
517
|
}, Os = {
|
|
518
|
-
|
|
518
|
+
key: 0
|
|
519
519
|
}, Ds = {
|
|
520
|
-
class: "break-all font-mono text-xs font-semibold"
|
|
521
|
-
}, js = {
|
|
522
520
|
class: "text-xs text-fm-color-typo-secondary"
|
|
523
|
-
},
|
|
521
|
+
}, js = {
|
|
524
522
|
class: "break-all font-mono text-xs font-semibold"
|
|
525
|
-
},
|
|
523
|
+
}, Cs = {
|
|
526
524
|
class: "text-xs text-fm-color-typo-secondary"
|
|
525
|
+
}, Ts = {
|
|
526
|
+
class: "break-all font-mono text-xs font-semibold"
|
|
527
527
|
}, Vs = {
|
|
528
|
-
class: "
|
|
528
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
529
529
|
}, Ps = {
|
|
530
|
-
class: "
|
|
530
|
+
class: "font-semibold"
|
|
531
531
|
}, Es = {
|
|
532
|
-
class: "
|
|
532
|
+
class: "rounded-lg border border-fm-color-border-default"
|
|
533
533
|
}, $s = {
|
|
534
|
-
class: "
|
|
534
|
+
class: "p-12"
|
|
535
535
|
}, Ns = {
|
|
536
|
-
class: "
|
|
536
|
+
class: "text-base font-bold text-fm-color-typo-primary"
|
|
537
537
|
}, Us = {
|
|
538
|
-
class: "
|
|
538
|
+
class: "space-y-12 p-12"
|
|
539
539
|
}, Rs = {
|
|
540
|
-
class: "
|
|
540
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
541
541
|
}, Ks = {
|
|
542
|
-
class: "
|
|
542
|
+
class: "font-semibold"
|
|
543
543
|
}, Bs = {
|
|
544
|
-
class: "
|
|
544
|
+
class: "rounded-lg border border-fm-color-border-default"
|
|
545
545
|
}, Ys = {
|
|
546
|
-
class: "
|
|
546
|
+
class: "p-12"
|
|
547
547
|
}, zs = {
|
|
548
|
-
class: "
|
|
548
|
+
class: "text-base font-bold text-fm-color-typo-primary"
|
|
549
549
|
}, qs = {
|
|
550
|
-
class: "
|
|
550
|
+
class: "space-y-12 p-12"
|
|
551
551
|
}, Js = {
|
|
552
|
-
class: "
|
|
552
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
553
553
|
}, Hs = {
|
|
554
|
-
|
|
554
|
+
class: "font-semibold"
|
|
555
555
|
}, Ws = {
|
|
556
|
-
|
|
556
|
+
key: 0
|
|
557
557
|
}, Gs = {
|
|
558
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
559
|
+
}, Xs = {
|
|
558
560
|
key: 0,
|
|
559
561
|
class: "font-semibold"
|
|
560
|
-
},
|
|
562
|
+
}, Qs = {
|
|
561
563
|
key: 1,
|
|
562
564
|
class: "break-all font-mono text-xs text-fm-color-typo-secondary"
|
|
563
|
-
}, Qs = {
|
|
564
|
-
key: 1
|
|
565
565
|
}, Zs = {
|
|
566
|
-
|
|
566
|
+
key: 1
|
|
567
567
|
}, ea = {
|
|
568
|
-
class: "font-semibold whitespace-pre-line"
|
|
569
|
-
}, ta = {
|
|
570
568
|
class: "text-xs text-fm-color-typo-secondary"
|
|
569
|
+
}, ta = {
|
|
570
|
+
class: "font-semibold whitespace-pre-line"
|
|
571
571
|
}, oa = {
|
|
572
|
-
class: "font-semibold"
|
|
573
|
-
}, sa = {
|
|
574
572
|
class: "text-xs text-fm-color-typo-secondary"
|
|
573
|
+
}, sa = {
|
|
574
|
+
class: "font-semibold"
|
|
575
575
|
}, aa = {
|
|
576
|
-
class: "
|
|
576
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
577
577
|
}, na = {
|
|
578
|
-
|
|
578
|
+
class: "break-all font-mono text-xs font-semibold"
|
|
579
579
|
}, la = {
|
|
580
|
-
|
|
580
|
+
key: 2
|
|
581
581
|
}, ra = {
|
|
582
|
-
class: "
|
|
582
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
583
583
|
}, ia = {
|
|
584
|
-
class: "
|
|
584
|
+
class: "mt-4 space-y-4"
|
|
585
585
|
}, ua = {
|
|
586
|
-
class: "text-xs font-
|
|
586
|
+
class: "flex h-16 w-16 shrink-0 items-center justify-center rounded-full bg-fm-color-primary-default text-xs font-bold text-white"
|
|
587
587
|
}, da = {
|
|
588
|
+
class: "text-xs font-semibold"
|
|
589
|
+
}, ca = {
|
|
588
590
|
key: 0,
|
|
589
591
|
class: "text-fm-color-typo-secondary"
|
|
590
|
-
}, ca = {
|
|
591
|
-
key: 3
|
|
592
592
|
}, fa = {
|
|
593
|
-
|
|
593
|
+
key: 3
|
|
594
594
|
}, ma = {
|
|
595
|
-
class: "
|
|
595
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
596
596
|
}, va = {
|
|
597
|
+
class: "mt-4 max-h-[400px] overflow-auto rounded bg-gray-100 p-8 font-mono text-xs leading-relaxed shadow-inner whitespace-pre-wrap break-all"
|
|
598
|
+
}, pa = {
|
|
597
599
|
key: 0,
|
|
598
600
|
class: "space-y-12 p-4 text-sm"
|
|
599
|
-
}, pa = {
|
|
600
|
-
class: "flex items-start justify-between gap-8 rounded-lg border border-fm-color-border-default p-12"
|
|
601
601
|
}, ga = {
|
|
602
|
-
class: "
|
|
602
|
+
class: "flex items-start justify-between gap-8 rounded-lg border border-fm-color-border-default p-12"
|
|
603
603
|
}, ha = {
|
|
604
|
-
class: "
|
|
604
|
+
class: "min-w-0 flex-1"
|
|
605
605
|
}, ya = {
|
|
606
|
+
class: "text-base font-bold leading-snug text-fm-color-typo-primary"
|
|
607
|
+
}, ba = {
|
|
606
608
|
key: 0,
|
|
607
609
|
class: "text-xs text-fm-color-typo-secondary"
|
|
608
|
-
}, ba = {
|
|
609
|
-
class: "rounded-lg border border-fm-color-border-default p-12"
|
|
610
610
|
}, _a = {
|
|
611
|
-
class: "
|
|
611
|
+
class: "rounded-lg border border-fm-color-border-default p-12"
|
|
612
612
|
}, xa = {
|
|
613
|
-
class: "
|
|
613
|
+
class: "space-y-12"
|
|
614
614
|
}, La = {
|
|
615
|
-
class: "
|
|
615
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
616
616
|
}, Sa = {
|
|
617
|
-
|
|
617
|
+
class: "font-semibold"
|
|
618
618
|
}, ka = {
|
|
619
|
-
|
|
619
|
+
key: 0
|
|
620
620
|
}, wa = {
|
|
621
|
-
class: "
|
|
621
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
622
622
|
}, Ia = {
|
|
623
|
-
|
|
623
|
+
class: "font-semibold"
|
|
624
624
|
}, Aa = {
|
|
625
|
-
|
|
625
|
+
key: 1
|
|
626
626
|
}, Fa = {
|
|
627
|
-
class: "
|
|
627
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
628
628
|
}, Ma = {
|
|
629
|
+
class: "font-semibold"
|
|
630
|
+
}, Oa = {
|
|
629
631
|
key: 0,
|
|
630
632
|
class: "rounded-lg border border-fm-color-border-default p-12"
|
|
631
|
-
}, Oa = {
|
|
632
|
-
class: "text-xs text-fm-color-typo-secondary"
|
|
633
633
|
}, Da = {
|
|
634
|
-
class: "
|
|
634
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
635
635
|
}, ja = {
|
|
636
|
-
class: "
|
|
636
|
+
class: "whitespace-pre-line font-semibold text-fm-color-typo-error"
|
|
637
637
|
}, Ca = {
|
|
638
|
-
class: "
|
|
638
|
+
class: "rounded-lg border border-fm-color-border-default"
|
|
639
639
|
}, Ta = {
|
|
640
|
-
class: "text-base font-bold text-fm-color-typo-primary"
|
|
641
|
-
}, Va = {
|
|
642
640
|
class: "p-12"
|
|
641
|
+
}, Va = {
|
|
642
|
+
class: "text-base font-bold text-fm-color-typo-primary"
|
|
643
643
|
}, Pa = {
|
|
644
|
+
class: "p-12"
|
|
645
|
+
}, Ea = {
|
|
644
646
|
key: 0,
|
|
645
647
|
class: "divide-y divide-fm-color-border-default"
|
|
646
|
-
}, Ea = {
|
|
647
|
-
class: "flex flex-wrap items-center gap-8"
|
|
648
648
|
}, $a = {
|
|
649
|
-
class: "
|
|
649
|
+
class: "flex flex-wrap items-center gap-8"
|
|
650
650
|
}, Na = {
|
|
651
|
-
class: "break-all
|
|
651
|
+
class: "break-all text-xs"
|
|
652
652
|
}, Ua = {
|
|
653
|
+
class: "break-all font-mono text-xs"
|
|
654
|
+
}, Ra = {
|
|
653
655
|
key: 0,
|
|
654
656
|
class: "text-fm-color-typo-success"
|
|
655
|
-
}, Ra = {
|
|
656
|
-
key: 1,
|
|
657
|
-
class: "text-fm-color-typo-error"
|
|
658
657
|
}, Ka = {
|
|
658
|
+
key: 1,
|
|
659
659
|
class: "text-fm-color-typo-error"
|
|
660
660
|
}, Ba = {
|
|
661
|
-
class: "text-fm-color-typo-
|
|
661
|
+
class: "text-fm-color-typo-error"
|
|
662
662
|
}, Ya = {
|
|
663
|
+
class: "text-fm-color-typo-success"
|
|
664
|
+
}, za = {
|
|
663
665
|
key: 1,
|
|
664
666
|
class: "divide-y divide-fm-color-border-default"
|
|
665
|
-
}, za = {
|
|
666
|
-
class: "flex flex-wrap items-center gap-8"
|
|
667
667
|
}, qa = {
|
|
668
|
-
class: "
|
|
668
|
+
class: "flex flex-wrap items-center gap-8"
|
|
669
669
|
}, Ja = {
|
|
670
|
-
class: "
|
|
670
|
+
class: "break-all font-mono text-xs"
|
|
671
671
|
}, Ha = {
|
|
672
|
+
class: "space-y-4"
|
|
673
|
+
}, Wa = {
|
|
672
674
|
key: 0,
|
|
673
675
|
class: "text-fm-color-typo-success"
|
|
674
|
-
}, Wa = {
|
|
675
|
-
key: 1,
|
|
676
|
-
class: "text-fm-color-typo-error"
|
|
677
676
|
}, Ga = {
|
|
677
|
+
key: 1,
|
|
678
678
|
class: "text-fm-color-typo-error"
|
|
679
679
|
}, Xa = {
|
|
680
|
-
class: "text-fm-color-typo-
|
|
680
|
+
class: "text-fm-color-typo-error"
|
|
681
681
|
}, Qa = {
|
|
682
|
+
class: "text-fm-color-typo-success"
|
|
683
|
+
}, Za = {
|
|
682
684
|
key: 2,
|
|
683
685
|
class: "text-fm-color-typo-secondary"
|
|
684
|
-
},
|
|
686
|
+
}, en = {
|
|
685
687
|
key: 1,
|
|
686
688
|
class: "rounded-lg border border-fm-color-border-default"
|
|
687
|
-
}, en = {
|
|
688
|
-
class: "text-base font-bold text-fm-color-typo-primary"
|
|
689
689
|
}, tn = {
|
|
690
|
-
class: "
|
|
690
|
+
class: "text-base font-bold text-fm-color-typo-primary"
|
|
691
691
|
}, on = {
|
|
692
|
-
|
|
692
|
+
class: "space-y-12 p-12"
|
|
693
693
|
}, sn = {
|
|
694
|
-
|
|
694
|
+
key: 0
|
|
695
695
|
}, an = {
|
|
696
|
-
class: "
|
|
696
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
697
697
|
}, nn = {
|
|
698
|
-
|
|
698
|
+
class: "mt-4 max-h-[400px] overflow-auto rounded bg-gray-100 p-8 font-mono text-xs leading-relaxed shadow-inner whitespace-pre-wrap break-all"
|
|
699
699
|
}, ln = {
|
|
700
|
-
|
|
700
|
+
key: 1
|
|
701
701
|
}, rn = {
|
|
702
|
+
class: "text-xs text-fm-color-typo-secondary"
|
|
703
|
+
}, un = {
|
|
702
704
|
class: "mt-4 max-h-[400px] overflow-auto rounded bg-gray-100 p-8 font-mono text-xs leading-relaxed shadow-inner whitespace-pre-wrap break-all"
|
|
703
|
-
},
|
|
705
|
+
}, ke = 100, ot = 1e3, $e = "__feedmeAdmin__", dn = "D MMM YYYY h:mm A", cn = "YYYY-MM-DD HH:mm", R = "YYYY-MM-DD", Ft = "audit-log-export-fields-v3", fn = /* @__PURE__ */ Mt({
|
|
704
706
|
__name: "AuditLogList",
|
|
705
707
|
setup(t) {
|
|
706
708
|
const {
|
|
707
709
|
t: o,
|
|
708
710
|
te: n
|
|
709
|
-
} = Ot(), r = jo(), d =
|
|
711
|
+
} = Ot(), r = jo(), d = qo(), g = S(!1), p = S(!1), h = S([]), i = S(null), C = S(!1), O = S({}), k = S(null), V = S(!1);
|
|
710
712
|
async function L(e) {
|
|
711
713
|
const s = Uint8Array.from(atob(e), (x) => x.charCodeAt(0)), u = new DecompressionStream("gzip"), y = u.writable.getWriter();
|
|
712
714
|
return await y.write(s), await y.close(), new Response(u.readable).text();
|
|
@@ -776,7 +778,7 @@ const ns = {
|
|
|
776
778
|
const s = ++w;
|
|
777
779
|
if (M.value = [], E.value = [], T.value = "", Y.value = "", U.value = !1, !e) return;
|
|
778
780
|
const [u, y] = await Promise.all([W(e.before), W(e.after)]);
|
|
779
|
-
s === w && (
|
|
781
|
+
s === w && (os(e.changeNodes) ? E.value = e.changeNodes.map(ts) : M.value = es(u, y), T.value = _(u), Y.value = _(y));
|
|
780
782
|
});
|
|
781
783
|
function ce(e) {
|
|
782
784
|
return e === "added" ? "success" : e === "removed" ? "critical" : "warning";
|
|
@@ -784,7 +786,7 @@ const ns = {
|
|
|
784
786
|
function ne(e) {
|
|
785
787
|
return o(e === "added" ? "auditLog.operation.added" : e === "removed" ? "auditLog.operation.removed" : "auditLog.operation.updated");
|
|
786
788
|
}
|
|
787
|
-
function
|
|
789
|
+
function Ae(e) {
|
|
788
790
|
return e.replace(/\[[^\]]*\]/g, "");
|
|
789
791
|
}
|
|
790
792
|
function at(e) {
|
|
@@ -799,7 +801,7 @@ const ns = {
|
|
|
799
801
|
const nt = A(() => {
|
|
800
802
|
const e = [], s = /* @__PURE__ */ new Map();
|
|
801
803
|
for (const u of M.value) {
|
|
802
|
-
const y =
|
|
804
|
+
const y = Ae(u.path), x = `${u.type}::${y}`;
|
|
803
805
|
let F = s.get(x);
|
|
804
806
|
F || (F = {
|
|
805
807
|
groupKey: x,
|
|
@@ -809,28 +811,28 @@ const ns = {
|
|
|
809
811
|
}, s.set(x, F), e.push(F)), F.rows.push(u);
|
|
810
812
|
}
|
|
811
813
|
return e;
|
|
812
|
-
}),
|
|
814
|
+
}), Fe = S(1), Vt = S(!1), Re = S(0), lt = A(() => Math.max(1, Math.ceil(Re.value / ke))), rt = D().format("YYYY-MM-DD"), Q = S({
|
|
813
815
|
startDate: `${rt} 00:00`,
|
|
814
816
|
endDate: `${rt} 23:59`
|
|
815
817
|
}), fe = S(), G = S(), Z = S(), ee = S(), le = S("all");
|
|
816
818
|
function Pt(e) {
|
|
817
819
|
return typeof e == "string" ? [e] : Array.isArray(e) ? e.filter((s) => typeof s == "string") : [];
|
|
818
820
|
}
|
|
819
|
-
const it =
|
|
820
|
-
function
|
|
821
|
-
const s =
|
|
821
|
+
const it = Se.filter((e) => e.key !== "all").map((e) => e.key);
|
|
822
|
+
function Me(e) {
|
|
823
|
+
const s = Se.find((u) => u.key !== "all" && u.subjectPrefixes.some((y) => e.startsWith(y)));
|
|
822
824
|
return (s == null ? void 0 : s.key) ?? "other";
|
|
823
825
|
}
|
|
824
826
|
function ut(e) {
|
|
825
827
|
const s = it.indexOf(e);
|
|
826
828
|
return s === -1 ? it.length : s;
|
|
827
829
|
}
|
|
828
|
-
const Et = A(() =>
|
|
830
|
+
const Et = A(() => Se.map(({
|
|
829
831
|
key: e
|
|
830
832
|
}) => ({
|
|
831
833
|
label: o(`auditLog.modules.${e}`),
|
|
832
834
|
value: e
|
|
833
|
-
}))), Ke = A(() =>
|
|
835
|
+
}))), Ke = A(() => Se.find((e) => e.key === le.value) ?? Se[0]), $t = A(() => le.value === "all"), ye = S([]), Oe = S(!1), Nt = A(() => [...Oe.value ? [{
|
|
834
836
|
label: o("auditLog.user.feedmeAdmin"),
|
|
835
837
|
value: $e
|
|
836
838
|
}] : [], ...d.members.map((e) => ({
|
|
@@ -845,7 +847,7 @@ const ns = {
|
|
|
845
847
|
userIds: e.filter((s) => s !== $e),
|
|
846
848
|
feedmeAdminActors: e.includes($e)
|
|
847
849
|
};
|
|
848
|
-
}), Be = S(""), X = S(""), Ut =
|
|
850
|
+
}), Be = S(""), X = S(""), Ut = $o(Be, (e) => {
|
|
849
851
|
X.value = e.trim();
|
|
850
852
|
});
|
|
851
853
|
Oo(Ut);
|
|
@@ -871,13 +873,13 @@ const ns = {
|
|
|
871
873
|
for (const x of [...e, ...s])
|
|
872
874
|
if (!u.has(x.value)) {
|
|
873
875
|
u.add(x.value);
|
|
874
|
-
const F =
|
|
876
|
+
const F = Me(x.value);
|
|
875
877
|
y.push({
|
|
876
878
|
...x,
|
|
877
879
|
group: o(`auditLog.modules.${F}`)
|
|
878
880
|
});
|
|
879
881
|
}
|
|
880
|
-
return y.sort((x, F) => ut(
|
|
882
|
+
return y.sort((x, F) => ut(Me(x.value)) - ut(Me(F.value)));
|
|
881
883
|
}), me = A(() => {
|
|
882
884
|
const e = X.value.toLowerCase();
|
|
883
885
|
if (!e) return [];
|
|
@@ -885,7 +887,7 @@ const ns = {
|
|
|
885
887
|
for (const u of Ye.value)
|
|
886
888
|
u.label.toLowerCase().includes(e) && s.add(u.value);
|
|
887
889
|
return [...s];
|
|
888
|
-
}), Rt = A(() => $t.value ? Ye.value : Ye.value.filter((e) =>
|
|
890
|
+
}), Rt = A(() => $t.value ? Ye.value : Ye.value.filter((e) => Me(e.value) === le.value));
|
|
889
891
|
function Kt(e, s) {
|
|
890
892
|
const u = s.toLowerCase();
|
|
891
893
|
return e.label.toLowerCase().includes(u) || e.value.replace(/^business::/, "").toLowerCase().includes(u) ? !0 : e.value.toLowerCase().includes(u);
|
|
@@ -911,7 +913,7 @@ const ns = {
|
|
|
911
913
|
}, {
|
|
912
914
|
label: H.value.delete,
|
|
913
915
|
value: "delete"
|
|
914
|
-
}]),
|
|
916
|
+
}]), De = A(() => ({
|
|
915
917
|
allowed: o("auditLog.outcome.success"),
|
|
916
918
|
denied: o("auditLog.outcome.failed"),
|
|
917
919
|
skipped: o("auditLog.outcome.skipped")
|
|
@@ -926,13 +928,13 @@ const ns = {
|
|
|
926
928
|
return !(e != null && e.length) || ze.value ? e : e.includes("allowed") ? [.../* @__PURE__ */ new Set([...e, "skipped"])] : e;
|
|
927
929
|
}
|
|
928
930
|
const Yt = A(() => [{
|
|
929
|
-
label:
|
|
931
|
+
label: De.value.allowed,
|
|
930
932
|
value: "allowed"
|
|
931
933
|
}, {
|
|
932
|
-
label:
|
|
934
|
+
label: De.value.denied,
|
|
933
935
|
value: "denied"
|
|
934
936
|
}, ...ze.value ? [{
|
|
935
|
-
label:
|
|
937
|
+
label: De.value.skipped,
|
|
936
938
|
value: "skipped"
|
|
937
939
|
}] : []]), zt = A(() => ({
|
|
938
940
|
admin: o("auditLog.detail.resolvedFromValue.admin"),
|
|
@@ -953,15 +955,15 @@ const ns = {
|
|
|
953
955
|
denied: "critical",
|
|
954
956
|
skipped: "warning"
|
|
955
957
|
};
|
|
956
|
-
function
|
|
957
|
-
return D(e).format(
|
|
958
|
+
function je(e) {
|
|
959
|
+
return D(e).format(dn);
|
|
958
960
|
}
|
|
959
961
|
const Ht = A(() => {
|
|
960
962
|
const {
|
|
961
963
|
startDate: e,
|
|
962
964
|
endDate: s
|
|
963
965
|
} = Q.value;
|
|
964
|
-
return e && s ? `${
|
|
966
|
+
return e && s ? `${je(e)} – ${je(s)}` : e ? je(e) : s ? je(s) : o("auditLog.dateRange.placeholder");
|
|
965
967
|
}), Wt = A(() => [{
|
|
966
968
|
label: o("date.predefinedRanges.today"),
|
|
967
969
|
value: {
|
|
@@ -1009,7 +1011,7 @@ const ns = {
|
|
|
1009
1011
|
var s;
|
|
1010
1012
|
return ((s = kt.find((u) => u.subject === e)) == null ? void 0 : s.label) ?? St[e];
|
|
1011
1013
|
}
|
|
1012
|
-
function
|
|
1014
|
+
function be(e) {
|
|
1013
1015
|
var u, y;
|
|
1014
1016
|
if (e.actorType === "portalUser")
|
|
1015
1017
|
return e.actorName ?? e.userId;
|
|
@@ -1047,7 +1049,7 @@ const ns = {
|
|
|
1047
1049
|
return Je(e.subject) ?? e.subject;
|
|
1048
1050
|
}
|
|
1049
1051
|
function He(e) {
|
|
1050
|
-
return
|
|
1052
|
+
return De.value[dt(e)];
|
|
1051
1053
|
}
|
|
1052
1054
|
function ht(e) {
|
|
1053
1055
|
return Jt[dt(e)] ?? "neutral";
|
|
@@ -1070,7 +1072,7 @@ const ns = {
|
|
|
1070
1072
|
}, {
|
|
1071
1073
|
key: "userName",
|
|
1072
1074
|
labelKey: "auditLog.exportFields.userName",
|
|
1073
|
-
getValue: (e) =>
|
|
1075
|
+
getValue: (e) => be(e),
|
|
1074
1076
|
defaultSelected: !0
|
|
1075
1077
|
}, {
|
|
1076
1078
|
key: "userPhone",
|
|
@@ -1100,12 +1102,12 @@ const ns = {
|
|
|
1100
1102
|
}, {
|
|
1101
1103
|
key: "operationEvents",
|
|
1102
1104
|
labelKey: "auditLog.exportFields.operationEvents",
|
|
1103
|
-
getValue: (e) =>
|
|
1105
|
+
getValue: (e) => ss(o, e.operations),
|
|
1104
1106
|
defaultSelected: !0
|
|
1105
1107
|
}, {
|
|
1106
1108
|
key: "changes",
|
|
1107
1109
|
labelKey: "auditLog.exportFields.changes",
|
|
1108
|
-
getValue: (e) =>
|
|
1110
|
+
getValue: (e) => ns(o, n, e.operations),
|
|
1109
1111
|
defaultSelected: !1
|
|
1110
1112
|
}, {
|
|
1111
1113
|
key: "businessId",
|
|
@@ -1185,7 +1187,7 @@ const ns = {
|
|
|
1185
1187
|
const {
|
|
1186
1188
|
startDate: F,
|
|
1187
1189
|
endDate: $
|
|
1188
|
-
} = Q.value, oe = Ke.value.subjectPrefixes, Ce = (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace("T", " "),
|
|
1190
|
+
} = Q.value, oe = Ke.value.subjectPrefixes, Ce = (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace("T", " "), _e = $ ? se($) : null, Te = _e && _e < Ce ? _e : Ce, Xe = {
|
|
1189
1191
|
...F ? {
|
|
1190
1192
|
from: se(F)
|
|
1191
1193
|
} : {},
|
|
@@ -1217,7 +1219,7 @@ const ns = {
|
|
|
1217
1219
|
...me.value.length ? {
|
|
1218
1220
|
searchSubjects: me.value
|
|
1219
1221
|
} : {}
|
|
1220
|
-
},
|
|
1222
|
+
}, xe = [];
|
|
1221
1223
|
let f = 0;
|
|
1222
1224
|
for (; ; ) {
|
|
1223
1225
|
const z = await Ee.read({
|
|
@@ -1225,14 +1227,14 @@ const ns = {
|
|
|
1225
1227
|
limit: ot,
|
|
1226
1228
|
offset: f
|
|
1227
1229
|
});
|
|
1228
|
-
if (
|
|
1230
|
+
if (xe.push(...z), z.length < ot) break;
|
|
1229
1231
|
f += ot;
|
|
1230
1232
|
}
|
|
1231
|
-
const P = We.filter((z) => ve.value.has(z.key)), go = P.map((z) => o(z.labelKey)), ho =
|
|
1233
|
+
const P = We.filter((z) => ve.value.has(z.key)), go = P.map((z) => o(z.labelKey)), ho = xe.map((z) => P.map((Io) => Io.getValue(z) ?? "")), Qe = -(/* @__PURE__ */ new Date()).getTimezoneOffset(), yo = Qe >= 0 ? "+" : "-", bo = String(Math.floor(Math.abs(Qe) / 60)).padStart(2, "0"), _o = String(Math.abs(Qe) % 60).padStart(2, "0"), xo = `UTC${yo}${bo}:${_o}`, xt = ((y = r.currentBusiness.value) == null ? void 0 : y.name) || "", Lo = [F, $].filter(Boolean).join(" – "), So = [...[[o("auditLog.title")], [`${o("auditLog.frontMatter.date")}: ${Lo}`], ...xt ? [[`${o("auditLog.frontMatter.business")}: ${xt}`]] : [], [`${o("auditLog.frontMatter.generatedBy")}: ${D().format("DD MMM YYYY, HH:mm")} (${xo})`], []].map((z) => z.map(yt).join(",")), ...[go, ...ho].map((z) => z.map(yt).join(","))].join(`
|
|
1232
1234
|
`), ko = `audit-log_${(((x = r.currentBusiness.value) == null ? void 0 : x.name) || "business").replace(/[^a-z0-9_-]+/gi, "_")}_${D().format("YYYYMMDD_HHmmss")}.csv`, wo = new Blob([`\uFEFF${So}`], {
|
|
1233
1235
|
type: "text/csv;charset=utf-8;"
|
|
1234
|
-
}), Lt = window.URL.createObjectURL(wo),
|
|
1235
|
-
|
|
1236
|
+
}), Lt = window.URL.createObjectURL(wo), Le = document.createElement("a");
|
|
1237
|
+
Le.href = Lt, Le.download = ko, document.body.appendChild(Le), Le.click(), Le.remove(), window.URL.revokeObjectURL(Lt);
|
|
1236
1238
|
} finally {
|
|
1237
1239
|
p.value = !1;
|
|
1238
1240
|
}
|
|
@@ -1278,14 +1280,15 @@ const ns = {
|
|
|
1278
1280
|
return ie(s) ? null : m("div", {
|
|
1279
1281
|
class: "flex items-center gap-8"
|
|
1280
1282
|
}, [m(ue.FmAvatar, {
|
|
1281
|
-
name:
|
|
1283
|
+
name: be(s),
|
|
1284
|
+
initials: No(be(s)),
|
|
1282
1285
|
size: "sm",
|
|
1283
1286
|
class: "shrink-0"
|
|
1284
1287
|
}, null), m("div", {
|
|
1285
1288
|
class: "min-w-0"
|
|
1286
1289
|
}, [m("p", {
|
|
1287
1290
|
class: "truncate font-semibold"
|
|
1288
|
-
}, [
|
|
1291
|
+
}, [be(s)]), m("p", {
|
|
1289
1292
|
class: "truncate text-fm-color-typo-secondary"
|
|
1290
1293
|
}, [ct(s)])])]);
|
|
1291
1294
|
}
|
|
@@ -1363,7 +1366,7 @@ const ns = {
|
|
|
1363
1366
|
}
|
|
1364
1367
|
}];
|
|
1365
1368
|
function se(e) {
|
|
1366
|
-
const s = D(e,
|
|
1369
|
+
const s = D(e, cn);
|
|
1367
1370
|
return new Date(s.year(), s.month(), s.date(), s.hour(), s.minute(), 0).toISOString().slice(0, 19).replace("T", " ");
|
|
1368
1371
|
}
|
|
1369
1372
|
async function bt() {
|
|
@@ -1373,8 +1376,8 @@ const ns = {
|
|
|
1373
1376
|
const {
|
|
1374
1377
|
startDate: y,
|
|
1375
1378
|
endDate: x
|
|
1376
|
-
} = Q.value, F = (
|
|
1377
|
-
limit:
|
|
1379
|
+
} = Q.value, F = (Fe.value - 1) * ke, $ = Ke.value.subjectPrefixes, oe = await Ee.read({
|
|
1380
|
+
limit: ke,
|
|
1378
1381
|
offset: F,
|
|
1379
1382
|
...y ? {
|
|
1380
1383
|
from: se(y)
|
|
@@ -1410,7 +1413,7 @@ const ns = {
|
|
|
1410
1413
|
searchSubjects: me.value
|
|
1411
1414
|
} : {}
|
|
1412
1415
|
});
|
|
1413
|
-
h.value = oe, Vt.value = oe.length ===
|
|
1416
|
+
h.value = oe, Vt.value = oe.length === ke, O.value = {};
|
|
1414
1417
|
} finally {
|
|
1415
1418
|
g.value = !1;
|
|
1416
1419
|
}
|
|
@@ -1476,7 +1479,7 @@ const ns = {
|
|
|
1476
1479
|
}
|
|
1477
1480
|
de(_t, async () => {
|
|
1478
1481
|
var e;
|
|
1479
|
-
|
|
1482
|
+
Fe.value = 1, (e = r.currentBusiness.value) != null && e._id && await Promise.all([ro(), bt()]);
|
|
1480
1483
|
}, {
|
|
1481
1484
|
immediate: !0
|
|
1482
1485
|
}), de(le, () => {
|
|
@@ -1487,8 +1490,8 @@ const ns = {
|
|
|
1487
1490
|
pageIndex: e
|
|
1488
1491
|
}) {
|
|
1489
1492
|
var s;
|
|
1490
|
-
if ((s = r.currentBusiness.value) != null && s._id && !(e === 0 &&
|
|
1491
|
-
Ge = !0,
|
|
1493
|
+
if ((s = r.currentBusiness.value) != null && s._id && !(e === 0 && Fe.value === 1) && !Ge) {
|
|
1494
|
+
Ge = !0, Fe.value = e + 1;
|
|
1492
1495
|
try {
|
|
1493
1496
|
await bt();
|
|
1494
1497
|
} finally {
|
|
@@ -1520,7 +1523,7 @@ const ns = {
|
|
|
1520
1523
|
function vo() {
|
|
1521
1524
|
const e = fe.value;
|
|
1522
1525
|
if (!(e != null && e.length)) return;
|
|
1523
|
-
const s = new Set(ye.value.map((x) => x.userId)), u = new Set(d.members.map((x) => x.doc.userId)), y = e.filter((x) => x === $e ?
|
|
1526
|
+
const s = new Set(ye.value.map((x) => x.userId)), u = new Set(d.members.map((x) => x.doc.userId)), y = e.filter((x) => x === $e ? Oe.value : d.hasLoaded ? u.has(x) || s.has(x) : !0);
|
|
1524
1527
|
y.length !== e.length && (fe.value = y.length ? y : void 0);
|
|
1525
1528
|
}
|
|
1526
1529
|
async function po() {
|
|
@@ -1542,9 +1545,9 @@ const ns = {
|
|
|
1542
1545
|
to: se(s)
|
|
1543
1546
|
} : {}
|
|
1544
1547
|
});
|
|
1545
|
-
ye.value = y,
|
|
1548
|
+
ye.value = y, Oe.value = x;
|
|
1546
1549
|
} catch {
|
|
1547
|
-
ye.value = [],
|
|
1550
|
+
ye.value = [], Oe.value = !1;
|
|
1548
1551
|
}
|
|
1549
1552
|
vo();
|
|
1550
1553
|
}
|
|
@@ -1558,8 +1561,8 @@ const ns = {
|
|
|
1558
1561
|
immediate: !0,
|
|
1559
1562
|
deep: !0
|
|
1560
1563
|
}), (e, s) => {
|
|
1561
|
-
const u = N("FmSpacer"), y = N("FmButton"), x = N("FmMenuItem"), F = N("FmMenu"), $ = N("FmChip"), oe = N("FmDateRangePicker"), Ce = N("FmSearch"),
|
|
1562
|
-
return v(), b(q, null, [m(
|
|
1564
|
+
const u = N("FmSpacer"), y = N("FmButton"), x = N("FmMenuItem"), F = N("FmMenu"), $ = N("FmChip"), oe = N("FmDateRangePicker"), Ce = N("FmSearch"), _e = N("FmTable"), Te = N("FmIcon"), Xe = N("FmTooltip"), xe = N("FmSideSheet");
|
|
1565
|
+
return v(), b(q, null, [m(To, {
|
|
1563
1566
|
heading: c(o)("auditLog.title")
|
|
1564
1567
|
}, {
|
|
1565
1568
|
"append-heading": B(() => [m(u), m(y, {
|
|
@@ -1579,7 +1582,7 @@ const ns = {
|
|
|
1579
1582
|
"aria-label": c(o)("auditLog.exportSettings.title"),
|
|
1580
1583
|
disabled: p.value
|
|
1581
1584
|
}, null, 8, ["aria-label", "disabled"])]),
|
|
1582
|
-
default: B(() => [a("div",
|
|
1585
|
+
default: B(() => [a("div", ls, [a("p", rs, l(c(o)("auditLog.exportSettings.title")), 1), (v(), b(q, null, ae(We, (f) => m(x, {
|
|
1583
1586
|
key: f.key,
|
|
1584
1587
|
label: c(o)(f.labelKey),
|
|
1585
1588
|
"has-checkbox": "",
|
|
@@ -1589,11 +1592,11 @@ const ns = {
|
|
|
1589
1592
|
}, null, 8, ["label", "model-value", "disabled", "onClick"])), 64))])]),
|
|
1590
1593
|
_: 1
|
|
1591
1594
|
})]),
|
|
1592
|
-
default: B(() => [a("div",
|
|
1595
|
+
default: B(() => [a("div", is, [a("div", us, [m(zo, {
|
|
1593
1596
|
modelValue: le.value,
|
|
1594
1597
|
"onUpdate:modelValue": s[0] || (s[0] = (f) => le.value = f),
|
|
1595
1598
|
items: Et.value
|
|
1596
|
-
}, null, 8, ["modelValue", "items"]), a("div",
|
|
1599
|
+
}, null, 8, ["modelValue", "items"]), a("div", ds, [m(oe, {
|
|
1597
1600
|
modelValue: Q.value,
|
|
1598
1601
|
"onUpdate:modelValue": s[1] || (s[1] = (f) => Q.value = f),
|
|
1599
1602
|
"show-predefined-range": "",
|
|
@@ -1605,7 +1608,7 @@ const ns = {
|
|
|
1605
1608
|
icon: "calendar_month"
|
|
1606
1609
|
}, null, 8, ["label"])]),
|
|
1607
1610
|
_: 1
|
|
1608
|
-
}, 8, ["modelValue", "predefined-range"]), a("div",
|
|
1611
|
+
}, 8, ["modelValue", "predefined-range"]), a("div", cs, [m(Pe, {
|
|
1609
1612
|
modelValue: fe.value,
|
|
1610
1613
|
"onUpdate:modelValue": s[2] || (s[2] = (f) => fe.value = f),
|
|
1611
1614
|
items: Nt.value,
|
|
@@ -1614,7 +1617,7 @@ const ns = {
|
|
|
1614
1617
|
placeholder: c(o)("auditLog.filter.user_placeholder"),
|
|
1615
1618
|
"selected-prefix": c(o)("auditLog.filter.selected_user_prefix"),
|
|
1616
1619
|
"chip-icon": "account_circle"
|
|
1617
|
-
}, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), a("div",
|
|
1620
|
+
}, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), a("div", fs, [m(Pe, {
|
|
1618
1621
|
modelValue: G.value,
|
|
1619
1622
|
"onUpdate:modelValue": s[3] || (s[3] = (f) => G.value = f),
|
|
1620
1623
|
items: Rt.value,
|
|
@@ -1624,7 +1627,7 @@ const ns = {
|
|
|
1624
1627
|
placeholder: c(o)("auditLog.filter.subject_placeholder"),
|
|
1625
1628
|
"selected-prefix": c(o)("auditLog.filter.selected_subject_prefix"),
|
|
1626
1629
|
"chip-icon": "badge"
|
|
1627
|
-
}, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), a("div",
|
|
1630
|
+
}, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), a("div", ms, [m(Pe, {
|
|
1628
1631
|
modelValue: ee.value,
|
|
1629
1632
|
"onUpdate:modelValue": s[4] || (s[4] = (f) => ee.value = f),
|
|
1630
1633
|
items: Bt.value,
|
|
@@ -1633,7 +1636,7 @@ const ns = {
|
|
|
1633
1636
|
placeholder: c(o)("auditLog.filter.action_placeholder"),
|
|
1634
1637
|
"selected-prefix": c(o)("auditLog.filter.selected_action_prefix"),
|
|
1635
1638
|
searchable: !1
|
|
1636
|
-
}, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), a("div",
|
|
1639
|
+
}, null, 8, ["modelValue", "items", "placeholder", "selected-prefix"])]), a("div", vs, [m(Pe, {
|
|
1637
1640
|
modelValue: Z.value,
|
|
1638
1641
|
"onUpdate:modelValue": s[5] || (s[5] = (f) => Z.value = f),
|
|
1639
1642
|
items: Yt.value,
|
|
@@ -1649,17 +1652,17 @@ const ns = {
|
|
|
1649
1652
|
class: "ml-auto w-[280px]",
|
|
1650
1653
|
placeholder: c(o)("auditLog.search.placeholder")
|
|
1651
1654
|
}, null, 8, ["modelValue", "placeholder"])])]), m(Co, null, {
|
|
1652
|
-
default: B(() => [a("div",
|
|
1655
|
+
default: B(() => [a("div", ps, [m(Vo, {
|
|
1653
1656
|
"is-loading": g.value,
|
|
1654
1657
|
"is-empty": h.value.length === 0,
|
|
1655
1658
|
title: c(o)("auditLog.noData.title"),
|
|
1656
1659
|
subtitle: c(o)("auditLog.noData.subtitle")
|
|
1657
1660
|
}, {
|
|
1658
|
-
default: B(() => [(v(),
|
|
1661
|
+
default: B(() => [(v(), we(_e, {
|
|
1659
1662
|
key: _t.value,
|
|
1660
1663
|
"column-defs": lo,
|
|
1661
1664
|
"row-data": h.value,
|
|
1662
|
-
"page-size":
|
|
1665
|
+
"page-size": ke,
|
|
1663
1666
|
"page-count": lt.value,
|
|
1664
1667
|
"row-count": Re.value,
|
|
1665
1668
|
"fetch-fn": io,
|
|
@@ -1678,7 +1681,7 @@ const ns = {
|
|
|
1678
1681
|
_: 1
|
|
1679
1682
|
})])]),
|
|
1680
1683
|
_: 1
|
|
1681
|
-
}, 8, ["heading"]), m(
|
|
1684
|
+
}, 8, ["heading"]), m(xe, {
|
|
1682
1685
|
header: c(o)("auditLog.detail.header"),
|
|
1683
1686
|
"model-value": C.value,
|
|
1684
1687
|
"max-width": 768,
|
|
@@ -1687,11 +1690,11 @@ const ns = {
|
|
|
1687
1690
|
f || co();
|
|
1688
1691
|
})
|
|
1689
1692
|
}, {
|
|
1690
|
-
default: B(() => [i.value ? (v(), b("div",
|
|
1693
|
+
default: B(() => [i.value ? (v(), b("div", gs, [a("div", hs, [a("div", ys, [a("p", bs, l(Xt(i.value)), 1), i.value.traceId ? (v(), b("p", _s, " Trace ID: " + l(i.value.traceId), 1)) : j("", !0)]), a("div", xs, [m($, {
|
|
1691
1694
|
variant: ht(i.value.outcome),
|
|
1692
1695
|
label: He(i.value.outcome),
|
|
1693
1696
|
compact: ""
|
|
1694
|
-
}, null, 8, ["variant", "label"]), c(At)(i.value) ? (v(),
|
|
1697
|
+
}, null, 8, ["variant", "label"]), c(At)(i.value) ? (v(), we(Xe, {
|
|
1695
1698
|
key: 0,
|
|
1696
1699
|
variant: "plain",
|
|
1697
1700
|
placement: "top"
|
|
@@ -1703,16 +1706,16 @@ const ns = {
|
|
|
1703
1706
|
class: "cursor-help text-fm-color-typo-error"
|
|
1704
1707
|
})]),
|
|
1705
1708
|
_: 1
|
|
1706
|
-
})) : j("", !0)])]), a("div",
|
|
1709
|
+
})) : j("", !0)])]), a("div", Ls, [a("div", Ss, [a("div", null, [a("p", ks, l(c(o)("auditLog.detail.date")), 1), a("p", ws, l(mt(i.value.timestamp)), 1)]), a("div", null, [a("p", Is, l(c(o)("auditLog.detail.user")), 1), a("p", As, l(be(i.value)), 1)]), a("div", null, [a("p", Fs, l(c(o)("auditLog.detail.email")), 1), a("p", Ms, l(Gt(i.value)), 1)]), i.value.field ? (v(), b("div", Os, [a("p", Ds, l(c(o)("auditLog.detail.field")), 1), a("p", js, l(i.value.field), 1)])) : j("", !0), a("div", null, [a("p", Cs, l(c(o)("auditLog.detail.business")), 1), a("p", Ts, l(i.value.businessId || "-"), 1)]), a("div", null, [a("p", Vs, l(c(o)("auditLog.detail.restaurant")), 1), a("p", Ps, l(i.value.restaurantId || "-"), 1)])])]), a("div", Es, [a("div", $s, [a("p", Ns, l(c(o)("auditLog.detail.eventDetails")), 1)]), s[12] || (s[12] = a("hr", {
|
|
1707
1710
|
class: "border-fm-color-border-default"
|
|
1708
|
-
}, null, -1)), a("div",
|
|
1711
|
+
}, null, -1)), a("div", Us, [a("div", null, [a("p", Rs, l(c(o)("auditLog.detail.actionDescription")), 1), a("p", Ks, l(i.value.metadata.operationLabel || "-"), 1)])])]), a("div", Bs, [a("div", Ys, [a("p", zs, l(c(o)("auditLog.detail.metadata")), 1)]), s[13] || (s[13] = a("hr", {
|
|
1709
1712
|
class: "border-fm-color-border-default"
|
|
1710
|
-
}, null, -1)), a("div",
|
|
1713
|
+
}, null, -1)), a("div", qs, [a("div", null, [a("p", Js, l(c(o)("auditLog.detail.resolvedFrom")), 1), a("p", Hs, l(Qt(i.value.metadata.resolvedFrom)), 1)]), (i.value.metadata.resolvedFrom === "permissionSet" || i.value.metadata.resolvedFrom === "systemPermissionSet") && (i.value.metadata.permissionSetName || i.value.metadata.permissionSetId) ? (v(), b("div", Ws, [a("p", Gs, l(c(o)("auditLog.detail.permissionSet")), 1), i.value.metadata.permissionSetName ? (v(), b("p", Xs, l(i.value.metadata.permissionSetName), 1)) : j("", !0), i.value.metadata.permissionSetId ? (v(), b("p", Qs, l(i.value.metadata.permissionSetId), 1)) : j("", !0)])) : j("", !0), i.value.metadata.reason ? (v(), b("div", Zs, [a("p", ea, l(c(o)("auditLog.detail.reason")), 1), a("p", ta, l(i.value.metadata.reason), 1)])) : j("", !0), a("div", null, [a("p", oa, l(c(o)("auditLog.detail.requestMethod")), 1), a("p", sa, l(Zt(i.value)), 1)]), a("div", null, [a("p", aa, l(c(o)("auditLog.detail.requestPath")), 1), a("p", na, l(i.value.metadata.requestPath || "-"), 1)]), i.value.metadata.trace && i.value.metadata.trace.length > 0 ? (v(), b("div", la, [a("p", ra, l(c(o)("auditLog.detail.permissionTrace")), 1), a("ol", ia, [(v(!0), b(q, null, ae(i.value.metadata.trace, (f, P) => (v(), b("li", {
|
|
1711
1714
|
key: P,
|
|
1712
1715
|
class: "flex items-center gap-6"
|
|
1713
|
-
}, [a("span",
|
|
1716
|
+
}, [a("span", ua, l(P + 1), 1), a("span", da, l(f), 1), P < i.value.metadata.trace.length - 1 ? (v(), b("span", ca, "→")) : j("", !0)]))), 128))])])) : j("", !0), I.value ? (v(), b("div", fa, [a("p", ma, l(c(o)("auditLog.detail.requestBody")), 1), a("pre", va, l(I.value), 1)])) : j("", !0)])])])) : j("", !0)]),
|
|
1714
1717
|
_: 1
|
|
1715
|
-
}, 8, ["header", "model-value"]), m(
|
|
1718
|
+
}, 8, ["header", "model-value"]), m(xe, {
|
|
1716
1719
|
header: c(o)("auditLog.operation.sheetHeader"),
|
|
1717
1720
|
"model-value": V.value,
|
|
1718
1721
|
"max-width": 768,
|
|
@@ -1721,56 +1724,56 @@ const ns = {
|
|
|
1721
1724
|
f || mo();
|
|
1722
1725
|
})
|
|
1723
1726
|
}, {
|
|
1724
|
-
default: B(() => [k.value ? (v(), b("div",
|
|
1727
|
+
default: B(() => [k.value ? (v(), b("div", pa, [a("div", ga, [a("div", ha, [a("p", ya, l(gt(k.value)), 1), k.value.entityId ? (v(), b("p", ba, l(k.value.entityId), 1)) : j("", !0)]), m($, {
|
|
1725
1728
|
variant: k.value.status === "failed" ? "critical" : "success",
|
|
1726
1729
|
label: k.value.status === "failed" ? c(o)("auditLog.outcome.failed") : c(o)("auditLog.outcome.success"),
|
|
1727
1730
|
compact: ""
|
|
1728
|
-
}, null, 8, ["variant", "label"])]), a("div",
|
|
1731
|
+
}, null, 8, ["variant", "label"])]), a("div", _a, [a("div", xa, [a("div", null, [a("p", La, l(c(o)("auditLog.detail.date")), 1), a("p", Sa, l(mt(k.value.timestamp)), 1)]), k.value.entityId ? (v(), b("div", ka, [a("p", wa, l(c(o)("auditLog.operation.entity")), 1), a("p", Ia, l(k.value.entityId), 1)])) : j("", !0), k.value.durationMs !== void 0 ? (v(), b("div", Aa, [a("p", Fa, l(c(o)("auditLog.operation.duration")), 1), a("p", Ma, l(c(o)("auditLog.operation.durationValue", {
|
|
1729
1732
|
ms: k.value.durationMs
|
|
1730
|
-
})), 1)])) : j("", !0)])]), k.value.status === "failed" ? (v(), b("div",
|
|
1733
|
+
})), 1)])) : j("", !0)])]), k.value.status === "failed" ? (v(), b("div", Oa, [a("p", Da, l(c(o)("auditLog.operation.error")), 1), a("p", ja, l(k.value.errorMessage || "-"), 1)])) : j("", !0), a("div", Ca, [a("div", Ta, [a("p", Va, l(c(o)("auditLog.operation.changes")), 1)]), s[16] || (s[16] = a("hr", {
|
|
1731
1734
|
class: "border-fm-color-border-default"
|
|
1732
|
-
}, null, -1)), a("div",
|
|
1735
|
+
}, null, -1)), a("div", Pa, [E.value.length ? (v(), b("div", Ea, [(v(!0), b(q, null, ae(E.value, (f, P) => (v(), b("div", {
|
|
1733
1736
|
key: P,
|
|
1734
1737
|
class: "space-y-4 py-8 first:pt-0 last:pb-0"
|
|
1735
|
-
}, [a("div",
|
|
1738
|
+
}, [a("div", $a, [m($, {
|
|
1736
1739
|
variant: at(f.type),
|
|
1737
1740
|
label: J(f.type),
|
|
1738
1741
|
compact: ""
|
|
1739
|
-
}, null, 8, ["variant", "label"]), a("span",
|
|
1742
|
+
}, null, 8, ["variant", "label"]), a("span", Na, l(he(f)), 1)]), a("p", Ua, [f.type === "add" ? (v(), b("span", Ra, l(f.afterDisplay), 1)) : f.type === "remove" ? (v(), b("span", Ka, l(f.beforeDisplay), 1)) : (v(), b(q, {
|
|
1740
1743
|
key: 2
|
|
1741
|
-
}, [a("span",
|
|
1744
|
+
}, [a("span", Ba, l(f.beforeDisplay), 1), s[14] || (s[14] = a("span", {
|
|
1742
1745
|
class: "text-fm-color-typo-secondary"
|
|
1743
|
-
}, " → ", -1)), a("span",
|
|
1746
|
+
}, " → ", -1)), a("span", Ya, l(f.afterDisplay), 1)], 64))])]))), 128))])) : nt.value.length ? (v(), b("div", za, [(v(!0), b(q, null, ae(nt.value, (f) => (v(), b("div", {
|
|
1744
1747
|
key: f.groupKey,
|
|
1745
1748
|
class: "space-y-4 py-8 first:pt-0 last:pb-0"
|
|
1746
|
-
}, [a("div",
|
|
1749
|
+
}, [a("div", qa, [m($, {
|
|
1747
1750
|
variant: ce(f.type),
|
|
1748
1751
|
label: ne(f.type),
|
|
1749
1752
|
compact: ""
|
|
1750
|
-
}, null, 8, ["variant", "label"]), a("span",
|
|
1753
|
+
}, null, 8, ["variant", "label"]), a("span", Ja, l(f.displayKey), 1)]), a("div", Ha, [(v(!0), b(q, null, ae(f.rows, (P) => (v(), b("p", {
|
|
1751
1754
|
key: P.path,
|
|
1752
1755
|
class: "break-all font-mono text-xs"
|
|
1753
|
-
}, [P.type === "added" ? (v(), b("span",
|
|
1756
|
+
}, [P.type === "added" ? (v(), b("span", Wa, l(P.after ?? "—"), 1)) : P.type === "removed" ? (v(), b("span", Ga, l(P.before ?? "—"), 1)) : (v(), b(q, {
|
|
1754
1757
|
key: 2
|
|
1755
|
-
}, [a("span",
|
|
1758
|
+
}, [a("span", Xa, l(P.before ?? "—"), 1), s[15] || (s[15] = a("span", {
|
|
1756
1759
|
class: "text-fm-color-typo-secondary"
|
|
1757
|
-
}, " → ", -1)), a("span",
|
|
1760
|
+
}, " → ", -1)), a("span", Qa, l(P.after ?? "—"), 1)], 64))]))), 128))])]))), 128))])) : (v(), b("p", Za, l(c(o)("auditLog.operation.noChanges")), 1))])]), T.value || Y.value ? (v(), b("div", en, [a("button", {
|
|
1758
1761
|
type: "button",
|
|
1759
1762
|
class: "flex w-full items-center justify-between p-12 text-left",
|
|
1760
1763
|
onClick: s[10] || (s[10] = (f) => U.value = !U.value)
|
|
1761
|
-
}, [a("p",
|
|
1764
|
+
}, [a("p", tn, l(c(o)("auditLog.operation.showData")), 1), m(Te, {
|
|
1762
1765
|
name: "keyboard_arrow_down",
|
|
1763
1766
|
class: Do(["shrink-0 transition-transform", U.value ? "rotate-180" : ""])
|
|
1764
1767
|
}, null, 8, ["class"])]), U.value ? (v(), b(q, {
|
|
1765
1768
|
key: 0
|
|
1766
1769
|
}, [s[17] || (s[17] = a("hr", {
|
|
1767
1770
|
class: "border-fm-color-border-default"
|
|
1768
|
-
}, null, -1)), a("div",
|
|
1771
|
+
}, null, -1)), a("div", on, [T.value ? (v(), b("div", sn, [a("p", an, l(c(o)("auditLog.operation.before")), 1), a("pre", nn, l(T.value), 1)])) : j("", !0), Y.value ? (v(), b("div", ln, [a("p", rn, l(c(o)("auditLog.operation.after")), 1), a("pre", un, l(Y.value), 1)])) : j("", !0)])], 64)) : j("", !0)])) : j("", !0)])) : j("", !0)]),
|
|
1769
1772
|
_: 1
|
|
1770
1773
|
}, 8, ["header", "model-value"])], 64);
|
|
1771
1774
|
};
|
|
1772
1775
|
}
|
|
1773
|
-
}),
|
|
1776
|
+
}), Mn = /* @__PURE__ */ Uo(fn, [["__scopeId", "data-v-f7aebfad"]]);
|
|
1774
1777
|
export {
|
|
1775
|
-
|
|
1778
|
+
Mn as default
|
|
1776
1779
|
};
|