aq-fe-framework 0.1.709 → 0.1.712
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.
|
@@ -17,6 +17,10 @@ import {
|
|
|
17
17
|
utils_mantineReactTable_sortColumnsByKeyOrder,
|
|
18
18
|
utils_pdf_download
|
|
19
19
|
} from "./chunk-2B2FKBKX.mjs";
|
|
20
|
+
import {
|
|
21
|
+
const_object_colors,
|
|
22
|
+
const_object_documentTypes
|
|
23
|
+
} from "./chunk-IUTUR43V.mjs";
|
|
20
24
|
import {
|
|
21
25
|
baseColumns
|
|
22
26
|
} from "./chunk-7PUDC2WF.mjs";
|
|
@@ -24,10 +28,6 @@ import {
|
|
|
24
28
|
U0DateToDDMMYYYString,
|
|
25
29
|
utils_date_dateToDDMMYYYString
|
|
26
30
|
} from "./chunk-EWDS5IOF.mjs";
|
|
27
|
-
import {
|
|
28
|
-
const_object_colors,
|
|
29
|
-
const_object_documentTypes
|
|
30
|
-
} from "./chunk-IUTUR43V.mjs";
|
|
31
31
|
import {
|
|
32
32
|
enum_daysOfWeek
|
|
33
33
|
} from "./chunk-K6S7R6LU.mjs";
|
|
@@ -664,6 +664,7 @@ function MyDataTable(_a) {
|
|
|
664
664
|
const table = useMantineReactTable(__spreadProps(__spreadValues({
|
|
665
665
|
columns: finalColumns,
|
|
666
666
|
data: data2,
|
|
667
|
+
enableGlobalFilter: false,
|
|
667
668
|
manualPagination: pagination ? true : false,
|
|
668
669
|
enableRowNumbers: true,
|
|
669
670
|
enableEditing: renderRowActions ? true : false,
|
|
@@ -8450,7 +8451,7 @@ import {
|
|
|
8450
8451
|
IconLibraryMinus
|
|
8451
8452
|
} from "@tabler/icons-react";
|
|
8452
8453
|
import { usePathname as usePathname3 } from "next/navigation";
|
|
8453
|
-
import { useEffect as
|
|
8454
|
+
import { useEffect as useEffect35, useMemo as useMemo41, useState as useState28 } from "react";
|
|
8454
8455
|
|
|
8455
8456
|
// src/components/Layouts/BasicAppShell/RenderNavLinks.tsx
|
|
8456
8457
|
import { Badge as Badge4, NavLink } from "@mantine/core";
|
|
@@ -9554,9 +9555,14 @@ var apiData_Account = __spreadProps(__spreadValues({}, createBaseApi(CONTROLLER5
|
|
|
9554
9555
|
getCoeAccountById: (id) => {
|
|
9555
9556
|
return baseAxios_default.post(CONTROLLER5 + `/getCOEAccount`, { userId: id });
|
|
9556
9557
|
},
|
|
9557
|
-
getAdminAccount: (
|
|
9558
|
+
getAdminAccount: (params) => {
|
|
9559
|
+
var _a, _b;
|
|
9558
9560
|
return baseAxios_default.get(CONTROLLER5 + `/GetAdminAccount`, {
|
|
9559
|
-
params:
|
|
9561
|
+
params: {
|
|
9562
|
+
pageSize: (_a = params.paging) == null ? void 0 : _a.pageSize,
|
|
9563
|
+
pageNumber: (_b = params.paging) == null ? void 0 : _b.pageNumber,
|
|
9564
|
+
name: params.name
|
|
9565
|
+
}
|
|
9560
9566
|
});
|
|
9561
9567
|
}
|
|
9562
9568
|
});
|
|
@@ -9573,7 +9579,7 @@ var service_department = __spreadProps(__spreadValues({}, createBaseApi(CONTROLL
|
|
|
9573
9579
|
|
|
9574
9580
|
// src/modules/User/adapter/Adapter_UserCreateUpdate.tsx
|
|
9575
9581
|
import { PasswordInput, SimpleGrid as SimpleGrid3, Textarea as Textarea2 } from "@mantine/core";
|
|
9576
|
-
import {
|
|
9582
|
+
import { useForm as useForm3 } from "@mantine/form";
|
|
9577
9583
|
import { useEffect as useEffect19 } from "react";
|
|
9578
9584
|
import { jsx as jsx91, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
9579
9585
|
function Adapter_UserCreateUpdate({ values }) {
|
|
@@ -9581,14 +9587,10 @@ function Adapter_UserCreateUpdate({ values }) {
|
|
|
9581
9587
|
const form = useForm3({
|
|
9582
9588
|
mode: "uncontrolled",
|
|
9583
9589
|
validate: {
|
|
9584
|
-
userName:
|
|
9590
|
+
userName: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
|
|
9585
9591
|
password: (value) => {
|
|
9586
9592
|
if (!value) return "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng!";
|
|
9587
9593
|
if (value.length < 8) return "M\u1EADt kh\u1EA9u ph\u1EA3i c\xF3 \xEDt nh\u1EA5t 8 k\xFD t\u1EF1";
|
|
9588
|
-
if (!/[A-Z]/.test(value)) return "M\u1EADt kh\u1EA9u ph\u1EA3i ch\u1EE9a \xEDt nh\u1EA5t 1 ch\u1EEF hoa";
|
|
9589
|
-
if (!/[a-z]/.test(value)) return "M\u1EADt kh\u1EA9u ph\u1EA3i ch\u1EE9a \xEDt nh\u1EA5t 1 ch\u1EEF th\u01B0\u1EDDng";
|
|
9590
|
-
if (!/[0-9]/.test(value)) return "M\u1EADt kh\u1EA9u ph\u1EA3i ch\u1EE9a \xEDt nh\u1EA5t 1 s\u1ED1";
|
|
9591
|
-
if (!/[!@#$%^&*(),.?\":{}|<>]/.test(value)) return "M\u1EADt kh\u1EA9u ph\u1EA3i ch\u1EE9a \xEDt nh\u1EA5t 1 k\xFD t\u1EF1 \u0111\u1EB7c bi\u1EC7t";
|
|
9592
9594
|
return null;
|
|
9593
9595
|
},
|
|
9594
9596
|
// confirmPassword: (value, values) => {
|
|
@@ -9596,7 +9598,7 @@ function Adapter_UserCreateUpdate({ values }) {
|
|
|
9596
9598
|
// if (value !== values.password) return "Mật khẩu xác nhận không khớp";
|
|
9597
9599
|
// return null;
|
|
9598
9600
|
// },
|
|
9599
|
-
fullName:
|
|
9601
|
+
fullName: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
|
|
9600
9602
|
email: (value) => U0MyValidateEmail(value)
|
|
9601
9603
|
}
|
|
9602
9604
|
});
|
|
@@ -9725,133 +9727,16 @@ function Adapter_UserSyncFormEdusoftnet() {
|
|
|
9725
9727
|
}
|
|
9726
9728
|
|
|
9727
9729
|
// src/modules-features/admin/core/accountManagement/F_accountManagement_Read.tsx
|
|
9728
|
-
import { Badge as Badge5,
|
|
9729
|
-
import {
|
|
9730
|
-
import {
|
|
9731
|
-
|
|
9732
|
-
// src/modules-features/admin/core/accountManagement/F_accountManagement_ChangePermission.tsx
|
|
9733
|
-
import { Button as Button18, Fieldset as Fieldset5, Group as Group24, Table as Table4 } from "@mantine/core";
|
|
9734
|
-
import { useDisclosure as useDisclosure15 } from "@mantine/hooks";
|
|
9735
|
-
import { useMutation as useMutation3, useQuery as useQuery3, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
|
|
9730
|
+
import { Badge as Badge5, Group as Group24, TextInput as TextInput4 } from "@mantine/core";
|
|
9731
|
+
import { useDebouncedValue } from "@mantine/hooks";
|
|
9732
|
+
import { IconSearch as IconSearch3 } from "@tabler/icons-react";
|
|
9736
9733
|
import { useEffect as useEffect20, useMemo as useMemo9, useState as useState16 } from "react";
|
|
9737
|
-
import { jsx as jsx95, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
9738
|
-
function F_accountManagement_ChangePermission({ user }) {
|
|
9739
|
-
const disc = useDisclosure15();
|
|
9740
|
-
const queryClient = useQueryClient3();
|
|
9741
|
-
const [rowSelection, setRowSelection] = useState16({});
|
|
9742
|
-
const rowSelect = useState16();
|
|
9743
|
-
const query = useQuery3({
|
|
9744
|
-
queryKey: [`F1_1ChangePermission`],
|
|
9745
|
-
queryFn: async () => {
|
|
9746
|
-
const response = await baseAxios_default.get("/Role/GetAdminRole");
|
|
9747
|
-
if (process.env.NEXT_PUBLIC_APP_PROTOTYPE == "1") return mockData;
|
|
9748
|
-
return response.data.data;
|
|
9749
|
-
}
|
|
9750
|
-
});
|
|
9751
|
-
const mutation = useMutation3({
|
|
9752
|
-
mutationFn: async (roleIds) => {
|
|
9753
|
-
const res = await baseAxios_default.post("/Role/AddUser?userId=" + (user == null ? void 0 : user.id), roleIds);
|
|
9754
|
-
return res;
|
|
9755
|
-
}
|
|
9756
|
-
});
|
|
9757
|
-
const permissionColumns = useMemo9(
|
|
9758
|
-
() => [
|
|
9759
|
-
{
|
|
9760
|
-
header: "Quy\u1EC1n",
|
|
9761
|
-
accessorKey: "name"
|
|
9762
|
-
}
|
|
9763
|
-
],
|
|
9764
|
-
[]
|
|
9765
|
-
);
|
|
9766
|
-
function handleSave() {
|
|
9767
|
-
if (process.env.NEXT_PUBLIC_APP_PROTOTYPE == "1") {
|
|
9768
|
-
utils_notification_show({ crudType: "update" });
|
|
9769
|
-
disc[1].close();
|
|
9770
|
-
return;
|
|
9771
|
-
}
|
|
9772
|
-
mutation.mutate(Object.keys(rowSelection).map(Number), {
|
|
9773
|
-
onSuccess: () => {
|
|
9774
|
-
utils_notification_show({ crudType: "update" });
|
|
9775
|
-
disc[1].close();
|
|
9776
|
-
queryClient.invalidateQueries();
|
|
9777
|
-
}
|
|
9778
|
-
});
|
|
9779
|
-
}
|
|
9780
|
-
useEffect20(() => {
|
|
9781
|
-
var _a;
|
|
9782
|
-
if ((user == null ? void 0 : user.roles) == void 0) return;
|
|
9783
|
-
const result = (_a = user == null ? void 0 : user.roles) == null ? void 0 : _a.reduce((acc, item) => {
|
|
9784
|
-
if (item.id !== void 0) {
|
|
9785
|
-
acc[item.id] = true;
|
|
9786
|
-
}
|
|
9787
|
-
return acc;
|
|
9788
|
-
}, {});
|
|
9789
|
-
setRowSelection(result);
|
|
9790
|
-
}, []);
|
|
9791
|
-
return /* @__PURE__ */ jsxs49(MyButtonModal2, { modalSize: "xl", disclosure: disc, title: "Ch\u1ECDn quy\u1EC1n cho ng\u01B0\u1EDDi d\xF9ng", label: "S\u1EEDa quy\u1EC1n", children: [
|
|
9792
|
-
/* @__PURE__ */ jsx95(
|
|
9793
|
-
Table4,
|
|
9794
|
-
{
|
|
9795
|
-
w: "100%",
|
|
9796
|
-
variant: "vertical",
|
|
9797
|
-
layout: "fixed",
|
|
9798
|
-
children: /* @__PURE__ */ jsxs49(Table4.Tbody, { children: [
|
|
9799
|
-
/* @__PURE__ */ jsxs49(Table4.Tr, { children: [
|
|
9800
|
-
/* @__PURE__ */ jsx95(Table4.Th, { w: 160, children: "H\u1ECD v\xE0 t\xEAn:" }),
|
|
9801
|
-
/* @__PURE__ */ jsx95(Table4.Td, { children: user == null ? void 0 : user.fullName })
|
|
9802
|
-
] }),
|
|
9803
|
-
/* @__PURE__ */ jsxs49(Table4.Tr, { children: [
|
|
9804
|
-
/* @__PURE__ */ jsx95(Table4.Th, { children: "T\xEAn \u0111\u0103ng nh\u1EADp:" }),
|
|
9805
|
-
/* @__PURE__ */ jsx95(Table4.Td, { children: user == null ? void 0 : user.userName })
|
|
9806
|
-
] }),
|
|
9807
|
-
/* @__PURE__ */ jsxs49(Table4.Tr, { children: [
|
|
9808
|
-
/* @__PURE__ */ jsx95(Table4.Th, { children: "Email:" }),
|
|
9809
|
-
/* @__PURE__ */ jsx95(Table4.Td, { children: user == null ? void 0 : user.email })
|
|
9810
|
-
] })
|
|
9811
|
-
] })
|
|
9812
|
-
}
|
|
9813
|
-
),
|
|
9814
|
-
query.isLoading && "\u0110ang t\u1EA3i d\u1EEF li\u1EC7u...",
|
|
9815
|
-
query.isError && "L\u1ED7i khi t\u1EA3i d\u1EEF li\u1EC7u...",
|
|
9816
|
-
/* @__PURE__ */ jsx95(Fieldset5, { legend: "Ch\u1ECDn quy\u1EC1n", children: /* @__PURE__ */ jsx95(
|
|
9817
|
-
MyDataTable,
|
|
9818
|
-
{
|
|
9819
|
-
enableRowSelection: true,
|
|
9820
|
-
onRowSelectionChange: setRowSelection,
|
|
9821
|
-
state: { rowSelection },
|
|
9822
|
-
setSelectedRow: rowSelect[1],
|
|
9823
|
-
getRowId: (originalRow) => {
|
|
9824
|
-
var _a;
|
|
9825
|
-
return (_a = originalRow.id) == null ? void 0 : _a.toString();
|
|
9826
|
-
},
|
|
9827
|
-
initialState: {
|
|
9828
|
-
density: "xs",
|
|
9829
|
-
pagination: { pageIndex: 0, pageSize: 10 },
|
|
9830
|
-
columnPinning: { right: ["mrt-row-actions"] },
|
|
9831
|
-
columnVisibility: {
|
|
9832
|
-
nguoiCapNhat: false,
|
|
9833
|
-
ngayCapNhat: false
|
|
9834
|
-
}
|
|
9835
|
-
},
|
|
9836
|
-
columns: permissionColumns,
|
|
9837
|
-
data: query.data || []
|
|
9838
|
-
}
|
|
9839
|
-
) }),
|
|
9840
|
-
/* @__PURE__ */ jsx95(Group24, { justify: "flex-end", mt: 24, children: /* @__PURE__ */ jsx95(Button18, { onClick: handleSave, children: "L\u01B0u" }) })
|
|
9841
|
-
] });
|
|
9842
|
-
}
|
|
9843
|
-
var mockData = [
|
|
9844
|
-
{ id: 1, code: "GV", name: "Gi\u1EA3ng vi\xEAn" },
|
|
9845
|
-
{ id: 2, code: "STU", name: "Student" },
|
|
9846
|
-
{ id: 3, code: "FACU", name: "Faculty" },
|
|
9847
|
-
{ id: 4, code: "ADMIN", name: "Admin" }
|
|
9848
|
-
];
|
|
9849
9734
|
|
|
9850
9735
|
// src/modules-features/admin/core/accountManagement/F_accountManagement_Delete.tsx
|
|
9851
|
-
import { jsx as
|
|
9736
|
+
import { jsx as jsx95 } from "react/jsx-runtime";
|
|
9852
9737
|
var ENDPOINT = "/Account/delete";
|
|
9853
9738
|
function F_accountManagement_Delete({ id, code }) {
|
|
9854
|
-
return /* @__PURE__ */
|
|
9739
|
+
return /* @__PURE__ */ jsx95(
|
|
9855
9740
|
MyActionIconDelete,
|
|
9856
9741
|
{
|
|
9857
9742
|
contextData: code,
|
|
@@ -9872,23 +9757,29 @@ function useS_accountManagement() {
|
|
|
9872
9757
|
}
|
|
9873
9758
|
|
|
9874
9759
|
// src/modules-features/admin/core/accountManagement/F_accountManagement_Read.tsx
|
|
9875
|
-
import { jsx as
|
|
9760
|
+
import { jsx as jsx96, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
9876
9761
|
function F_accountManagement_Read() {
|
|
9877
9762
|
var _a;
|
|
9878
|
-
const paginationState =
|
|
9763
|
+
const paginationState = useState16({ pageIndex: 0, pageSize: 10 });
|
|
9879
9764
|
const router = useMyRouter();
|
|
9765
|
+
const [searchInput, setSearchInput] = useState16("");
|
|
9766
|
+
const [debouncedSearch] = useDebouncedValue(searchInput, 500);
|
|
9880
9767
|
const store = useS_accountManagement();
|
|
9768
|
+
const [globalFilter, setGlobalFilter] = useState16("");
|
|
9881
9769
|
const AllUserQuery = useMyReactQuery({
|
|
9882
|
-
queryKey: ["AllUserQuery", paginationState[0].pageIndex + 1, paginationState[0].pageSize],
|
|
9770
|
+
queryKey: ["AllUserQuery", paginationState[0].pageIndex + 1, paginationState[0].pageSize, globalFilter],
|
|
9883
9771
|
axiosFn: () => {
|
|
9884
9772
|
return apiData_Account.getAdminAccount({
|
|
9885
|
-
|
|
9886
|
-
|
|
9773
|
+
paging: {
|
|
9774
|
+
pageNumber: paginationState[0].pageIndex + 1,
|
|
9775
|
+
pageSize: paginationState[0].pageSize
|
|
9776
|
+
},
|
|
9777
|
+
name: globalFilter || void 0
|
|
9887
9778
|
});
|
|
9888
9779
|
},
|
|
9889
9780
|
mockData: mockUserData
|
|
9890
9781
|
});
|
|
9891
|
-
const columns =
|
|
9782
|
+
const columns = useMemo9(() => {
|
|
9892
9783
|
var _a2;
|
|
9893
9784
|
const baseColumns2 = [
|
|
9894
9785
|
{
|
|
@@ -9916,13 +9807,13 @@ function F_accountManagement_Read() {
|
|
|
9916
9807
|
accessorKey: "isBlocked",
|
|
9917
9808
|
accessorFn: (row) => row.isBlocked ? "Ch\u01B0a k\xEDch ho\u1EA1t" : "\u0110ang ho\u1EA1t \u0111\u1ED9ng",
|
|
9918
9809
|
Cell: ({ row }) => {
|
|
9919
|
-
return row.original.isBlocked ? /* @__PURE__ */
|
|
9810
|
+
return row.original.isBlocked ? /* @__PURE__ */ jsx96(Badge5, { color: "gray", children: "Ch\u01B0a k\xEDch ho\u1EA1t" }) : /* @__PURE__ */ jsx96(Badge5, { color: "green", children: "\u0110ang ho\u1EA1t \u0111\u1ED9ng" });
|
|
9920
9811
|
}
|
|
9921
|
-
},
|
|
9922
|
-
{
|
|
9923
|
-
header: "Quy\u1EC1n",
|
|
9924
|
-
accessorFn: (row) => /* @__PURE__ */ jsx97(F_accountManagement_ChangePermission, { user: row })
|
|
9925
9812
|
}
|
|
9813
|
+
// {
|
|
9814
|
+
// header: "Quyền",
|
|
9815
|
+
// accessorFn: (row) => <F_accountManagement_ChangePermission user={row} />
|
|
9816
|
+
// },
|
|
9926
9817
|
];
|
|
9927
9818
|
if (((_a2 = store.state) == null ? void 0 : _a2.isRequireSkillCenter) === true) {
|
|
9928
9819
|
baseColumns2.splice(3, 0, {
|
|
@@ -9935,10 +9826,15 @@ function F_accountManagement_Read() {
|
|
|
9935
9826
|
}
|
|
9936
9827
|
return baseColumns2;
|
|
9937
9828
|
}, [(_a = store.state) == null ? void 0 : _a.isRequireSkillCenter]);
|
|
9938
|
-
|
|
9829
|
+
useEffect20(() => {
|
|
9830
|
+
setGlobalFilter(debouncedSearch);
|
|
9831
|
+
paginationState[1]({ pageIndex: 0, pageSize: paginationState[0].pageSize });
|
|
9832
|
+
}, [debouncedSearch]);
|
|
9833
|
+
return /* @__PURE__ */ jsx96(
|
|
9939
9834
|
MyDataTable,
|
|
9940
9835
|
{
|
|
9941
9836
|
enableRowSelection: true,
|
|
9837
|
+
enableFilters: false,
|
|
9942
9838
|
isLoading: AllUserQuery.isLoading,
|
|
9943
9839
|
isError: AllUserQuery.isError,
|
|
9944
9840
|
rowCount: AllUserQuery.dataCount,
|
|
@@ -9947,28 +9843,27 @@ function F_accountManagement_Read() {
|
|
|
9947
9843
|
columns,
|
|
9948
9844
|
data: AllUserQuery.data || [],
|
|
9949
9845
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
9950
|
-
return /* @__PURE__ */
|
|
9951
|
-
/* @__PURE__ */
|
|
9952
|
-
|
|
9953
|
-
Button19,
|
|
9846
|
+
return /* @__PURE__ */ jsxs49(Group24, { children: [
|
|
9847
|
+
/* @__PURE__ */ jsx96(
|
|
9848
|
+
TextInput4,
|
|
9954
9849
|
{
|
|
9955
|
-
|
|
9956
|
-
|
|
9957
|
-
|
|
9958
|
-
|
|
9959
|
-
|
|
9960
|
-
children: "Danh m\u1EE5c quy\u1EC1n"
|
|
9850
|
+
w: "250",
|
|
9851
|
+
placeholder: "T\xECm theo t\xE0i kho\u1EA3n ho\u1EB7c h\u1ECD t\xEAn...",
|
|
9852
|
+
leftSection: /* @__PURE__ */ jsx96(IconSearch3, { size: 16 }),
|
|
9853
|
+
value: searchInput,
|
|
9854
|
+
onChange: (e4) => setSearchInput(e4.currentTarget.value)
|
|
9961
9855
|
}
|
|
9962
9856
|
),
|
|
9963
|
-
/* @__PURE__ */
|
|
9964
|
-
/* @__PURE__ */
|
|
9965
|
-
/* @__PURE__ */
|
|
9857
|
+
/* @__PURE__ */ jsx96(Adapter_UserCreateUpdate, {}),
|
|
9858
|
+
/* @__PURE__ */ jsx96(ExportUsers, { data: table.getSelectedRowModel().flatRows.map((item) => item.original) }),
|
|
9859
|
+
/* @__PURE__ */ jsx96(Adapter_UserDeleteList, { values: table.getSelectedRowModel().flatRows.flatMap((item) => item.original) }),
|
|
9860
|
+
/* @__PURE__ */ jsx96(Adapter_UserSyncFormEdusoftnet, {})
|
|
9966
9861
|
] });
|
|
9967
9862
|
},
|
|
9968
9863
|
renderRowActions: ({ row }) => {
|
|
9969
|
-
return /* @__PURE__ */
|
|
9970
|
-
/* @__PURE__ */
|
|
9971
|
-
/* @__PURE__ */
|
|
9864
|
+
return /* @__PURE__ */ jsxs49(MyCenterFull, { children: [
|
|
9865
|
+
/* @__PURE__ */ jsx96(Adapter_UserCreateUpdate, { values: row.original }),
|
|
9866
|
+
/* @__PURE__ */ jsx96(F_accountManagement_Delete, { id: row.original.id, code: row.original.code })
|
|
9972
9867
|
] });
|
|
9973
9868
|
}
|
|
9974
9869
|
}
|
|
@@ -10003,15 +9898,133 @@ var mockUserData = [
|
|
|
10003
9898
|
];
|
|
10004
9899
|
|
|
10005
9900
|
// src/modules-features/admin/core/accountManagement/F_accountManagement.tsx
|
|
10006
|
-
import { jsx as
|
|
9901
|
+
import { jsx as jsx97 } from "react/jsx-runtime";
|
|
10007
9902
|
function F_accountManagement({ isRequireSkillCenter = false }) {
|
|
10008
9903
|
const store = useS_accountManagement();
|
|
10009
9904
|
useEffect21(() => {
|
|
10010
9905
|
store.setProperty("isRequireSkillCenter", isRequireSkillCenter);
|
|
10011
9906
|
}, []);
|
|
10012
|
-
return /* @__PURE__ */
|
|
9907
|
+
return /* @__PURE__ */ jsx97(F_accountManagement_Read, {});
|
|
10013
9908
|
}
|
|
10014
9909
|
|
|
9910
|
+
// src/modules-features/admin/core/accountManagement/F_accountManagement_ChangePermission.tsx
|
|
9911
|
+
import { Button as Button18, Fieldset as Fieldset5, Group as Group25, Table as Table4 } from "@mantine/core";
|
|
9912
|
+
import { useDisclosure as useDisclosure15 } from "@mantine/hooks";
|
|
9913
|
+
import { useMutation as useMutation3, useQuery as useQuery3, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
|
|
9914
|
+
import { useEffect as useEffect22, useMemo as useMemo10, useState as useState17 } from "react";
|
|
9915
|
+
import { jsx as jsx98, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
9916
|
+
function F_accountManagement_ChangePermission({ user }) {
|
|
9917
|
+
const disc = useDisclosure15();
|
|
9918
|
+
const queryClient = useQueryClient3();
|
|
9919
|
+
const [rowSelection, setRowSelection] = useState17({});
|
|
9920
|
+
const rowSelect = useState17();
|
|
9921
|
+
const query = useQuery3({
|
|
9922
|
+
queryKey: [`F1_1ChangePermission`],
|
|
9923
|
+
queryFn: async () => {
|
|
9924
|
+
const response = await baseAxios_default.get("/Role/GetAdminRole");
|
|
9925
|
+
if (process.env.NEXT_PUBLIC_APP_PROTOTYPE == "1") return mockData;
|
|
9926
|
+
return response.data.data;
|
|
9927
|
+
}
|
|
9928
|
+
});
|
|
9929
|
+
const mutation = useMutation3({
|
|
9930
|
+
mutationFn: async (roleIds) => {
|
|
9931
|
+
const res = await baseAxios_default.post("/Role/AddUser?userId=" + (user == null ? void 0 : user.id), roleIds);
|
|
9932
|
+
return res;
|
|
9933
|
+
}
|
|
9934
|
+
});
|
|
9935
|
+
const permissionColumns = useMemo10(
|
|
9936
|
+
() => [
|
|
9937
|
+
{
|
|
9938
|
+
header: "Quy\u1EC1n",
|
|
9939
|
+
accessorKey: "name"
|
|
9940
|
+
}
|
|
9941
|
+
],
|
|
9942
|
+
[]
|
|
9943
|
+
);
|
|
9944
|
+
function handleSave() {
|
|
9945
|
+
if (process.env.NEXT_PUBLIC_APP_PROTOTYPE == "1") {
|
|
9946
|
+
utils_notification_show({ crudType: "update" });
|
|
9947
|
+
disc[1].close();
|
|
9948
|
+
return;
|
|
9949
|
+
}
|
|
9950
|
+
mutation.mutate(Object.keys(rowSelection).map(Number), {
|
|
9951
|
+
onSuccess: () => {
|
|
9952
|
+
utils_notification_show({ crudType: "update" });
|
|
9953
|
+
disc[1].close();
|
|
9954
|
+
queryClient.invalidateQueries();
|
|
9955
|
+
}
|
|
9956
|
+
});
|
|
9957
|
+
}
|
|
9958
|
+
useEffect22(() => {
|
|
9959
|
+
var _a;
|
|
9960
|
+
if ((user == null ? void 0 : user.roles) == void 0) return;
|
|
9961
|
+
const result = (_a = user == null ? void 0 : user.roles) == null ? void 0 : _a.reduce((acc, item) => {
|
|
9962
|
+
if (item.id !== void 0) {
|
|
9963
|
+
acc[item.id] = true;
|
|
9964
|
+
}
|
|
9965
|
+
return acc;
|
|
9966
|
+
}, {});
|
|
9967
|
+
setRowSelection(result);
|
|
9968
|
+
}, []);
|
|
9969
|
+
return /* @__PURE__ */ jsxs50(MyButtonModal2, { modalSize: "xl", disclosure: disc, title: "Ch\u1ECDn quy\u1EC1n cho ng\u01B0\u1EDDi d\xF9ng", label: "S\u1EEDa quy\u1EC1n", children: [
|
|
9970
|
+
/* @__PURE__ */ jsx98(
|
|
9971
|
+
Table4,
|
|
9972
|
+
{
|
|
9973
|
+
w: "100%",
|
|
9974
|
+
variant: "vertical",
|
|
9975
|
+
layout: "fixed",
|
|
9976
|
+
children: /* @__PURE__ */ jsxs50(Table4.Tbody, { children: [
|
|
9977
|
+
/* @__PURE__ */ jsxs50(Table4.Tr, { children: [
|
|
9978
|
+
/* @__PURE__ */ jsx98(Table4.Th, { w: 160, children: "H\u1ECD v\xE0 t\xEAn:" }),
|
|
9979
|
+
/* @__PURE__ */ jsx98(Table4.Td, { children: user == null ? void 0 : user.fullName })
|
|
9980
|
+
] }),
|
|
9981
|
+
/* @__PURE__ */ jsxs50(Table4.Tr, { children: [
|
|
9982
|
+
/* @__PURE__ */ jsx98(Table4.Th, { children: "T\xEAn \u0111\u0103ng nh\u1EADp:" }),
|
|
9983
|
+
/* @__PURE__ */ jsx98(Table4.Td, { children: user == null ? void 0 : user.userName })
|
|
9984
|
+
] }),
|
|
9985
|
+
/* @__PURE__ */ jsxs50(Table4.Tr, { children: [
|
|
9986
|
+
/* @__PURE__ */ jsx98(Table4.Th, { children: "Email:" }),
|
|
9987
|
+
/* @__PURE__ */ jsx98(Table4.Td, { children: user == null ? void 0 : user.email })
|
|
9988
|
+
] })
|
|
9989
|
+
] })
|
|
9990
|
+
}
|
|
9991
|
+
),
|
|
9992
|
+
query.isLoading && "\u0110ang t\u1EA3i d\u1EEF li\u1EC7u...",
|
|
9993
|
+
query.isError && "L\u1ED7i khi t\u1EA3i d\u1EEF li\u1EC7u...",
|
|
9994
|
+
/* @__PURE__ */ jsx98(Fieldset5, { legend: "Ch\u1ECDn quy\u1EC1n", children: /* @__PURE__ */ jsx98(
|
|
9995
|
+
MyDataTable,
|
|
9996
|
+
{
|
|
9997
|
+
enableRowSelection: true,
|
|
9998
|
+
onRowSelectionChange: setRowSelection,
|
|
9999
|
+
state: { rowSelection },
|
|
10000
|
+
setSelectedRow: rowSelect[1],
|
|
10001
|
+
getRowId: (originalRow) => {
|
|
10002
|
+
var _a;
|
|
10003
|
+
return (_a = originalRow.id) == null ? void 0 : _a.toString();
|
|
10004
|
+
},
|
|
10005
|
+
initialState: {
|
|
10006
|
+
density: "xs",
|
|
10007
|
+
pagination: { pageIndex: 0, pageSize: 10 },
|
|
10008
|
+
columnPinning: { right: ["mrt-row-actions"] },
|
|
10009
|
+
columnVisibility: {
|
|
10010
|
+
nguoiCapNhat: false,
|
|
10011
|
+
ngayCapNhat: false
|
|
10012
|
+
}
|
|
10013
|
+
},
|
|
10014
|
+
columns: permissionColumns,
|
|
10015
|
+
data: query.data || []
|
|
10016
|
+
}
|
|
10017
|
+
) }),
|
|
10018
|
+
/* @__PURE__ */ jsx98(Group25, { justify: "flex-end", mt: 24, children: /* @__PURE__ */ jsx98(Button18, { onClick: handleSave, children: "L\u01B0u" }) })
|
|
10019
|
+
] });
|
|
10020
|
+
}
|
|
10021
|
+
var mockData = [
|
|
10022
|
+
{ id: 1, code: "GV", name: "Gi\u1EA3ng vi\xEAn" },
|
|
10023
|
+
{ id: 2, code: "STU", name: "Student" },
|
|
10024
|
+
{ id: 3, code: "FACU", name: "Faculty" },
|
|
10025
|
+
{ id: 4, code: "ADMIN", name: "Admin" }
|
|
10026
|
+
];
|
|
10027
|
+
|
|
10015
10028
|
// src/modules-features/admin/core/accountManagement/F_accountManagement_Create.tsx
|
|
10016
10029
|
import { MultiSelect, PasswordInput as PasswordInput2 } from "@mantine/core";
|
|
10017
10030
|
import { useForm as useForm4 } from "@mantine/form";
|
|
@@ -10199,7 +10212,7 @@ import { useMemo as useMemo12, useState as useState19 } from "react";
|
|
|
10199
10212
|
// src/modules-features/admin/core/CodeFormula/CodeFormulaUpdate.tsx
|
|
10200
10213
|
import { Select as Select5 } from "@mantine/core";
|
|
10201
10214
|
import { useForm as useForm7 } from "@mantine/form";
|
|
10202
|
-
import { useEffect as
|
|
10215
|
+
import { useEffect as useEffect23 } from "react";
|
|
10203
10216
|
import { jsx as jsx107, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
10204
10217
|
|
|
10205
10218
|
// src/modules-features/admin/core/CodeFormula/CodeFormulaRead.tsx
|
|
@@ -12093,7 +12106,7 @@ function F_core76318_Delete({
|
|
|
12093
12106
|
}
|
|
12094
12107
|
|
|
12095
12108
|
// src/modules-features/admin/core/core76318/F_core76318_Update.tsx
|
|
12096
|
-
import { FileInput as FileInput10, TextInput as
|
|
12109
|
+
import { FileInput as FileInput10, TextInput as TextInput5 } from "@mantine/core";
|
|
12097
12110
|
import { useForm as useForm24 } from "@mantine/form";
|
|
12098
12111
|
import { jsx as jsx150, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
12099
12112
|
function F_core76318_Update({ values }) {
|
|
@@ -12125,7 +12138,7 @@ function F_core76318_Update({ values }) {
|
|
|
12125
12138
|
},
|
|
12126
12139
|
children: [
|
|
12127
12140
|
/* @__PURE__ */ jsx150(
|
|
12128
|
-
|
|
12141
|
+
TextInput5,
|
|
12129
12142
|
__spreadValues({
|
|
12130
12143
|
withAsterisk: true,
|
|
12131
12144
|
label: "S\u1ED1 quy \u0111\u1ECBnh"
|
|
@@ -12139,7 +12152,7 @@ function F_core76318_Update({ values }) {
|
|
|
12139
12152
|
}, form.getInputProps("promulgateDate"))
|
|
12140
12153
|
),
|
|
12141
12154
|
/* @__PURE__ */ jsx150(
|
|
12142
|
-
|
|
12155
|
+
TextInput5,
|
|
12143
12156
|
__spreadValues({
|
|
12144
12157
|
withAsterisk: true,
|
|
12145
12158
|
label: "T\xEAn t\xE0i li\u1EC7u"
|
|
@@ -12226,10 +12239,10 @@ function F_core76318({ SecurityTypeId }) {
|
|
|
12226
12239
|
|
|
12227
12240
|
// src/modules-features/admin/core/departmentList/feature/departmentCreateOrUpdateFeature.tsx
|
|
12228
12241
|
import { useForm as useForm25 } from "@mantine/form";
|
|
12229
|
-
import { useEffect as
|
|
12242
|
+
import { useEffect as useEffect24, useState as useState20 } from "react";
|
|
12230
12243
|
|
|
12231
12244
|
// src/modules-features/admin/core/departmentList/view/departmentCreateOrUpdate.tsx
|
|
12232
|
-
import { Textarea as Textarea5, TextInput as
|
|
12245
|
+
import { Textarea as Textarea5, TextInput as TextInput6 } from "@mantine/core";
|
|
12233
12246
|
import { jsx as jsx153, jsxs as jsxs86 } from "react/jsx-runtime";
|
|
12234
12247
|
var type = {
|
|
12235
12248
|
1: "Khoa",
|
|
@@ -12266,7 +12279,7 @@ function DepartmentCreateOrUpdate({
|
|
|
12266
12279
|
onSubmit,
|
|
12267
12280
|
children: [
|
|
12268
12281
|
/* @__PURE__ */ jsx153(
|
|
12269
|
-
|
|
12282
|
+
TextInput6,
|
|
12270
12283
|
__spreadValues({
|
|
12271
12284
|
disabled: isUpdateMode,
|
|
12272
12285
|
label: "M\xE3 \u0111\u01A1n v\u1ECB",
|
|
@@ -12274,7 +12287,7 @@ function DepartmentCreateOrUpdate({
|
|
|
12274
12287
|
}, form.getInputProps("code"))
|
|
12275
12288
|
),
|
|
12276
12289
|
/* @__PURE__ */ jsx153(
|
|
12277
|
-
|
|
12290
|
+
TextInput6,
|
|
12278
12291
|
__spreadValues({
|
|
12279
12292
|
label: "T\xEAn \u0111\u01A1n v\u1ECB",
|
|
12280
12293
|
placeholder: "\u0110i\u1EC1n t\xEAn \u0111\u01A1n v\u1ECB"
|
|
@@ -12349,12 +12362,12 @@ function DepartmentCreateOrUpdateFeature({ mode, data: data2 }) {
|
|
|
12349
12362
|
queryKey: ["UnitRead"],
|
|
12350
12363
|
axiosFn: () => service_department.getAll()
|
|
12351
12364
|
});
|
|
12352
|
-
|
|
12365
|
+
useEffect24(() => {
|
|
12353
12366
|
if (isCreateMode) {
|
|
12354
12367
|
form_multiple.setValues({ importedData: fileData });
|
|
12355
12368
|
}
|
|
12356
12369
|
}, [fileData, isCreateMode]);
|
|
12357
|
-
|
|
12370
|
+
useEffect24(() => {
|
|
12358
12371
|
if (isUpdateMode && data2) {
|
|
12359
12372
|
form.setValues(data2);
|
|
12360
12373
|
}
|
|
@@ -12420,7 +12433,7 @@ var service_Department = __spreadProps(__spreadValues({}, createBaseApi(CONTROLL
|
|
|
12420
12433
|
|
|
12421
12434
|
// src/modules-features/admin/core/departmentList/feature/DepartmentExport.tsx
|
|
12422
12435
|
import { useDisclosure as useDisclosure16 } from "@mantine/hooks";
|
|
12423
|
-
import { useEffect as
|
|
12436
|
+
import { useEffect as useEffect25, useState as useState21 } from "react";
|
|
12424
12437
|
import { jsx as jsx155 } from "react/jsx-runtime";
|
|
12425
12438
|
var type2 = {
|
|
12426
12439
|
1: "Khoa",
|
|
@@ -12457,7 +12470,7 @@ function DepartmentExport({ data: data2 }) {
|
|
|
12457
12470
|
// không fetch tự động
|
|
12458
12471
|
}
|
|
12459
12472
|
});
|
|
12460
|
-
|
|
12473
|
+
useEffect25(() => {
|
|
12461
12474
|
if (!userQuery.data) return;
|
|
12462
12475
|
utils_excel_handleExport(userQuery.data.map((item) => {
|
|
12463
12476
|
var _a;
|
|
@@ -12871,9 +12884,9 @@ function EmailTemplateButtonImport({ emailTemplateEnum }) {
|
|
|
12871
12884
|
}
|
|
12872
12885
|
|
|
12873
12886
|
// src/modules-features/admin/core/EmailTemplate/EmailTemplateCreateUpdateButton.tsx
|
|
12874
|
-
import { Button as
|
|
12887
|
+
import { Button as Button19, Grid as Grid6 } from "@mantine/core";
|
|
12875
12888
|
import { useForm as useForm29 } from "@mantine/form";
|
|
12876
|
-
import { useEffect as
|
|
12889
|
+
import { useEffect as useEffect26, useMemo as useMemo24 } from "react";
|
|
12877
12890
|
import { jsx as jsx167, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
12878
12891
|
var getDefaultBodyForType1 = () => {
|
|
12879
12892
|
return `<p>G\u1EEDi \xD4ng/B\xE0: {TenVC} {MAVC]}</p>
|
|
@@ -12946,12 +12959,12 @@ function EmailTemplateCreateUpdateButton({ initValues, emailTemplateEnum }) {
|
|
|
12946
12959
|
form.setFieldValue("body", newContent);
|
|
12947
12960
|
}
|
|
12948
12961
|
};
|
|
12949
|
-
|
|
12962
|
+
useEffect26(() => {
|
|
12950
12963
|
if (!initValues) return;
|
|
12951
12964
|
form.setInitialValues(__spreadValues({}, initValues));
|
|
12952
12965
|
form.setValues(__spreadValues({}, initValues));
|
|
12953
12966
|
}, [initValues]);
|
|
12954
|
-
|
|
12967
|
+
useEffect26(() => {
|
|
12955
12968
|
mailVariableQuery.refetch();
|
|
12956
12969
|
}, [form.values.eaqType]);
|
|
12957
12970
|
return /* @__PURE__ */ jsxs93(
|
|
@@ -13021,7 +13034,7 @@ function EmailTemplateCreateUpdateButton({ initValues, emailTemplateEnum }) {
|
|
|
13021
13034
|
columns,
|
|
13022
13035
|
data: mailVariableQuery.data || [],
|
|
13023
13036
|
renderRowActions: ({ row }) => /* @__PURE__ */ jsx167(MyCenterFull, { children: /* @__PURE__ */ jsx167(
|
|
13024
|
-
|
|
13037
|
+
Button19,
|
|
13025
13038
|
{
|
|
13026
13039
|
onClick: () => {
|
|
13027
13040
|
return handleInsertVariable(row.original.code);
|
|
@@ -13662,7 +13675,7 @@ function F_mailTemplate_Delete({ values }) {
|
|
|
13662
13675
|
import { useMemo as useMemo29 } from "react";
|
|
13663
13676
|
|
|
13664
13677
|
// src/modules-features/admin/core/mailTemplate/F_template_CreateUpdate.tsx
|
|
13665
|
-
import { Button as
|
|
13678
|
+
import { Button as Button20, Grid as Grid7, Select as Select8 } from "@mantine/core";
|
|
13666
13679
|
import { useForm as useForm33 } from "@mantine/form";
|
|
13667
13680
|
import { useMemo as useMemo28 } from "react";
|
|
13668
13681
|
import { Fragment as Fragment21, jsx as jsx181, jsxs as jsxs101 } from "react/jsx-runtime";
|
|
@@ -13753,7 +13766,7 @@ function FormInput3({ columns, form }) {
|
|
|
13753
13766
|
mantineTableContainerProps: { mih: 290 },
|
|
13754
13767
|
columns,
|
|
13755
13768
|
data,
|
|
13756
|
-
renderRowActions: ({ row }) => /* @__PURE__ */ jsx181(MyCenterFull, { children: /* @__PURE__ */ jsx181(
|
|
13769
|
+
renderRowActions: ({ row }) => /* @__PURE__ */ jsx181(MyCenterFull, { children: /* @__PURE__ */ jsx181(Button20, { onClick: () => handleInsertVariable(row.original.variableCode), children: "Ch\u1ECDn" }) })
|
|
13757
13770
|
}
|
|
13758
13771
|
) })
|
|
13759
13772
|
] }) })
|
|
@@ -13831,12 +13844,12 @@ var mockData3 = [
|
|
|
13831
13844
|
];
|
|
13832
13845
|
|
|
13833
13846
|
// src/modules-features/admin/core/moduleConfig/F_moduleConfig.tsx
|
|
13834
|
-
import { useEffect as
|
|
13847
|
+
import { useEffect as useEffect28 } from "react";
|
|
13835
13848
|
|
|
13836
13849
|
// src/modules-features/admin/core/moduleConfig/F_moduleConfig_Form.tsx
|
|
13837
13850
|
import { Center as Center8, Grid as Grid8, Image as Image3, Paper as Paper14 } from "@mantine/core";
|
|
13838
13851
|
import { useForm as useForm34 } from "@mantine/form";
|
|
13839
|
-
import { useEffect as
|
|
13852
|
+
import { useEffect as useEffect27 } from "react";
|
|
13840
13853
|
|
|
13841
13854
|
// src/modules-features/admin/core/moduleConfig/F_moduleConfig_Save.tsx
|
|
13842
13855
|
import { useMutation as useMutation4 } from "@tanstack/react-query";
|
|
@@ -13907,7 +13920,7 @@ function F_moduleConfig_Form() {
|
|
|
13907
13920
|
logoFileDetail: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
|
|
13908
13921
|
}
|
|
13909
13922
|
});
|
|
13910
|
-
|
|
13923
|
+
useEffect27(() => {
|
|
13911
13924
|
var _a2, _b2;
|
|
13912
13925
|
if (!query.data) return;
|
|
13913
13926
|
const values = {
|
|
@@ -13928,7 +13941,7 @@ function F_moduleConfig_Form() {
|
|
|
13928
13941
|
form.setInitialValues(values);
|
|
13929
13942
|
form.setValues(values);
|
|
13930
13943
|
}, [query.data]);
|
|
13931
|
-
|
|
13944
|
+
useEffect27(() => {
|
|
13932
13945
|
if (process.env.NEXT_PUBLIC_APP_PROTOTYPE == "1") {
|
|
13933
13946
|
const values = {
|
|
13934
13947
|
code: "moduleCode",
|
|
@@ -14035,7 +14048,7 @@ function F_moduleConfig_Form() {
|
|
|
14035
14048
|
import { jsx as jsx185 } from "react/jsx-runtime";
|
|
14036
14049
|
function F_moduleConfig({ AQModuleId }) {
|
|
14037
14050
|
const store = useS_moduleConfig();
|
|
14038
|
-
|
|
14051
|
+
useEffect28(() => {
|
|
14039
14052
|
store.setProperty("AQModuleId", AQModuleId);
|
|
14040
14053
|
}, []);
|
|
14041
14054
|
return /* @__PURE__ */ jsx185(F_moduleConfig_Form, {});
|
|
@@ -14340,7 +14353,7 @@ function F_organizationPolicyDocs({ RegulationsTypeId }) {
|
|
|
14340
14353
|
}
|
|
14341
14354
|
|
|
14342
14355
|
// src/modules/PageContent/Usecase/Usecase_PageContentTable.tsx
|
|
14343
|
-
import { Button as
|
|
14356
|
+
import { Button as Button21, Group as Group30, TextInput as TextInput7 } from "@mantine/core";
|
|
14344
14357
|
import { useMemo as useMemo31 } from "react";
|
|
14345
14358
|
import { jsx as jsx191, jsxs as jsxs108 } from "react/jsx-runtime";
|
|
14346
14359
|
function Usecase_PageContentTable(_a) {
|
|
@@ -14357,7 +14370,7 @@ function Usecase_PageContentTable(_a) {
|
|
|
14357
14370
|
Cell: ({ row }) => {
|
|
14358
14371
|
console.log(row.original);
|
|
14359
14372
|
return /* @__PURE__ */ jsx191(
|
|
14360
|
-
|
|
14373
|
+
TextInput7,
|
|
14361
14374
|
{
|
|
14362
14375
|
defaultValue: row.original.description,
|
|
14363
14376
|
onChange: (e4) => {
|
|
@@ -14371,7 +14384,7 @@ function Usecase_PageContentTable(_a) {
|
|
|
14371
14384
|
header: "Url video h\u01B0\u1EDBng d\u1EABn",
|
|
14372
14385
|
accessorKey: "videoLink",
|
|
14373
14386
|
Cell: ({ row }) => /* @__PURE__ */ jsx191(
|
|
14374
|
-
|
|
14387
|
+
TextInput7,
|
|
14375
14388
|
{
|
|
14376
14389
|
defaultValue: row.original.videoLink,
|
|
14377
14390
|
onChange: (e4) => {
|
|
@@ -14411,7 +14424,7 @@ function Usecase_PageContentTable(_a) {
|
|
|
14411
14424
|
},
|
|
14412
14425
|
renderTopToolbarCustomActions: ({ table }) => /* @__PURE__ */ jsxs108(Group30, { children: [
|
|
14413
14426
|
/* @__PURE__ */ jsx191(
|
|
14414
|
-
|
|
14427
|
+
Button21,
|
|
14415
14428
|
{
|
|
14416
14429
|
hidden: !onSave,
|
|
14417
14430
|
onClick: () => {
|
|
@@ -14847,7 +14860,7 @@ function Adapter_RoleTable2(_a) {
|
|
|
14847
14860
|
|
|
14848
14861
|
// src/modules/Role/adapter/Adapter_RoleForm.tsx
|
|
14849
14862
|
import { useForm as useForm38 } from "@mantine/form";
|
|
14850
|
-
import { useEffect as
|
|
14863
|
+
import { useEffect as useEffect29 } from "react";
|
|
14851
14864
|
|
|
14852
14865
|
// src/modules/Role/usecase/UseCase_RoleForm.tsx
|
|
14853
14866
|
import { Stack as Stack7 } from "@mantine/core";
|
|
@@ -14898,7 +14911,7 @@ function Adapter_RoleForm({
|
|
|
14898
14911
|
},
|
|
14899
14912
|
mutationType: values ? "update" : "create"
|
|
14900
14913
|
});
|
|
14901
|
-
|
|
14914
|
+
useEffect29(() => {
|
|
14902
14915
|
if (!values) return;
|
|
14903
14916
|
form.initialize(values);
|
|
14904
14917
|
}, [values]);
|
|
@@ -15005,7 +15018,7 @@ function Adapter_UserTable(_a) {
|
|
|
15005
15018
|
import { useDisclosure as useDisclosure17 } from "@mantine/hooks";
|
|
15006
15019
|
import { notifications as notifications2 } from "@mantine/notifications";
|
|
15007
15020
|
import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
|
|
15008
|
-
import { useEffect as
|
|
15021
|
+
import { useEffect as useEffect30, useState as useState25 } from "react";
|
|
15009
15022
|
import { jsx as jsx209 } from "react/jsx-runtime";
|
|
15010
15023
|
function Adapter_UserAddToRole({
|
|
15011
15024
|
roleId,
|
|
@@ -15046,7 +15059,7 @@ function Adapter_UserAddToRole({
|
|
|
15046
15059
|
},
|
|
15047
15060
|
enableDefaultSuccess: false
|
|
15048
15061
|
});
|
|
15049
|
-
|
|
15062
|
+
useEffect30(() => {
|
|
15050
15063
|
if (userIds == null ? void 0 : userIds.length) {
|
|
15051
15064
|
const selected = userIds.reduce((acc, id) => {
|
|
15052
15065
|
acc[id] = true;
|
|
@@ -15101,7 +15114,7 @@ function Adapter_UserDeleteFromRole({
|
|
|
15101
15114
|
}
|
|
15102
15115
|
|
|
15103
15116
|
// src/modules/User/adapter/Adapter_UserTableByRole.tsx
|
|
15104
|
-
import { useEffect as
|
|
15117
|
+
import { useEffect as useEffect31 } from "react";
|
|
15105
15118
|
import { jsx as jsx211 } from "react/jsx-runtime";
|
|
15106
15119
|
function Adapter_UserTableByRole(_a) {
|
|
15107
15120
|
var _b = _a, { byRoleId } = _b, rest = __objRest(_b, ["byRoleId"]);
|
|
@@ -15112,7 +15125,7 @@ function Adapter_UserTableByRole(_a) {
|
|
|
15112
15125
|
return service_role.getUserByRole({ roleId: byRoleId });
|
|
15113
15126
|
}
|
|
15114
15127
|
});
|
|
15115
|
-
|
|
15128
|
+
useEffect31(() => {
|
|
15116
15129
|
if (adminAccountQuery.data && rest.onUserLoad) {
|
|
15117
15130
|
const users = adminAccountQuery.data.map(mapper_user.mapToDomain);
|
|
15118
15131
|
rest.onUserLoad(users);
|
|
@@ -15284,7 +15297,7 @@ function F_securityPolicyDocs_Delete({
|
|
|
15284
15297
|
}
|
|
15285
15298
|
|
|
15286
15299
|
// src/modules-features/admin/core/securityPolicyDocs/F_securityPolicyDocs_Update.tsx
|
|
15287
|
-
import { FileInput as FileInput12, TextInput as
|
|
15300
|
+
import { FileInput as FileInput12, TextInput as TextInput8 } from "@mantine/core";
|
|
15288
15301
|
import { useForm as useForm40 } from "@mantine/form";
|
|
15289
15302
|
import { jsx as jsx216, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
15290
15303
|
function F_securityPolicyDocs_Update({ values }) {
|
|
@@ -15317,7 +15330,7 @@ function F_securityPolicyDocs_Update({ values }) {
|
|
|
15317
15330
|
},
|
|
15318
15331
|
children: [
|
|
15319
15332
|
/* @__PURE__ */ jsx216(
|
|
15320
|
-
|
|
15333
|
+
TextInput8,
|
|
15321
15334
|
__spreadValues({
|
|
15322
15335
|
withAsterisk: true,
|
|
15323
15336
|
readOnly: true,
|
|
@@ -15332,7 +15345,7 @@ function F_securityPolicyDocs_Update({ values }) {
|
|
|
15332
15345
|
}, form.getInputProps("promulgateDate"))
|
|
15333
15346
|
),
|
|
15334
15347
|
/* @__PURE__ */ jsx216(
|
|
15335
|
-
|
|
15348
|
+
TextInput8,
|
|
15336
15349
|
__spreadValues({
|
|
15337
15350
|
withAsterisk: true,
|
|
15338
15351
|
label: "T\xEAn t\xE0i li\u1EC7u"
|
|
@@ -16145,7 +16158,7 @@ function F_workflowProcessDocs({
|
|
|
16145
16158
|
import {
|
|
16146
16159
|
Anchor as Anchor2,
|
|
16147
16160
|
BackgroundImage,
|
|
16148
|
-
Button as
|
|
16161
|
+
Button as Button22,
|
|
16149
16162
|
Center as Center9,
|
|
16150
16163
|
Checkbox as Checkbox7,
|
|
16151
16164
|
Flex as Flex8,
|
|
@@ -16153,7 +16166,7 @@ import {
|
|
|
16153
16166
|
Paper as Paper15,
|
|
16154
16167
|
PasswordInput as PasswordInput5,
|
|
16155
16168
|
Text as Text24,
|
|
16156
|
-
TextInput as
|
|
16169
|
+
TextInput as TextInput9,
|
|
16157
16170
|
Title
|
|
16158
16171
|
} from "@mantine/core";
|
|
16159
16172
|
import { useForm as useForm47 } from "@mantine/form";
|
|
@@ -16161,7 +16174,7 @@ import { notifications as notifications3 } from "@mantine/notifications";
|
|
|
16161
16174
|
import { useMutation as useMutation5 } from "@tanstack/react-query";
|
|
16162
16175
|
import Link5 from "next/link";
|
|
16163
16176
|
import { useRouter as useRouter3 } from "next/navigation";
|
|
16164
|
-
import { useEffect as
|
|
16177
|
+
import { useEffect as useEffect32 } from "react";
|
|
16165
16178
|
|
|
16166
16179
|
// src/modules-features/authenticate/useS_authenticate.ts
|
|
16167
16180
|
var useStore5 = createGenericStore({
|
|
@@ -16202,7 +16215,7 @@ function Feat_Authenticate_Login({
|
|
|
16202
16215
|
password: (value) => value ? null : "Kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng"
|
|
16203
16216
|
}
|
|
16204
16217
|
});
|
|
16205
|
-
|
|
16218
|
+
useEffect32(() => {
|
|
16206
16219
|
var _a;
|
|
16207
16220
|
form.setValues({
|
|
16208
16221
|
username: ((_a = authenticate_store.state) == null ? void 0 : _a.username) || "",
|
|
@@ -16274,7 +16287,7 @@ function Feat_Authenticate_Login({
|
|
|
16274
16287
|
] }),
|
|
16275
16288
|
/* @__PURE__ */ jsx233("form", { onSubmit: form.onSubmit(async (values) => handleSubmit(values.username, values.password)), children: /* @__PURE__ */ jsxs128(MyFlexColumn2, { children: [
|
|
16276
16289
|
/* @__PURE__ */ jsx233(
|
|
16277
|
-
|
|
16290
|
+
TextInput9,
|
|
16278
16291
|
__spreadProps(__spreadValues({}, form.getInputProps("username")), {
|
|
16279
16292
|
label: "T\xE0i kho\u1EA3n",
|
|
16280
16293
|
placeholder: "Nh\u1EADp t\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n",
|
|
@@ -16301,7 +16314,7 @@ function Feat_Authenticate_Login({
|
|
|
16301
16314
|
showForgotPassword && /* @__PURE__ */ jsx233(Anchor2, { component: Link5, href: "quen-mat-khau", size: "sm", children: "Qu\xEAn m\u1EADt kh\u1EA9u?" })
|
|
16302
16315
|
] }),
|
|
16303
16316
|
showLoginButton && /* @__PURE__ */ jsx233(
|
|
16304
|
-
|
|
16317
|
+
Button22,
|
|
16305
16318
|
__spreadProps(__spreadValues({
|
|
16306
16319
|
loading: mutation.isPending,
|
|
16307
16320
|
type: "submit",
|
|
@@ -16327,7 +16340,7 @@ function useM_Account_Sigin() {
|
|
|
16327
16340
|
}
|
|
16328
16341
|
|
|
16329
16342
|
// src/modules-features/authenticate/Feat_Authenticate_Logout.tsx
|
|
16330
|
-
import { Button as
|
|
16343
|
+
import { Button as Button23 } from "@mantine/core";
|
|
16331
16344
|
import { IconLogout } from "@tabler/icons-react";
|
|
16332
16345
|
import { useRouter as useRouter4 } from "next/navigation";
|
|
16333
16346
|
import { jsx as jsx234 } from "react/jsx-runtime";
|
|
@@ -16335,7 +16348,7 @@ function Feat_Authenticate_Logout({ redirectURL = "/auth/login" }) {
|
|
|
16335
16348
|
const router = useRouter4();
|
|
16336
16349
|
const authenticateStore = useS_authenticate();
|
|
16337
16350
|
const permissionStore = useStore_Permission();
|
|
16338
|
-
return /* @__PURE__ */ jsx234(
|
|
16351
|
+
return /* @__PURE__ */ jsx234(Button23, { onClick: () => {
|
|
16339
16352
|
authenticateStore.setState({});
|
|
16340
16353
|
permissionStore.setState({});
|
|
16341
16354
|
router.replace(redirectURL);
|
|
@@ -16344,7 +16357,7 @@ function Feat_Authenticate_Logout({ redirectURL = "/auth/login" }) {
|
|
|
16344
16357
|
|
|
16345
16358
|
// src/modules-features/authenticate/Feat_Authenticate_SSOHandler.tsx
|
|
16346
16359
|
import { useSearchParams } from "next/navigation";
|
|
16347
|
-
import { useEffect as
|
|
16360
|
+
import { useEffect as useEffect33, useState as useState27 } from "react";
|
|
16348
16361
|
|
|
16349
16362
|
// src/modules-features/authenticate/useAuthenticateManager.ts
|
|
16350
16363
|
function useAuthenticateManager() {
|
|
@@ -16380,7 +16393,7 @@ function Feat_Authenticate_SSOHandler({
|
|
|
16380
16393
|
const [messError, setMessError] = useState27("");
|
|
16381
16394
|
const studentCode = searchParams.get("code");
|
|
16382
16395
|
const token = searchParams.get("token");
|
|
16383
|
-
|
|
16396
|
+
useEffect33(() => {
|
|
16384
16397
|
if (config3.isLoading == true) return;
|
|
16385
16398
|
if (studentCode && token) {
|
|
16386
16399
|
loginSSO(studentCode, token);
|
|
@@ -16423,12 +16436,12 @@ function Feat_Authenticate_SSOHandler({
|
|
|
16423
16436
|
|
|
16424
16437
|
// src/modules-features/authenticate/F_authenticate_SplashPage.tsx
|
|
16425
16438
|
import { useRouter as useRouter5 } from "next/navigation";
|
|
16426
|
-
import { useEffect as
|
|
16439
|
+
import { useEffect as useEffect34 } from "react";
|
|
16427
16440
|
import { jsx as jsx236 } from "react/jsx-runtime";
|
|
16428
16441
|
function F_authenticate_SplashPage() {
|
|
16429
16442
|
const router = useRouter5();
|
|
16430
16443
|
const S_Authenticate = useS_authenticate();
|
|
16431
|
-
|
|
16444
|
+
useEffect34(() => {
|
|
16432
16445
|
if (S_Authenticate.state.token == "") {
|
|
16433
16446
|
router.push("/authenticate/login");
|
|
16434
16447
|
return;
|
|
@@ -16439,7 +16452,7 @@ function F_authenticate_SplashPage() {
|
|
|
16439
16452
|
}
|
|
16440
16453
|
|
|
16441
16454
|
// src/modules-features/authenticate/tokenExpired/Feat_TokenExpired.tsx
|
|
16442
|
-
import { Button as
|
|
16455
|
+
import { Button as Button24, Card as Card4, CardSection, Center as Center10, Text as Text25, Title as Title2 } from "@mantine/core";
|
|
16443
16456
|
import { Clock, LogIn, Shield } from "lucide-react";
|
|
16444
16457
|
import { jsx as jsx237, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
16445
16458
|
function Feat_TokenExpired({
|
|
@@ -16467,7 +16480,7 @@ function Feat_TokenExpired({
|
|
|
16467
16480
|
] }),
|
|
16468
16481
|
/* @__PURE__ */ jsxs130(CardSection, { className: "space-y-6 pt-0", children: [
|
|
16469
16482
|
/* @__PURE__ */ jsxs130(
|
|
16470
|
-
|
|
16483
|
+
Button24,
|
|
16471
16484
|
{
|
|
16472
16485
|
onClick: handleLogin,
|
|
16473
16486
|
className: "w-full h-12 bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-700 hover:to-indigo-700 text-white font-semibold rounded-xl shadow-lg shadow-blue-500/25 transition-all duration-300 hover:shadow-xl hover:shadow-blue-500/30 hover:scale-[1.02]",
|
|
@@ -16667,7 +16680,7 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
|
|
|
16667
16680
|
return result;
|
|
16668
16681
|
}, [filteredMenu]);
|
|
16669
16682
|
useFavicon(faviconUrl);
|
|
16670
|
-
|
|
16683
|
+
useEffect35(() => {
|
|
16671
16684
|
if (!moduleData) return;
|
|
16672
16685
|
const { code, name, faviconFileDetail, logoFileDetail } = moduleData;
|
|
16673
16686
|
appShellStore.setProperty("moduleCode", code);
|
|
@@ -16680,12 +16693,12 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
|
|
|
16680
16693
|
return () => URL.revokeObjectURL(url);
|
|
16681
16694
|
}
|
|
16682
16695
|
}, [moduleData]);
|
|
16683
|
-
|
|
16696
|
+
useEffect35(() => {
|
|
16684
16697
|
if (moduleData == null ? void 0 : moduleData.name) {
|
|
16685
16698
|
document.title = moduleData.name;
|
|
16686
16699
|
}
|
|
16687
16700
|
}, [moduleData == null ? void 0 : moduleData.name]);
|
|
16688
|
-
|
|
16701
|
+
useEffect35(() => {
|
|
16689
16702
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
16690
16703
|
const currentItem = allChildItems.find((item) => pathname.includes(item.link));
|
|
16691
16704
|
const currentPermission = (_a = permissionStore.state.permission) == null ? void 0 : _a.find((item) => item.pageId == (currentItem == null ? void 0 : currentItem.pageId));
|
|
@@ -16819,7 +16832,7 @@ function MyContainer(_a) {
|
|
|
16819
16832
|
import {
|
|
16820
16833
|
Box as Box6,
|
|
16821
16834
|
Burger,
|
|
16822
|
-
Button as
|
|
16835
|
+
Button as Button25,
|
|
16823
16836
|
Container as Container2,
|
|
16824
16837
|
Divider as Divider4,
|
|
16825
16838
|
Drawer,
|
|
@@ -16827,7 +16840,7 @@ import {
|
|
|
16827
16840
|
Image as Image5,
|
|
16828
16841
|
ScrollArea as ScrollArea8,
|
|
16829
16842
|
Text as Text27,
|
|
16830
|
-
TextInput as
|
|
16843
|
+
TextInput as TextInput10,
|
|
16831
16844
|
ThemeIcon as ThemeIcon2,
|
|
16832
16845
|
UnstyledButton,
|
|
16833
16846
|
useMantineTheme
|
|
@@ -16840,7 +16853,7 @@ import {
|
|
|
16840
16853
|
IconCoin,
|
|
16841
16854
|
IconFingerprint,
|
|
16842
16855
|
IconNotification,
|
|
16843
|
-
IconSearch as
|
|
16856
|
+
IconSearch as IconSearch4
|
|
16844
16857
|
} from "@tabler/icons-react";
|
|
16845
16858
|
import Link6 from "next/link";
|
|
16846
16859
|
|
|
@@ -16907,10 +16920,10 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
16907
16920
|
/* @__PURE__ */ jsx240("header", { className: css_default.header, children: /* @__PURE__ */ jsxs132(Group35, { justify: "space-between", h: "100%", children: [
|
|
16908
16921
|
/* @__PURE__ */ jsxs132(Group35, { children: [
|
|
16909
16922
|
/* @__PURE__ */ jsx240(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
|
|
16910
|
-
/* @__PURE__ */ jsx240(Group35, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx240(
|
|
16923
|
+
/* @__PURE__ */ jsx240(Group35, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx240(Button25, { component: Link6, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
|
|
16911
16924
|
] }),
|
|
16912
16925
|
/* @__PURE__ */ jsxs132(Group35, { children: [
|
|
16913
|
-
/* @__PURE__ */ jsx240(
|
|
16926
|
+
/* @__PURE__ */ jsx240(TextInput10, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx240(IconSearch4, {}), radius: "xl", w: "250px" }),
|
|
16914
16927
|
/* @__PURE__ */ jsx240(MySwitchTheme, {})
|
|
16915
16928
|
] }),
|
|
16916
16929
|
/* @__PURE__ */ jsx240(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
|
|
@@ -16928,7 +16941,7 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
16928
16941
|
zIndex: 1e6,
|
|
16929
16942
|
children: /* @__PURE__ */ jsxs132(ScrollArea8, { h: "calc(100vh - 80px", mx: "-md", children: [
|
|
16930
16943
|
/* @__PURE__ */ jsx240(Divider4, { my: "sm" }),
|
|
16931
|
-
/* @__PURE__ */ jsx240(MyFlexColumn2, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx240(
|
|
16944
|
+
/* @__PURE__ */ jsx240(MyFlexColumn2, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx240(Button25, { component: Link6, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
|
|
16932
16945
|
/* @__PURE__ */ jsx240(Divider4, { my: "sm" })
|
|
16933
16946
|
] })
|
|
16934
16947
|
}
|
|
@@ -16951,7 +16964,7 @@ var service_aq = __spreadProps(__spreadValues({}, createBaseApi(CONTROLLER13, ba
|
|
|
16951
16964
|
import { Badge as Badge6, Breadcrumbs, Center as Center11, Container as Container3, Divider as Divider5, Flex as Flex10, Group as Group36, Stack as Stack8, Text as Text28, Title as Title3, Tooltip as Tooltip7 } from "@mantine/core";
|
|
16952
16965
|
import { useDisclosure as useDisclosure20 } from "@mantine/hooks";
|
|
16953
16966
|
import { IconBrandParsinta } from "@tabler/icons-react";
|
|
16954
|
-
import { useEffect as
|
|
16967
|
+
import { useEffect as useEffect36 } from "react";
|
|
16955
16968
|
|
|
16956
16969
|
// src/components/Layouts/PageContent/utils.ts
|
|
16957
16970
|
function getFinalLinkVieo(url) {
|
|
@@ -17025,7 +17038,7 @@ function MyPageContent({
|
|
|
17025
17038
|
});
|
|
17026
17039
|
const videoDisc = useDisclosure20();
|
|
17027
17040
|
const finalTitle = title || basicAppShellStore.state.title;
|
|
17028
|
-
|
|
17041
|
+
useEffect36(() => {
|
|
17029
17042
|
basicAppShellStore.setProperty("fileGuildDetail", void 0);
|
|
17030
17043
|
if (!query.data) return;
|
|
17031
17044
|
basicAppShellStore.setProperty("fileGuildDetail", query.data);
|
|
@@ -17124,7 +17137,7 @@ function MyTab(_a) {
|
|
|
17124
17137
|
}
|
|
17125
17138
|
|
|
17126
17139
|
// src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
|
|
17127
|
-
import { ActionIcon as ActionIcon13, Button as
|
|
17140
|
+
import { ActionIcon as ActionIcon13, Button as Button26, Fieldset as Fieldset6, Group as Group37, Modal as Modal14 } from "@mantine/core";
|
|
17128
17141
|
import { useDisclosure as useDisclosure21 } from "@mantine/hooks";
|
|
17129
17142
|
import { IconX as IconX4 } from "@tabler/icons-react";
|
|
17130
17143
|
import { jsx as jsx243, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
@@ -17139,7 +17152,7 @@ function MyDataTableSelect(_a) {
|
|
|
17139
17152
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
17140
17153
|
return /* @__PURE__ */ jsxs135(Group37, { children: [
|
|
17141
17154
|
renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
|
|
17142
|
-
/* @__PURE__ */ jsx243(
|
|
17155
|
+
/* @__PURE__ */ jsx243(Button26, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
|
|
17143
17156
|
] });
|
|
17144
17157
|
},
|
|
17145
17158
|
columns,
|
|
@@ -17153,7 +17166,7 @@ function MyDataTableSelect(_a) {
|
|
|
17153
17166
|
MyDataTable,
|
|
17154
17167
|
__spreadValues({
|
|
17155
17168
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
17156
|
-
return /* @__PURE__ */ jsx243(
|
|
17169
|
+
return /* @__PURE__ */ jsx243(Button26, { onClick: () => {
|
|
17157
17170
|
table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
|
|
17158
17171
|
disc[1].close();
|
|
17159
17172
|
}, children: "Ch\u1ECDn" });
|
|
@@ -17338,7 +17351,7 @@ function MyPrintContent({
|
|
|
17338
17351
|
|
|
17339
17352
|
// src/core/overlays/MyModalStackImport/Usecase/Usecase_FileFieldMappingModal.tsx
|
|
17340
17353
|
import {
|
|
17341
|
-
Button as
|
|
17354
|
+
Button as Button27,
|
|
17342
17355
|
Group as Group39,
|
|
17343
17356
|
Modal as Modal16,
|
|
17344
17357
|
Select as Select10,
|
|
@@ -17422,7 +17435,7 @@ function Usecase_FileFieldMappingModal(_a) {
|
|
|
17422
17435
|
/* @__PURE__ */ jsx249(Table5.Th, { children: "M\xE3 field" }),
|
|
17423
17436
|
/* @__PURE__ */ jsx249(Table5.Th, { children: "T\xEAn field" }),
|
|
17424
17437
|
/* @__PURE__ */ jsx249(Table5.Th, { children: /* @__PURE__ */ jsx249(
|
|
17425
|
-
|
|
17438
|
+
Button27,
|
|
17426
17439
|
{
|
|
17427
17440
|
size: "xs",
|
|
17428
17441
|
leftSection: /* @__PURE__ */ jsx249(IconPlus9, {}),
|
|
@@ -17448,7 +17461,7 @@ function Usecase_FileFieldMappingModal(_a) {
|
|
|
17448
17461
|
/* @__PURE__ */ jsx249(Table5.Td, { children: field.key }),
|
|
17449
17462
|
/* @__PURE__ */ jsx249(Table5.Td, { children: field.label }),
|
|
17450
17463
|
/* @__PURE__ */ jsx249(Table5.Td, { children: /* @__PURE__ */ jsx249(
|
|
17451
|
-
|
|
17464
|
+
Button27,
|
|
17452
17465
|
{
|
|
17453
17466
|
variant: "light",
|
|
17454
17467
|
onClick: () => handleAddField(field),
|
|
@@ -17467,7 +17480,7 @@ function Usecase_FileFieldMappingModal(_a) {
|
|
|
17467
17480
|
/* @__PURE__ */ jsx249(Table5.Th, { children: "T\xEAn field" }),
|
|
17468
17481
|
/* @__PURE__ */ jsx249(Table5.Th, { children: "C\u1ED9t map" }),
|
|
17469
17482
|
/* @__PURE__ */ jsx249(Table5.Th, { children: /* @__PURE__ */ jsx249(
|
|
17470
|
-
|
|
17483
|
+
Button27,
|
|
17471
17484
|
{
|
|
17472
17485
|
size: "xs",
|
|
17473
17486
|
leftSection: /* @__PURE__ */ jsx249(IconRowRemove, {}),
|
|
@@ -17496,7 +17509,7 @@ function Usecase_FileFieldMappingModal(_a) {
|
|
|
17496
17509
|
}
|
|
17497
17510
|
) }),
|
|
17498
17511
|
/* @__PURE__ */ jsx249(Table5.Td, { children: /* @__PURE__ */ jsx249(
|
|
17499
|
-
|
|
17512
|
+
Button27,
|
|
17500
17513
|
{
|
|
17501
17514
|
variant: "light",
|
|
17502
17515
|
onClick: () => handleRemoveField(field),
|
|
@@ -17509,9 +17522,9 @@ function Usecase_FileFieldMappingModal(_a) {
|
|
|
17509
17522
|
] })
|
|
17510
17523
|
] }),
|
|
17511
17524
|
/* @__PURE__ */ jsxs138(Group39, { justify: "end", mt: "md", children: [
|
|
17512
|
-
/* @__PURE__ */ jsx249(
|
|
17513
|
-
/* @__PURE__ */ jsx249(
|
|
17514
|
-
/* @__PURE__ */ jsx249(
|
|
17525
|
+
/* @__PURE__ */ jsx249(Button27, { onClick: handleBack, children: "Quay l\u1EA1i" }),
|
|
17526
|
+
/* @__PURE__ */ jsx249(Button27, { onClick: handleContinute, children: "Ti\u1EBFp t\u1EE5c" }),
|
|
17527
|
+
/* @__PURE__ */ jsx249(Button27, { variant: "outline", onClick: onCloseAll, children: "\u0110\xF3ng" })
|
|
17515
17528
|
] })
|
|
17516
17529
|
]
|
|
17517
17530
|
})
|
|
@@ -17520,7 +17533,7 @@ function Usecase_FileFieldMappingModal(_a) {
|
|
|
17520
17533
|
|
|
17521
17534
|
// src/core/overlays/MyModalStackImport/Usecase/Usecase_FileImportConfigModal.tsx
|
|
17522
17535
|
import {
|
|
17523
|
-
Button as
|
|
17536
|
+
Button as Button28,
|
|
17524
17537
|
FileInput as FileInput17,
|
|
17525
17538
|
Grid as Grid9,
|
|
17526
17539
|
Group as Group40,
|
|
@@ -17529,7 +17542,7 @@ import {
|
|
|
17529
17542
|
Stack as Stack10
|
|
17530
17543
|
} from "@mantine/core";
|
|
17531
17544
|
import { IconCopy } from "@tabler/icons-react";
|
|
17532
|
-
import { useEffect as
|
|
17545
|
+
import { useEffect as useEffect37, useMemo as useMemo43, useState as useState31 } from "react";
|
|
17533
17546
|
import * as XLSX4 from "xlsx";
|
|
17534
17547
|
import { jsx as jsx250, jsxs as jsxs139 } from "react/jsx-runtime";
|
|
17535
17548
|
function Usecase_FileImportConfigModal(_a) {
|
|
@@ -17562,7 +17575,7 @@ function Usecase_FileImportConfigModal(_a) {
|
|
|
17562
17575
|
setDataStartIndex("3");
|
|
17563
17576
|
if (file2) parseExcel(file2);
|
|
17564
17577
|
};
|
|
17565
|
-
|
|
17578
|
+
useEffect37(() => {
|
|
17566
17579
|
const headerRowIndex = titleIndex ? parseInt(titleIndex) - 1 : null;
|
|
17567
17580
|
const dataRowIndex = dataStartIndex ? parseInt(dataStartIndex) - 1 : null;
|
|
17568
17581
|
if (!rawData || headerRowIndex === null || dataRowIndex === null || dataRowIndex >= rawData.length || headerRowIndex >= rawData.length) {
|
|
@@ -17616,7 +17629,7 @@ function Usecase_FileImportConfigModal(_a) {
|
|
|
17616
17629
|
onChange: handleSelectFile
|
|
17617
17630
|
}
|
|
17618
17631
|
) }),
|
|
17619
|
-
/* @__PURE__ */ jsx250(Grid9.Col, { span: 4, children: /* @__PURE__ */ jsx250(Group40, { align: "end", h: "100%", children: /* @__PURE__ */ jsx250(
|
|
17632
|
+
/* @__PURE__ */ jsx250(Grid9.Col, { span: 4, children: /* @__PURE__ */ jsx250(Group40, { align: "end", h: "100%", children: /* @__PURE__ */ jsx250(Button28, { leftSection: /* @__PURE__ */ jsx250(IconCopy, {}), w: "100%", children: "D\xE1n t\u1EEB b\u1ED9 nh\u1EDB" }) }) }),
|
|
17620
17633
|
/* @__PURE__ */ jsx250(Grid9.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx250(
|
|
17621
17634
|
Select11,
|
|
17622
17635
|
{
|
|
@@ -17641,16 +17654,16 @@ function Usecase_FileImportConfigModal(_a) {
|
|
|
17641
17654
|
/* @__PURE__ */ jsx250(MyFieldset, { title: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: /* @__PURE__ */ jsx250(MyDataTable, { columns, data: tableDisplayData }) }),
|
|
17642
17655
|
/* @__PURE__ */ jsxs139(Group40, { justify: "end", children: [
|
|
17643
17656
|
/* @__PURE__ */ jsx250(
|
|
17644
|
-
|
|
17657
|
+
Button28,
|
|
17645
17658
|
{
|
|
17646
17659
|
onClick: onExportStructure,
|
|
17647
17660
|
children: "Xu\u1EA5t file c\u1EA5u tr\xFAc"
|
|
17648
17661
|
}
|
|
17649
17662
|
),
|
|
17650
|
-
/* @__PURE__ */ jsx250(
|
|
17663
|
+
/* @__PURE__ */ jsx250(Button28, { onClick: () => {
|
|
17651
17664
|
onContinute == null ? void 0 : onContinute();
|
|
17652
17665
|
}, children: "Ti\u1EBFp t\u1EE5c" }),
|
|
17653
|
-
/* @__PURE__ */ jsx250(
|
|
17666
|
+
/* @__PURE__ */ jsx250(Button28, { variant: "outline", onClick: rest.onClose, children: "\u0110\xF3ng" })
|
|
17654
17667
|
] })
|
|
17655
17668
|
] })
|
|
17656
17669
|
})
|
|
@@ -17713,7 +17726,7 @@ import { jsx as jsx252, jsxs as jsxs141 } from "react/jsx-runtime";
|
|
|
17713
17726
|
|
|
17714
17727
|
// src/core/overlays/MyModalStackImport/Usecase/Usecase_FileImportValidationModal.tsx
|
|
17715
17728
|
import {
|
|
17716
|
-
Button as
|
|
17729
|
+
Button as Button29,
|
|
17717
17730
|
Group as Group41,
|
|
17718
17731
|
Modal as Modal20,
|
|
17719
17732
|
Table as Table7
|
|
@@ -17808,10 +17821,10 @@ export {
|
|
|
17808
17821
|
AcademicYearsRead,
|
|
17809
17822
|
Feat_accessControl,
|
|
17810
17823
|
Feat_accessControlLevel,
|
|
17811
|
-
F_accountManagement_ChangePermission,
|
|
17812
17824
|
F_accountManagement_Delete,
|
|
17813
17825
|
F_accountManagement_Read,
|
|
17814
17826
|
F_accountManagement,
|
|
17827
|
+
F_accountManagement_ChangePermission,
|
|
17815
17828
|
F_accountManagement_Create,
|
|
17816
17829
|
F_accountManagement_Update,
|
|
17817
17830
|
ENUM_BUSINESS_TYPE,
|
|
@@ -70,12 +70,12 @@ import {
|
|
|
70
70
|
useHeaderMegaMenuStore,
|
|
71
71
|
useS_ButtonImport,
|
|
72
72
|
useStore_BasicAppShell
|
|
73
|
-
} from "../chunk-
|
|
73
|
+
} from "../chunk-BP2L3A7N.mjs";
|
|
74
74
|
import "../chunk-SUH3FFFV.mjs";
|
|
75
75
|
import "../chunk-2B2FKBKX.mjs";
|
|
76
|
+
import "../chunk-IUTUR43V.mjs";
|
|
76
77
|
import "../chunk-7PUDC2WF.mjs";
|
|
77
78
|
import "../chunk-EWDS5IOF.mjs";
|
|
78
|
-
import "../chunk-IUTUR43V.mjs";
|
|
79
79
|
import "../chunk-K6S7R6LU.mjs";
|
|
80
80
|
import "../chunk-G4GAKTUO.mjs";
|
|
81
81
|
import "../chunk-WZ6PXGGC.mjs";
|
package/dist/core/index.mjs
CHANGED
|
@@ -25,12 +25,12 @@ import {
|
|
|
25
25
|
MyStatsCard,
|
|
26
26
|
MyTextInput2 as MyTextInput,
|
|
27
27
|
MyWeeklySessionSchedulerPicker
|
|
28
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-BP2L3A7N.mjs";
|
|
29
29
|
import "../chunk-SUH3FFFV.mjs";
|
|
30
30
|
import "../chunk-2B2FKBKX.mjs";
|
|
31
|
+
import "../chunk-IUTUR43V.mjs";
|
|
31
32
|
import "../chunk-7PUDC2WF.mjs";
|
|
32
33
|
import "../chunk-EWDS5IOF.mjs";
|
|
33
|
-
import "../chunk-IUTUR43V.mjs";
|
|
34
34
|
import "../chunk-K6S7R6LU.mjs";
|
|
35
35
|
import "../chunk-G4GAKTUO.mjs";
|
|
36
36
|
import "../chunk-WZ6PXGGC.mjs";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MyModalDelete
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-BP2L3A7N.mjs";
|
|
4
4
|
import "../chunk-SUH3FFFV.mjs";
|
|
5
5
|
import "../chunk-2B2FKBKX.mjs";
|
|
6
|
+
import "../chunk-IUTUR43V.mjs";
|
|
6
7
|
import "../chunk-7PUDC2WF.mjs";
|
|
7
8
|
import "../chunk-EWDS5IOF.mjs";
|
|
8
|
-
import "../chunk-IUTUR43V.mjs";
|
|
9
9
|
import "../chunk-K6S7R6LU.mjs";
|
|
10
10
|
import {
|
|
11
11
|
useMyReactMutation
|
|
@@ -115,12 +115,12 @@ import {
|
|
|
115
115
|
MailTemplateDeleteButton,
|
|
116
116
|
useS_authenticate,
|
|
117
117
|
useS_moduleConfig
|
|
118
|
-
} from "../chunk-
|
|
118
|
+
} from "../chunk-BP2L3A7N.mjs";
|
|
119
119
|
import "../chunk-SUH3FFFV.mjs";
|
|
120
120
|
import "../chunk-2B2FKBKX.mjs";
|
|
121
|
+
import "../chunk-IUTUR43V.mjs";
|
|
121
122
|
import "../chunk-7PUDC2WF.mjs";
|
|
122
123
|
import "../chunk-EWDS5IOF.mjs";
|
|
123
|
-
import "../chunk-IUTUR43V.mjs";
|
|
124
124
|
import "../chunk-K6S7R6LU.mjs";
|
|
125
125
|
import "../chunk-G4GAKTUO.mjs";
|
|
126
126
|
import "../chunk-WZ6PXGGC.mjs";
|