aq-fe-framework 0.1.47 → 0.1.49
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-O3TZ7DG7.mjs → chunk-BSS3LQUY.mjs} +244 -291
- package/dist/{chunk-ZEQATKHS.mjs → chunk-CDDX46TC.mjs} +0 -35
- package/dist/chunk-FWCSY2DS.mjs +37 -0
- package/dist/chunk-GL5OCTFE.mjs +65 -0
- package/dist/components/index.mjs +4 -2
- package/dist/modules-features/admin/core/index.mjs +9 -5
- package/dist/stores/index.d.mts +40 -0
- package/dist/stores/index.mjs +11 -0
- package/dist/utils/index.mjs +2 -1
- package/package.json +1 -1
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
createGenericStore,
|
|
3
|
+
useS_Authenticate,
|
|
4
|
+
useS_Sidebar
|
|
5
|
+
} from "./chunk-GL5OCTFE.mjs";
|
|
6
|
+
import {
|
|
5
7
|
utils_notification_show,
|
|
6
8
|
utils_pdf_download
|
|
7
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CDDX46TC.mjs";
|
|
10
|
+
import {
|
|
11
|
+
__objRest,
|
|
12
|
+
__spreadProps,
|
|
13
|
+
__spreadValues
|
|
14
|
+
} from "./chunk-FWCSY2DS.mjs";
|
|
8
15
|
|
|
9
16
|
// src/lib/utils.ts
|
|
10
17
|
import { clsx } from "clsx";
|
|
@@ -573,63 +580,6 @@ import { Spotlight, spotlight } from "@mantine/spotlight";
|
|
|
573
580
|
import { IconSearch } from "@tabler/icons-react";
|
|
574
581
|
import { usePathname, useRouter } from "next/navigation";
|
|
575
582
|
import { useMemo, useState as useState4 } from "react";
|
|
576
|
-
|
|
577
|
-
// src/stores/CreateGenericStore.ts
|
|
578
|
-
import { create } from "zustand";
|
|
579
|
-
import { persist } from "zustand/middleware";
|
|
580
|
-
function createGenericStore({ initialState, storageKey }) {
|
|
581
|
-
const storeCreator = (set) => ({
|
|
582
|
-
state: initialState,
|
|
583
|
-
setState: (newState) => set({ state: newState }),
|
|
584
|
-
setProperty: (key, value) => set((store) => ({ state: __spreadProps(__spreadValues({}, store.state), { [key]: value }) })),
|
|
585
|
-
resetState: () => set({ state: initialState })
|
|
586
|
-
});
|
|
587
|
-
return storageKey ? create(persist(storeCreator, { name: storageKey })) : create(storeCreator);
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
// src/stores/useS_Authenticate.ts
|
|
591
|
-
var useStore = createGenericStore({
|
|
592
|
-
initialState: { token: "" },
|
|
593
|
-
storageKey: "useS_Authenticate"
|
|
594
|
-
});
|
|
595
|
-
function useS_Authenticate() {
|
|
596
|
-
const store = useStore();
|
|
597
|
-
return __spreadValues({}, store);
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
// src/stores/useS_Sidebar.ts
|
|
601
|
-
var useStore2 = createGenericStore({
|
|
602
|
-
initialState: {
|
|
603
|
-
title: "",
|
|
604
|
-
opened: true,
|
|
605
|
-
groupMenuOpenId: []
|
|
606
|
-
},
|
|
607
|
-
storageKey: "useS_Sidebar"
|
|
608
|
-
});
|
|
609
|
-
function useS_Sidebar() {
|
|
610
|
-
const store = useStore2();
|
|
611
|
-
function toggle() {
|
|
612
|
-
store.setProperty("opened", !store.state.opened);
|
|
613
|
-
}
|
|
614
|
-
function toggleGroupMenuOpenId(id) {
|
|
615
|
-
const currentIds = store.state.groupMenuOpenId;
|
|
616
|
-
if (currentIds.includes(id)) {
|
|
617
|
-
store.setProperty("groupMenuOpenId", currentIds.filter((existingId) => existingId !== id));
|
|
618
|
-
} else {
|
|
619
|
-
store.setProperty("groupMenuOpenId", [...currentIds, id]);
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
function clearGroupMenuOpenId() {
|
|
623
|
-
store.setProperty("groupMenuOpenId", []);
|
|
624
|
-
}
|
|
625
|
-
return __spreadProps(__spreadValues({}, store), {
|
|
626
|
-
toggle,
|
|
627
|
-
toggleGroupMenuOpenId,
|
|
628
|
-
clearGroupMenuOpenId
|
|
629
|
-
});
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
// src/components/AppSpotlight/MyAppSpotlight.tsx
|
|
633
583
|
import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
634
584
|
function convertMenuToSpotlightActions(items, router, parentPath = "", sideBarStore, pathName) {
|
|
635
585
|
let actions = [];
|
|
@@ -1061,7 +1011,7 @@ import { IconArrowBackUp, IconArrowBigLeft, IconArrowBigRight, IconSquareRounded
|
|
|
1061
1011
|
// src/components/Buttons/ButtonImport/useS_ButtonImport.ts
|
|
1062
1012
|
import { useEffect as useEffect2, useMemo as useMemo2 } from "react";
|
|
1063
1013
|
import * as XLSX3 from "xlsx";
|
|
1064
|
-
var
|
|
1014
|
+
var useStore = createGenericStore({
|
|
1065
1015
|
initialState: {
|
|
1066
1016
|
data: [],
|
|
1067
1017
|
title: [],
|
|
@@ -1070,7 +1020,7 @@ var useStore3 = createGenericStore({
|
|
|
1070
1020
|
}
|
|
1071
1021
|
});
|
|
1072
1022
|
function useS_ButtonImport() {
|
|
1073
|
-
const store =
|
|
1023
|
+
const store = useStore();
|
|
1074
1024
|
function autoMap() {
|
|
1075
1025
|
if (!store.state.data || !store.state.data.length || !store.state.fieldConfig) return;
|
|
1076
1026
|
const sampleRow = store.state.data[0];
|
|
@@ -1643,19 +1593,45 @@ function MyButtonPrintPDF(_a) {
|
|
|
1643
1593
|
] });
|
|
1644
1594
|
}
|
|
1645
1595
|
|
|
1596
|
+
// src/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx
|
|
1597
|
+
import { ScrollArea, TypographyStylesProvider } from "@mantine/core";
|
|
1598
|
+
import pako from "pako";
|
|
1599
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1600
|
+
function MyHtmlWrapper(_a) {
|
|
1601
|
+
var _b = _a, { html, mah, zip = false } = _b, rest = __objRest(_b, ["html", "mah", "zip"]);
|
|
1602
|
+
const extractHtmlFromZip = () => {
|
|
1603
|
+
const binaryString = Buffer.from(html, "base64");
|
|
1604
|
+
const decompressedData = pako.inflate(binaryString, { to: "string" });
|
|
1605
|
+
const cleanedHtml = decompressedData == null ? void 0 : decompressedData.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
|
|
1606
|
+
return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
|
|
1607
|
+
};
|
|
1608
|
+
return /* @__PURE__ */ jsx30(ScrollArea.Autosize, { mah, children: /* @__PURE__ */ jsx30(TypographyStylesProvider, __spreadProps(__spreadValues({}, rest), { children: /* @__PURE__ */ jsx30(
|
|
1609
|
+
"div",
|
|
1610
|
+
{
|
|
1611
|
+
dangerouslySetInnerHTML: {
|
|
1612
|
+
__html: zip ? extractHtmlFromZip() : html
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
) })) });
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
// src/components/Buttons/ButtonPrintPDFTable/MyButtonPrintTablePDF.tsx
|
|
1619
|
+
import { Box, Table as Table2 } from "@mantine/core";
|
|
1620
|
+
import { jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1621
|
+
|
|
1646
1622
|
// src/components/Buttons/ButtonRouterBack/MyButtonRouterBack.tsx
|
|
1647
1623
|
import { Button as Button11 } from "@mantine/core";
|
|
1648
1624
|
import { IconArrowBack } from "@tabler/icons-react";
|
|
1649
1625
|
import { useRouter as useRouter2 } from "next/navigation";
|
|
1650
|
-
import { jsx as
|
|
1626
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1651
1627
|
function MyButtonRouterBack(_a) {
|
|
1652
1628
|
var _b = _a, { url, label } = _b, rest = __objRest(_b, ["url", "label"]);
|
|
1653
1629
|
const router = useRouter2();
|
|
1654
|
-
return /* @__PURE__ */
|
|
1630
|
+
return /* @__PURE__ */ jsx32(
|
|
1655
1631
|
Button11,
|
|
1656
1632
|
__spreadProps(__spreadValues({
|
|
1657
1633
|
variant: "light",
|
|
1658
|
-
leftSection: /* @__PURE__ */
|
|
1634
|
+
leftSection: /* @__PURE__ */ jsx32(IconArrowBack, { stroke: 2 }),
|
|
1659
1635
|
onClick: () => {
|
|
1660
1636
|
if (url) {
|
|
1661
1637
|
router.replace(url);
|
|
@@ -1699,7 +1675,7 @@ import { useDisclosure as useDisclosure9 } from "@mantine/hooks";
|
|
|
1699
1675
|
import { IconLivePhoto as IconLivePhoto2, IconMaximize as IconMaximize3, IconMinimize as IconMinimize3 } from "@tabler/icons-react";
|
|
1700
1676
|
import { useQuery } from "@tanstack/react-query";
|
|
1701
1677
|
import { useState as useState6 } from "react";
|
|
1702
|
-
import { Fragment as Fragment10, jsx as
|
|
1678
|
+
import { Fragment as Fragment10, jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1703
1679
|
function MyButtonViewPDF({ id, modalSize = "80%", label = "Xem file", src = "https://datafiles.chinhphu.vn/cpp/files/vbpq/2016/07/85.signed.pdf" }) {
|
|
1704
1680
|
var _a, _b;
|
|
1705
1681
|
const disc = useDisclosure9(false);
|
|
@@ -1712,49 +1688,49 @@ function MyButtonViewPDF({ id, modalSize = "80%", label = "Xem file", src = "htt
|
|
|
1712
1688
|
},
|
|
1713
1689
|
enabled: id != void 0 && disc[0] == true
|
|
1714
1690
|
});
|
|
1715
|
-
return /* @__PURE__ */
|
|
1716
|
-
/* @__PURE__ */
|
|
1691
|
+
return /* @__PURE__ */ jsxs20(Fragment10, { children: [
|
|
1692
|
+
/* @__PURE__ */ jsx33(Tooltip4, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp", children: /* @__PURE__ */ jsx33(Button12, { color: "cyan", onClick: () => {
|
|
1717
1693
|
disc[1].open();
|
|
1718
|
-
}, leftSection: /* @__PURE__ */
|
|
1719
|
-
/* @__PURE__ */
|
|
1694
|
+
}, leftSection: /* @__PURE__ */ jsx33(IconLivePhoto2, {}), children: label }) }),
|
|
1695
|
+
/* @__PURE__ */ jsx33(
|
|
1720
1696
|
Modal10,
|
|
1721
1697
|
{
|
|
1722
1698
|
fullScreen: fullScreen[0],
|
|
1723
1699
|
opened: disc[0],
|
|
1724
1700
|
onClose: disc[1].close,
|
|
1725
1701
|
size: modalSize,
|
|
1726
|
-
title: /* @__PURE__ */
|
|
1727
|
-
/* @__PURE__ */
|
|
1728
|
-
fullScreen[0] ? /* @__PURE__ */
|
|
1702
|
+
title: /* @__PURE__ */ jsxs20(Group7, { children: [
|
|
1703
|
+
/* @__PURE__ */ jsx33(Text5, { children: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }),
|
|
1704
|
+
fullScreen[0] ? /* @__PURE__ */ jsx33(
|
|
1729
1705
|
ActionIcon9,
|
|
1730
1706
|
{
|
|
1731
1707
|
onClick: () => {
|
|
1732
1708
|
fullScreen[1](false);
|
|
1733
1709
|
hSize[1]("80vh");
|
|
1734
1710
|
},
|
|
1735
|
-
children: /* @__PURE__ */
|
|
1711
|
+
children: /* @__PURE__ */ jsx33(IconMinimize3, {})
|
|
1736
1712
|
}
|
|
1737
|
-
) : /* @__PURE__ */
|
|
1713
|
+
) : /* @__PURE__ */ jsx33(
|
|
1738
1714
|
ActionIcon9,
|
|
1739
1715
|
{
|
|
1740
1716
|
onClick: () => {
|
|
1741
1717
|
fullScreen[1](true);
|
|
1742
1718
|
hSize[1]("90vh");
|
|
1743
1719
|
},
|
|
1744
|
-
children: /* @__PURE__ */
|
|
1720
|
+
children: /* @__PURE__ */ jsx33(IconMaximize3, {})
|
|
1745
1721
|
}
|
|
1746
1722
|
)
|
|
1747
1723
|
] }),
|
|
1748
|
-
children: /* @__PURE__ */
|
|
1749
|
-
/* @__PURE__ */
|
|
1750
|
-
query.data ? /* @__PURE__ */
|
|
1724
|
+
children: /* @__PURE__ */ jsxs20(Paper3, { h: hSize[0], p: "lg", pos: "relative", children: [
|
|
1725
|
+
/* @__PURE__ */ jsx33(LoadingOverlay, { visible: query.isLoading, zIndex: 1e3, overlayProps: { radius: "sm", blur: 2 } }),
|
|
1726
|
+
query.data ? /* @__PURE__ */ jsx33(
|
|
1751
1727
|
"iframe",
|
|
1752
1728
|
{
|
|
1753
1729
|
src: `data:application/pdf;base64, ${(_b = (_a = query.data) == null ? void 0 : _a.fileDetail) == null ? void 0 : _b.fileBase64String}`,
|
|
1754
1730
|
width: "100%",
|
|
1755
1731
|
height: "100%"
|
|
1756
1732
|
}
|
|
1757
|
-
) : /* @__PURE__ */
|
|
1733
|
+
) : /* @__PURE__ */ jsx33(
|
|
1758
1734
|
"iframe",
|
|
1759
1735
|
{
|
|
1760
1736
|
src,
|
|
@@ -5707,7 +5683,7 @@ import { ScheduleXCalendar, useNextCalendarApp } from "@schedule-x/react";
|
|
|
5707
5683
|
import { Paper as Paper4, Text as Text6 } from "@mantine/core";
|
|
5708
5684
|
import "@schedule-x/theme-default/dist/index.css";
|
|
5709
5685
|
import { useEffect as useEffect4 } from "react";
|
|
5710
|
-
import { jsx as
|
|
5686
|
+
import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
5711
5687
|
function MyCalendar() {
|
|
5712
5688
|
const plugins = [createEventsServicePlugin(), createEventModalPlugin()];
|
|
5713
5689
|
const calendar = useNextCalendarApp({
|
|
@@ -5781,16 +5757,16 @@ function MyCalendar() {
|
|
|
5781
5757
|
useEffect4(() => {
|
|
5782
5758
|
calendar == null ? void 0 : calendar.events.getAll();
|
|
5783
5759
|
}, []);
|
|
5784
|
-
return /* @__PURE__ */
|
|
5760
|
+
return /* @__PURE__ */ jsx34("div", { children: /* @__PURE__ */ jsx34(ScheduleXCalendar, { calendarApp: calendar, customComponents: {
|
|
5785
5761
|
timeGridEvent: ({ calendarEvent }) => {
|
|
5786
5762
|
console.log(calendarEvent);
|
|
5787
|
-
return /* @__PURE__ */
|
|
5788
|
-
/* @__PURE__ */
|
|
5763
|
+
return /* @__PURE__ */ jsx34(Paper4, { h: "100%", bg: calendarEvent.laLichThi ? "violet.2" : "blue.2", p: 4, children: /* @__PURE__ */ jsxs21(MyFlexColumn, { gap: 1, children: [
|
|
5764
|
+
/* @__PURE__ */ jsxs21(Text6, { size: "sm", fw: "bold", children: [
|
|
5789
5765
|
calendarEvent.laLichThi ? "(Thi) " : "(H\u1ECDc) ",
|
|
5790
5766
|
calendarEvent.title
|
|
5791
5767
|
] }),
|
|
5792
|
-
calendarEvent.laLichThi == false && /* @__PURE__ */
|
|
5793
|
-
/* @__PURE__ */
|
|
5768
|
+
calendarEvent.laLichThi == false && /* @__PURE__ */ jsx34(Text6, { size: "sm", children: calendarEvent.giangvien }),
|
|
5769
|
+
/* @__PURE__ */ jsx34(Text6, { size: "sm", children: calendarEvent.location })
|
|
5794
5770
|
] }) });
|
|
5795
5771
|
}
|
|
5796
5772
|
// eventModal: ({ calendarEvent }) => {
|
|
@@ -5805,31 +5781,31 @@ function MyCalendar() {
|
|
|
5805
5781
|
|
|
5806
5782
|
// src/components/CenterFull/MyCenterFull.tsx
|
|
5807
5783
|
import { Center as Center2, Group as Group8 } from "@mantine/core";
|
|
5808
|
-
import { jsx as
|
|
5784
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
5809
5785
|
function MyCenterFull({ children }) {
|
|
5810
|
-
return /* @__PURE__ */
|
|
5786
|
+
return /* @__PURE__ */ jsx35(Center2, { w: "100%", children: /* @__PURE__ */ jsx35(Group8, { children }) });
|
|
5811
5787
|
}
|
|
5812
5788
|
|
|
5813
5789
|
// src/components/Checkbox/MyCheckbox.tsx
|
|
5814
5790
|
import { Checkbox as Checkbox2 } from "@mantine/core";
|
|
5815
|
-
import { jsx as
|
|
5791
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
5816
5792
|
function MyCheckbox(_a) {
|
|
5817
5793
|
var rest = __objRest(_a, []);
|
|
5818
|
-
return /* @__PURE__ */
|
|
5794
|
+
return /* @__PURE__ */ jsx36(Checkbox2, __spreadValues({}, rest));
|
|
5819
5795
|
}
|
|
5820
5796
|
|
|
5821
5797
|
// src/components/Layouts/FlexRow/MyFlexRow.tsx
|
|
5822
5798
|
import { Flex as Flex2 } from "@mantine/core";
|
|
5823
|
-
import { jsx as
|
|
5799
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
5824
5800
|
function MyFlexRow(_a) {
|
|
5825
5801
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
|
5826
|
-
return /* @__PURE__ */
|
|
5802
|
+
return /* @__PURE__ */ jsx37(Flex2, __spreadProps(__spreadValues({ gap: "md", align: "center" }, rest), { children }));
|
|
5827
5803
|
}
|
|
5828
5804
|
|
|
5829
5805
|
// src/components/DataDisplay/Card/AQCard.tsx
|
|
5830
5806
|
import { Badge, Card, Center as Center3, Image, Text as Text7 } from "@mantine/core";
|
|
5831
5807
|
import Link from "next/link";
|
|
5832
|
-
import { jsx as
|
|
5808
|
+
import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5833
5809
|
function AQCard({
|
|
5834
5810
|
imgSrc = "https://raw.githubusercontent.com/mantinedev/mantine/master/.demo/images/bg-8.png",
|
|
5835
5811
|
title,
|
|
@@ -5839,8 +5815,8 @@ function AQCard({
|
|
|
5839
5815
|
status,
|
|
5840
5816
|
href = ""
|
|
5841
5817
|
}) {
|
|
5842
|
-
return /* @__PURE__ */
|
|
5843
|
-
/* @__PURE__ */
|
|
5818
|
+
return /* @__PURE__ */ jsxs22(Card, { shadow: "sm", padding: "lg", radius: "md", withBorder: true, component: Link, href, children: [
|
|
5819
|
+
/* @__PURE__ */ jsx38(Card.Section, { children: /* @__PURE__ */ jsx38(Center3, { children: /* @__PURE__ */ jsx38(
|
|
5844
5820
|
Image,
|
|
5845
5821
|
{
|
|
5846
5822
|
src: imgSrc,
|
|
@@ -5850,51 +5826,51 @@ function AQCard({
|
|
|
5850
5826
|
alt: "Norway"
|
|
5851
5827
|
}
|
|
5852
5828
|
) }) }),
|
|
5853
|
-
/* @__PURE__ */
|
|
5854
|
-
/* @__PURE__ */
|
|
5855
|
-
status && /* @__PURE__ */
|
|
5829
|
+
/* @__PURE__ */ jsxs22(MyFlexRow, { justify: "space-between", mt: "md", mb: "xs", children: [
|
|
5830
|
+
/* @__PURE__ */ jsx38(Text7, { fw: 500, children: title }),
|
|
5831
|
+
status && /* @__PURE__ */ jsx38(Badge, { color: "violet.5", w: "150px", children: status })
|
|
5856
5832
|
] }),
|
|
5857
|
-
/* @__PURE__ */
|
|
5833
|
+
/* @__PURE__ */ jsx38(Text7, { size: "sm", c: "dimmed", lineClamp: 2, children: description }),
|
|
5858
5834
|
children
|
|
5859
5835
|
] });
|
|
5860
5836
|
}
|
|
5861
5837
|
|
|
5862
5838
|
// src/components/DataDisplay/KeyLabel/MyKeyLabel.tsx
|
|
5863
5839
|
import { Group as Group9, Text as Text8 } from "@mantine/core";
|
|
5864
|
-
import { jsx as
|
|
5840
|
+
import { jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5865
5841
|
function MyKeyLabel({ keyLabel, label }) {
|
|
5866
|
-
return /* @__PURE__ */
|
|
5867
|
-
/* @__PURE__ */
|
|
5842
|
+
return /* @__PURE__ */ jsxs23(Group9, { gap: 5, children: [
|
|
5843
|
+
/* @__PURE__ */ jsxs23(Text8, { fw: "bold", children: [
|
|
5868
5844
|
keyLabel,
|
|
5869
5845
|
":"
|
|
5870
5846
|
] }),
|
|
5871
|
-
/* @__PURE__ */
|
|
5847
|
+
/* @__PURE__ */ jsx39(Text8, { children: label })
|
|
5872
5848
|
] });
|
|
5873
5849
|
}
|
|
5874
5850
|
|
|
5875
5851
|
// src/components/DataDisplay/NumberFormatter/MyNumberFormatter.tsx
|
|
5876
5852
|
import { NumberFormatter } from "@mantine/core";
|
|
5877
|
-
import { jsx as
|
|
5853
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
5878
5854
|
function MyNumberFormatter(_a) {
|
|
5879
5855
|
var rest = __objRest(_a, []);
|
|
5880
|
-
return /* @__PURE__ */
|
|
5856
|
+
return /* @__PURE__ */ jsx40(NumberFormatter, __spreadValues({ thousandSeparator: true, suffix: " VN\u0110" }, rest));
|
|
5881
5857
|
}
|
|
5882
5858
|
|
|
5883
5859
|
// src/components/DataDisplay/StatCard/AQStatCard1.tsx
|
|
5884
|
-
import { Box, Button as Button13, Flex as Flex3, Group as Group10, Paper as Paper5, Text as Text9 } from "@mantine/core";
|
|
5860
|
+
import { Box as Box2, Button as Button13, Flex as Flex3, Group as Group10, Paper as Paper5, Text as Text9 } from "@mantine/core";
|
|
5885
5861
|
import { IconArrowDownRight, IconArrowUpRight } from "@tabler/icons-react";
|
|
5886
|
-
import { Fragment as Fragment11, jsx as
|
|
5862
|
+
import { Fragment as Fragment11, jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
5887
5863
|
function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
5888
|
-
return /* @__PURE__ */
|
|
5864
|
+
return /* @__PURE__ */ jsx41(Fragment11, { children: /* @__PURE__ */ jsxs24(
|
|
5889
5865
|
Paper5,
|
|
5890
5866
|
{
|
|
5891
5867
|
withBorder: true,
|
|
5892
5868
|
p: "md",
|
|
5893
5869
|
radius: "md",
|
|
5894
5870
|
children: [
|
|
5895
|
-
/* @__PURE__ */
|
|
5896
|
-
/* @__PURE__ */
|
|
5897
|
-
/* @__PURE__ */
|
|
5871
|
+
/* @__PURE__ */ jsxs24(Group10, { justify: "space-between", children: [
|
|
5872
|
+
/* @__PURE__ */ jsxs24(Flex3, { direction: "column", children: [
|
|
5873
|
+
/* @__PURE__ */ jsx41(
|
|
5898
5874
|
Text9,
|
|
5899
5875
|
{
|
|
5900
5876
|
tt: "uppercase",
|
|
@@ -5903,24 +5879,24 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5903
5879
|
children: title
|
|
5904
5880
|
}
|
|
5905
5881
|
),
|
|
5906
|
-
unit == "" ? /* @__PURE__ */
|
|
5882
|
+
unit == "" ? /* @__PURE__ */ jsxs24(Text9, { size: "xs", style: { visibility: "hidden" }, children: [
|
|
5907
5883
|
"\u0110\u01A1n v\u1ECB: ",
|
|
5908
|
-
/* @__PURE__ */
|
|
5909
|
-
] }) : /* @__PURE__ */
|
|
5884
|
+
/* @__PURE__ */ jsx41("strong", { children: unit })
|
|
5885
|
+
] }) : /* @__PURE__ */ jsxs24(Text9, { size: "xs", children: [
|
|
5910
5886
|
"\u0110\u01A1n v\u1ECB: ",
|
|
5911
|
-
/* @__PURE__ */
|
|
5887
|
+
/* @__PURE__ */ jsx41("strong", { children: unit })
|
|
5912
5888
|
] })
|
|
5913
5889
|
] }),
|
|
5914
|
-
/* @__PURE__ */
|
|
5890
|
+
/* @__PURE__ */ jsx41(Box2, { children: icons })
|
|
5915
5891
|
] }),
|
|
5916
|
-
/* @__PURE__ */
|
|
5892
|
+
/* @__PURE__ */ jsxs24(
|
|
5917
5893
|
Group10,
|
|
5918
5894
|
{
|
|
5919
5895
|
mt: "5",
|
|
5920
5896
|
align: "flex-end",
|
|
5921
5897
|
gap: "xs",
|
|
5922
5898
|
children: [
|
|
5923
|
-
/* @__PURE__ */
|
|
5899
|
+
/* @__PURE__ */ jsx41(
|
|
5924
5900
|
Text9,
|
|
5925
5901
|
{
|
|
5926
5902
|
fw: 700,
|
|
@@ -5928,7 +5904,7 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5928
5904
|
children: value
|
|
5929
5905
|
}
|
|
5930
5906
|
),
|
|
5931
|
-
/* @__PURE__ */
|
|
5907
|
+
/* @__PURE__ */ jsxs24(
|
|
5932
5908
|
Text9,
|
|
5933
5909
|
{
|
|
5934
5910
|
mb: "2",
|
|
@@ -5936,20 +5912,20 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5936
5912
|
fz: "h2",
|
|
5937
5913
|
fw: 500,
|
|
5938
5914
|
children: [
|
|
5939
|
-
/* @__PURE__ */
|
|
5915
|
+
/* @__PURE__ */ jsxs24("span", { children: [
|
|
5940
5916
|
diff,
|
|
5941
5917
|
"%"
|
|
5942
5918
|
] }),
|
|
5943
|
-
diff > 0 ? /* @__PURE__ */
|
|
5919
|
+
diff > 0 ? /* @__PURE__ */ jsx41(IconArrowUpRight, {}) : /* @__PURE__ */ jsx41(IconArrowDownRight, {})
|
|
5944
5920
|
]
|
|
5945
5921
|
}
|
|
5946
5922
|
)
|
|
5947
5923
|
]
|
|
5948
5924
|
}
|
|
5949
5925
|
),
|
|
5950
|
-
/* @__PURE__ */
|
|
5951
|
-
/* @__PURE__ */
|
|
5952
|
-
/* @__PURE__ */
|
|
5926
|
+
/* @__PURE__ */ jsxs24(Group10, { justify: "space-between", children: [
|
|
5927
|
+
/* @__PURE__ */ jsx41(Text9, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
|
|
5928
|
+
/* @__PURE__ */ jsx41(
|
|
5953
5929
|
Button13,
|
|
5954
5930
|
{
|
|
5955
5931
|
variant: "light",
|
|
@@ -5966,15 +5942,15 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5966
5942
|
|
|
5967
5943
|
// src/components/Inputs/DateInput/MyDateInput.tsx
|
|
5968
5944
|
import { DateInput } from "@mantine/dates";
|
|
5969
|
-
import { jsx as
|
|
5945
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
5970
5946
|
function MyDateInput(_a) {
|
|
5971
5947
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5972
|
-
return /* @__PURE__ */
|
|
5948
|
+
return /* @__PURE__ */ jsx42(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5973
5949
|
}
|
|
5974
5950
|
|
|
5975
5951
|
// src/components/Inputs/Fieldset/MyFieldset.tsx
|
|
5976
|
-
import { Box as
|
|
5977
|
-
import { jsx as
|
|
5952
|
+
import { Box as Box3, Fieldset as Fieldset4, Text as Text10 } from "@mantine/core";
|
|
5953
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
5978
5954
|
function MyFieldset(_a) {
|
|
5979
5955
|
var _b = _a, {
|
|
5980
5956
|
children,
|
|
@@ -5983,17 +5959,17 @@ function MyFieldset(_a) {
|
|
|
5983
5959
|
"children",
|
|
5984
5960
|
"title"
|
|
5985
5961
|
]);
|
|
5986
|
-
return /* @__PURE__ */
|
|
5962
|
+
return /* @__PURE__ */ jsx43(
|
|
5987
5963
|
Fieldset4,
|
|
5988
5964
|
__spreadProps(__spreadValues({}, rest), {
|
|
5989
|
-
legend: /* @__PURE__ */
|
|
5990
|
-
|
|
5965
|
+
legend: /* @__PURE__ */ jsx43(
|
|
5966
|
+
Box3,
|
|
5991
5967
|
{
|
|
5992
5968
|
bg: "blue.4",
|
|
5993
5969
|
px: "xs",
|
|
5994
5970
|
py: 2,
|
|
5995
5971
|
style: { borderRadius: 4 },
|
|
5996
|
-
children: /* @__PURE__ */
|
|
5972
|
+
children: /* @__PURE__ */ jsx43(Text10, { c: "white", fw: 500, children: title })
|
|
5997
5973
|
}
|
|
5998
5974
|
),
|
|
5999
5975
|
children
|
|
@@ -6003,30 +5979,30 @@ function MyFieldset(_a) {
|
|
|
6003
5979
|
|
|
6004
5980
|
// src/components/Inputs/FileInput/MyFileInput.tsx
|
|
6005
5981
|
import { FileInput as FileInput3 } from "@mantine/core";
|
|
6006
|
-
import { jsx as
|
|
5982
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
6007
5983
|
function MyFileInput(_a) {
|
|
6008
5984
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
6009
|
-
return /* @__PURE__ */
|
|
5985
|
+
return /* @__PURE__ */ jsx44(FileInput3, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
6010
5986
|
}
|
|
6011
5987
|
|
|
6012
5988
|
// src/components/Inputs/NumberInput/MyNumberInput.tsx
|
|
6013
5989
|
import { NumberInput as NumberInput2 } from "@mantine/core";
|
|
6014
|
-
import { jsx as
|
|
5990
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
6015
5991
|
function MyNumberInput(_a) {
|
|
6016
5992
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
6017
|
-
return /* @__PURE__ */
|
|
5993
|
+
return /* @__PURE__ */ jsx45(NumberInput2, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
6018
5994
|
}
|
|
6019
5995
|
|
|
6020
5996
|
// src/components/Inputs/TextArea/MyTextArea.tsx
|
|
6021
5997
|
import { Textarea } from "@mantine/core";
|
|
6022
|
-
import { jsx as
|
|
5998
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
6023
5999
|
function MyTextArea(_a) {
|
|
6024
6000
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
6025
|
-
return /* @__PURE__ */
|
|
6001
|
+
return /* @__PURE__ */ jsx46(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
6026
6002
|
}
|
|
6027
6003
|
|
|
6028
6004
|
// src/components/Inputs/TextEditor/MyTextEditor.tsx
|
|
6029
|
-
import { Input, ScrollArea } from "@mantine/core";
|
|
6005
|
+
import { Input, ScrollArea as ScrollArea2 } from "@mantine/core";
|
|
6030
6006
|
import { Link as Link2, RichTextEditor } from "@mantine/tiptap";
|
|
6031
6007
|
import FileHandler from "@tiptap-pro/extension-file-handler";
|
|
6032
6008
|
import Highlight2 from "@tiptap/extension-highlight";
|
|
@@ -6038,7 +6014,7 @@ import Underline from "@tiptap/extension-underline";
|
|
|
6038
6014
|
import { useEditor } from "@tiptap/react";
|
|
6039
6015
|
import StarterKit from "@tiptap/starter-kit";
|
|
6040
6016
|
import { useEffect as useEffect5, useState as useState7 } from "react";
|
|
6041
|
-
import { jsx as
|
|
6017
|
+
import { jsx as jsx47, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
6042
6018
|
function MyTextEditor(_a) {
|
|
6043
6019
|
var _b = _a, {
|
|
6044
6020
|
autoHiddenToolBar = false,
|
|
@@ -6140,44 +6116,44 @@ function MyTextEditor(_a) {
|
|
|
6140
6116
|
editor.commands.setContent(value);
|
|
6141
6117
|
}
|
|
6142
6118
|
}, [value, editor]);
|
|
6143
|
-
return /* @__PURE__ */
|
|
6144
|
-
/* @__PURE__ */
|
|
6145
|
-
/* @__PURE__ */
|
|
6146
|
-
/* @__PURE__ */
|
|
6147
|
-
/* @__PURE__ */
|
|
6148
|
-
/* @__PURE__ */
|
|
6149
|
-
/* @__PURE__ */
|
|
6150
|
-
/* @__PURE__ */
|
|
6151
|
-
/* @__PURE__ */
|
|
6152
|
-
/* @__PURE__ */
|
|
6119
|
+
return /* @__PURE__ */ jsx47(Input.Wrapper, { label, flex: 1, error, withAsterisk, children: /* @__PURE__ */ jsxs25(RichTextEditor, { editor, style: { border: error && "1px solid #e03131" }, children: [
|
|
6120
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.Toolbar, { hidden: hiddenToolBar, sticky: true, stickyOffset: 60, children: [
|
|
6121
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6122
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Bold, {}),
|
|
6123
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Italic, {}),
|
|
6124
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Underline, {}),
|
|
6125
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Strikethrough, {}),
|
|
6126
|
+
/* @__PURE__ */ jsx47(RichTextEditor.ClearFormatting, {}),
|
|
6127
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Highlight, {}),
|
|
6128
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Code, {})
|
|
6153
6129
|
] }),
|
|
6154
|
-
/* @__PURE__ */
|
|
6155
|
-
/* @__PURE__ */
|
|
6156
|
-
/* @__PURE__ */
|
|
6157
|
-
/* @__PURE__ */
|
|
6158
|
-
/* @__PURE__ */
|
|
6130
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6131
|
+
/* @__PURE__ */ jsx47(RichTextEditor.H1, {}),
|
|
6132
|
+
/* @__PURE__ */ jsx47(RichTextEditor.H2, {}),
|
|
6133
|
+
/* @__PURE__ */ jsx47(RichTextEditor.H3, {}),
|
|
6134
|
+
/* @__PURE__ */ jsx47(RichTextEditor.H4, {})
|
|
6159
6135
|
] }),
|
|
6160
|
-
/* @__PURE__ */
|
|
6161
|
-
/* @__PURE__ */
|
|
6162
|
-
/* @__PURE__ */
|
|
6163
|
-
/* @__PURE__ */
|
|
6164
|
-
/* @__PURE__ */
|
|
6165
|
-
/* @__PURE__ */
|
|
6166
|
-
/* @__PURE__ */
|
|
6136
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6137
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Blockquote, {}),
|
|
6138
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Hr, {}),
|
|
6139
|
+
/* @__PURE__ */ jsx47(RichTextEditor.BulletList, {}),
|
|
6140
|
+
/* @__PURE__ */ jsx47(RichTextEditor.OrderedList, {}),
|
|
6141
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Subscript, {}),
|
|
6142
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Superscript, {})
|
|
6167
6143
|
] }),
|
|
6168
|
-
/* @__PURE__ */
|
|
6169
|
-
/* @__PURE__ */
|
|
6170
|
-
/* @__PURE__ */
|
|
6144
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6145
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Link, {}),
|
|
6146
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Unlink, {})
|
|
6171
6147
|
] }),
|
|
6172
|
-
/* @__PURE__ */
|
|
6173
|
-
/* @__PURE__ */
|
|
6174
|
-
/* @__PURE__ */
|
|
6175
|
-
/* @__PURE__ */
|
|
6176
|
-
/* @__PURE__ */
|
|
6148
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6149
|
+
/* @__PURE__ */ jsx47(RichTextEditor.AlignLeft, {}),
|
|
6150
|
+
/* @__PURE__ */ jsx47(RichTextEditor.AlignCenter, {}),
|
|
6151
|
+
/* @__PURE__ */ jsx47(RichTextEditor.AlignJustify, {}),
|
|
6152
|
+
/* @__PURE__ */ jsx47(RichTextEditor.AlignRight, {})
|
|
6177
6153
|
] })
|
|
6178
6154
|
] }),
|
|
6179
|
-
/* @__PURE__ */
|
|
6180
|
-
|
|
6155
|
+
/* @__PURE__ */ jsx47(
|
|
6156
|
+
ScrollArea2.Autosize,
|
|
6181
6157
|
{
|
|
6182
6158
|
onMouseDown: () => {
|
|
6183
6159
|
editor == null ? void 0 : editor.commands.focus();
|
|
@@ -6191,7 +6167,7 @@ function MyTextEditor(_a) {
|
|
|
6191
6167
|
setHiddenToolBar(false);
|
|
6192
6168
|
},
|
|
6193
6169
|
style: { cursor: "text", maxHeight: "400px" },
|
|
6194
|
-
children: /* @__PURE__ */
|
|
6170
|
+
children: /* @__PURE__ */ jsx47(RichTextEditor.Content, { mih: contentHeight })
|
|
6195
6171
|
}
|
|
6196
6172
|
)
|
|
6197
6173
|
] }) });
|
|
@@ -6201,14 +6177,14 @@ function MyTextEditor(_a) {
|
|
|
6201
6177
|
import { Button as Button14 } from "@mantine/core";
|
|
6202
6178
|
import { IconLogout } from "@tabler/icons-react";
|
|
6203
6179
|
import { useRouter as useRouter3 } from "next/navigation";
|
|
6204
|
-
import { jsx as
|
|
6180
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
6205
6181
|
function F0Logout() {
|
|
6206
6182
|
const router = useRouter3();
|
|
6207
6183
|
const S_Authenticate = useS_Authenticate();
|
|
6208
|
-
return /* @__PURE__ */
|
|
6184
|
+
return /* @__PURE__ */ jsx48(Button14, { onClick: () => {
|
|
6209
6185
|
S_Authenticate.setProperty("token", "");
|
|
6210
6186
|
router.replace("/auth/login");
|
|
6211
|
-
}, leftSection: /* @__PURE__ */
|
|
6187
|
+
}, leftSection: /* @__PURE__ */ jsx48(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
|
|
6212
6188
|
}
|
|
6213
6189
|
|
|
6214
6190
|
// src/components/Layouts/BasicAppShell/BasicAppShell.tsx
|
|
@@ -6220,7 +6196,7 @@ import {
|
|
|
6220
6196
|
Group as Group11,
|
|
6221
6197
|
Image as Image3,
|
|
6222
6198
|
NavLink,
|
|
6223
|
-
ScrollArea as
|
|
6199
|
+
ScrollArea as ScrollArea3,
|
|
6224
6200
|
Select as Select3,
|
|
6225
6201
|
Text as Text11,
|
|
6226
6202
|
TextInput as TextInput2,
|
|
@@ -6231,18 +6207,18 @@ import { spotlight as spotlight2 } from "@mantine/spotlight";
|
|
|
6231
6207
|
import { IconLayoutSidebarLeftCollapse, IconLayoutSidebarLeftExpand, IconLibraryMinus, IconSearch as IconSearch2 } from "@tabler/icons-react";
|
|
6232
6208
|
import Link3 from "next/link";
|
|
6233
6209
|
import { usePathname as usePathname2 } from "next/navigation";
|
|
6234
|
-
import { Fragment as Fragment12, jsx as
|
|
6210
|
+
import { Fragment as Fragment12, jsx as jsx49, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
6235
6211
|
function getRightSection(status) {
|
|
6236
|
-
if (status === "Prototype") return /* @__PURE__ */
|
|
6237
|
-
if (status === "New") return /* @__PURE__ */
|
|
6238
|
-
if (status === "Menu") return /* @__PURE__ */
|
|
6239
|
-
if (status === "Change") return /* @__PURE__ */
|
|
6212
|
+
if (status === "Prototype") return /* @__PURE__ */ jsx49(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true, children: "P" });
|
|
6213
|
+
if (status === "New") return /* @__PURE__ */ jsx49(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true, children: "N" });
|
|
6214
|
+
if (status === "Menu") return /* @__PURE__ */ jsx49(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true, children: "M" });
|
|
6215
|
+
if (status === "Change") return /* @__PURE__ */ jsx49(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true, children: "C" });
|
|
6240
6216
|
return null;
|
|
6241
6217
|
}
|
|
6242
6218
|
function RenderNavLinks({ items }) {
|
|
6243
6219
|
const sidebarStore = useS_Sidebar();
|
|
6244
6220
|
const pathName = usePathname2();
|
|
6245
|
-
return /* @__PURE__ */
|
|
6221
|
+
return /* @__PURE__ */ jsx49(Fragment12, { children: items.map((item, index) => /* @__PURE__ */ jsx49(
|
|
6246
6222
|
NavLink,
|
|
6247
6223
|
{
|
|
6248
6224
|
active: item.link === pathName.split("/")[2],
|
|
@@ -6259,7 +6235,7 @@ function RenderNavLinks({ items }) {
|
|
|
6259
6235
|
sidebarStore.setProperty("title", item.label);
|
|
6260
6236
|
}
|
|
6261
6237
|
},
|
|
6262
|
-
children: item.links && /* @__PURE__ */
|
|
6238
|
+
children: item.links && /* @__PURE__ */ jsx49(RenderNavLinks, { items: item.links })
|
|
6263
6239
|
},
|
|
6264
6240
|
index
|
|
6265
6241
|
)) });
|
|
@@ -6316,7 +6292,7 @@ function BasicAppShell({ children, menu }) {
|
|
|
6316
6292
|
const sidebarStore = useS_Sidebar();
|
|
6317
6293
|
const media = useMediaQuery("(min-width: 72em)");
|
|
6318
6294
|
const selectMedia = useMediaQuery("(min-width: 80em)");
|
|
6319
|
-
return /* @__PURE__ */
|
|
6295
|
+
return /* @__PURE__ */ jsxs26(
|
|
6320
6296
|
AppShell,
|
|
6321
6297
|
{
|
|
6322
6298
|
header: { height: 60 },
|
|
@@ -6327,17 +6303,17 @@ function BasicAppShell({ children, menu }) {
|
|
|
6327
6303
|
},
|
|
6328
6304
|
padding: "md",
|
|
6329
6305
|
children: [
|
|
6330
|
-
/* @__PURE__ */
|
|
6331
|
-
/* @__PURE__ */
|
|
6332
|
-
media ? /* @__PURE__ */
|
|
6333
|
-
/* @__PURE__ */
|
|
6334
|
-
/* @__PURE__ */
|
|
6335
|
-
/* @__PURE__ */
|
|
6306
|
+
/* @__PURE__ */ jsxs26(AppShell.Header, { children: [
|
|
6307
|
+
/* @__PURE__ */ jsx49(MyAppSpotlight, { menu }),
|
|
6308
|
+
media ? /* @__PURE__ */ jsxs26(Group11, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
|
|
6309
|
+
/* @__PURE__ */ jsxs26(Group11, { h: "100%", children: [
|
|
6310
|
+
/* @__PURE__ */ jsx49(Tooltip5, { label: sidebarStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu", children: /* @__PURE__ */ jsx49(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: sidebarStore.toggle, children: sidebarStore.state.opened ? /* @__PURE__ */ jsx49(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx49(IconLayoutSidebarLeftCollapse, {}) }) }),
|
|
6311
|
+
/* @__PURE__ */ jsx49(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx49(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: () => sidebarStore.clearGroupMenuOpenId(), children: /* @__PURE__ */ jsx49(IconLibraryMinus, {}) }) })
|
|
6336
6312
|
] }),
|
|
6337
|
-
/* @__PURE__ */
|
|
6338
|
-
/* @__PURE__ */
|
|
6339
|
-
/* @__PURE__ */
|
|
6340
|
-
/* @__PURE__ */
|
|
6313
|
+
/* @__PURE__ */ jsx49(Group11, { style: { position: "absolute", left: "50%", transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsx49(Text11, { c: "green", fw: "bold", children: "AQ EduCourseEvaluation - Ph\u1EA7n m\u1EC1m \u0111\xE1nh gi\xE1 chu\u1EA9n \u0111\u1EA7u ra" }) }),
|
|
6314
|
+
/* @__PURE__ */ jsxs26(Group11, { children: [
|
|
6315
|
+
/* @__PURE__ */ jsx49(Text11, { children: "H\u1ECDc k\u1EF3 l\xE0m vi\u1EC7c" }),
|
|
6316
|
+
/* @__PURE__ */ jsx49(
|
|
6341
6317
|
Select3,
|
|
6342
6318
|
{
|
|
6343
6319
|
w: selectMedia ? 245 : 150,
|
|
@@ -6349,15 +6325,15 @@ function BasicAppShell({ children, menu }) {
|
|
|
6349
6325
|
]
|
|
6350
6326
|
}
|
|
6351
6327
|
),
|
|
6352
|
-
/* @__PURE__ */
|
|
6328
|
+
/* @__PURE__ */ jsx49(MySwitchTheme, {})
|
|
6353
6329
|
] })
|
|
6354
6330
|
] }) : (
|
|
6355
6331
|
// For mobile screens - simplified layout
|
|
6356
|
-
/* @__PURE__ */
|
|
6357
|
-
/* @__PURE__ */
|
|
6358
|
-
/* @__PURE__ */
|
|
6359
|
-
/* @__PURE__ */
|
|
6360
|
-
/* @__PURE__ */
|
|
6332
|
+
/* @__PURE__ */ jsxs26(Group11, { h: "100%", px: "md", justify: "space-between", children: [
|
|
6333
|
+
/* @__PURE__ */ jsx49(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: sidebarStore.toggle, children: sidebarStore.state.opened ? /* @__PURE__ */ jsx49(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx49(IconLayoutSidebarLeftCollapse, {}) }),
|
|
6334
|
+
/* @__PURE__ */ jsx49(Text11, { c: "green", fw: "bold", size: "sm", children: "AQ EduCourseEvaluation" }),
|
|
6335
|
+
/* @__PURE__ */ jsxs26(Group11, { children: [
|
|
6336
|
+
/* @__PURE__ */ jsx49(
|
|
6361
6337
|
Select3,
|
|
6362
6338
|
{
|
|
6363
6339
|
w: 100,
|
|
@@ -6370,24 +6346,24 @@ function BasicAppShell({ children, menu }) {
|
|
|
6370
6346
|
]
|
|
6371
6347
|
}
|
|
6372
6348
|
),
|
|
6373
|
-
/* @__PURE__ */
|
|
6349
|
+
/* @__PURE__ */ jsx49(MySwitchTheme, {})
|
|
6374
6350
|
] })
|
|
6375
6351
|
] })
|
|
6376
6352
|
)
|
|
6377
6353
|
] }),
|
|
6378
|
-
/* @__PURE__ */
|
|
6379
|
-
/* @__PURE__ */
|
|
6380
|
-
/* @__PURE__ */
|
|
6381
|
-
/* @__PURE__ */
|
|
6382
|
-
/* @__PURE__ */
|
|
6383
|
-
/* @__PURE__ */
|
|
6354
|
+
/* @__PURE__ */ jsxs26(AppShell.Navbar, { children: [
|
|
6355
|
+
/* @__PURE__ */ jsx49(TextInput2, { mt: "md", placeholder: "T\xECm menu (Ctrl + K)", mx: 10, component: "button", onClick: spotlight2.open, leftSection: /* @__PURE__ */ jsx49(IconSearch2, {}), children: "T\xECm ki\u1EBFm (Ctrl + K)" }),
|
|
6356
|
+
/* @__PURE__ */ jsxs26(AppShell.Section, { grow: true, component: ScrollArea3, p: 5, children: [
|
|
6357
|
+
/* @__PURE__ */ jsx49(RenderNavLinks, { items: menu }),
|
|
6358
|
+
/* @__PURE__ */ jsx49(Divider2, {}),
|
|
6359
|
+
/* @__PURE__ */ jsx49(F0Logout, {})
|
|
6384
6360
|
] }),
|
|
6385
|
-
/* @__PURE__ */
|
|
6386
|
-
/* @__PURE__ */
|
|
6387
|
-
/* @__PURE__ */
|
|
6361
|
+
/* @__PURE__ */ jsxs26(AppShell.Section, { p: "md", children: [
|
|
6362
|
+
/* @__PURE__ */ jsx49(Divider2, {}),
|
|
6363
|
+
/* @__PURE__ */ jsx49(Image3, { src: "/imgs/0/IMG0LogoAQTech.png", h: 50, alt: "", w: "auto" })
|
|
6388
6364
|
] })
|
|
6389
6365
|
] }),
|
|
6390
|
-
/* @__PURE__ */
|
|
6366
|
+
/* @__PURE__ */ jsx49(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children })
|
|
6391
6367
|
]
|
|
6392
6368
|
}
|
|
6393
6369
|
);
|
|
@@ -6436,10 +6412,10 @@ function utils_layout_getItemsWithoutLinks(menu) {
|
|
|
6436
6412
|
|
|
6437
6413
|
// src/components/Layouts/Container/MyContainer.tsx
|
|
6438
6414
|
import { Container, Flex as Flex4 } from "@mantine/core";
|
|
6439
|
-
import { jsx as
|
|
6415
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
6440
6416
|
function MyContainer(_a) {
|
|
6441
6417
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
|
6442
|
-
return /* @__PURE__ */
|
|
6418
|
+
return /* @__PURE__ */ jsx50(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx50(Flex4, { direction: "column", children }) }));
|
|
6443
6419
|
}
|
|
6444
6420
|
|
|
6445
6421
|
// src/constants/object/color.ts
|
|
@@ -6451,7 +6427,7 @@ var OBJECT_COlORS = {
|
|
|
6451
6427
|
|
|
6452
6428
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
|
6453
6429
|
import {
|
|
6454
|
-
Box as
|
|
6430
|
+
Box as Box4,
|
|
6455
6431
|
Burger,
|
|
6456
6432
|
Button as Button15,
|
|
6457
6433
|
Container as Container2,
|
|
@@ -6459,7 +6435,7 @@ import {
|
|
|
6459
6435
|
Drawer,
|
|
6460
6436
|
Group as Group12,
|
|
6461
6437
|
Image as Image4,
|
|
6462
|
-
ScrollArea as
|
|
6438
|
+
ScrollArea as ScrollArea4,
|
|
6463
6439
|
Text as Text12,
|
|
6464
6440
|
TextInput as TextInput3,
|
|
6465
6441
|
ThemeIcon,
|
|
@@ -6482,17 +6458,17 @@ import Link4 from "next/link";
|
|
|
6482
6458
|
var css_default2 = {};
|
|
6483
6459
|
|
|
6484
6460
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenuStore.ts
|
|
6485
|
-
var
|
|
6461
|
+
var useStore2 = createGenericStore({
|
|
6486
6462
|
initialState: { name: "\u0110\u0103ng k\xFD kh\xF3a h\u1ECDc" },
|
|
6487
6463
|
storageKey: "HeaderMegaMenuStore"
|
|
6488
6464
|
});
|
|
6489
6465
|
function useHeaderMegaMenuStore() {
|
|
6490
|
-
const store =
|
|
6466
|
+
const store = useStore2();
|
|
6491
6467
|
return __spreadValues({}, store);
|
|
6492
6468
|
}
|
|
6493
6469
|
|
|
6494
6470
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
|
6495
|
-
import { jsx as
|
|
6471
|
+
import { jsx as jsx51, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6496
6472
|
var mockdata = [
|
|
6497
6473
|
{
|
|
6498
6474
|
icon: IconCode,
|
|
@@ -6530,27 +6506,27 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
6530
6506
|
const [linksOpened, { toggle: toggleLinks }] = useDisclosure10(false);
|
|
6531
6507
|
const HeaderMegaMenuStore = useHeaderMegaMenuStore();
|
|
6532
6508
|
const theme = useMantineTheme();
|
|
6533
|
-
const links = mockdata.map((item) => /* @__PURE__ */
|
|
6534
|
-
/* @__PURE__ */
|
|
6535
|
-
/* @__PURE__ */
|
|
6536
|
-
/* @__PURE__ */
|
|
6537
|
-
/* @__PURE__ */
|
|
6509
|
+
const links = mockdata.map((item) => /* @__PURE__ */ jsx51(UnstyledButton, { className: css_default2.subLink, children: /* @__PURE__ */ jsxs27(Group12, { wrap: "nowrap", align: "flex-start", children: [
|
|
6510
|
+
/* @__PURE__ */ jsx51(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx51(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
|
|
6511
|
+
/* @__PURE__ */ jsxs27("div", { children: [
|
|
6512
|
+
/* @__PURE__ */ jsx51(Text12, { size: "sm", fw: 500, children: item.title }),
|
|
6513
|
+
/* @__PURE__ */ jsx51(Text12, { size: "xs", c: "dimmed", children: item.description })
|
|
6538
6514
|
] })
|
|
6539
6515
|
] }) }, item.title));
|
|
6540
|
-
return /* @__PURE__ */
|
|
6541
|
-
/* @__PURE__ */
|
|
6542
|
-
/* @__PURE__ */
|
|
6543
|
-
/* @__PURE__ */
|
|
6544
|
-
/* @__PURE__ */
|
|
6516
|
+
return /* @__PURE__ */ jsxs27(Box4, { children: [
|
|
6517
|
+
/* @__PURE__ */ jsx51("header", { className: css_default2.header, children: /* @__PURE__ */ jsxs27(Group12, { justify: "space-between", h: "100%", children: [
|
|
6518
|
+
/* @__PURE__ */ jsxs27(Group12, { children: [
|
|
6519
|
+
/* @__PURE__ */ jsx51(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
|
|
6520
|
+
/* @__PURE__ */ jsx51(Group12, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx51(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
|
|
6545
6521
|
] }),
|
|
6546
|
-
/* @__PURE__ */
|
|
6547
|
-
/* @__PURE__ */
|
|
6548
|
-
/* @__PURE__ */
|
|
6522
|
+
/* @__PURE__ */ jsxs27(Group12, { children: [
|
|
6523
|
+
/* @__PURE__ */ jsx51(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx51(IconSearch3, {}), radius: "xl", w: "250px" }),
|
|
6524
|
+
/* @__PURE__ */ jsx51(MySwitchTheme, {})
|
|
6549
6525
|
] }),
|
|
6550
|
-
/* @__PURE__ */
|
|
6526
|
+
/* @__PURE__ */ jsx51(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
|
|
6551
6527
|
] }) }),
|
|
6552
|
-
/* @__PURE__ */
|
|
6553
|
-
/* @__PURE__ */
|
|
6528
|
+
/* @__PURE__ */ jsx51(Container2, { fluid: true, pt: "sm", pb: "md", bg: OBJECT_COlORS.mantineBackgroundSecondary, mih: "93vh", children }),
|
|
6529
|
+
/* @__PURE__ */ jsx51(
|
|
6554
6530
|
Drawer,
|
|
6555
6531
|
{
|
|
6556
6532
|
opened: drawerOpened,
|
|
@@ -6560,41 +6536,19 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
6560
6536
|
title: "Navigation",
|
|
6561
6537
|
hiddenFrom: "sm",
|
|
6562
6538
|
zIndex: 1e6,
|
|
6563
|
-
children: /* @__PURE__ */
|
|
6564
|
-
/* @__PURE__ */
|
|
6565
|
-
/* @__PURE__ */
|
|
6566
|
-
/* @__PURE__ */
|
|
6539
|
+
children: /* @__PURE__ */ jsxs27(ScrollArea4, { h: "calc(100vh - 80px", mx: "-md", children: [
|
|
6540
|
+
/* @__PURE__ */ jsx51(Divider3, { my: "sm" }),
|
|
6541
|
+
/* @__PURE__ */ jsx51(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx51(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
|
|
6542
|
+
/* @__PURE__ */ jsx51(Divider3, { my: "sm" })
|
|
6567
6543
|
] })
|
|
6568
6544
|
}
|
|
6569
6545
|
)
|
|
6570
6546
|
] });
|
|
6571
6547
|
}
|
|
6572
6548
|
|
|
6573
|
-
// src/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx
|
|
6574
|
-
import { ScrollArea as ScrollArea4, TypographyStylesProvider } from "@mantine/core";
|
|
6575
|
-
import pako from "pako";
|
|
6576
|
-
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
6577
|
-
function MyHtmlWrapper(_a) {
|
|
6578
|
-
var _b = _a, { html, mah, zip = false } = _b, rest = __objRest(_b, ["html", "mah", "zip"]);
|
|
6579
|
-
const extractHtmlFromZip = () => {
|
|
6580
|
-
const binaryString = Buffer.from(html, "base64");
|
|
6581
|
-
const decompressedData = pako.inflate(binaryString, { to: "string" });
|
|
6582
|
-
const cleanedHtml = decompressedData == null ? void 0 : decompressedData.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
|
|
6583
|
-
return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
|
|
6584
|
-
};
|
|
6585
|
-
return /* @__PURE__ */ jsx50(ScrollArea4.Autosize, { mah, children: /* @__PURE__ */ jsx50(TypographyStylesProvider, __spreadProps(__spreadValues({}, rest), { children: /* @__PURE__ */ jsx50(
|
|
6586
|
-
"div",
|
|
6587
|
-
{
|
|
6588
|
-
dangerouslySetInnerHTML: {
|
|
6589
|
-
__html: zip ? extractHtmlFromZip() : html
|
|
6590
|
-
}
|
|
6591
|
-
}
|
|
6592
|
-
) })) });
|
|
6593
|
-
}
|
|
6594
|
-
|
|
6595
6549
|
// src/components/Layouts/PageContent/MyPageContent.tsx
|
|
6596
6550
|
import { Code, Container as Container3, Divider as Divider4, Group as Group13, Indicator, Title } from "@mantine/core";
|
|
6597
|
-
import { jsx as
|
|
6551
|
+
import { jsx as jsx52, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
6598
6552
|
var getStatusColor = (status) => {
|
|
6599
6553
|
switch (status) {
|
|
6600
6554
|
case "Prototype":
|
|
@@ -6607,39 +6561,39 @@ var getStatusColor = (status) => {
|
|
|
6607
6561
|
};
|
|
6608
6562
|
var PageTitle = ({ title, status }) => {
|
|
6609
6563
|
const color = getStatusColor(status);
|
|
6610
|
-
return /* @__PURE__ */
|
|
6564
|
+
return /* @__PURE__ */ jsx52(Indicator, { label: status, size: 16, inline: true, color, disabled: !status, pt: 6, children: /* @__PURE__ */ jsx52(Title, { children: title }) });
|
|
6611
6565
|
};
|
|
6612
6566
|
function MyPageContent({ leftTopBar, title, canBack = false, rightTopBar, status, children }) {
|
|
6613
6567
|
const SidebarStore = useS_Sidebar();
|
|
6614
6568
|
const finalTitle = title || SidebarStore.state.title;
|
|
6615
|
-
return /* @__PURE__ */
|
|
6616
|
-
/* @__PURE__ */
|
|
6617
|
-
/* @__PURE__ */
|
|
6618
|
-
canBack && /* @__PURE__ */
|
|
6619
|
-
/* @__PURE__ */
|
|
6569
|
+
return /* @__PURE__ */ jsxs28(Container3, { p: 0, fluid: true, children: [
|
|
6570
|
+
/* @__PURE__ */ jsxs28(Group13, { justify: "space-between", children: [
|
|
6571
|
+
/* @__PURE__ */ jsxs28(Group13, { children: [
|
|
6572
|
+
canBack && /* @__PURE__ */ jsx52(MyButtonRouterBack, {}),
|
|
6573
|
+
/* @__PURE__ */ jsx52(PageTitle, { title: finalTitle, status }),
|
|
6620
6574
|
leftTopBar
|
|
6621
6575
|
] }),
|
|
6622
|
-
/* @__PURE__ */
|
|
6576
|
+
/* @__PURE__ */ jsxs28(Group13, { children: [
|
|
6623
6577
|
rightTopBar,
|
|
6624
|
-
/* @__PURE__ */
|
|
6578
|
+
/* @__PURE__ */ jsx52(Code, { color: "var(--mantine-color-blue-light)", children: SidebarStore.state.menuCode })
|
|
6625
6579
|
] })
|
|
6626
6580
|
] }),
|
|
6627
|
-
/* @__PURE__ */
|
|
6581
|
+
/* @__PURE__ */ jsx52(Divider4, {}),
|
|
6628
6582
|
children
|
|
6629
6583
|
] });
|
|
6630
6584
|
}
|
|
6631
6585
|
|
|
6632
6586
|
// src/components/Layouts/Tab/MyTab.tsx
|
|
6633
6587
|
import { rem, Space as Space3, Tabs } from "@mantine/core";
|
|
6634
|
-
import { jsx as
|
|
6588
|
+
import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6635
6589
|
function MyTab(_a) {
|
|
6636
6590
|
var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
|
|
6637
6591
|
const iconStyle = { width: rem(20), height: rem(20) };
|
|
6638
|
-
return /* @__PURE__ */
|
|
6639
|
-
/* @__PURE__ */
|
|
6640
|
-
return /* @__PURE__ */
|
|
6592
|
+
return /* @__PURE__ */ jsxs29(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
|
|
6593
|
+
/* @__PURE__ */ jsx53(Tabs.List, { children: tabList.map((item, idx) => {
|
|
6594
|
+
return /* @__PURE__ */ jsx53(Tabs.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx53(item.icon, { style: iconStyle }), children: item.label }, idx);
|
|
6641
6595
|
}) }),
|
|
6642
|
-
/* @__PURE__ */
|
|
6596
|
+
/* @__PURE__ */ jsx53(Space3, { my: "md" }),
|
|
6643
6597
|
children
|
|
6644
6598
|
] }));
|
|
6645
6599
|
}
|
|
@@ -6648,33 +6602,33 @@ function MyTab(_a) {
|
|
|
6648
6602
|
import { ActionIcon as ActionIcon11, Button as Button16, Fieldset as Fieldset5, Group as Group14, Modal as Modal11 } from "@mantine/core";
|
|
6649
6603
|
import { useDisclosure as useDisclosure11 } from "@mantine/hooks";
|
|
6650
6604
|
import { IconX as IconX2 } from "@tabler/icons-react";
|
|
6651
|
-
import { jsx as
|
|
6605
|
+
import { jsx as jsx54, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6652
6606
|
function MyDataTableSelect(_a) {
|
|
6653
6607
|
var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
|
|
6654
6608
|
const disc = useDisclosure11(false);
|
|
6655
6609
|
if (data == void 0) return "\u0110ang t\u1EA3i...";
|
|
6656
|
-
return /* @__PURE__ */
|
|
6657
|
-
/* @__PURE__ */
|
|
6610
|
+
return /* @__PURE__ */ jsxs30(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
|
|
6611
|
+
/* @__PURE__ */ jsx54(
|
|
6658
6612
|
MyDataTable,
|
|
6659
6613
|
__spreadValues({
|
|
6660
6614
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
6661
|
-
return /* @__PURE__ */
|
|
6615
|
+
return /* @__PURE__ */ jsxs30(Group14, { children: [
|
|
6662
6616
|
renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
|
|
6663
|
-
/* @__PURE__ */
|
|
6617
|
+
/* @__PURE__ */ jsx54(Button16, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
|
|
6664
6618
|
] });
|
|
6665
6619
|
},
|
|
6666
6620
|
columns,
|
|
6667
6621
|
data: listState[0],
|
|
6668
6622
|
renderRowActions: ({ row }) => {
|
|
6669
|
-
return /* @__PURE__ */
|
|
6623
|
+
return /* @__PURE__ */ jsx54(MyCenterFull, { children: /* @__PURE__ */ jsx54(ActionIcon11, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx54(IconX2, {}) }) });
|
|
6670
6624
|
}
|
|
6671
6625
|
}, rest)
|
|
6672
6626
|
),
|
|
6673
|
-
/* @__PURE__ */
|
|
6627
|
+
/* @__PURE__ */ jsx54(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx54(
|
|
6674
6628
|
MyDataTable,
|
|
6675
6629
|
__spreadValues({
|
|
6676
6630
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
6677
|
-
return /* @__PURE__ */
|
|
6631
|
+
return /* @__PURE__ */ jsx54(Button16, { onClick: () => {
|
|
6678
6632
|
table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
|
|
6679
6633
|
disc[1].close();
|
|
6680
6634
|
}, children: "Ch\u1ECDn" });
|
|
@@ -6690,7 +6644,7 @@ function MyDataTableSelect(_a) {
|
|
|
6690
6644
|
// src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
|
|
6691
6645
|
import { Select as Select4 } from "@mantine/core";
|
|
6692
6646
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
6693
|
-
import { jsx as
|
|
6647
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
6694
6648
|
function MySelectAPIGet(_a) {
|
|
6695
6649
|
var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
|
|
6696
6650
|
var _a2;
|
|
@@ -6709,7 +6663,7 @@ function MySelectAPIGet(_a) {
|
|
|
6709
6663
|
label: `${item.code}-${item.name}`
|
|
6710
6664
|
};
|
|
6711
6665
|
});
|
|
6712
|
-
return /* @__PURE__ */
|
|
6666
|
+
return /* @__PURE__ */ jsx55(
|
|
6713
6667
|
Select4,
|
|
6714
6668
|
__spreadValues({
|
|
6715
6669
|
label,
|
|
@@ -6721,9 +6675,9 @@ function MySelectAPIGet(_a) {
|
|
|
6721
6675
|
|
|
6722
6676
|
// src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
|
|
6723
6677
|
import { Skeleton } from "@mantine/core";
|
|
6724
|
-
import { jsx as
|
|
6678
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
6725
6679
|
function MySkeletonTable({ h: h4 = 500 }) {
|
|
6726
|
-
return /* @__PURE__ */
|
|
6680
|
+
return /* @__PURE__ */ jsx56(Skeleton, { h: h4 });
|
|
6727
6681
|
}
|
|
6728
6682
|
|
|
6729
6683
|
export {
|
|
@@ -6743,7 +6697,6 @@ export {
|
|
|
6743
6697
|
MyActionIconUpload,
|
|
6744
6698
|
MyActionIconViewPDF,
|
|
6745
6699
|
MySwitchTheme,
|
|
6746
|
-
createGenericStore,
|
|
6747
6700
|
MyAppSpotlight,
|
|
6748
6701
|
SpotlightTrigger,
|
|
6749
6702
|
MyAnchorViewPDF,
|
|
@@ -6760,6 +6713,7 @@ export {
|
|
|
6760
6713
|
MyButtonImport,
|
|
6761
6714
|
AQSelectTableByOpenModal,
|
|
6762
6715
|
MyButtonPrintPDF,
|
|
6716
|
+
MyHtmlWrapper,
|
|
6763
6717
|
MyButtonRouterBack,
|
|
6764
6718
|
baseAxios_default,
|
|
6765
6719
|
MyButtonViewPDF,
|
|
@@ -6785,7 +6739,6 @@ export {
|
|
|
6785
6739
|
OBJECT_COlORS,
|
|
6786
6740
|
useHeaderMegaMenuStore,
|
|
6787
6741
|
HeaderMegaMenu,
|
|
6788
|
-
MyHtmlWrapper,
|
|
6789
6742
|
MyPageContent,
|
|
6790
6743
|
MyTab,
|
|
6791
6744
|
MyDataTableSelect,
|