aq-fe-framework 0.1.886 → 0.1.888
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-PGV27XKS.mjs → chunk-AHTTLRL5.mjs} +204 -166
- package/dist/{chunk-IRA4J5UX.mjs → chunk-PHIQKJYJ.mjs} +2 -2
- package/dist/components/index.mjs +3 -3
- package/dist/core/index.mjs +3 -3
- package/dist/modules-features/index.mjs +3 -3
- package/dist/shared/index.mjs +3 -3
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils-v2/index.d.mts +2 -2
- package/dist/utils-v2/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createGenericStore,
|
|
3
|
-
useAppStore,
|
|
4
|
-
useStore_Permission
|
|
5
|
-
} from "./chunk-3P5GXZPO.mjs";
|
|
6
|
-
import {
|
|
7
|
-
utils_date,
|
|
8
|
-
utils_mantineReactTable
|
|
9
|
-
} from "./chunk-IRA4J5UX.mjs";
|
|
10
1
|
import {
|
|
11
2
|
utils_aq_mapBaseEntityToDomain,
|
|
12
3
|
utils_aq_mapDomainToEntity,
|
|
@@ -18,6 +9,15 @@ import {
|
|
|
18
9
|
utils_file_fileToAQDocumentType,
|
|
19
10
|
utils_pdf_download
|
|
20
11
|
} from "./chunk-E4JVWPXS.mjs";
|
|
12
|
+
import {
|
|
13
|
+
createGenericStore,
|
|
14
|
+
useAppStore,
|
|
15
|
+
useStore_Permission
|
|
16
|
+
} from "./chunk-3P5GXZPO.mjs";
|
|
17
|
+
import {
|
|
18
|
+
utils_date,
|
|
19
|
+
utils_mantineReactTable
|
|
20
|
+
} from "./chunk-PHIQKJYJ.mjs";
|
|
21
21
|
import {
|
|
22
22
|
baseColumns
|
|
23
23
|
} from "./chunk-O7YCQQO5.mjs";
|
|
@@ -266,6 +266,7 @@ function MyButton(_a) {
|
|
|
266
266
|
// src/core/button/MyButtonCreateUpdate.tsx
|
|
267
267
|
import { Modal, ScrollArea, Space, Tooltip, useMantineColorScheme as useMantineColorScheme3 } from "@mantine/core";
|
|
268
268
|
import { useDisclosure } from "@mantine/hooks";
|
|
269
|
+
import { notifications } from "@mantine/notifications";
|
|
269
270
|
|
|
270
271
|
// src/core/layout/MyFlexColumn.tsx
|
|
271
272
|
import { Flex } from "@mantine/core";
|
|
@@ -316,6 +317,13 @@ function MyButtonCreateUpdate({
|
|
|
316
317
|
onSuccess == null ? void 0 : onSuccess(...args);
|
|
317
318
|
},
|
|
318
319
|
onError: (error) => {
|
|
320
|
+
if (error.message != null) {
|
|
321
|
+
notifications.show({
|
|
322
|
+
color: "red",
|
|
323
|
+
message: error.message
|
|
324
|
+
});
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
319
327
|
let parsed;
|
|
320
328
|
try {
|
|
321
329
|
parsed = JSON.parse(error.message);
|
|
@@ -995,11 +1003,11 @@ function MyLabelValueRow({
|
|
|
995
1003
|
groupProps
|
|
996
1004
|
}) {
|
|
997
1005
|
return /* @__PURE__ */ jsxs10(Group5, __spreadProps(__spreadValues({ gap: 5, wrap: "nowrap" }, groupProps), { children: [
|
|
998
|
-
/* @__PURE__ */ jsxs10(Text5, __spreadProps(__spreadValues({ fw: 600 }, labelProps), { children: [
|
|
1006
|
+
/* @__PURE__ */ jsxs10(Text5, __spreadProps(__spreadValues({ fw: 600, size: "sm" }, labelProps), { children: [
|
|
999
1007
|
label,
|
|
1000
1008
|
":"
|
|
1001
1009
|
] })),
|
|
1002
|
-
/* @__PURE__ */ jsx18(Text5, __spreadProps(__spreadValues({}, valueProps), { children: value }))
|
|
1010
|
+
/* @__PURE__ */ jsx18(Text5, __spreadProps(__spreadValues({ size: "sm" }, valueProps), { children: value }))
|
|
1003
1011
|
] }));
|
|
1004
1012
|
}
|
|
1005
1013
|
|
|
@@ -9266,10 +9274,10 @@ function AcademicYearExport({ data: data2, table }) {
|
|
|
9266
9274
|
};
|
|
9267
9275
|
const exportData = data2.map((item) => {
|
|
9268
9276
|
return __spreadProps(__spreadValues({}, item), {
|
|
9269
|
-
academicYearStart: item.academicYearStart ? utils_date.
|
|
9270
|
-
academicYearEnd: item.academicYearEnd ? utils_date.
|
|
9271
|
-
administrativeYearStart: item.administrativeYearStart ? utils_date.
|
|
9272
|
-
administrativeYearEnd: item.administrativeYearEnd ? utils_date.
|
|
9277
|
+
academicYearStart: item.academicYearStart ? utils_date.toDDMMYYYY(item.academicYearStart) : void 0,
|
|
9278
|
+
academicYearEnd: item.academicYearEnd ? utils_date.toDDMMYYYY(item.academicYearEnd) : void 0,
|
|
9279
|
+
administrativeYearStart: item.administrativeYearStart ? utils_date.toDDMMYYYY(item.administrativeYearStart) : void 0,
|
|
9280
|
+
administrativeYearEnd: item.administrativeYearEnd ? utils_date.toDDMMYYYY(item.administrativeYearEnd) : void 0
|
|
9273
9281
|
});
|
|
9274
9282
|
});
|
|
9275
9283
|
return /* @__PURE__ */ jsx82(
|
|
@@ -9278,10 +9286,10 @@ function AcademicYearExport({ data: data2, table }) {
|
|
|
9278
9286
|
objectName: "Danh m\u1EE5c n\u0103m h\u1ECDc",
|
|
9279
9287
|
data: table.getIsAllPageRowsSelected() ? exportData : table.getSelectedRowModel().rows.map((item) => {
|
|
9280
9288
|
return __spreadProps(__spreadValues({}, item.original), {
|
|
9281
|
-
academicYearStart: item.original.academicYearStart ? utils_date.
|
|
9282
|
-
academicYearEnd: item.original.academicYearEnd ? utils_date.
|
|
9283
|
-
administrativeYearStart: item.original.administrativeYearStart ? utils_date.
|
|
9284
|
-
administrativeYearEnd: item.original.administrativeYearEnd ? utils_date.
|
|
9289
|
+
academicYearStart: item.original.academicYearStart ? utils_date.toDDMMYYYY(item.original.academicYearStart) : void 0,
|
|
9290
|
+
academicYearEnd: item.original.academicYearEnd ? utils_date.toDDMMYYYY(item.original.academicYearEnd) : void 0,
|
|
9291
|
+
administrativeYearStart: item.original.administrativeYearStart ? utils_date.toDDMMYYYY(item.original.administrativeYearStart) : void 0,
|
|
9292
|
+
administrativeYearEnd: item.original.administrativeYearEnd ? utils_date.toDDMMYYYY(item.original.administrativeYearEnd) : void 0
|
|
9285
9293
|
});
|
|
9286
9294
|
}),
|
|
9287
9295
|
exportConfig: exportConfig3
|
|
@@ -9782,22 +9790,22 @@ function AcademicYearsRead() {
|
|
|
9782
9790
|
{
|
|
9783
9791
|
header: "Ng\xE0y b\u1EAFt \u0111\u1EA7u n\u0103m h\u1ECDc",
|
|
9784
9792
|
accessorKey: "startDate",
|
|
9785
|
-
accessorFn: (row) => utils_date.
|
|
9793
|
+
accessorFn: (row) => utils_date.toDDMMYYYY(row.academicYearStart)
|
|
9786
9794
|
},
|
|
9787
9795
|
{
|
|
9788
9796
|
header: "Ng\xE0y k\u1EBFt th\xFAc n\u0103m h\u1ECDc",
|
|
9789
9797
|
accessorKey: "endDate",
|
|
9790
|
-
accessorFn: (row) => utils_date.
|
|
9798
|
+
accessorFn: (row) => utils_date.toDDMMYYYY(row.academicYearEnd)
|
|
9791
9799
|
},
|
|
9792
9800
|
{
|
|
9793
9801
|
header: "Ng\xE0y b\u1EAFt \u0111\u1EA7u n\u0103m h\xE0nh ch\xEDnh",
|
|
9794
9802
|
accessorKey: "startDateHC",
|
|
9795
|
-
accessorFn: (row) => utils_date.
|
|
9803
|
+
accessorFn: (row) => utils_date.toDDMMYYYY(row.administrativeYearStart)
|
|
9796
9804
|
},
|
|
9797
9805
|
{
|
|
9798
9806
|
header: "Ng\xE0y k\u1EBFt th\xFAc n\u0103m h\xE0nh ch\xEDnh",
|
|
9799
9807
|
accessorKey: "endDateHC",
|
|
9800
|
-
accessorFn: (row) => utils_date.
|
|
9808
|
+
accessorFn: (row) => utils_date.toDDMMYYYY(row.administrativeYearEnd)
|
|
9801
9809
|
},
|
|
9802
9810
|
{
|
|
9803
9811
|
header: "Hi\u1EC7n h\xE0nh",
|
|
@@ -13882,7 +13890,7 @@ function EmailTemplateButtonImport({ emailTemplateEnum }) {
|
|
|
13882
13890
|
// src/modules-features/admin/core/EmailTemplate/EmailTemplateCreateUpdateButton.tsx
|
|
13883
13891
|
import { Button as Button19, Grid as Grid6 } from "@mantine/core";
|
|
13884
13892
|
import { useForm as useForm26 } from "@mantine/form";
|
|
13885
|
-
import { notifications } from "@mantine/notifications";
|
|
13893
|
+
import { notifications as notifications2 } from "@mantine/notifications";
|
|
13886
13894
|
import { useEffect as useEffect27, useMemo as useMemo24 } from "react";
|
|
13887
13895
|
import { jsx as jsx171, jsxs as jsxs94 } from "react/jsx-runtime";
|
|
13888
13896
|
var getDefaultBodyFortype1 = () => {
|
|
@@ -13990,7 +13998,7 @@ function EmailTemplateCreateUpdateButton({ initValue, emailTemplateEnum }) {
|
|
|
13990
13998
|
const typeName = emailTemplateEnum[values.type || 0] || `Type ${values.type}`;
|
|
13991
13999
|
const errorMessage = `Lo\u1EA1i h\xE0nh \u0111\u1ED9ng "${typeName}" \u0111\xE3 t\u1ED3n t\u1EA1i. Ch\u1EC9 \u0111\u01B0\u1EE3c t\u1EA1o 1 Template trong 1 lo\u1EA1i h\xE0nh \u0111\u1ED9ng.`;
|
|
13992
14000
|
form.setFieldError("type", errorMessage);
|
|
13993
|
-
|
|
14001
|
+
notifications2.show({
|
|
13994
14002
|
title: "L\u1ED7i t\u1EA1o template",
|
|
13995
14003
|
message: errorMessage,
|
|
13996
14004
|
color: "red",
|
|
@@ -14446,7 +14454,7 @@ function SubRead4({
|
|
|
14446
14454
|
},
|
|
14447
14455
|
{
|
|
14448
14456
|
header: "Ng\xE0y ban h\xE0nh",
|
|
14449
|
-
accessorFn: (row) => utils_date.
|
|
14457
|
+
accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.promulgateDate))
|
|
14450
14458
|
},
|
|
14451
14459
|
{
|
|
14452
14460
|
header: "T\xEAn t\xE0i li\u1EC7u",
|
|
@@ -15380,7 +15388,7 @@ function SubRead5({
|
|
|
15380
15388
|
},
|
|
15381
15389
|
{
|
|
15382
15390
|
header: "Ng\xE0y ban h\xE0nh",
|
|
15383
|
-
accessorFn: (row) => utils_date.
|
|
15391
|
+
accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.promulgateDate))
|
|
15384
15392
|
},
|
|
15385
15393
|
{
|
|
15386
15394
|
header: "T\xEAn t\xE0i li\u1EC7u",
|
|
@@ -15577,7 +15585,7 @@ function Feat_PageContentTable({ menuData }) {
|
|
|
15577
15585
|
|
|
15578
15586
|
// src/modules-features/admin/core/pageContentConfig/F_pageContentConfig_ReadMenu.tsx
|
|
15579
15587
|
import { Group as Group32 } from "@mantine/core";
|
|
15580
|
-
import { notifications as
|
|
15588
|
+
import { notifications as notifications3 } from "@mantine/notifications";
|
|
15581
15589
|
import { useMemo as useMemo33, useState as useState24 } from "react";
|
|
15582
15590
|
|
|
15583
15591
|
// src/modules-features/admin/core/pageContentConfig/F_pageContentConfig_Export.tsx
|
|
@@ -15682,7 +15690,7 @@ function F_pageContentConfig_ReadMenu({ menuData }) {
|
|
|
15682
15690
|
});
|
|
15683
15691
|
setEditedDescriptions((prev) => __spreadValues(__spreadValues({}, prev), updated));
|
|
15684
15692
|
table.resetRowSelection();
|
|
15685
|
-
|
|
15693
|
+
notifications3.show({
|
|
15686
15694
|
message: "X\xF3a th\xE0nh c\xF4ng",
|
|
15687
15695
|
color: "green"
|
|
15688
15696
|
});
|
|
@@ -16130,7 +16138,7 @@ function Adapter_UserTable(_a) {
|
|
|
16130
16138
|
|
|
16131
16139
|
// src/modules/User/adapter/Adapter_UserAddToRole.tsx
|
|
16132
16140
|
import { useDisclosure as useDisclosure16 } from "@mantine/hooks";
|
|
16133
|
-
import { notifications as
|
|
16141
|
+
import { notifications as notifications4 } from "@mantine/notifications";
|
|
16134
16142
|
import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
|
|
16135
16143
|
import { useEffect as useEffect35, useState as useState26 } from "react";
|
|
16136
16144
|
import { jsx as jsx214 } from "react/jsx-runtime";
|
|
@@ -16165,7 +16173,7 @@ function Adapter_UserAddToRole({
|
|
|
16165
16173
|
onSuccess: () => {
|
|
16166
16174
|
disc[1].close();
|
|
16167
16175
|
queryClient.invalidateQueries();
|
|
16168
|
-
|
|
16176
|
+
notifications4.show({
|
|
16169
16177
|
message: "C\u1EADp nh\u1EADt th\xE0nh c\xF4ng",
|
|
16170
16178
|
color: "green"
|
|
16171
16179
|
});
|
|
@@ -17216,7 +17224,7 @@ function SubRead6({
|
|
|
17216
17224
|
},
|
|
17217
17225
|
{
|
|
17218
17226
|
header: "Ng\xE0y ban h\xE0nh",
|
|
17219
|
-
accessorFn: (row) => utils_date.
|
|
17227
|
+
accessorFn: (row) => utils_date.toDDMMYYYY(new Date(row.promulgateDate))
|
|
17220
17228
|
},
|
|
17221
17229
|
{
|
|
17222
17230
|
header: "T\xEAn t\xE0i li\u1EC7u",
|
|
@@ -17289,7 +17297,7 @@ import {
|
|
|
17289
17297
|
Title as Title2
|
|
17290
17298
|
} from "@mantine/core";
|
|
17291
17299
|
import { useForm as useForm44 } from "@mantine/form";
|
|
17292
|
-
import { notifications as
|
|
17300
|
+
import { notifications as notifications5 } from "@mantine/notifications";
|
|
17293
17301
|
import { useMutation as useMutation4 } from "@tanstack/react-query";
|
|
17294
17302
|
import Link4 from "next/link.js";
|
|
17295
17303
|
import { useRouter as useRouter4 } from "next/navigation.js";
|
|
@@ -17383,7 +17391,7 @@ function Feat_Authenticate_Login({
|
|
|
17383
17391
|
router.replace(redirectUrlAfterLogin);
|
|
17384
17392
|
},
|
|
17385
17393
|
onError: (error) => {
|
|
17386
|
-
|
|
17394
|
+
notifications5.show({
|
|
17387
17395
|
message: "C\xF3 l\u1ED7i x\u1EA3y ra vui l\xF2ng th\u1EED l\u1EA1i",
|
|
17388
17396
|
color: "red"
|
|
17389
17397
|
});
|
|
@@ -17761,6 +17769,19 @@ function User_AvatarMenu() {
|
|
|
17761
17769
|
] });
|
|
17762
17770
|
}
|
|
17763
17771
|
|
|
17772
|
+
// src/modules/User/components/SessionUserInfo/User_SessionUserInfo.tsx
|
|
17773
|
+
import { Card as Card5 } from "@mantine/core";
|
|
17774
|
+
import { jsx as jsx245, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
17775
|
+
function User_SessionUserInfo() {
|
|
17776
|
+
const authenticateStore = useStore_Authenticate();
|
|
17777
|
+
const fullName = authenticateStore.state.fullName || null;
|
|
17778
|
+
const code = authenticateStore.state.code || null;
|
|
17779
|
+
return /* @__PURE__ */ jsxs135(Card5, { bg: const_object_colors.mantineBackgroundTealLight, children: [
|
|
17780
|
+
/* @__PURE__ */ jsx245(MyLabelValueRow, { label: "T\xE0i kho\u1EA3n", value: code }),
|
|
17781
|
+
/* @__PURE__ */ jsx245(MyLabelValueRow, { label: "H\u1ECD v\xE0 t\xEAn", value: fullName })
|
|
17782
|
+
] });
|
|
17783
|
+
}
|
|
17784
|
+
|
|
17764
17785
|
// src/components/Layouts/BasicAppShell/utils.ts
|
|
17765
17786
|
function findBreadcrumbPath(items, currentPath, parents = []) {
|
|
17766
17787
|
for (const item of items) {
|
|
@@ -17880,7 +17901,7 @@ function extractLinkedMenuItems(menu) {
|
|
|
17880
17901
|
}
|
|
17881
17902
|
|
|
17882
17903
|
// src/components/Layouts/BasicAppShell/BasicAppShell.tsx
|
|
17883
|
-
import { jsx as
|
|
17904
|
+
import { jsx as jsx246, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
17884
17905
|
function base64ToFaviconUrl(base64, ext) {
|
|
17885
17906
|
const byteCharacters = atob(base64.trim());
|
|
17886
17907
|
const byteArray = new Uint8Array([...byteCharacters].map((c4) => c4.charCodeAt(0)));
|
|
@@ -17974,25 +17995,25 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
|
|
|
17974
17995
|
}
|
|
17975
17996
|
}, [pathname, allChildItems, filteredMenu, readablePageIds, pageContentQuery.data]);
|
|
17976
17997
|
const canAccess = isDev || isAccessible || permissionStore.state.isSuperAdmin;
|
|
17977
|
-
const renderHeader = () => /* @__PURE__ */
|
|
17978
|
-
/* @__PURE__ */
|
|
17979
|
-
/* @__PURE__ */
|
|
17980
|
-
/* @__PURE__ */
|
|
17998
|
+
const renderHeader = () => /* @__PURE__ */ jsx246(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs136(Group37, { h: "100%", px: "md", justify: "space-between", children: [
|
|
17999
|
+
/* @__PURE__ */ jsxs136(Group37, { h: "100%", children: [
|
|
18000
|
+
/* @__PURE__ */ jsx246(Tooltip7, { label: appShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx246(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx246(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx246(IconLayoutSidebarLeftCollapse, {}) }) }),
|
|
18001
|
+
/* @__PURE__ */ jsx246(Tooltip7, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx246(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.clearGroupMenuOpenId, children: /* @__PURE__ */ jsx246(IconLibraryMinus, {}) }) })
|
|
17981
18002
|
] }),
|
|
17982
|
-
/* @__PURE__ */
|
|
17983
|
-
/* @__PURE__ */
|
|
18003
|
+
/* @__PURE__ */ jsx246(Tooltip7, { label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`, children: /* @__PURE__ */ jsx246(Group37, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx246(Text27, { c: "green", fw: "bold", size: "sm", children: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}` }) }) }),
|
|
18004
|
+
/* @__PURE__ */ jsxs136(Group37, { children: [
|
|
17984
18005
|
extraTopRight,
|
|
17985
|
-
/* @__PURE__ */
|
|
17986
|
-
/* @__PURE__ */
|
|
18006
|
+
/* @__PURE__ */ jsx246(MySwitchTheme, {}),
|
|
18007
|
+
/* @__PURE__ */ jsx246(User_AvatarMenu, {})
|
|
17987
18008
|
] })
|
|
17988
|
-
] }) : /* @__PURE__ */
|
|
17989
|
-
/* @__PURE__ */
|
|
17990
|
-
/* @__PURE__ */
|
|
18009
|
+
] }) : /* @__PURE__ */ jsxs136(Group37, { h: "100%", px: "md", justify: "space-between", children: [
|
|
18010
|
+
/* @__PURE__ */ jsx246(ActionIcon12, { variant: "default", size: "lg", radius: "md", onClick: appShellStore.toggle, children: appShellStore.state.opened ? /* @__PURE__ */ jsx246(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx246(IconLayoutSidebarLeftCollapse, {}) }),
|
|
18011
|
+
/* @__PURE__ */ jsx246(
|
|
17991
18012
|
Tooltip7,
|
|
17992
18013
|
{
|
|
17993
18014
|
label: title || `${appShellStore.state.moduleCode} - ${appShellStore.state.moduleName}`,
|
|
17994
18015
|
withArrow: true,
|
|
17995
|
-
children: /* @__PURE__ */
|
|
18016
|
+
children: /* @__PURE__ */ jsx246(
|
|
17996
18017
|
Text27,
|
|
17997
18018
|
{
|
|
17998
18019
|
c: "green",
|
|
@@ -18013,21 +18034,23 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
|
|
|
18013
18034
|
)
|
|
18014
18035
|
}
|
|
18015
18036
|
),
|
|
18016
|
-
/* @__PURE__ */
|
|
18037
|
+
/* @__PURE__ */ jsxs136(Group37, { children: [
|
|
18017
18038
|
extraTopRight,
|
|
18018
|
-
/* @__PURE__ */
|
|
18019
|
-
/* @__PURE__ */
|
|
18039
|
+
/* @__PURE__ */ jsx246(MySwitchTheme, {}),
|
|
18040
|
+
/* @__PURE__ */ jsx246(User_AvatarMenu, {})
|
|
18020
18041
|
] })
|
|
18021
18042
|
] }) });
|
|
18022
18043
|
const renderNavbar = () => {
|
|
18023
18044
|
var _a, _b;
|
|
18024
|
-
return /* @__PURE__ */
|
|
18025
|
-
/* @__PURE__ */
|
|
18026
|
-
/* @__PURE__ */
|
|
18027
|
-
/* @__PURE__ */
|
|
18028
|
-
/* @__PURE__ */
|
|
18029
|
-
/* @__PURE__ */
|
|
18030
|
-
/* @__PURE__ */
|
|
18045
|
+
return /* @__PURE__ */ jsxs136(AppShell.Navbar, { children: [
|
|
18046
|
+
/* @__PURE__ */ jsx246(MyAppSpotlight, { menu: filteredMenu }),
|
|
18047
|
+
/* @__PURE__ */ jsx246(AppShell.Section, { grow: true, component: ScrollArea6, p: 5, children: /* @__PURE__ */ jsx246(RenderNavLinks, { items: filteredMenu }) }),
|
|
18048
|
+
/* @__PURE__ */ jsxs136(AppShell.Section, { px: "md", children: [
|
|
18049
|
+
/* @__PURE__ */ jsx246(Divider4, {}),
|
|
18050
|
+
/* @__PURE__ */ jsx246(User_SessionUserInfo, {}),
|
|
18051
|
+
/* @__PURE__ */ jsx246(Divider4, {}),
|
|
18052
|
+
/* @__PURE__ */ jsx246(Feat_Authenticate_Logout, { redirectURL: logoutRedirect }),
|
|
18053
|
+
/* @__PURE__ */ jsx246(
|
|
18031
18054
|
Image4,
|
|
18032
18055
|
{
|
|
18033
18056
|
fit: "contain",
|
|
@@ -18041,11 +18064,11 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
|
|
|
18041
18064
|
] })
|
|
18042
18065
|
] });
|
|
18043
18066
|
};
|
|
18044
|
-
const renderMain = () => /* @__PURE__ */
|
|
18045
|
-
/* @__PURE__ */
|
|
18046
|
-
/* @__PURE__ */
|
|
18067
|
+
const renderMain = () => /* @__PURE__ */ jsx246(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children: isLoadingPermission ? /* @__PURE__ */ jsx246("div", { style: { padding: "2rem", textAlign: "center" }, children: /* @__PURE__ */ jsx246(Text27, { fw: 600, size: "md", children: "\u0110ang t\u1EA3i quy\u1EC1n truy c\u1EADp..." }) }) : canAccess ? children : /* @__PURE__ */ jsxs136("div", { style: { padding: "2rem", textAlign: "center" }, children: [
|
|
18068
|
+
/* @__PURE__ */ jsx246("h1", { children: "404 - Kh\xF4ng t\xECm th\u1EA5y trang" }),
|
|
18069
|
+
/* @__PURE__ */ jsx246("p", { children: "B\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n truy c\u1EADp ho\u1EB7c \u0111\u01B0\u1EDDng d\u1EABn kh\xF4ng t\u1ED3n t\u1EA1i." })
|
|
18047
18070
|
] }) });
|
|
18048
|
-
return /* @__PURE__ */
|
|
18071
|
+
return /* @__PURE__ */ jsxs136(
|
|
18049
18072
|
AppShell,
|
|
18050
18073
|
{
|
|
18051
18074
|
header: { height: 60 },
|
|
@@ -18069,10 +18092,10 @@ function BasicAppShell({ children, menu, extraTopRight, title, logoutRedirect, i
|
|
|
18069
18092
|
|
|
18070
18093
|
// src/components/Layouts/Container/MyContainer.tsx
|
|
18071
18094
|
import { Container, Flex as Flex9 } from "@mantine/core";
|
|
18072
|
-
import { jsx as
|
|
18095
|
+
import { jsx as jsx247 } from "react/jsx-runtime";
|
|
18073
18096
|
function MyContainer(_a) {
|
|
18074
18097
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
|
18075
|
-
return /* @__PURE__ */
|
|
18098
|
+
return /* @__PURE__ */ jsx247(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx247(Flex9, { direction: "column", children }) }));
|
|
18076
18099
|
}
|
|
18077
18100
|
|
|
18078
18101
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
|
@@ -18118,7 +18141,7 @@ function useHeaderMegaMenuStore() {
|
|
|
18118
18141
|
}
|
|
18119
18142
|
|
|
18120
18143
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
|
18121
|
-
import { jsx as
|
|
18144
|
+
import { jsx as jsx248, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
18122
18145
|
var mockdata = [
|
|
18123
18146
|
{
|
|
18124
18147
|
icon: IconCode,
|
|
@@ -18156,27 +18179,27 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
18156
18179
|
const [linksOpened, { toggle: toggleLinks }] = useDisclosure19(false);
|
|
18157
18180
|
const HeaderMegaMenuStore = useHeaderMegaMenuStore();
|
|
18158
18181
|
const theme = useMantineTheme();
|
|
18159
|
-
const links = mockdata.map((item) => /* @__PURE__ */
|
|
18160
|
-
/* @__PURE__ */
|
|
18161
|
-
/* @__PURE__ */
|
|
18162
|
-
/* @__PURE__ */
|
|
18163
|
-
/* @__PURE__ */
|
|
18182
|
+
const links = mockdata.map((item) => /* @__PURE__ */ jsx248(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs137(Group38, { wrap: "nowrap", align: "flex-start", children: [
|
|
18183
|
+
/* @__PURE__ */ jsx248(ThemeIcon3, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx248(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
|
|
18184
|
+
/* @__PURE__ */ jsxs137("div", { children: [
|
|
18185
|
+
/* @__PURE__ */ jsx248(Text28, { size: "sm", fw: 500, children: item.title }),
|
|
18186
|
+
/* @__PURE__ */ jsx248(Text28, { size: "xs", c: "dimmed", children: item.description })
|
|
18164
18187
|
] })
|
|
18165
18188
|
] }) }, item.title));
|
|
18166
|
-
return /* @__PURE__ */
|
|
18167
|
-
/* @__PURE__ */
|
|
18168
|
-
/* @__PURE__ */
|
|
18169
|
-
/* @__PURE__ */
|
|
18170
|
-
/* @__PURE__ */
|
|
18189
|
+
return /* @__PURE__ */ jsxs137(Box6, { children: [
|
|
18190
|
+
/* @__PURE__ */ jsx248("header", { className: css_default.header, children: /* @__PURE__ */ jsxs137(Group38, { justify: "space-between", h: "100%", children: [
|
|
18191
|
+
/* @__PURE__ */ jsxs137(Group38, { children: [
|
|
18192
|
+
/* @__PURE__ */ jsx248(Image5, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
|
|
18193
|
+
/* @__PURE__ */ jsx248(Group38, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx248(Button26, { component: Link5, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
|
|
18171
18194
|
] }),
|
|
18172
|
-
/* @__PURE__ */
|
|
18173
|
-
/* @__PURE__ */
|
|
18174
|
-
/* @__PURE__ */
|
|
18195
|
+
/* @__PURE__ */ jsxs137(Group38, { children: [
|
|
18196
|
+
/* @__PURE__ */ jsx248(TextInput12, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx248(IconSearch6, {}), radius: "xl", w: "250px" }),
|
|
18197
|
+
/* @__PURE__ */ jsx248(MySwitchTheme, {})
|
|
18175
18198
|
] }),
|
|
18176
|
-
/* @__PURE__ */
|
|
18199
|
+
/* @__PURE__ */ jsx248(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
|
|
18177
18200
|
] }) }),
|
|
18178
|
-
/* @__PURE__ */
|
|
18179
|
-
/* @__PURE__ */
|
|
18201
|
+
/* @__PURE__ */ jsx248(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
|
|
18202
|
+
/* @__PURE__ */ jsx248(
|
|
18180
18203
|
Drawer,
|
|
18181
18204
|
{
|
|
18182
18205
|
opened: drawerOpened,
|
|
@@ -18186,10 +18209,10 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
18186
18209
|
title: "Navigation",
|
|
18187
18210
|
hiddenFrom: "sm",
|
|
18188
18211
|
zIndex: 1e6,
|
|
18189
|
-
children: /* @__PURE__ */
|
|
18190
|
-
/* @__PURE__ */
|
|
18191
|
-
/* @__PURE__ */
|
|
18192
|
-
/* @__PURE__ */
|
|
18212
|
+
children: /* @__PURE__ */ jsxs137(ScrollArea7, { h: "calc(100vh - 80px", mx: "-md", children: [
|
|
18213
|
+
/* @__PURE__ */ jsx248(Divider5, { my: "sm" }),
|
|
18214
|
+
/* @__PURE__ */ jsx248(MyFlexColumn2, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx248(Button26, { component: Link5, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
|
|
18215
|
+
/* @__PURE__ */ jsx248(Divider5, { my: "sm" })
|
|
18193
18216
|
] })
|
|
18194
18217
|
}
|
|
18195
18218
|
)
|
|
@@ -18210,7 +18233,7 @@ var service_aq = __spreadProps(__spreadValues({}, createBaseApi(CONTROLLER12, ba
|
|
|
18210
18233
|
// src/components/Layouts/PageContent/MyPageContent.tsx
|
|
18211
18234
|
import { Badge as Badge6, Breadcrumbs, Center as Center12, Container as Container3, Divider as Divider6, Flex as Flex10, Group as Group39, Stack as Stack11, Text as Text29, Title as Title4, Tooltip as Tooltip8 } from "@mantine/core";
|
|
18212
18235
|
import { useClipboard, useDisclosure as useDisclosure20 } from "@mantine/hooks";
|
|
18213
|
-
import { notifications as
|
|
18236
|
+
import { notifications as notifications6 } from "@mantine/notifications";
|
|
18214
18237
|
import { IconBrandParsinta } from "@tabler/icons-react";
|
|
18215
18238
|
import { useEffect as useEffect42 } from "react";
|
|
18216
18239
|
|
|
@@ -18237,7 +18260,7 @@ function getFinalLinkVieo(url) {
|
|
|
18237
18260
|
}
|
|
18238
18261
|
|
|
18239
18262
|
// src/components/Layouts/PageContent/MyPageContent.tsx
|
|
18240
|
-
import { jsx as
|
|
18263
|
+
import { jsx as jsx249, jsxs as jsxs138 } from "react/jsx-runtime";
|
|
18241
18264
|
var getStatusColor = (status) => {
|
|
18242
18265
|
switch (status) {
|
|
18243
18266
|
case "Prototype":
|
|
@@ -18250,10 +18273,10 @@ var getStatusColor = (status) => {
|
|
|
18250
18273
|
};
|
|
18251
18274
|
function PageTitle({ title, status, note }) {
|
|
18252
18275
|
const color = getStatusColor(status);
|
|
18253
|
-
return /* @__PURE__ */
|
|
18254
|
-
/* @__PURE__ */
|
|
18255
|
-
/* @__PURE__ */
|
|
18256
|
-
status && /* @__PURE__ */
|
|
18276
|
+
return /* @__PURE__ */ jsx249(Group39, { children: /* @__PURE__ */ jsxs138(MyFlexColumn2, { gap: 0, children: [
|
|
18277
|
+
/* @__PURE__ */ jsxs138(Group39, { align: "center", children: [
|
|
18278
|
+
/* @__PURE__ */ jsx249(Title4, { order: 3, children: title }),
|
|
18279
|
+
status && /* @__PURE__ */ jsx249(
|
|
18257
18280
|
Badge6,
|
|
18258
18281
|
{
|
|
18259
18282
|
variant: "gradient",
|
|
@@ -18264,7 +18287,7 @@ function PageTitle({ title, status, note }) {
|
|
|
18264
18287
|
}
|
|
18265
18288
|
)
|
|
18266
18289
|
] }),
|
|
18267
|
-
/* @__PURE__ */
|
|
18290
|
+
/* @__PURE__ */ jsx249(Text29, { size: "lg", c: "dimmed", fs: "italic", children: note })
|
|
18268
18291
|
] }) });
|
|
18269
18292
|
}
|
|
18270
18293
|
function MyPageContent({
|
|
@@ -18292,13 +18315,13 @@ function MyPageContent({
|
|
|
18292
18315
|
if (!query.data) return;
|
|
18293
18316
|
basicAppShellStore.setProperty("fileGuildDetail", query.data);
|
|
18294
18317
|
}, [query.data]);
|
|
18295
|
-
return /* @__PURE__ */
|
|
18296
|
-
/* @__PURE__ */
|
|
18297
|
-
/* @__PURE__ */
|
|
18298
|
-
/* @__PURE__ */
|
|
18299
|
-
/* @__PURE__ */
|
|
18300
|
-
/* @__PURE__ */
|
|
18301
|
-
/* @__PURE__ */
|
|
18318
|
+
return /* @__PURE__ */ jsxs138(Container3, { p: 0, fluid: true, children: [
|
|
18319
|
+
/* @__PURE__ */ jsxs138(Group39, { justify: "space-between", children: [
|
|
18320
|
+
/* @__PURE__ */ jsxs138(Group39, { children: [
|
|
18321
|
+
/* @__PURE__ */ jsx249(MyButtonRouterBack, {}),
|
|
18322
|
+
/* @__PURE__ */ jsxs138(Stack11, { gap: 2, children: [
|
|
18323
|
+
/* @__PURE__ */ jsxs138(Flex10, { align: "center", gap: "10", children: [
|
|
18324
|
+
/* @__PURE__ */ jsx249(
|
|
18302
18325
|
PageTitle,
|
|
18303
18326
|
{
|
|
18304
18327
|
title: finalTitle,
|
|
@@ -18306,7 +18329,7 @@ function MyPageContent({
|
|
|
18306
18329
|
note: basicAppShellStore.state.note
|
|
18307
18330
|
}
|
|
18308
18331
|
),
|
|
18309
|
-
/* @__PURE__ */
|
|
18332
|
+
/* @__PURE__ */ jsx249(Tooltip8, { label: "Xem video h\u01B0\u1EDBng d\u1EABn", children: /* @__PURE__ */ jsx249(
|
|
18310
18333
|
MyButtonModal,
|
|
18311
18334
|
{
|
|
18312
18335
|
isActionIcon: true,
|
|
@@ -18319,11 +18342,11 @@ function MyPageContent({
|
|
|
18319
18342
|
size: "80%"
|
|
18320
18343
|
},
|
|
18321
18344
|
actionIconProps: {
|
|
18322
|
-
children: /* @__PURE__ */
|
|
18345
|
+
children: /* @__PURE__ */ jsx249(IconBrandParsinta, {}),
|
|
18323
18346
|
disabled: basicAppShellStore.state.videoLink == void 0 || basicAppShellStore.state.videoLink == "",
|
|
18324
18347
|
color: "red"
|
|
18325
18348
|
},
|
|
18326
|
-
children: /* @__PURE__ */
|
|
18349
|
+
children: /* @__PURE__ */ jsx249(Center12, { h: "67vh", p: "md", children: getFinalLinkVieo(basicAppShellStore.state.videoLink || "") == "" ? "\u0110\u01B0\u1EDDng d\u1EABn video kh\xF4ng h\u1EE3p l\u1EC7" : /* @__PURE__ */ jsx249(
|
|
18327
18350
|
"iframe",
|
|
18328
18351
|
{
|
|
18329
18352
|
width: "90%",
|
|
@@ -18337,7 +18360,7 @@ function MyPageContent({
|
|
|
18337
18360
|
) })
|
|
18338
18361
|
}
|
|
18339
18362
|
) }),
|
|
18340
|
-
/* @__PURE__ */
|
|
18363
|
+
/* @__PURE__ */ jsx249(
|
|
18341
18364
|
MyButtonViewFile,
|
|
18342
18365
|
{
|
|
18343
18366
|
isActionIcon: true,
|
|
@@ -18355,38 +18378,38 @@ function MyPageContent({
|
|
|
18355
18378
|
}
|
|
18356
18379
|
)
|
|
18357
18380
|
] }),
|
|
18358
|
-
/* @__PURE__ */
|
|
18381
|
+
/* @__PURE__ */ jsx249(Text29, { children: basicAppShellStore.state.description })
|
|
18359
18382
|
] }),
|
|
18360
18383
|
leftTopBar
|
|
18361
18384
|
] }),
|
|
18362
|
-
/* @__PURE__ */
|
|
18385
|
+
/* @__PURE__ */ jsxs138(Group39, { p: "md", children: [
|
|
18363
18386
|
rightTopBar,
|
|
18364
|
-
/* @__PURE__ */
|
|
18387
|
+
/* @__PURE__ */ jsx249(Breadcrumbs, { style: { cursor: "pointer" }, separatorMargin: "7", onClick: () => {
|
|
18365
18388
|
var _a2;
|
|
18366
18389
|
clipboard.copy((_a2 = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a2.join(" / "));
|
|
18367
|
-
|
|
18390
|
+
notifications6.show({
|
|
18368
18391
|
message: "Sao ch\xE9p \u0111\u01B0\u1EDDng d\u1EABn menu th\xE0nh c\xF4ng"
|
|
18369
18392
|
});
|
|
18370
|
-
}, children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */
|
|
18393
|
+
}, children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx249(Text29, { fw: "600", c: "blue", children: item }, idx)) })
|
|
18371
18394
|
] })
|
|
18372
18395
|
] }),
|
|
18373
|
-
/* @__PURE__ */
|
|
18396
|
+
/* @__PURE__ */ jsx249(Divider6, { my: "xs" }),
|
|
18374
18397
|
children,
|
|
18375
|
-
/* @__PURE__ */
|
|
18398
|
+
/* @__PURE__ */ jsx249(Divider6, { my: "xs" })
|
|
18376
18399
|
] });
|
|
18377
18400
|
}
|
|
18378
18401
|
|
|
18379
18402
|
// src/components/Layouts/Tab/MyTab.tsx
|
|
18380
18403
|
import { rem, Space as Space10, Tabs as Tabs4 } from "@mantine/core";
|
|
18381
|
-
import { jsx as
|
|
18404
|
+
import { jsx as jsx250, jsxs as jsxs139 } from "react/jsx-runtime";
|
|
18382
18405
|
function MyTab(_a) {
|
|
18383
18406
|
var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
|
|
18384
18407
|
const iconStyle = { width: rem(20), height: rem(20) };
|
|
18385
|
-
return /* @__PURE__ */
|
|
18386
|
-
/* @__PURE__ */
|
|
18387
|
-
return /* @__PURE__ */
|
|
18408
|
+
return /* @__PURE__ */ jsxs139(Tabs4, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
|
|
18409
|
+
/* @__PURE__ */ jsx250(Tabs4.List, { children: tabList.map((item, idx) => {
|
|
18410
|
+
return /* @__PURE__ */ jsx250(Tabs4.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx250(item.icon, { style: iconStyle }), children: item.label }, idx);
|
|
18388
18411
|
}) }),
|
|
18389
|
-
/* @__PURE__ */
|
|
18412
|
+
/* @__PURE__ */ jsx250(Space10, { my: "md" }),
|
|
18390
18413
|
children
|
|
18391
18414
|
] }));
|
|
18392
18415
|
}
|
|
@@ -18395,33 +18418,33 @@ function MyTab(_a) {
|
|
|
18395
18418
|
import { ActionIcon as ActionIcon13, Button as Button27, Fieldset as Fieldset5, Group as Group40, Modal as Modal16 } from "@mantine/core";
|
|
18396
18419
|
import { useDisclosure as useDisclosure21 } from "@mantine/hooks";
|
|
18397
18420
|
import { IconX as IconX4 } from "@tabler/icons-react";
|
|
18398
|
-
import { jsx as
|
|
18421
|
+
import { jsx as jsx251, jsxs as jsxs140 } from "react/jsx-runtime";
|
|
18399
18422
|
function MyDataTableSelect(_a) {
|
|
18400
18423
|
var _b = _a, { modalSize, renderTopToolbarCustomActions, data: data2, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
|
|
18401
18424
|
const disc = useDisclosure21(false);
|
|
18402
18425
|
if (data2 == void 0) return "\u0110ang t\u1EA3i...";
|
|
18403
|
-
return /* @__PURE__ */
|
|
18404
|
-
/* @__PURE__ */
|
|
18426
|
+
return /* @__PURE__ */ jsxs140(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
|
|
18427
|
+
/* @__PURE__ */ jsx251(
|
|
18405
18428
|
MyDataTable,
|
|
18406
18429
|
__spreadValues({
|
|
18407
18430
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
18408
|
-
return /* @__PURE__ */
|
|
18431
|
+
return /* @__PURE__ */ jsxs140(Group40, { children: [
|
|
18409
18432
|
renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
|
|
18410
|
-
/* @__PURE__ */
|
|
18433
|
+
/* @__PURE__ */ jsx251(Button27, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
|
|
18411
18434
|
] });
|
|
18412
18435
|
},
|
|
18413
18436
|
columns,
|
|
18414
18437
|
data: listState[0],
|
|
18415
18438
|
renderRowActions: ({ row }) => {
|
|
18416
|
-
return /* @__PURE__ */
|
|
18439
|
+
return /* @__PURE__ */ jsx251(MyCenterFull, { children: /* @__PURE__ */ jsx251(ActionIcon13, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx251(IconX4, {}) }) });
|
|
18417
18440
|
}
|
|
18418
18441
|
}, rest)
|
|
18419
18442
|
),
|
|
18420
|
-
/* @__PURE__ */
|
|
18443
|
+
/* @__PURE__ */ jsx251(Modal16, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx251(
|
|
18421
18444
|
MyDataTable,
|
|
18422
18445
|
__spreadValues({
|
|
18423
18446
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
18424
|
-
return /* @__PURE__ */
|
|
18447
|
+
return /* @__PURE__ */ jsx251(Button27, { onClick: () => {
|
|
18425
18448
|
table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
|
|
18426
18449
|
disc[1].close();
|
|
18427
18450
|
}, children: "Ch\u1ECDn" });
|
|
@@ -18437,7 +18460,7 @@ function MyDataTableSelect(_a) {
|
|
|
18437
18460
|
// src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
|
|
18438
18461
|
import { Select as Select10 } from "@mantine/core";
|
|
18439
18462
|
import { useQuery as useQuery13 } from "@tanstack/react-query";
|
|
18440
|
-
import { jsx as
|
|
18463
|
+
import { jsx as jsx252 } from "react/jsx-runtime";
|
|
18441
18464
|
function MySelectAPIGet(_a) {
|
|
18442
18465
|
var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
|
|
18443
18466
|
var _a2;
|
|
@@ -18456,7 +18479,7 @@ function MySelectAPIGet(_a) {
|
|
|
18456
18479
|
label: `${item.code}-${item.name}`
|
|
18457
18480
|
};
|
|
18458
18481
|
});
|
|
18459
|
-
return /* @__PURE__ */
|
|
18482
|
+
return /* @__PURE__ */ jsx252(
|
|
18460
18483
|
Select10,
|
|
18461
18484
|
__spreadValues({
|
|
18462
18485
|
label,
|
|
@@ -18471,7 +18494,7 @@ import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as Schedul
|
|
|
18471
18494
|
import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
|
|
18472
18495
|
import { useState as useState31 } from "react";
|
|
18473
18496
|
import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
|
|
18474
|
-
import { jsx as
|
|
18497
|
+
import { jsx as jsx253 } from "react/jsx-runtime";
|
|
18475
18498
|
function MyScheduleX({
|
|
18476
18499
|
values,
|
|
18477
18500
|
timeGridEvent,
|
|
@@ -18496,7 +18519,7 @@ function MyScheduleX({
|
|
|
18496
18519
|
events: values,
|
|
18497
18520
|
plugins: [eventsService, eventModalPlugin]
|
|
18498
18521
|
});
|
|
18499
|
-
return /* @__PURE__ */
|
|
18522
|
+
return /* @__PURE__ */ jsx253(
|
|
18500
18523
|
ScheduleXCalendar2,
|
|
18501
18524
|
{
|
|
18502
18525
|
calendarApp: calendar,
|
|
@@ -18510,9 +18533,9 @@ function MyScheduleX({
|
|
|
18510
18533
|
|
|
18511
18534
|
// src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
|
|
18512
18535
|
import { Skeleton as Skeleton8 } from "@mantine/core";
|
|
18513
|
-
import { jsx as
|
|
18536
|
+
import { jsx as jsx254 } from "react/jsx-runtime";
|
|
18514
18537
|
function MySkeletonTable({ h: h5 = 500 }) {
|
|
18515
|
-
return /* @__PURE__ */
|
|
18538
|
+
return /* @__PURE__ */ jsx254(Skeleton8, { h: h5 });
|
|
18516
18539
|
}
|
|
18517
18540
|
|
|
18518
18541
|
// src/core/overlays/MyModalStackImport/Usecase/FileImportConfigModal.tsx
|
|
@@ -18526,15 +18549,29 @@ import {
|
|
|
18526
18549
|
Stack as Stack12,
|
|
18527
18550
|
Text as Text30
|
|
18528
18551
|
} from "@mantine/core";
|
|
18529
|
-
import { notifications as
|
|
18552
|
+
import { notifications as notifications7 } from "@mantine/notifications";
|
|
18530
18553
|
import { IconCircleFilled } from "@tabler/icons-react";
|
|
18531
18554
|
import { useEffect as useEffect43, useMemo as useMemo42, useState as useState32 } from "react";
|
|
18532
18555
|
import * as XLSX4 from "xlsx";
|
|
18533
|
-
import { jsx as
|
|
18556
|
+
import { jsx as jsx255, jsxs as jsxs141 } from "react/jsx-runtime";
|
|
18557
|
+
function toVietnamTime(utcString) {
|
|
18558
|
+
const utcDate = new Date(utcString);
|
|
18559
|
+
const vnDate = new Date(utcDate.getTime() + 7 * 60 * 60 * 1e3);
|
|
18560
|
+
const year = vnDate.getFullYear();
|
|
18561
|
+
const month = String(vnDate.getMonth() + 1).padStart(2, "0");
|
|
18562
|
+
const day = String(vnDate.getDate()).padStart(2, "0");
|
|
18563
|
+
return `${year}-${month}-${day}`;
|
|
18564
|
+
}
|
|
18534
18565
|
function isValidDateFormat(dateStr) {
|
|
18535
|
-
const mmddyy = /^\d{1,2}\/\d{1,2}\/\d{2}$/;
|
|
18536
18566
|
const ddmmyyyy = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
|
|
18537
|
-
return
|
|
18567
|
+
return ddmmyyyy.test(dateStr);
|
|
18568
|
+
}
|
|
18569
|
+
function isValidDate(dateStr) {
|
|
18570
|
+
const regex = /^\d{4}-\d{2}-\d{2}$/;
|
|
18571
|
+
if (!regex.test(dateStr)) return false;
|
|
18572
|
+
const [year, month, day] = dateStr.split("-").map(Number);
|
|
18573
|
+
const date = new Date(year, month - 1, day);
|
|
18574
|
+
return date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day;
|
|
18538
18575
|
}
|
|
18539
18576
|
function toIsoDate(dateStr) {
|
|
18540
18577
|
const mmddyy = /^\d{1,2}\/\d{1,2}\/\d{2}$/;
|
|
@@ -18550,9 +18587,8 @@ function toIsoDate(dateStr) {
|
|
|
18550
18587
|
return null;
|
|
18551
18588
|
}
|
|
18552
18589
|
function formatForDisplay(value) {
|
|
18553
|
-
if (
|
|
18554
|
-
|
|
18555
|
-
return `${day}/${month}/${year}`;
|
|
18590
|
+
if (isValidDate(value)) {
|
|
18591
|
+
return utils_date.toDDMMYYYY(value);
|
|
18556
18592
|
}
|
|
18557
18593
|
return value;
|
|
18558
18594
|
}
|
|
@@ -18576,12 +18612,14 @@ function FileImportConfigModal(_a) {
|
|
|
18576
18612
|
const data2 = await file2.arrayBuffer();
|
|
18577
18613
|
const workbook = XLSX4.read(data2, { cellDates: true });
|
|
18578
18614
|
const sheet = workbook.Sheets[workbook.SheetNames[0]];
|
|
18579
|
-
const json = XLSX4.utils.sheet_to_json(sheet, { header: 1
|
|
18615
|
+
const json = XLSX4.utils.sheet_to_json(sheet, { header: 1 });
|
|
18580
18616
|
const parsed = json.map(
|
|
18581
18617
|
(row) => row.map((cell) => {
|
|
18582
|
-
if (
|
|
18583
|
-
|
|
18584
|
-
|
|
18618
|
+
if (cell instanceof Date) {
|
|
18619
|
+
return toVietnamTime(cell.toString());
|
|
18620
|
+
}
|
|
18621
|
+
if (isValidDateFormat(cell)) {
|
|
18622
|
+
return toIsoDate(cell);
|
|
18585
18623
|
}
|
|
18586
18624
|
return cell;
|
|
18587
18625
|
})
|
|
@@ -18639,15 +18677,15 @@ function FileImportConfigModal(_a) {
|
|
|
18639
18677
|
setDataStartIndex((parseInt(titleIndex) + 1).toString());
|
|
18640
18678
|
}
|
|
18641
18679
|
}, [titleIndex]);
|
|
18642
|
-
return /* @__PURE__ */
|
|
18680
|
+
return /* @__PURE__ */ jsx255(
|
|
18643
18681
|
Modal17,
|
|
18644
18682
|
__spreadProps(__spreadValues({
|
|
18645
18683
|
title: "Import",
|
|
18646
18684
|
size: "80%"
|
|
18647
18685
|
}, rest), {
|
|
18648
|
-
children: /* @__PURE__ */
|
|
18649
|
-
/* @__PURE__ */
|
|
18650
|
-
/* @__PURE__ */
|
|
18686
|
+
children: /* @__PURE__ */ jsxs141(Stack12, { children: [
|
|
18687
|
+
/* @__PURE__ */ jsxs141(Grid9, { children: [
|
|
18688
|
+
/* @__PURE__ */ jsx255(Grid9.Col, { span: 12, children: /* @__PURE__ */ jsx255(
|
|
18651
18689
|
FileInput17,
|
|
18652
18690
|
{
|
|
18653
18691
|
error: fileInputError[0],
|
|
@@ -18658,36 +18696,36 @@ function FileImportConfigModal(_a) {
|
|
|
18658
18696
|
onChange: handleSelectFile
|
|
18659
18697
|
}
|
|
18660
18698
|
) }),
|
|
18661
|
-
/* @__PURE__ */
|
|
18699
|
+
/* @__PURE__ */ jsx255(Grid9.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx255(
|
|
18662
18700
|
Select11,
|
|
18663
18701
|
{
|
|
18664
18702
|
searchable: false,
|
|
18665
18703
|
value: titleIndex,
|
|
18666
18704
|
onChange: setTitleIndex,
|
|
18667
|
-
label: /* @__PURE__ */
|
|
18668
|
-
/* @__PURE__ */
|
|
18669
|
-
/* @__PURE__ */
|
|
18705
|
+
label: /* @__PURE__ */ jsxs141(Group41, { children: [
|
|
18706
|
+
/* @__PURE__ */ jsx255(IconCircleFilled, { size: 20, color: const_object_colors.mantineBackgroundTealLight }),
|
|
18707
|
+
/* @__PURE__ */ jsx255(Text30, { children: "D\xF2ng ti\xEAu \u0111\u1EC1 b\u1EAFt \u0111\u1EA7u t\u1EEB" })
|
|
18670
18708
|
] }),
|
|
18671
18709
|
data: rawData.map((_5, i5) => (i5 + 1).toString()),
|
|
18672
18710
|
disabled: !file
|
|
18673
18711
|
}
|
|
18674
18712
|
) }),
|
|
18675
|
-
/* @__PURE__ */
|
|
18713
|
+
/* @__PURE__ */ jsx255(Grid9.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ jsx255(
|
|
18676
18714
|
Select11,
|
|
18677
18715
|
{
|
|
18678
18716
|
searchable: false,
|
|
18679
18717
|
value: dataStartIndex,
|
|
18680
18718
|
onChange: setDataStartIndex,
|
|
18681
|
-
label: /* @__PURE__ */
|
|
18682
|
-
/* @__PURE__ */
|
|
18683
|
-
/* @__PURE__ */
|
|
18719
|
+
label: /* @__PURE__ */ jsxs141(Group41, { children: [
|
|
18720
|
+
/* @__PURE__ */ jsx255(IconCircleFilled, { size: 20, color: const_object_colors.mantineBackgroundBlueLight }),
|
|
18721
|
+
/* @__PURE__ */ jsx255(Text30, { children: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u t\u1EEB" })
|
|
18684
18722
|
] }),
|
|
18685
18723
|
data: rawData.map((_5, i5) => (i5 + 1).toString()).filter((i5) => !titleIndex || parseInt(i5) > parseInt(titleIndex)),
|
|
18686
18724
|
disabled: !file || !titleIndex
|
|
18687
18725
|
}
|
|
18688
18726
|
) })
|
|
18689
18727
|
] }),
|
|
18690
|
-
/* @__PURE__ */
|
|
18728
|
+
/* @__PURE__ */ jsx255(MyFieldset, { title: "Danh s\xE1ch tr\u01B0\u1EDDng th\xF4ng tin trong file d\u1EEF li\u1EC7u", children: /* @__PURE__ */ jsx255(
|
|
18691
18729
|
MyDataTable,
|
|
18692
18730
|
{
|
|
18693
18731
|
mantineTableBodyRowProps: ({ row }) => {
|
|
@@ -18704,21 +18742,21 @@ function FileImportConfigModal(_a) {
|
|
|
18704
18742
|
data: tableDisplayData
|
|
18705
18743
|
}
|
|
18706
18744
|
) }),
|
|
18707
|
-
/* @__PURE__ */
|
|
18708
|
-
/* @__PURE__ */
|
|
18745
|
+
/* @__PURE__ */ jsxs141(Group41, { justify: "end", children: [
|
|
18746
|
+
/* @__PURE__ */ jsx255(
|
|
18709
18747
|
Button28,
|
|
18710
18748
|
{
|
|
18711
18749
|
onClick: onExportStructure,
|
|
18712
18750
|
children: "Xu\u1EA5t file c\u1EA5u tr\xFAc"
|
|
18713
18751
|
}
|
|
18714
18752
|
),
|
|
18715
|
-
/* @__PURE__ */
|
|
18753
|
+
/* @__PURE__ */ jsx255(Button28, { onClick: () => {
|
|
18716
18754
|
if (file == null) {
|
|
18717
18755
|
fileInputError[1]("Vui l\xF2ng ch\u1ECDn file");
|
|
18718
18756
|
return;
|
|
18719
18757
|
}
|
|
18720
18758
|
if (dataStartIndex == "" || dataStartIndex == null) {
|
|
18721
|
-
|
|
18759
|
+
notifications7.show({
|
|
18722
18760
|
message: "D\xF2ng d\u1EEF li\u1EC7u b\u1EAFt \u0111\u1EA7u kh\xF4ng \u0111\u01B0\u1EE3c \u0111\u1EC3 tr\u1ED1ng",
|
|
18723
18761
|
color: "red"
|
|
18724
18762
|
});
|
|
@@ -18727,7 +18765,7 @@ function FileImportConfigModal(_a) {
|
|
|
18727
18765
|
fileInputError[1]("");
|
|
18728
18766
|
onContinute == null ? void 0 : onContinute();
|
|
18729
18767
|
}, children: "Ti\u1EBFp t\u1EE5c" }),
|
|
18730
|
-
/* @__PURE__ */
|
|
18768
|
+
/* @__PURE__ */ jsx255(Button28, { variant: "outline", onClick: rest.onClose, children: "\u0110\xF3ng" })
|
|
18731
18769
|
] })
|
|
18732
18770
|
] })
|
|
18733
18771
|
})
|
|
@@ -18737,7 +18775,7 @@ function FileImportConfigModal(_a) {
|
|
|
18737
18775
|
// src/core/overlays/MyModalStackImport/MyModalImport.tsx
|
|
18738
18776
|
import { Modal as Modal18 } from "@mantine/core";
|
|
18739
18777
|
import { useState as useState33 } from "react";
|
|
18740
|
-
import { jsx as
|
|
18778
|
+
import { jsx as jsx256, jsxs as jsxs142 } from "react/jsx-runtime";
|
|
18741
18779
|
function MyModalImport({
|
|
18742
18780
|
fieldDefinition = [],
|
|
18743
18781
|
stack,
|
|
@@ -18748,8 +18786,8 @@ function MyModalImport({
|
|
|
18748
18786
|
const value = useState33([]);
|
|
18749
18787
|
const valueMapping = useState33([]);
|
|
18750
18788
|
const [detailRows, setDetailRows] = useState33([]);
|
|
18751
|
-
return /* @__PURE__ */
|
|
18752
|
-
/* @__PURE__ */
|
|
18789
|
+
return /* @__PURE__ */ jsxs142(Modal18.Stack, { children: [
|
|
18790
|
+
/* @__PURE__ */ jsx256(
|
|
18753
18791
|
FileImportConfigModal,
|
|
18754
18792
|
__spreadValues({
|
|
18755
18793
|
value: value[0],
|
|
@@ -18764,7 +18802,7 @@ function MyModalImport({
|
|
|
18764
18802
|
}
|
|
18765
18803
|
}, stack.register("FileImportConfig"))
|
|
18766
18804
|
),
|
|
18767
|
-
/* @__PURE__ */
|
|
18805
|
+
/* @__PURE__ */ jsx256(
|
|
18768
18806
|
FileFieldMappingModal,
|
|
18769
18807
|
__spreadValues({
|
|
18770
18808
|
jsonData: value[0],
|
|
@@ -18788,7 +18826,7 @@ function MyModalImport({
|
|
|
18788
18826
|
|
|
18789
18827
|
// src/core/overlays/MyModalStackImport/Usecase/FileImportValidationDetailModal.tsx
|
|
18790
18828
|
import { Modal as Modal19, Table as Table5, Text as Text31 } from "@mantine/core";
|
|
18791
|
-
import { jsx as
|
|
18829
|
+
import { jsx as jsx257, jsxs as jsxs143 } from "react/jsx-runtime";
|
|
18792
18830
|
|
|
18793
18831
|
// src/core/overlays/MyModalStackImport/Usecase/FileImportValidationModal.tsx
|
|
18794
18832
|
import {
|
|
@@ -18797,15 +18835,15 @@ import {
|
|
|
18797
18835
|
Modal as Modal20,
|
|
18798
18836
|
Table as Table6
|
|
18799
18837
|
} from "@mantine/core";
|
|
18800
|
-
import { jsx as
|
|
18838
|
+
import { jsx as jsx258, jsxs as jsxs144 } from "react/jsx-runtime";
|
|
18801
18839
|
|
|
18802
18840
|
// src/core/withAPI/CustomDataTableAPI.tsx
|
|
18803
|
-
import { jsx as
|
|
18841
|
+
import { jsx as jsx259 } from "react/jsx-runtime";
|
|
18804
18842
|
|
|
18805
18843
|
// src/core/withAPI/MyButtonViewFileAPI.tsx
|
|
18806
18844
|
import { useDisclosure as useDisclosure22 } from "@mantine/hooks";
|
|
18807
18845
|
import { useQuery as useQuery14 } from "@tanstack/react-query";
|
|
18808
|
-
import { jsx as
|
|
18846
|
+
import { jsx as jsx260 } from "react/jsx-runtime";
|
|
18809
18847
|
function MyButtonViewFileAPI({ filePath }) {
|
|
18810
18848
|
const disc = useDisclosure22();
|
|
18811
18849
|
const query = useQuery14({
|
|
@@ -18816,7 +18854,7 @@ function MyButtonViewFileAPI({ filePath }) {
|
|
|
18816
18854
|
},
|
|
18817
18855
|
enabled: filePath != void 0 && disc[0]
|
|
18818
18856
|
});
|
|
18819
|
-
return /* @__PURE__ */
|
|
18857
|
+
return /* @__PURE__ */ jsx260(
|
|
18820
18858
|
MyButtonViewFile,
|
|
18821
18859
|
{
|
|
18822
18860
|
file: query.data,
|
|
@@ -26,7 +26,7 @@ var utils_currency = {
|
|
|
26
26
|
|
|
27
27
|
// src/utils-v2/utils_date.ts
|
|
28
28
|
var utils_date = {
|
|
29
|
-
|
|
29
|
+
toDDMMYYYY(date) {
|
|
30
30
|
const parsedDate = typeof date === "string" ? new Date(date) : date;
|
|
31
31
|
if (!(parsedDate instanceof Date) || isNaN(parsedDate.getTime())) return "";
|
|
32
32
|
const day = String(parsedDate.getDate()).padStart(2, "0");
|
|
@@ -34,7 +34,7 @@ var utils_date = {
|
|
|
34
34
|
const year = parsedDate.getFullYear();
|
|
35
35
|
return `${day}/${month}/${year}`;
|
|
36
36
|
},
|
|
37
|
-
|
|
37
|
+
toMMYYYY(date) {
|
|
38
38
|
const parsedDate = typeof date === "string" ? new Date(date) : date;
|
|
39
39
|
if (!(parsedDate instanceof Date) || isNaN(parsedDate.getTime())) return "";
|
|
40
40
|
const month = String(parsedDate.getMonth() + 1).padStart(2, "0");
|
|
@@ -70,10 +70,10 @@ import {
|
|
|
70
70
|
useHeaderMegaMenuStore,
|
|
71
71
|
useS_ButtonImport,
|
|
72
72
|
useStore_BasicAppShell
|
|
73
|
-
} from "../chunk-
|
|
74
|
-
import "../chunk-3P5GXZPO.mjs";
|
|
75
|
-
import "../chunk-IRA4J5UX.mjs";
|
|
73
|
+
} from "../chunk-AHTTLRL5.mjs";
|
|
76
74
|
import "../chunk-E4JVWPXS.mjs";
|
|
75
|
+
import "../chunk-3P5GXZPO.mjs";
|
|
76
|
+
import "../chunk-PHIQKJYJ.mjs";
|
|
77
77
|
import "../chunk-O7YCQQO5.mjs";
|
|
78
78
|
import "../chunk-QSWIVDXC.mjs";
|
|
79
79
|
import "../chunk-FE4HVT67.mjs";
|
package/dist/core/index.mjs
CHANGED
|
@@ -29,10 +29,10 @@ import {
|
|
|
29
29
|
MyStatsCard,
|
|
30
30
|
MyTextInput2 as MyTextInput,
|
|
31
31
|
MyWeeklySessionSchedulerPicker
|
|
32
|
-
} from "../chunk-
|
|
33
|
-
import "../chunk-3P5GXZPO.mjs";
|
|
34
|
-
import "../chunk-IRA4J5UX.mjs";
|
|
32
|
+
} from "../chunk-AHTTLRL5.mjs";
|
|
35
33
|
import "../chunk-E4JVWPXS.mjs";
|
|
34
|
+
import "../chunk-3P5GXZPO.mjs";
|
|
35
|
+
import "../chunk-PHIQKJYJ.mjs";
|
|
36
36
|
import "../chunk-O7YCQQO5.mjs";
|
|
37
37
|
import "../chunk-QSWIVDXC.mjs";
|
|
38
38
|
import "../chunk-FE4HVT67.mjs";
|
|
@@ -113,10 +113,10 @@ import {
|
|
|
113
113
|
MailTemplateDeleteButton,
|
|
114
114
|
useS_moduleConfig,
|
|
115
115
|
useStore_Authenticate
|
|
116
|
-
} from "../chunk-
|
|
117
|
-
import "../chunk-3P5GXZPO.mjs";
|
|
118
|
-
import "../chunk-IRA4J5UX.mjs";
|
|
116
|
+
} from "../chunk-AHTTLRL5.mjs";
|
|
119
117
|
import "../chunk-E4JVWPXS.mjs";
|
|
118
|
+
import "../chunk-3P5GXZPO.mjs";
|
|
119
|
+
import "../chunk-PHIQKJYJ.mjs";
|
|
120
120
|
import "../chunk-O7YCQQO5.mjs";
|
|
121
121
|
import "../chunk-QSWIVDXC.mjs";
|
|
122
122
|
import "../chunk-FE4HVT67.mjs";
|
package/dist/shared/index.mjs
CHANGED
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
} from "../chunk-RGUQWALX.mjs";
|
|
5
5
|
import {
|
|
6
6
|
MySelect
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-AHTTLRL5.mjs";
|
|
8
|
+
import "../chunk-E4JVWPXS.mjs";
|
|
8
9
|
import "../chunk-3P5GXZPO.mjs";
|
|
9
10
|
import {
|
|
10
11
|
utils_converter
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-E4JVWPXS.mjs";
|
|
12
|
+
} from "../chunk-PHIQKJYJ.mjs";
|
|
13
13
|
import "../chunk-O7YCQQO5.mjs";
|
|
14
14
|
import "../chunk-QSWIVDXC.mjs";
|
|
15
15
|
import "../chunk-FE4HVT67.mjs";
|
package/dist/utils/index.d.mts
CHANGED
|
@@ -34,7 +34,7 @@ declare function utils_currency_formatWithSuffix(amount: number, suffix?: string
|
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* @deprecated Hàm này không xài nữa nha mấy ní
|
|
37
|
-
* Vui lòng dùng `utils_date.
|
|
37
|
+
* Vui lòng dùng `utils_date.toDDMMYYYY` từ `utils-v2` thay thế.
|
|
38
38
|
*/
|
|
39
39
|
declare function utils_date_dateToDDMMYYYString(date?: Date | string): string;
|
|
40
40
|
/**
|
|
@@ -13,8 +13,8 @@ declare const utils_currency: {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
declare const utils_date: {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
toDDMMYYYY(date?: Date | string): string;
|
|
17
|
+
toMMYYYY(date?: Date | string): string;
|
|
18
18
|
toHHmm(date: Date): string;
|
|
19
19
|
toDateTime(date?: Date | string, WithSeconds?: boolean): string;
|
|
20
20
|
toDateTimeStartEnd(startDate: Date, endDate: Date): string;
|
package/dist/utils-v2/index.mjs
CHANGED