aq-fe-framework 0.1.1071 → 0.1.1073

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.
@@ -1,13 +1,9 @@
1
1
  import {
2
- baseAxios_default,
3
- createBaseApi,
4
- useConfig,
5
- useEditableRows,
6
- useExportData,
7
- useMyReactMutation,
8
- useMyReactQuery,
9
- useQ_AQ_GetAQModule
10
- } from "./chunk-Z76CSZFI.mjs";
2
+ createGenericStore,
3
+ useAppStore,
4
+ useStore_Permission,
5
+ useStore_ProjectInfo
6
+ } from "./chunk-WW55EZ4B.mjs";
11
7
  import {
12
8
  utils_date,
13
9
  utils_excel,
@@ -29,12 +25,6 @@ import {
29
25
  utils_notification_show,
30
26
  utils_pdf_download
31
27
  } from "./chunk-KGBXMHKR.mjs";
32
- import {
33
- createGenericStore,
34
- useAppStore,
35
- useStore_Permission,
36
- useStore_ProjectInfo
37
- } from "./chunk-WW55EZ4B.mjs";
38
28
  import {
39
29
  const_object_colors,
40
30
  const_object_documentTypes
@@ -46,6 +36,16 @@ import {
46
36
  import {
47
37
  createGenericStore as createGenericStore2
48
38
  } from "./chunk-BTITP4TN.mjs";
39
+ import {
40
+ baseAxios_default,
41
+ createBaseApi,
42
+ useConfig,
43
+ useEditableRows,
44
+ useExportData,
45
+ useMyReactMutation,
46
+ useMyReactQuery,
47
+ useQ_AQ_GetAQModule
48
+ } from "./chunk-Z76CSZFI.mjs";
49
49
  import {
50
50
  __objRest,
51
51
  __restKey,
@@ -588,6 +588,7 @@ function MyButtonViewFile(_a) {
588
588
  import { Modal as Modal2, ScrollArea, Space, Tooltip as Tooltip2, useMantineColorScheme as useMantineColorScheme4 } from "@mantine/core";
589
589
  import { useDisclosure as useDisclosure2 } from "@mantine/hooks";
590
590
  import { notifications } from "@mantine/notifications";
591
+ import { useEffect as useEffect3 } from "react";
591
592
 
592
593
  // src/core/layout/MyFlexColumn.tsx
593
594
  import { Flex as Flex2 } from "@mantine/core";
@@ -617,7 +618,8 @@ function MyButtonCreateUpdate({
617
618
  disclosure: externalDisclosure,
618
619
  isUpdate = false,
619
620
  scrollAreaAutosizeProps,
620
- useMyReactMutationProps
621
+ useMyReactMutationProps,
622
+ initValues
621
623
  }) {
622
624
  const theme = useMantineColorScheme4();
623
625
  const defaultDisclosure = useDisclosure2();
@@ -658,6 +660,12 @@ function MyButtonCreateUpdate({
658
660
  }
659
661
  }, useMyReactMutationProps == null ? void 0 : useMyReactMutationProps.options)
660
662
  }));
663
+ useEffect3(() => {
664
+ if (disclosure[0]) {
665
+ if (isUpdate && initValues) form.setValues(initValues);
666
+ else form.reset();
667
+ }
668
+ }, [disclosure[0]]);
661
669
  return /* @__PURE__ */ jsxs5(Fragment4, { children: [
662
670
  isUpdate == true ? /* @__PURE__ */ jsx11(Tooltip2, __spreadProps(__spreadValues({ label: toolTipProps == null ? void 0 : toolTipProps.label, hidden: !(toolTipProps == null ? void 0 : toolTipProps.label) }, toolTipProps), { children: /* @__PURE__ */ jsx11(
663
671
  MyActionIcon,
@@ -1104,7 +1112,7 @@ function MyActionIconDelete(_a) {
1104
1112
 
1105
1113
  // src/components/ActionIcons/ActionIconCRUD/MyActionIconUpdate.tsx
1106
1114
  import { useDisclosure as useDisclosure5 } from "@mantine/hooks";
1107
- import { useEffect as useEffect3 } from "react";
1115
+ import { useEffect as useEffect4 } from "react";
1108
1116
  import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
1109
1117
  function MyActionIconUpdate(_a) {
1110
1118
  var _b = _a, {
@@ -1146,7 +1154,7 @@ function MyActionIconUpdate(_a) {
1146
1154
  }
1147
1155
  })
1148
1156
  }, useMyReactMutationProps));
1149
- useEffect3(() => {
1157
+ useEffect4(() => {
1150
1158
  if (!resetFormWhenclose) return;
1151
1159
  if (disc[0] == true) return;
1152
1160
  form.reset();
@@ -1871,7 +1879,7 @@ import { Button as Button7, Divider, Fieldset, Group as Group7, Modal as Modal7,
1871
1879
  import { IconArrowBackUp, IconArrowBigLeft, IconArrowBigRight, IconSquareRoundedX } from "@tabler/icons-react";
1872
1880
 
1873
1881
  // src/components/Button/ButtonImport/useS_ButtonImport.ts
1874
- import { useEffect as useEffect4, useMemo as useMemo2 } from "react";
1882
+ import { useEffect as useEffect5, useMemo as useMemo2 } from "react";
1875
1883
  import * as XLSX2 from "xlsx";
1876
1884
  var useStore = createGenericStore2({
1877
1885
  initialState: {
@@ -1984,7 +1992,7 @@ function useS_ButtonImport() {
1984
1992
  }))) || []
1985
1993
  ];
1986
1994
  }, [store.state.title]);
1987
- useEffect4(() => {
1995
+ useEffect5(() => {
1988
1996
  if (store.state.file == null) {
1989
1997
  store.resetState();
1990
1998
  }
@@ -2005,7 +2013,7 @@ function useS_ButtonImport() {
2005
2013
  };
2006
2014
  reader.readAsArrayBuffer(store.state.file);
2007
2015
  }, [store.state.file]);
2008
- useEffect4(() => {
2016
+ useEffect5(() => {
2009
2017
  var _a;
2010
2018
  if (((_a = store.state.data) == null ? void 0 : _a.length) == 0) return;
2011
2019
  autoMap();
@@ -2131,7 +2139,7 @@ import {
2131
2139
  useMantineReactTable
2132
2140
  } from "mantine-react-table";
2133
2141
  import { MRT_Localization_VI } from "mantine-react-table/locales/vi/index.cjs";
2134
- import { useEffect as useEffect5, useMemo as useMemo3 } from "react";
2142
+ import { useEffect as useEffect6, useMemo as useMemo3 } from "react";
2135
2143
  import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
2136
2144
  function MyDataTable(_a) {
2137
2145
  var _b = _a, {
@@ -2255,7 +2263,7 @@ function MyDataTable(_a) {
2255
2263
  showSkeletons: isLoading
2256
2264
  }, pagination ? { pagination } : {}), rest.state)
2257
2265
  }));
2258
- useEffect5(() => {
2266
+ useEffect6(() => {
2259
2267
  setSelectedRow && setSelectedRow(table.getSelectedRowModel().rows.map((row) => row.original));
2260
2268
  }, [table.getState().rowSelection]);
2261
2269
  return /* @__PURE__ */ jsx34("main", { style: { position: "relative", zIndex: 1 }, children: table.getState().isFullScreen ? /* @__PURE__ */ jsx34(Portal, { children: /* @__PURE__ */ jsx34(MantineReactTable, { table }) }) : /* @__PURE__ */ jsx34(MantineReactTable, { table }) });
@@ -2662,7 +2670,7 @@ import {
2662
2670
  import { useDisclosure as useDisclosure12 } from "@mantine/hooks";
2663
2671
  import { IconLivePhoto as IconLivePhoto3, IconMaximize as IconMaximize3, IconMinimize as IconMinimize3 } from "@tabler/icons-react";
2664
2672
  import { useQuery } from "@tanstack/react-query";
2665
- import { useEffect as useEffect6, useState as useState8 } from "react";
2673
+ import { useEffect as useEffect7, useState as useState8 } from "react";
2666
2674
  import { Fragment as Fragment13, jsx as jsx43, jsxs as jsxs24 } from "react/jsx-runtime";
2667
2675
  function MyButtonViewPDF({
2668
2676
  id,
@@ -2688,7 +2696,7 @@ function MyButtonViewPDF({
2688
2696
  },
2689
2697
  enabled: opened && !src
2690
2698
  });
2691
- useEffect6(() => {
2699
+ useEffect7(() => {
2692
2700
  var _a, _b, _c;
2693
2701
  if (!query.data) return;
2694
2702
  const base64String = filePath ? (_a = query.data) == null ? void 0 : _a.fileBase64String : (_c = (_b = query.data) == null ? void 0 : _b.fileDetail) == null ? void 0 : _c.fileBase64String;
@@ -2706,7 +2714,7 @@ function MyButtonViewPDF({
2706
2714
  URL.revokeObjectURL(newBlobUrl);
2707
2715
  };
2708
2716
  }, [query.data]);
2709
- useEffect6(() => {
2717
+ useEffect7(() => {
2710
2718
  if (opened) {
2711
2719
  query.refetch();
2712
2720
  } else {
@@ -7422,7 +7430,7 @@ import { createEventsServicePlugin } from "@schedule-x/events-service";
7422
7430
  import { ScheduleXCalendar, useNextCalendarApp } from "@schedule-x/react";
7423
7431
  import { Paper as Paper4, Text as Text8 } from "@mantine/core";
7424
7432
  import "@schedule-x/theme-default/dist/index.css";
7425
- import { useEffect as useEffect7 } from "react";
7433
+ import { useEffect as useEffect8 } from "react";
7426
7434
  import { jsx as jsx44, jsxs as jsxs25 } from "react/jsx-runtime";
7427
7435
  function MyCalendar() {
7428
7436
  const plugins = [createEventsServicePlugin(), createEventModalPlugin()];
@@ -7494,7 +7502,7 @@ function MyCalendar() {
7494
7502
  }
7495
7503
  ]
7496
7504
  }, plugins);
7497
- useEffect7(() => {
7505
+ useEffect8(() => {
7498
7506
  calendar == null ? void 0 : calendar.events.getAll();
7499
7507
  }, []);
7500
7508
  return /* @__PURE__ */ jsx44("div", { children: /* @__PURE__ */ jsx44(ScheduleXCalendar, { calendarApp: calendar, customComponents: {
@@ -7814,7 +7822,7 @@ function AQStatCard2({
7814
7822
  }
7815
7823
 
7816
7824
  // src/components/FaviconSetter/FaviconSetter.tsx
7817
- import { useEffect as useEffect8 } from "react";
7825
+ import { useEffect as useEffect9 } from "react";
7818
7826
 
7819
7827
  // src/components/Layouts/BasicAppShell/useStore_BasicAppShell.ts
7820
7828
  var useStore2 = createGenericStore2({
@@ -7866,7 +7874,7 @@ function useStore_BasicAppShell() {
7866
7874
  function FaviconSetter() {
7867
7875
  var _a;
7868
7876
  const store = useStore_BasicAppShell();
7869
- useEffect8(() => {
7877
+ useEffect9(() => {
7870
7878
  var _a2, _b, _c;
7871
7879
  if (!((_a2 = store.state.faviconFileDetail) == null ? void 0 : _a2.fileBase64String)) return;
7872
7880
  try {
@@ -7997,7 +8005,7 @@ import TextAlign from "@tiptap/extension-text-align";
7997
8005
  import Underline from "@tiptap/extension-underline";
7998
8006
  import { useEditor } from "@tiptap/react";
7999
8007
  import StarterKit from "@tiptap/starter-kit";
8000
- import { useEffect as useEffect9, useState as useState9 } from "react";
8008
+ import { useEffect as useEffect10, useState as useState9 } from "react";
8001
8009
  import { jsx as jsx58, jsxs as jsxs32 } from "react/jsx-runtime";
8002
8010
  function MyTextEditor(_a) {
8003
8011
  var _b = _a, {
@@ -8099,7 +8107,7 @@ function MyTextEditor(_a) {
8099
8107
  }
8100
8108
  }
8101
8109
  }, rest));
8102
- useEffect9(() => {
8110
+ useEffect10(() => {
8103
8111
  if (editor && value !== editor.getHTML()) {
8104
8112
  editor.commands.setContent(value);
8105
8113
  }
@@ -8215,7 +8223,7 @@ import {
8215
8223
  IconLibraryMinus
8216
8224
  } from "@tabler/icons-react";
8217
8225
  import { usePathname as usePathname3 } from "next/navigation.js";
8218
- import { useEffect as useEffect38, useMemo as useMemo32, useState as useState30 } from "react";
8226
+ import { useEffect as useEffect39, useMemo as useMemo32, useState as useState30 } from "react";
8219
8227
 
8220
8228
  // src/components/Layouts/BasicAppShell/RenderNavLinks.tsx
8221
8229
  import { Badge as Badge3, NavLink, Text as Text15 } from "@mantine/core";
@@ -8364,7 +8372,7 @@ import {
8364
8372
  IconPlus as IconPlus7,
8365
8373
  IconRowRemove
8366
8374
  } from "@tabler/icons-react";
8367
- import { useEffect as useEffect10, useMemo as useMemo4, useState as useState10 } from "react";
8375
+ import { useEffect as useEffect11, useMemo as useMemo4, useState as useState10 } from "react";
8368
8376
  import { jsx as jsx62, jsxs as jsxs34 } from "react/jsx-runtime";
8369
8377
  var findMatchingColumn = (columns, fieldKey) => columns.find((col) => col.toLowerCase() === fieldKey.toLowerCase()) || "";
8370
8378
  var getDefaultMapping = (fields, columns) => {
@@ -8403,7 +8411,7 @@ function FileFieldMappingModal(_a) {
8403
8411
  () => jsonData.length > 0 ? Object.keys(jsonData[0]) : [],
8404
8412
  [jsonData]
8405
8413
  );
8406
- useEffect10(() => {
8414
+ useEffect11(() => {
8407
8415
  const { selected, mapping } = getDefaultMapping(fieldDefinitions, excelColumns);
8408
8416
  setSelectedFields(selected);
8409
8417
  setColumnMapping(mapping);
@@ -8551,7 +8559,7 @@ import {
8551
8559
  } from "@mantine/core";
8552
8560
  import { notifications as notifications2 } from "@mantine/notifications";
8553
8561
  import { IconCircleFilled } from "@tabler/icons-react";
8554
- import { useEffect as useEffect11, useMemo as useMemo5, useState as useState11 } from "react";
8562
+ import { useEffect as useEffect12, useMemo as useMemo5, useState as useState11 } from "react";
8555
8563
  import { read as read3, utils as utils4 } from "xlsx";
8556
8564
  import { jsx as jsx63, jsxs as jsxs35 } from "react/jsx-runtime";
8557
8565
  function toVietnamTime(utcString) {
@@ -8636,7 +8644,7 @@ function FileImportConfigModal(_a) {
8636
8644
  setDataStartIndex("3");
8637
8645
  if (file2) parseExcel(file2);
8638
8646
  };
8639
- useEffect11(() => {
8647
+ useEffect12(() => {
8640
8648
  const headerRowIndex = titleIndex ? parseInt(titleIndex) - 1 : null;
8641
8649
  const dataRowIndex = dataStartIndex ? parseInt(dataStartIndex) - 1 : null;
8642
8650
  if (!rawData || headerRowIndex === null || dataRowIndex === null || dataRowIndex >= rawData.length || headerRowIndex >= rawData.length) {
@@ -8672,7 +8680,7 @@ function FileImportConfigModal(_a) {
8672
8680
  return obj;
8673
8681
  });
8674
8682
  }, [rawData]);
8675
- useEffect11(() => {
8683
+ useEffect12(() => {
8676
8684
  if (titleIndex && dataStartIndex && parseInt(dataStartIndex) <= parseInt(titleIndex)) {
8677
8685
  setDataStartIndex((parseInt(titleIndex) + 1).toString());
8678
8686
  }
@@ -8914,7 +8922,7 @@ import { DateInput as DateInput2 } from "@mantine/dates";
8914
8922
  import { useForm } from "@mantine/form";
8915
8923
  import { IconCalendar } from "@tabler/icons-react";
8916
8924
  import { useQueryClient as useQueryClient3 } from "@tanstack/react-query";
8917
- import { useEffect as useEffect12 } from "react";
8925
+ import { useEffect as useEffect13 } from "react";
8918
8926
  import { jsx as jsx66, jsxs as jsxs38 } from "react/jsx-runtime";
8919
8927
  function AcademicYearsCreate() {
8920
8928
  const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
@@ -8967,7 +8975,7 @@ function AcademicYearsCreate() {
8967
8975
  }
8968
8976
  }
8969
8977
  });
8970
- useEffect12(() => {
8978
+ useEffect13(() => {
8971
8979
  const year = parseInt(String(form.values.code), 10);
8972
8980
  if (!isNaN(year)) {
8973
8981
  form.setFieldValue("administrativeYearStart", toUTCDatePreserveDay(year, 0, 1));
@@ -9115,7 +9123,7 @@ import { Checkbox as Checkbox3, Grid as Grid3, Group as Group19 } from "@mantine
9115
9123
  import { DateInput as DateInput3 } from "@mantine/dates";
9116
9124
  import { useForm as useForm2 } from "@mantine/form";
9117
9125
  import { IconCalendar as IconCalendar2 } from "@tabler/icons-react";
9118
- import { useEffect as useEffect13 } from "react";
9126
+ import { useEffect as useEffect14 } from "react";
9119
9127
  import { jsx as jsx69, jsxs as jsxs39 } from "react/jsx-runtime";
9120
9128
  function AcademicYearsUpdate({
9121
9129
  values
@@ -9188,7 +9196,7 @@ function AcademicYearsUpdate({
9188
9196
  }
9189
9197
  }
9190
9198
  });
9191
- useEffect13(() => {
9199
+ useEffect14(() => {
9192
9200
  const year = parseInt(String(form.values.code), 10);
9193
9201
  if (!isNaN(year)) {
9194
9202
  form.setFieldValue("administrativeYearStart", new Date(year, 0, 1));
@@ -9201,7 +9209,7 @@ function AcademicYearsUpdate({
9201
9209
  }
9202
9210
  }
9203
9211
  }, [form.values.code]);
9204
- useEffect13(() => {
9212
+ useEffect14(() => {
9205
9213
  if (form.values.concurrencyStamp !== values.concurrencyStamp) {
9206
9214
  form.setFieldValue("concurrencyStamp", values.concurrencyStamp);
9207
9215
  }
@@ -9422,7 +9430,7 @@ var service_account = __spreadProps(__spreadValues({}, createBaseApi(CONTROLLER3
9422
9430
  import { TextInput as TextInput3 } from "@mantine/core";
9423
9431
  import { useDebouncedValue } from "@mantine/hooks";
9424
9432
  import { IconSearch as IconSearch3 } from "@tabler/icons-react";
9425
- import { useEffect as useEffect14, useMemo as useMemo7, useState as useState13 } from "react";
9433
+ import { useEffect as useEffect15, useMemo as useMemo7, useState as useState13 } from "react";
9426
9434
  import { jsx as jsx71 } from "react/jsx-runtime";
9427
9435
  function AccessControl_AccountTable(_a) {
9428
9436
  var rest = __objRest(_a, []);
@@ -9462,12 +9470,12 @@ function AccessControl_AccountTable(_a) {
9462
9470
  accessorKey: "email"
9463
9471
  }
9464
9472
  ], []);
9465
- useEffect14(() => {
9473
+ useEffect15(() => {
9466
9474
  var _a2, _b, _c;
9467
9475
  if (!query.data) return;
9468
9476
  (_c = rest.setIdSelectionOne) == null ? void 0 : _c.call(rest, (_b = (_a2 = query.data[0]) == null ? void 0 : _a2.id) == null ? void 0 : _b.toString());
9469
9477
  }, [query.data]);
9470
- useEffect14(() => {
9478
+ useEffect15(() => {
9471
9479
  setGlobalFilter(debouncedSearch);
9472
9480
  paggingState[1]({ pageIndex: 0, pageSize: paggingState[0].pageSize });
9473
9481
  }, [debouncedSearch]);
@@ -9596,7 +9604,7 @@ function Permission_SaveMenuPermission({
9596
9604
  }
9597
9605
 
9598
9606
  // src/module/Permission/adapter/Permission_ViewCheckMenuPermission.tsx
9599
- import { useEffect as useEffect15, useState as useState14 } from "react";
9607
+ import { useEffect as useEffect16, useState as useState14 } from "react";
9600
9608
 
9601
9609
  // src/module/Permission/usecase/UseCase_PermissionViewCheckTable.tsx
9602
9610
  import { Center as Center6, Checkbox as Checkbox4, Flex as Flex6, Paper as Paper8, ScrollArea as ScrollArea3, Skeleton, Stack as Stack4, Table as Table4, Text as Text17 } from "@mantine/core";
@@ -9767,7 +9775,7 @@ function Permission_ViewCheckMenuPermission({
9767
9775
  }
9768
9776
  return result;
9769
9777
  }
9770
- useEffect15(() => {
9778
+ useEffect16(() => {
9771
9779
  if (!rolePermissionQuery.data) return;
9772
9780
  const flattenMenu = extractMenusWithRootGroupTitle(menuDataRoot || []);
9773
9781
  const menuMerged = mergePermissionsType(flattenMenu, rolePermissionQuery.data);
@@ -9824,7 +9832,7 @@ function Feat_accessControl({ menuData }) {
9824
9832
  }
9825
9833
 
9826
9834
  // src/module/Role/adapter/Role_Table.tsx
9827
- import { useEffect as useEffect16 } from "react";
9835
+ import { useEffect as useEffect17 } from "react";
9828
9836
 
9829
9837
  // src/module/Role/usecase/UseCase_RoleTable.tsx
9830
9838
  import { useMemo as useMemo8 } from "react";
@@ -9870,7 +9878,7 @@ function Adapter_RoleTable(_a) {
9870
9878
  queryKey: ["roles"],
9871
9879
  axiosFn: () => service_role.getAdminRole()
9872
9880
  });
9873
- useEffect16(() => {
9881
+ useEffect17(() => {
9874
9882
  var _a3, _b;
9875
9883
  if (!adminRoleQuery.data) return;
9876
9884
  (_b = rest.setIdSelectionOne) == null ? void 0 : _b.call(rest, (_a3 = adminRoleQuery.data[0].id) == null ? void 0 : _a3.toString());
@@ -9937,7 +9945,7 @@ var service_department = __spreadProps(__spreadValues({}, createBaseApi(CONTROLL
9937
9945
  // src/modules-features/admin/core/accountManagement/AccountManagement_CreateUpdateUser.tsx
9938
9946
  import { PasswordInput, SimpleGrid as SimpleGrid3, Textarea as Textarea2 } from "@mantine/core";
9939
9947
  import { isEmail, useForm as useForm3 } from "@mantine/form";
9940
- import { useEffect as useEffect17 } from "react";
9948
+ import { useEffect as useEffect18 } from "react";
9941
9949
  import { jsx as jsx79, jsxs as jsxs44 } from "react/jsx-runtime";
9942
9950
  function AccountManagement_CreateUpdateUser({ values }) {
9943
9951
  var _a, _b;
@@ -9964,7 +9972,7 @@ function AccountManagement_CreateUpdateUser({ values }) {
9964
9972
  queryKey: ["workingUnits"],
9965
9973
  axiosFn: () => service_department.getWorkingUnit()
9966
9974
  });
9967
- useEffect17(() => {
9975
+ useEffect18(() => {
9968
9976
  if (!values) return;
9969
9977
  const valueSetter = __spreadProps(__spreadValues({}, values), {
9970
9978
  accountStatus: values.isBlocked ? "0" : "1"
@@ -10062,7 +10070,7 @@ function AccountManagement_DeleteUser({ id, code }) {
10062
10070
  }
10063
10071
 
10064
10072
  // src/modules-features/admin/core/accountManagement/AccountManagement_ExportUsers.tsx
10065
- import { useEffect as useEffect18, useState as useState17 } from "react";
10073
+ import { useEffect as useEffect19, useState as useState17 } from "react";
10066
10074
  import { jsx as jsx82 } from "react/jsx-runtime";
10067
10075
  var exportConfig = {
10068
10076
  fields: [
@@ -10102,7 +10110,7 @@ function AccountManagement_ExportUsers({ data }) {
10102
10110
  enabled: isActive[0]
10103
10111
  }
10104
10112
  });
10105
- useEffect18(() => {
10113
+ useEffect19(() => {
10106
10114
  if (!userQuery.data) return;
10107
10115
  if (!isActive[0]) return;
10108
10116
  utils_excel_handleExport(userQuery.data, exportConfig, "danhSachTaiKhoan");
@@ -10267,7 +10275,7 @@ function AccountManagement_SyncUserFormEdusoftnet() {
10267
10275
  import { Badge as Badge4, Group as Group21, TextInput as TextInput4 } from "@mantine/core";
10268
10276
  import { useDebouncedValue as useDebouncedValue2 } from "@mantine/hooks";
10269
10277
  import { IconSearch as IconSearch4 } from "@tabler/icons-react";
10270
- import { useEffect as useEffect19, useMemo as useMemo9, useState as useState18 } from "react";
10278
+ import { useEffect as useEffect20, useMemo as useMemo9, useState as useState18 } from "react";
10271
10279
 
10272
10280
  // src/modules-features/admin/core/accountManagement/useStore_AccountManagement.ts
10273
10281
  var useStore3 = createGenericStore({
@@ -10343,7 +10351,7 @@ function AccountManagement_ReadUser() {
10343
10351
  }
10344
10352
  return baseColumns;
10345
10353
  }, [(_a = accountManagementStore.state) == null ? void 0 : _a.isRequireSkillCenter]);
10346
- useEffect19(() => {
10354
+ useEffect20(() => {
10347
10355
  setGlobalFilter(debouncedSearch);
10348
10356
  paginationState[1]({ pageIndex: 0, pageSize: paginationState[0].pageSize });
10349
10357
  }, [debouncedSearch]);
@@ -10416,11 +10424,11 @@ var mockUserData = [
10416
10424
  ];
10417
10425
 
10418
10426
  // src/modules-features/admin/core/accountManagement/F_accountManagement.tsx
10419
- import { useEffect as useEffect20 } from "react";
10427
+ import { useEffect as useEffect21 } from "react";
10420
10428
  import { jsx as jsx86 } from "react/jsx-runtime";
10421
10429
  function F_accountManagement({ isRequireSkillCenter = false }) {
10422
10430
  const store = useStore_AccountManagement();
10423
- useEffect20(() => {
10431
+ useEffect21(() => {
10424
10432
  store.setProperty("isRequireSkillCenter", isRequireSkillCenter);
10425
10433
  }, []);
10426
10434
  return /* @__PURE__ */ jsx86(AccountManagement_ReadUser, {});
@@ -10577,7 +10585,7 @@ import { useMemo as useMemo10, useState as useState19 } from "react";
10577
10585
  // src/modules-features/admin/core/CodeFormula/CodeFormulaUpdate.tsx
10578
10586
  import { Select as Select6 } from "@mantine/core";
10579
10587
  import { useForm as useForm5 } from "@mantine/form";
10580
- import { useEffect as useEffect21 } from "react";
10588
+ import { useEffect as useEffect22 } from "react";
10581
10589
  import { jsx as jsx90, jsxs as jsxs49 } from "react/jsx-runtime";
10582
10590
  function CodeFormulaUpdate({
10583
10591
  data,
@@ -10596,7 +10604,7 @@ function CodeFormulaUpdate({
10596
10604
  length: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
10597
10605
  }
10598
10606
  });
10599
- useEffect21(() => {
10607
+ useEffect22(() => {
10600
10608
  if (data) {
10601
10609
  form.setValues(data);
10602
10610
  }
@@ -12534,7 +12542,7 @@ function F_core76318({ SecurityTypeId }) {
12534
12542
 
12535
12543
  // src/modules-features/admin/core/departmentList/feature/departmentCreateOrUpdateFeature.tsx
12536
12544
  import { useForm as useForm21 } from "@mantine/form";
12537
- import { useEffect as useEffect22, useState as useState20 } from "react";
12545
+ import { useEffect as useEffect23, useState as useState20 } from "react";
12538
12546
 
12539
12547
  // src/modules-features/admin/core/departmentList/view/departmentCreateOrUpdate.tsx
12540
12548
  import { Checkbox as Checkbox5, Textarea as Textarea5, TextInput as TextInput6 } from "@mantine/core";
@@ -12670,12 +12678,12 @@ function DepartmentCreateOrUpdateFeature({ mode, data }) {
12670
12678
  queryKey: ["UnitRead"],
12671
12679
  axiosFn: () => service_department.getAll()
12672
12680
  });
12673
- useEffect22(() => {
12681
+ useEffect23(() => {
12674
12682
  if (isCreateMode) {
12675
12683
  form_multiple.setValues({ importedData: fileData });
12676
12684
  }
12677
12685
  }, [fileData, isCreateMode]);
12678
- useEffect22(() => {
12686
+ useEffect23(() => {
12679
12687
  var _a, _b;
12680
12688
  if (isUpdateMode && data) {
12681
12689
  const sanitizedData = __spreadProps(__spreadValues({}, data), {
@@ -12741,7 +12749,7 @@ function DepartmentCreateOrUpdateFeature({ mode, data }) {
12741
12749
 
12742
12750
  // src/modules-features/admin/core/departmentList/feature/DepartmentExport.tsx
12743
12751
  import { useDisclosure as useDisclosure14 } from "@mantine/hooks";
12744
- import { useEffect as useEffect23, useState as useState21 } from "react";
12752
+ import { useEffect as useEffect24, useState as useState21 } from "react";
12745
12753
  import { jsx as jsx129 } from "react/jsx-runtime";
12746
12754
  var type2 = {
12747
12755
  1: "Khoa",
@@ -12778,7 +12786,7 @@ function DepartmentExport({ data }) {
12778
12786
  // không fetch tự động
12779
12787
  }
12780
12788
  });
12781
- useEffect23(() => {
12789
+ useEffect24(() => {
12782
12790
  if (!userQuery.data) return;
12783
12791
  utils_excel_handleExport(userQuery.data.map((item) => {
12784
12792
  var _a;
@@ -13193,7 +13201,7 @@ function EmailTemplateButtonImport({ emailTemplateEnum }) {
13193
13201
  import { Badge as Badge5, Button as Button18, Grid as Grid6, Stack as Stack7, Text as Text19 } from "@mantine/core";
13194
13202
  import { useForm as useForm24 } from "@mantine/form";
13195
13203
  import { notifications as notifications4 } from "@mantine/notifications";
13196
- import { useEffect as useEffect24, useMemo as useMemo20 } from "react";
13204
+ import { useEffect as useEffect25, useMemo as useMemo20 } from "react";
13197
13205
  import { Fragment as Fragment21, jsx as jsx141, jsxs as jsxs83 } from "react/jsx-runtime";
13198
13206
  var getDefaultBodyFortype1 = () => {
13199
13207
  return ``;
@@ -13290,12 +13298,12 @@ function EmailTemplateCreateUpdateButton({ initValue, emailTemplateEnum }) {
13290
13298
  form.setFieldValue("body", newContent);
13291
13299
  }
13292
13300
  };
13293
- useEffect24(() => {
13301
+ useEffect25(() => {
13294
13302
  if (!initValue) return;
13295
13303
  form.setInitialValues(__spreadValues({}, initValue));
13296
13304
  form.setValues(__spreadValues({}, initValue));
13297
13305
  }, [initValue]);
13298
- useEffect24(() => {
13306
+ useEffect25(() => {
13299
13307
  mailVariableQuery.refetch();
13300
13308
  }, [form.values.type]);
13301
13309
  return /* @__PURE__ */ jsxs83(
@@ -13658,7 +13666,7 @@ function F_formTemplateDocs_Create({ FormTypeId }) {
13658
13666
 
13659
13667
  // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs_Read.tsx
13660
13668
  import { Accordion as Accordion4, Alert as Alert5, Blockquote as Blockquote4, Skeleton as Skeleton5 } from "@mantine/core";
13661
- import { useEffect as useEffect25, useMemo as useMemo22, useState as useState22 } from "react";
13669
+ import { useEffect as useEffect26, useMemo as useMemo22, useState as useState22 } from "react";
13662
13670
  import { IconBug as IconBug5 } from "@tabler/icons-react";
13663
13671
 
13664
13672
  // src/modules-features/admin/core/formTemplateDocs/F_formTemplateDocs_Delete.tsx
@@ -13768,7 +13776,7 @@ function F_formTemplateDocs_Read({ FormTypeId }) {
13768
13776
  queryKey: ["F_formTemplateDocs_Read" + FormTypeId],
13769
13777
  axiosFn: () => service_documentAttribute.GetByType(FormTypeId)
13770
13778
  });
13771
- useEffect25(() => {
13779
+ useEffect26(() => {
13772
13780
  var _a2;
13773
13781
  if (documentAttributeQuery.data && documentAttributeQuery.data.length > 0) {
13774
13782
  const firstItemId = (_a2 = documentAttributeQuery.data[0].id) == null ? void 0 : _a2.toString();
@@ -14135,7 +14143,7 @@ import { useMemo as useMemo23 } from "react";
14135
14143
  // src/modules-features/admin/core/mailConfig/F_mailConfig_CreateUpdate.tsx
14136
14144
  import { PasswordInput as PasswordInput2, Stack as Stack9 } from "@mantine/core";
14137
14145
  import { useForm as useForm27 } from "@mantine/form";
14138
- import { useEffect as useEffect26 } from "react";
14146
+ import { useEffect as useEffect27 } from "react";
14139
14147
  import { jsx as jsx157, jsxs as jsxs91 } from "react/jsx-runtime";
14140
14148
  function F_mailConfig_CreateUpdate({ values, emailModule }) {
14141
14149
  function getEmailModuleLabelByValue(emailModuleOptions, value) {
@@ -14148,7 +14156,7 @@ function F_mailConfig_CreateUpdate({ values, emailModule }) {
14148
14156
  });
14149
14157
  return typeof selectedOption === "string" ? selectedOption : (selectedOption == null ? void 0 : selectedOption.label) || "Unknown";
14150
14158
  }
14151
- useEffect26(() => {
14159
+ useEffect27(() => {
14152
14160
  if (!values) return;
14153
14161
  form.setFieldValue("password", "");
14154
14162
  }, [values]);
@@ -14353,12 +14361,12 @@ var mockData = [
14353
14361
  import { jsx as jsx160 } from "react/jsx-runtime";
14354
14362
 
14355
14363
  // src/modules-features/admin/core/moduleConfig/F_moduleConfig.tsx
14356
- import { useEffect as useEffect28 } from "react";
14364
+ import { useEffect as useEffect29 } from "react";
14357
14365
 
14358
14366
  // src/modules-features/admin/core/moduleConfig/F_moduleConfig_Form.tsx
14359
14367
  import { Center as Center10, Grid as Grid7, Image as Image3, Paper as Paper12 } from "@mantine/core";
14360
14368
  import { useForm as useForm28 } from "@mantine/form";
14361
- import { useEffect as useEffect27 } from "react";
14369
+ import { useEffect as useEffect28 } from "react";
14362
14370
 
14363
14371
  // src/modules-features/admin/core/moduleConfig/F_moduleConfig_Save.tsx
14364
14372
  import { useMutation as useMutation3 } from "@tanstack/react-query";
@@ -14429,7 +14437,7 @@ function F_moduleConfig_Form() {
14429
14437
  logoFileDetail: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
14430
14438
  }
14431
14439
  });
14432
- useEffect27(() => {
14440
+ useEffect28(() => {
14433
14441
  var _a2, _b2;
14434
14442
  if (!query.data) return;
14435
14443
  const values = {
@@ -14450,7 +14458,7 @@ function F_moduleConfig_Form() {
14450
14458
  form.setInitialValues(values);
14451
14459
  form.setValues(values);
14452
14460
  }, [query.data]);
14453
- useEffect27(() => {
14461
+ useEffect28(() => {
14454
14462
  if (process.env.NEXT_PUBLIC_APP_PROTOTYPE == "1") {
14455
14463
  const values = {
14456
14464
  code: "moduleCode",
@@ -14557,7 +14565,7 @@ function F_moduleConfig_Form() {
14557
14565
  import { jsx as jsx163 } from "react/jsx-runtime";
14558
14566
  function F_moduleConfig({ AQModuleId }) {
14559
14567
  const store = useS_moduleConfig();
14560
- useEffect28(() => {
14568
+ useEffect29(() => {
14561
14569
  store.setProperty("AQModuleId", AQModuleId);
14562
14570
  }, []);
14563
14571
  return /* @__PURE__ */ jsx163(F_moduleConfig_Form, {});
@@ -14645,7 +14653,7 @@ function F_organizationPolicyDocs_Create({
14645
14653
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Read.tsx
14646
14654
  import { Accordion as Accordion5, Alert as Alert6, Blockquote as Blockquote5, Skeleton as Skeleton6 } from "@mantine/core";
14647
14655
  import { IconBug as IconBug6 } from "@tabler/icons-react";
14648
- import { useEffect as useEffect29, useMemo as useMemo24, useState as useState24 } from "react";
14656
+ import { useEffect as useEffect30, useMemo as useMemo24, useState as useState24 } from "react";
14649
14657
 
14650
14658
  // src/modules-features/admin/core/organizationPolicyDocs/F_organizationPolicyDocs_Delete.tsx
14651
14659
  import { jsx as jsx165 } from "react/jsx-runtime";
@@ -14756,7 +14764,7 @@ function F_organizationPolicyDocs_Read({
14756
14764
  queryKey: ["F_organizationPolicyDocs_Read", RegulationsTypeId],
14757
14765
  axiosFn: () => service_documentAttribute.GetByType(RegulationsTypeId)
14758
14766
  });
14759
- useEffect29(() => {
14767
+ useEffect30(() => {
14760
14768
  var _a2;
14761
14769
  if (documentAttributeQuery.data && documentAttributeQuery.data.length > 0) {
14762
14770
  const firstItemId = (_a2 = documentAttributeQuery.data[0].id) == null ? void 0 : _a2.toString();
@@ -15121,7 +15129,7 @@ function Adapter_RoleTable2(_a) {
15121
15129
 
15122
15130
  // src/modules/Role/adapter/Adapter_RoleForm.tsx
15123
15131
  import { useForm as useForm31 } from "@mantine/form";
15124
- import { useEffect as useEffect30 } from "react";
15132
+ import { useEffect as useEffect31 } from "react";
15125
15133
 
15126
15134
  // src/modules/Role/usecase/UseCase_RoleForm.tsx
15127
15135
  import { Stack as Stack10 } from "@mantine/core";
@@ -15167,7 +15175,7 @@ function Adapter_RoleForm({
15167
15175
  },
15168
15176
  mutationType: values ? "update" : "create"
15169
15177
  });
15170
- useEffect30(() => {
15178
+ useEffect31(() => {
15171
15179
  if (!values) return;
15172
15180
  form.initialize(values);
15173
15181
  }, [values]);
@@ -15186,7 +15194,7 @@ function Adapter_RoleForm({
15186
15194
  import { Group as Group28, TextInput as TextInput8 } from "@mantine/core";
15187
15195
  import { useDebouncedValue as useDebouncedValue3 } from "@mantine/hooks";
15188
15196
  import { IconSearch as IconSearch5 } from "@tabler/icons-react";
15189
- import { useEffect as useEffect31, useState as useState25 } from "react";
15197
+ import { useEffect as useEffect32, useState as useState25 } from "react";
15190
15198
 
15191
15199
  // src/modules/User/usecase/Usecase_UserTable.tsx
15192
15200
  import { useMemo as useMemo27 } from "react";
@@ -15263,7 +15271,7 @@ function Adapter_UserTable(_a) {
15263
15271
  });
15264
15272
  }
15265
15273
  });
15266
- useEffect31(() => {
15274
+ useEffect32(() => {
15267
15275
  setGlobalFilter(debouncedSearch);
15268
15276
  paginationState[1]({ pageIndex: 0, pageSize: paginationState[0].pageSize });
15269
15277
  }, [debouncedSearch]);
@@ -15302,7 +15310,7 @@ function Adapter_UserTable(_a) {
15302
15310
  import { useDisclosure as useDisclosure16 } from "@mantine/hooks";
15303
15311
  import { notifications as notifications5 } from "@mantine/notifications";
15304
15312
  import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
15305
- import { useEffect as useEffect32, useState as useState26 } from "react";
15313
+ import { useEffect as useEffect33, useState as useState26 } from "react";
15306
15314
  import { jsx as jsx179 } from "react/jsx-runtime";
15307
15315
  function Adapter_UserAddToRole({
15308
15316
  roleId,
@@ -15343,7 +15351,7 @@ function Adapter_UserAddToRole({
15343
15351
  },
15344
15352
  enableDefaultSuccess: false
15345
15353
  });
15346
- useEffect32(() => {
15354
+ useEffect33(() => {
15347
15355
  if (userIds == null ? void 0 : userIds.length) {
15348
15356
  const selected = userIds.reduce((acc, id) => {
15349
15357
  acc[id] = true;
@@ -15398,7 +15406,7 @@ function Adapter_UserDeleteFromRole({
15398
15406
  }
15399
15407
 
15400
15408
  // src/modules/User/adapter/Adapter_UserTableByRole.tsx
15401
- import { useEffect as useEffect33 } from "react";
15409
+ import { useEffect as useEffect34 } from "react";
15402
15410
  import { jsx as jsx181 } from "react/jsx-runtime";
15403
15411
  function Adapter_UserTableByRole(_a) {
15404
15412
  var _b = _a, { byRoleId } = _b, rest = __objRest(_b, ["byRoleId"]);
@@ -15409,7 +15417,7 @@ function Adapter_UserTableByRole(_a) {
15409
15417
  return service_role.getUserByRole({ roleId: byRoleId });
15410
15418
  }
15411
15419
  });
15412
- useEffect33(() => {
15420
+ useEffect34(() => {
15413
15421
  if (adminAccountQuery.data && rest.onUserLoad) {
15414
15422
  const users = adminAccountQuery.data.map(mapper_user.mapToDomain);
15415
15423
  rest.onUserLoad(users);
@@ -16285,7 +16293,7 @@ function F_workflowProcessDocs_Create({
16285
16293
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Read.tsx
16286
16294
  import { Accordion as Accordion6, Alert as Alert7, Blockquote as Blockquote6, Skeleton as Skeleton7 } from "@mantine/core";
16287
16295
  import { IconBug as IconBug7 } from "@tabler/icons-react";
16288
- import { useEffect as useEffect34, useMemo as useMemo31, useState as useState28 } from "react";
16296
+ import { useEffect as useEffect35, useMemo as useMemo31, useState as useState28 } from "react";
16289
16297
 
16290
16298
  // src/modules-features/admin/core/workflowProcessDocs/F_workflowProcessDocs_Delete.tsx
16291
16299
  import { jsx as jsx201 } from "react/jsx-runtime";
@@ -16396,7 +16404,7 @@ function F_workflowProcessDocs_Read({
16396
16404
  queryKey: ["F_workflowProcessDocs_Read" + WorkflowTypeId],
16397
16405
  axiosFn: () => service_documentAttribute.GetByType(WorkflowTypeId)
16398
16406
  });
16399
- useEffect34(() => {
16407
+ useEffect35(() => {
16400
16408
  var _a2;
16401
16409
  if (documentAttributeQuery.data && documentAttributeQuery.data.length > 0) {
16402
16410
  const firstItemId = (_a2 = documentAttributeQuery.data[0].id) == null ? void 0 : _a2.toString();
@@ -16527,7 +16535,7 @@ import { notifications as notifications6 } from "@mantine/notifications";
16527
16535
  import { useMutation as useMutation4 } from "@tanstack/react-query";
16528
16536
  import Link3 from "next/link.js";
16529
16537
  import { useRouter as useRouter4 } from "next/navigation.js";
16530
- import { useEffect as useEffect35 } from "react";
16538
+ import { useEffect as useEffect36 } from "react";
16531
16539
 
16532
16540
  // src/modules-features/authenticate/useStore_Authenticate.ts
16533
16541
  var useStore5 = createGenericStore2({
@@ -16573,7 +16581,7 @@ function Feat_Authenticate_Login({
16573
16581
  password: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
16574
16582
  }
16575
16583
  });
16576
- useEffect35(() => {
16584
+ useEffect36(() => {
16577
16585
  var _a;
16578
16586
  form.setValues({
16579
16587
  username: ((_a = authenticateStore.state) == null ? void 0 : _a.username) || "",
@@ -16700,7 +16708,7 @@ function Feat_Authenticate_Logout({ redirectURL = "/auth/login" }) {
16700
16708
 
16701
16709
  // src/modules-features/authenticate/Feat_Authenticate_SSOHandler.tsx
16702
16710
  import { useSearchParams } from "next/navigation.js";
16703
- import { useEffect as useEffect36, useState as useState29 } from "react";
16711
+ import { useEffect as useEffect37, useState as useState29 } from "react";
16704
16712
 
16705
16713
  // src/modules-features/authenticate/useAuthenticateManager.ts
16706
16714
  function useAuthenticateManager() {
@@ -16737,7 +16745,7 @@ function Feat_Authenticate_SSOHandler({
16737
16745
  const [messError, setMessError] = useState29("");
16738
16746
  const studentCode = searchParams.get("code");
16739
16747
  const token = searchParams.get("token");
16740
- useEffect36(() => {
16748
+ useEffect37(() => {
16741
16749
  localStorage.clear();
16742
16750
  if (config5.isLoading == true) return;
16743
16751
  if (studentCode && token) {
@@ -16783,12 +16791,12 @@ function Feat_Authenticate_SSOHandler({
16783
16791
 
16784
16792
  // src/modules-features/authenticate/F_authenticate_SplashPage.tsx
16785
16793
  import { useRouter as useRouter6 } from "next/navigation.js";
16786
- import { useEffect as useEffect37 } from "react";
16794
+ import { useEffect as useEffect38 } from "react";
16787
16795
  import { jsx as jsx208 } from "react/jsx-runtime";
16788
16796
  function F_authenticate_SplashPage() {
16789
16797
  const router = useRouter6();
16790
16798
  const authenticateStore = useStore_Authenticate();
16791
- useEffect37(() => {
16799
+ useEffect38(() => {
16792
16800
  if (authenticateStore.state.token == "") {
16793
16801
  router.push("/authenticate/login");
16794
16802
  return;
@@ -17172,7 +17180,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17172
17180
  return result;
17173
17181
  }, [filteredMenu]);
17174
17182
  useFavicon(faviconUrl);
17175
- useEffect38(() => {
17183
+ useEffect39(() => {
17176
17184
  if (!moduleData) return;
17177
17185
  const { code, name, faviconFileDetail, logoFileDetail } = moduleData;
17178
17186
  appShellStore.setProperty("moduleCode", code);
@@ -17185,12 +17193,12 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
17185
17193
  return () => URL.revokeObjectURL(url);
17186
17194
  }
17187
17195
  }, [moduleData]);
17188
- useEffect38(() => {
17196
+ useEffect39(() => {
17189
17197
  if (moduleData == null ? void 0 : moduleData.name) {
17190
17198
  document.title = moduleData.name;
17191
17199
  }
17192
17200
  }, [moduleData == null ? void 0 : moduleData.name]);
17193
- useEffect38(() => {
17201
+ useEffect39(() => {
17194
17202
  var _a, _b, _c, _d, _e, _f, _g;
17195
17203
  const currentItem = allChildItems.find((item) => cleanPath(pathname) == item.link);
17196
17204
  const currentPermission = (_a = permissionStore.state.permission) == null ? void 0 : _a.find((item) => item.pageId == (currentItem == null ? void 0 : currentItem.pageId));
@@ -17459,7 +17467,7 @@ import { Breadcrumbs, Center as Center13, Container as Container3, Divider as Di
17459
17467
  import { useClipboard, useDisclosure as useDisclosure20 } from "@mantine/hooks";
17460
17468
  import { notifications as notifications7 } from "@mantine/notifications";
17461
17469
  import { IconBrandParsinta } from "@tabler/icons-react";
17462
- import { useEffect as useEffect39, useState as useState31 } from "react";
17470
+ import { useEffect as useEffect40, useState as useState31 } from "react";
17463
17471
 
17464
17472
  // src/components/Layouts/PageContent/utils.ts
17465
17473
  function getFinalLinkVieo(url) {
@@ -17515,7 +17523,7 @@ function MyPageContent({
17515
17523
  });
17516
17524
  const videoDisc = useDisclosure20();
17517
17525
  const finalTitle = title || basicAppShellStore.state.title;
17518
- useEffect39(() => {
17526
+ useEffect40(() => {
17519
17527
  fileGuildDetailState[1](void 0);
17520
17528
  if (!query.data) return;
17521
17529
  fileGuildDetailState[1](query.data);
@@ -17747,7 +17755,7 @@ function MySkeletonTable({ h: h5 = 500 }) {
17747
17755
  import { jsx as jsx222 } from "react/jsx-runtime";
17748
17756
 
17749
17757
  // src/core/dataDisplay/MyDataTableSelectOne.tsx
17750
- import { useEffect as useEffect40, useMemo as useMemo33 } from "react";
17758
+ import { useEffect as useEffect41, useMemo as useMemo33 } from "react";
17751
17759
  import { jsx as jsx223 } from "react/jsx-runtime";
17752
17760
  function MyDataTableSelectOne({
17753
17761
  columns,
@@ -17756,7 +17764,7 @@ function MyDataTableSelectOne({
17756
17764
  setIdSelection
17757
17765
  }) {
17758
17766
  const columnsState = useMemo33(() => columns, []);
17759
- useEffect40(() => {
17767
+ useEffect41(() => {
17760
17768
  if (!queryResult.data) return;
17761
17769
  setIdSelection(queryResult.data[0].id);
17762
17770
  }, [queryResult.data]);
@@ -17787,7 +17795,7 @@ function MyDataTableSelectOne({
17787
17795
  // src/core/dataDisplay/MyDataTableStagedChanges.tsx
17788
17796
  import { Group as Group36, Stack as Stack13 } from "@mantine/core";
17789
17797
  import { useDisclosure as useDisclosure22 } from "@mantine/hooks";
17790
- import { useEffect as useEffect41, useState as useState33 } from "react";
17798
+ import { useEffect as useEffect42, useState as useState33 } from "react";
17791
17799
  import { jsx as jsx224, jsxs as jsxs128 } from "react/jsx-runtime";
17792
17800
  function MyDataTableStagedChanges(_a) {
17793
17801
  var _b = _a, {
@@ -17834,7 +17842,7 @@ function MyDataTableStagedChanges(_a) {
17834
17842
  const displayData = data.filter(
17835
17843
  (row) => currentIds.includes(row.id)
17836
17844
  );
17837
- useEffect41(() => {
17845
+ useEffect42(() => {
17838
17846
  if (disc[0]) {
17839
17847
  const initSelection = {};
17840
17848
  data.forEach((row) => {
@@ -18104,7 +18112,7 @@ import TextAlign2 from "@tiptap/extension-text-align";
18104
18112
  import Underline2 from "@tiptap/extension-underline";
18105
18113
  import { useEditor as useEditor2 } from "@tiptap/react";
18106
18114
  import StarterKit2 from "@tiptap/starter-kit";
18107
- import { useEffect as useEffect42 } from "react";
18115
+ import { useEffect as useEffect43 } from "react";
18108
18116
  import { jsx as jsx235, jsxs as jsxs133 } from "react/jsx-runtime";
18109
18117
  function isEditorContentEmpty(html) {
18110
18118
  var _a;
@@ -18135,7 +18143,7 @@ function MyRichTextEditor(props) {
18135
18143
  (_a = props.onBlur) == null ? void 0 : _a.call(props, isEditorContentEmpty(html) ? "" : html);
18136
18144
  }
18137
18145
  }, props.useEditorProps));
18138
- useEffect42(() => {
18146
+ useEffect43(() => {
18139
18147
  if (editor && props.value !== editor.getHTML()) {
18140
18148
  editor.commands.setContent(props.value || "", false);
18141
18149
  }
@@ -18243,7 +18251,7 @@ function MySelect2(_a) {
18243
18251
  }
18244
18252
 
18245
18253
  // src/core/input/MySelectFromAPI.tsx
18246
- import { useCallback, useEffect as useEffect43, useMemo as useMemo34, useRef as useRef4 } from "react";
18254
+ import { useCallback, useEffect as useEffect44, useMemo as useMemo34, useRef as useRef4 } from "react";
18247
18255
  import { jsx as jsx237 } from "react/jsx-runtime";
18248
18256
  function MySelectFromAPI(_a) {
18249
18257
  var _b = _a, {
@@ -18297,7 +18305,7 @@ function MySelectFromAPI(_a) {
18297
18305
  setObjectData(selected);
18298
18306
  }
18299
18307
  };
18300
- useEffect43(() => {
18308
+ useEffect44(() => {
18301
18309
  var _a2, _b2, _c;
18302
18310
  if (autoSelectFirstItem && !hasAutoSelected.current && ((_a2 = query.data) == null ? void 0 : _a2.length) && (value === void 0 || value === null || value === "")) {
18303
18311
  const firstItem = query.data[0];
@@ -18629,13 +18637,19 @@ function CustomDataTableAPI(_a) {
18629
18637
  deleteListFn,
18630
18638
  buttonCreateUpdateProps,
18631
18639
  reactQueryProps,
18632
- renderCreateUpdateContent
18640
+ renderCreateUpdateContent,
18641
+ getInitValues,
18642
+ enableCreate,
18643
+ enableUpdate
18633
18644
  } = _b, rest = __objRest(_b, [
18634
18645
  "deleteFn",
18635
18646
  "deleteListFn",
18636
18647
  "buttonCreateUpdateProps",
18637
18648
  "reactQueryProps",
18638
- "renderCreateUpdateContent"
18649
+ "renderCreateUpdateContent",
18650
+ "getInitValues",
18651
+ "enableCreate",
18652
+ "enableUpdate"
18639
18653
  ]);
18640
18654
  const query = useMyReactQuery(reactQueryProps);
18641
18655
  return /* @__PURE__ */ jsx247(
@@ -18648,8 +18662,8 @@ function CustomDataTableAPI(_a) {
18648
18662
  renderTopToolbarCustomActions: (props) => {
18649
18663
  var _a2;
18650
18664
  return /* @__PURE__ */ jsxs139(Group43, { children: [
18665
+ enableCreate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx247(MyButtonCreateUpdate, __spreadProps(__spreadValues({}, buttonCreateUpdateProps), { children: renderCreateUpdateContent ? renderCreateUpdateContent(false) : buttonCreateUpdateProps.children })),
18651
18666
  (_a2 = rest.renderTopToolbarCustomActions) == null ? void 0 : _a2.call(rest, props),
18652
- buttonCreateUpdateProps && /* @__PURE__ */ jsx247(MyButtonCreateUpdate, __spreadProps(__spreadValues({}, buttonCreateUpdateProps), { children: renderCreateUpdateContent ? renderCreateUpdateContent(false) : buttonCreateUpdateProps.children })),
18653
18667
  deleteListFn && /* @__PURE__ */ jsx247(CustomButtonDeleteListAPI, { deleteListFn, table: props.table })
18654
18668
  ] });
18655
18669
  },
@@ -18657,10 +18671,11 @@ function CustomDataTableAPI(_a) {
18657
18671
  var _a2;
18658
18672
  return /* @__PURE__ */ jsxs139(MyCenterFull, { children: [
18659
18673
  (_a2 = rest.renderRowActions) == null ? void 0 : _a2.call(rest, props),
18660
- buttonCreateUpdateProps && /* @__PURE__ */ jsx247(
18674
+ enableUpdate !== false && buttonCreateUpdateProps && /* @__PURE__ */ jsx247(
18661
18675
  MyButtonCreateUpdate,
18662
18676
  __spreadProps(__spreadValues({
18663
- isUpdate: true
18677
+ isUpdate: true,
18678
+ initValues: getInitValues ? getInitValues(props.row.original) : props.row.original
18664
18679
  }, buttonCreateUpdateProps), {
18665
18680
  children: renderCreateUpdateContent ? renderCreateUpdateContent(true) : buttonCreateUpdateProps.children
18666
18681
  })
@@ -397,6 +397,10 @@ interface IMyTextInput extends TextInputProps {
397
397
  defaultValue?: string;
398
398
  isPhoneNumber?: boolean;
399
399
  }
400
+ /**
401
+ * @deprecated Component này không xài nữa nha mấy ní
402
+ * Vui lòng dùng `MyTextInput` từ `core` thay thế.
403
+ */
400
404
  declare function MyTextInput({ label, defaultValue, isPhoneNumber, ...rest }: IMyTextInput): react_jsx_runtime.JSX.Element;
401
405
 
402
406
  declare function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, isDev }: BasicAppShellProps): react_jsx_runtime.JSX.Element;
@@ -69,16 +69,16 @@ import {
69
69
  useHeaderMegaMenuStore,
70
70
  useS_ButtonImport,
71
71
  useStore_BasicAppShell
72
- } from "../chunk-HEZUW3ZP.mjs";
73
- import "../chunk-Z76CSZFI.mjs";
74
- import "../chunk-WZ6PXGGC.mjs";
72
+ } from "../chunk-CCAB5RUC.mjs";
73
+ import "../chunk-WW55EZ4B.mjs";
75
74
  import "../chunk-7ZI7IOEP.mjs";
76
75
  import "../chunk-KGBXMHKR.mjs";
77
- import "../chunk-WW55EZ4B.mjs";
78
76
  import "../chunk-OHAOJE5F.mjs";
79
77
  import "../chunk-J4WTZ3B4.mjs";
80
78
  import "../chunk-NYAWQRB7.mjs";
81
79
  import "../chunk-BTITP4TN.mjs";
80
+ import "../chunk-Z76CSZFI.mjs";
81
+ import "../chunk-WZ6PXGGC.mjs";
82
82
  import "../chunk-JD6AELXS.mjs";
83
83
  export {
84
84
  AQButtonCreateByImportFile,
@@ -80,8 +80,9 @@ interface MyButtonCreateUpdateProps<IReq, IRes> {
80
80
  children?: ReactNode;
81
81
  toolTipProps?: Partial<Omit<TooltipProps, "children">>;
82
82
  useMyReactMutationProps?: Omit<MyReactMutationProps<Promise<AxiosResponse<MyApiResponse<IRes>, any>>, IRes>, "axiosFn">;
83
+ initValues?: IReq;
83
84
  }
84
- declare function MyButtonCreateUpdate<IReq, IRes>({ modalProps, actionIconProps, toolTipProps, buttonProps, submitButtonProps, form, onSubmit, onSuccess, onError, ignoreDefaultOnError, ignoreDefaultOnSuccess, closeModalWhenSubmit, resetFormWhenSubmit, children, disclosure: externalDisclosure, isUpdate, scrollAreaAutosizeProps, useMyReactMutationProps, }: MyButtonCreateUpdateProps<IReq, IRes>): react_jsx_runtime.JSX.Element;
85
+ declare function MyButtonCreateUpdate<IReq, IRes>({ modalProps, actionIconProps, toolTipProps, buttonProps, submitButtonProps, form, onSubmit, onSuccess, onError, ignoreDefaultOnError, ignoreDefaultOnSuccess, closeModalWhenSubmit, resetFormWhenSubmit, children, disclosure: externalDisclosure, isUpdate, scrollAreaAutosizeProps, useMyReactMutationProps, initValues }: MyButtonCreateUpdateProps<IReq, IRes>): react_jsx_runtime.JSX.Element;
85
86
 
86
87
  interface CustomThemeIconSquareCheckProps {
87
88
  checked?: boolean;
@@ -305,16 +306,19 @@ interface ValidationResult {
305
306
 
306
307
  interface CustomDataTableAPIProps<TData extends MRT_RowData, IReq, IRes> extends Omit<MyDataTableProps<TData>, "data"> {
307
308
  reactQueryProps: MyReactQueryProps<IRes, IReq, TData[]>;
308
- deleteFn?: (id: number) => Promise<AxiosResponse<MyApiResponse<IRes>>> | void;
309
- deleteListFn?: (ids: number[]) => Promise<AxiosResponse<any, any>>;
309
+ deleteFn?: (id: number) => void;
310
+ deleteListFn?: (ids: number[]) => void;
310
311
  buttonCreateUpdateProps?: MyButtonCreateUpdateProps<IReq, IRes>;
311
312
  renderCreateUpdateContent?: (isUpdate: boolean) => ReactNode;
313
+ getInitValues?: (rowData: TData) => IReq;
314
+ enableCreate?: boolean;
315
+ enableUpdate?: boolean;
312
316
  }
313
- declare function CustomDataTableAPI<TData extends MRT_RowData, IReq = any, IRes = TData[]>({ deleteFn, deleteListFn, buttonCreateUpdateProps, reactQueryProps, renderCreateUpdateContent, ...rest }: CustomDataTableAPIProps<TData, IReq, IRes>): react_jsx_runtime.JSX.Element;
317
+ declare function CustomDataTableAPI<TData extends MRT_RowData, IReq = TData, IRes = TData[]>({ deleteFn, deleteListFn, buttonCreateUpdateProps, reactQueryProps, renderCreateUpdateContent, getInitValues, enableCreate, enableUpdate, ...rest }: CustomDataTableAPIProps<TData, IReq, IRes>): react_jsx_runtime.JSX.Element;
314
318
 
315
319
  interface CustomDeleteListAPIProps<TData extends MRT_RowData> extends Omit<MyButtonDeleteListProps, "onSubmit"> {
316
320
  table: MRT_TableInstance<TData>;
317
- deleteListFn: (ids: number[]) => Promise<AxiosResponse<any, any>>;
321
+ deleteListFn: (ids: number[]) => void;
318
322
  }
319
323
  declare function CustomButtonDeleteListAPI<TData extends MRT_RowData>({ deleteListFn, table, ...rest }: CustomDeleteListAPIProps<TData>): react_jsx_runtime.JSX.Element;
320
324
 
@@ -34,16 +34,16 @@ import {
34
34
  MyStatsCard,
35
35
  MyTextInput2 as MyTextInput,
36
36
  MyWeeklySessionSchedulerPicker
37
- } from "../chunk-HEZUW3ZP.mjs";
38
- import "../chunk-Z76CSZFI.mjs";
39
- import "../chunk-WZ6PXGGC.mjs";
37
+ } from "../chunk-CCAB5RUC.mjs";
38
+ import "../chunk-WW55EZ4B.mjs";
40
39
  import "../chunk-7ZI7IOEP.mjs";
41
40
  import "../chunk-KGBXMHKR.mjs";
42
- import "../chunk-WW55EZ4B.mjs";
43
41
  import "../chunk-OHAOJE5F.mjs";
44
42
  import "../chunk-J4WTZ3B4.mjs";
45
43
  import "../chunk-NYAWQRB7.mjs";
46
44
  import "../chunk-BTITP4TN.mjs";
45
+ import "../chunk-Z76CSZFI.mjs";
46
+ import "../chunk-WZ6PXGGC.mjs";
47
47
  import "../chunk-JD6AELXS.mjs";
48
48
  export {
49
49
  CustomAutocomplete,
@@ -97,16 +97,16 @@ import {
97
97
  MailTemplateDeleteButton,
98
98
  useS_moduleConfig,
99
99
  useStore_Authenticate
100
- } from "../chunk-HEZUW3ZP.mjs";
101
- import "../chunk-Z76CSZFI.mjs";
102
- import "../chunk-WZ6PXGGC.mjs";
100
+ } from "../chunk-CCAB5RUC.mjs";
101
+ import "../chunk-WW55EZ4B.mjs";
103
102
  import "../chunk-7ZI7IOEP.mjs";
104
103
  import "../chunk-KGBXMHKR.mjs";
105
- import "../chunk-WW55EZ4B.mjs";
106
104
  import "../chunk-OHAOJE5F.mjs";
107
105
  import "../chunk-J4WTZ3B4.mjs";
108
106
  import "../chunk-NYAWQRB7.mjs";
109
107
  import "../chunk-BTITP4TN.mjs";
108
+ import "../chunk-Z76CSZFI.mjs";
109
+ import "../chunk-WZ6PXGGC.mjs";
110
110
  import "../chunk-JD6AELXS.mjs";
111
111
  export {
112
112
  AcademicYearsCreate,
@@ -1,14 +1,12 @@
1
1
  import "../chunk-NMY3UEY5.mjs";
2
2
  import {
3
3
  MySelect
4
- } from "../chunk-HEZUW3ZP.mjs";
5
- import "../chunk-Z76CSZFI.mjs";
6
- import "../chunk-WZ6PXGGC.mjs";
4
+ } from "../chunk-CCAB5RUC.mjs";
5
+ import "../chunk-WW55EZ4B.mjs";
7
6
  import {
8
7
  utils_converter
9
8
  } from "../chunk-7ZI7IOEP.mjs";
10
9
  import "../chunk-KGBXMHKR.mjs";
11
- import "../chunk-WW55EZ4B.mjs";
12
10
  import "../chunk-OHAOJE5F.mjs";
13
11
  import {
14
12
  enumLabel_gender,
@@ -16,6 +14,8 @@ import {
16
14
  } from "../chunk-J4WTZ3B4.mjs";
17
15
  import "../chunk-NYAWQRB7.mjs";
18
16
  import "../chunk-BTITP4TN.mjs";
17
+ import "../chunk-Z76CSZFI.mjs";
18
+ import "../chunk-WZ6PXGGC.mjs";
19
19
  import {
20
20
  __objRest,
21
21
  __spreadValues
package/package.json CHANGED
@@ -58,7 +58,7 @@
58
58
  "types": "./dist/zod-schemas/index.d.mts"
59
59
  }
60
60
  },
61
- "version": "0.1.1071",
61
+ "version": "0.1.1073",
62
62
  "private": false,
63
63
  "files": [
64
64
  "dist"