aq-fe-framework 0.1.48 → 0.1.50
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.
|
@@ -1593,19 +1593,159 @@ function MyButtonPrintPDF(_a) {
|
|
|
1593
1593
|
] });
|
|
1594
1594
|
}
|
|
1595
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
|
+
function MyButtonPrintTablePDF({
|
|
1622
|
+
printConfig,
|
|
1623
|
+
data
|
|
1624
|
+
}) {
|
|
1625
|
+
console.log(printConfig);
|
|
1626
|
+
const formatDate = (date) => {
|
|
1627
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
1628
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
1629
|
+
const year = date.getFullYear();
|
|
1630
|
+
return `${day}/${month}/${year}`;
|
|
1631
|
+
};
|
|
1632
|
+
const formatValue = (value) => {
|
|
1633
|
+
if (value === void 0 || value === null) {
|
|
1634
|
+
return "";
|
|
1635
|
+
}
|
|
1636
|
+
if (value instanceof Date) {
|
|
1637
|
+
return formatDate(value);
|
|
1638
|
+
}
|
|
1639
|
+
return String(value);
|
|
1640
|
+
};
|
|
1641
|
+
const rows = data == null ? void 0 : data.map((item, index) => {
|
|
1642
|
+
if (!(printConfig == null ? void 0 : printConfig.fields)) return null;
|
|
1643
|
+
return /* @__PURE__ */ jsxs19(Table2.Tr, { children: [
|
|
1644
|
+
printConfig.showRowNumbers && /* @__PURE__ */ jsx31(Table2.Td, { ta: "center", px: "xs", style: { border: "1px solid lightgray" }, children: index + 1 }),
|
|
1645
|
+
printConfig.fields.map((field) => {
|
|
1646
|
+
let value = item[field.fieldName];
|
|
1647
|
+
if (field.formatFunction) {
|
|
1648
|
+
value = field.formatFunction(value, item);
|
|
1649
|
+
} else {
|
|
1650
|
+
value = formatValue(value);
|
|
1651
|
+
}
|
|
1652
|
+
const alignment = field.isCenter === false ? "left" : "center";
|
|
1653
|
+
if (typeof value === "string" && (value.includes("<") || value.includes("<"))) {
|
|
1654
|
+
return /* @__PURE__ */ jsx31(
|
|
1655
|
+
Table2.Td,
|
|
1656
|
+
{
|
|
1657
|
+
px: "xs",
|
|
1658
|
+
ta: alignment,
|
|
1659
|
+
style: { border: "1px solid lightgray" },
|
|
1660
|
+
children: /* @__PURE__ */ jsx31(MyHtmlWrapper, { html: value })
|
|
1661
|
+
},
|
|
1662
|
+
field.fieldName
|
|
1663
|
+
);
|
|
1664
|
+
}
|
|
1665
|
+
if (value === "true") {
|
|
1666
|
+
return /* @__PURE__ */ jsx31(
|
|
1667
|
+
Table2.Td,
|
|
1668
|
+
{
|
|
1669
|
+
ta: alignment,
|
|
1670
|
+
px: "xs",
|
|
1671
|
+
style: { border: "1px solid lightgray" },
|
|
1672
|
+
children: /* @__PURE__ */ jsx31("input", { type: "checkbox", checked: true, readOnly: true })
|
|
1673
|
+
},
|
|
1674
|
+
field.fieldName
|
|
1675
|
+
);
|
|
1676
|
+
}
|
|
1677
|
+
return /* @__PURE__ */ jsx31(
|
|
1678
|
+
Table2.Td,
|
|
1679
|
+
{
|
|
1680
|
+
ta: alignment,
|
|
1681
|
+
px: "xs",
|
|
1682
|
+
style: { border: "1px solid lightgray" },
|
|
1683
|
+
children: value
|
|
1684
|
+
},
|
|
1685
|
+
field.fieldName
|
|
1686
|
+
);
|
|
1687
|
+
})
|
|
1688
|
+
] }, index);
|
|
1689
|
+
});
|
|
1690
|
+
const renderContent = () => {
|
|
1691
|
+
if (!data || !(printConfig == null ? void 0 : printConfig.fields)) return null;
|
|
1692
|
+
const today = /* @__PURE__ */ new Date();
|
|
1693
|
+
const formattedDate = today.toLocaleDateString("vi-VN", {
|
|
1694
|
+
year: "numeric",
|
|
1695
|
+
month: "long",
|
|
1696
|
+
day: "numeric",
|
|
1697
|
+
hour: "2-digit",
|
|
1698
|
+
minute: "2-digit"
|
|
1699
|
+
});
|
|
1700
|
+
const tableTitle = (printConfig == null ? void 0 : printConfig.title) || "B\u1EA3ng d\u1EEF li\u1EC7u";
|
|
1701
|
+
return /* @__PURE__ */ jsxs19(Box, { p: "lg", children: [
|
|
1702
|
+
/* @__PURE__ */ jsxs19("div", { style: { textAlign: "center", marginTop: "10px", fontStyle: "italic", color: "#666" }, children: [
|
|
1703
|
+
"Ng\xE0y in: ",
|
|
1704
|
+
formattedDate
|
|
1705
|
+
] }),
|
|
1706
|
+
/* @__PURE__ */ jsx31("h2", { style: { textAlign: "center", fontSize: "24px", fontWeight: "bold", marginBottom: "20px" }, children: tableTitle }),
|
|
1707
|
+
/* @__PURE__ */ jsxs19(Table2, { withColumnBorders: true, highlightOnHover: true, style: { border: "1px solid lightgray" }, children: [
|
|
1708
|
+
/* @__PURE__ */ jsx31(Table2.Thead, { children: /* @__PURE__ */ jsxs19(Table2.Tr, { children: [
|
|
1709
|
+
printConfig.showRowNumbers && /* @__PURE__ */ jsx31(Table2.Th, { style: { border: "1px solid lightgray" }, w: "10%", ta: "center", px: "xs", children: "STT" }),
|
|
1710
|
+
printConfig.fields.map((field) => {
|
|
1711
|
+
const alignment = field.isCenter === false ? "left" : "center";
|
|
1712
|
+
return /* @__PURE__ */ jsx31(
|
|
1713
|
+
Table2.Th,
|
|
1714
|
+
{
|
|
1715
|
+
style: { border: "1px solid lightgray" },
|
|
1716
|
+
ta: alignment,
|
|
1717
|
+
px: "xs",
|
|
1718
|
+
children: field.header
|
|
1719
|
+
},
|
|
1720
|
+
field.fieldName
|
|
1721
|
+
);
|
|
1722
|
+
})
|
|
1723
|
+
] }) }),
|
|
1724
|
+
/* @__PURE__ */ jsx31(Table2.Tbody, { children: rows })
|
|
1725
|
+
] })
|
|
1726
|
+
] });
|
|
1727
|
+
};
|
|
1728
|
+
return /* @__PURE__ */ jsx31(
|
|
1729
|
+
MyButtonPrintPDF,
|
|
1730
|
+
{
|
|
1731
|
+
contentToPrint: renderContent()
|
|
1732
|
+
}
|
|
1733
|
+
);
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1596
1736
|
// src/components/Buttons/ButtonRouterBack/MyButtonRouterBack.tsx
|
|
1597
1737
|
import { Button as Button11 } from "@mantine/core";
|
|
1598
1738
|
import { IconArrowBack } from "@tabler/icons-react";
|
|
1599
1739
|
import { useRouter as useRouter2 } from "next/navigation";
|
|
1600
|
-
import { jsx as
|
|
1740
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1601
1741
|
function MyButtonRouterBack(_a) {
|
|
1602
1742
|
var _b = _a, { url, label } = _b, rest = __objRest(_b, ["url", "label"]);
|
|
1603
1743
|
const router = useRouter2();
|
|
1604
|
-
return /* @__PURE__ */
|
|
1744
|
+
return /* @__PURE__ */ jsx32(
|
|
1605
1745
|
Button11,
|
|
1606
1746
|
__spreadProps(__spreadValues({
|
|
1607
1747
|
variant: "light",
|
|
1608
|
-
leftSection: /* @__PURE__ */
|
|
1748
|
+
leftSection: /* @__PURE__ */ jsx32(IconArrowBack, { stroke: 2 }),
|
|
1609
1749
|
onClick: () => {
|
|
1610
1750
|
if (url) {
|
|
1611
1751
|
router.replace(url);
|
|
@@ -1649,7 +1789,7 @@ import { useDisclosure as useDisclosure9 } from "@mantine/hooks";
|
|
|
1649
1789
|
import { IconLivePhoto as IconLivePhoto2, IconMaximize as IconMaximize3, IconMinimize as IconMinimize3 } from "@tabler/icons-react";
|
|
1650
1790
|
import { useQuery } from "@tanstack/react-query";
|
|
1651
1791
|
import { useState as useState6 } from "react";
|
|
1652
|
-
import { Fragment as Fragment10, jsx as
|
|
1792
|
+
import { Fragment as Fragment10, jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1653
1793
|
function MyButtonViewPDF({ id, modalSize = "80%", label = "Xem file", src = "https://datafiles.chinhphu.vn/cpp/files/vbpq/2016/07/85.signed.pdf" }) {
|
|
1654
1794
|
var _a, _b;
|
|
1655
1795
|
const disc = useDisclosure9(false);
|
|
@@ -1662,49 +1802,49 @@ function MyButtonViewPDF({ id, modalSize = "80%", label = "Xem file", src = "htt
|
|
|
1662
1802
|
},
|
|
1663
1803
|
enabled: id != void 0 && disc[0] == true
|
|
1664
1804
|
});
|
|
1665
|
-
return /* @__PURE__ */
|
|
1666
|
-
/* @__PURE__ */
|
|
1805
|
+
return /* @__PURE__ */ jsxs20(Fragment10, { children: [
|
|
1806
|
+
/* @__PURE__ */ jsx33(Tooltip4, { label: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp", children: /* @__PURE__ */ jsx33(Button12, { color: "cyan", onClick: () => {
|
|
1667
1807
|
disc[1].open();
|
|
1668
|
-
}, leftSection: /* @__PURE__ */
|
|
1669
|
-
/* @__PURE__ */
|
|
1808
|
+
}, leftSection: /* @__PURE__ */ jsx33(IconLivePhoto2, {}), children: label }) }),
|
|
1809
|
+
/* @__PURE__ */ jsx33(
|
|
1670
1810
|
Modal10,
|
|
1671
1811
|
{
|
|
1672
1812
|
fullScreen: fullScreen[0],
|
|
1673
1813
|
opened: disc[0],
|
|
1674
1814
|
onClose: disc[1].close,
|
|
1675
1815
|
size: modalSize,
|
|
1676
|
-
title: /* @__PURE__ */
|
|
1677
|
-
/* @__PURE__ */
|
|
1678
|
-
fullScreen[0] ? /* @__PURE__ */
|
|
1816
|
+
title: /* @__PURE__ */ jsxs20(Group7, { children: [
|
|
1817
|
+
/* @__PURE__ */ jsx33(Text5, { children: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }),
|
|
1818
|
+
fullScreen[0] ? /* @__PURE__ */ jsx33(
|
|
1679
1819
|
ActionIcon9,
|
|
1680
1820
|
{
|
|
1681
1821
|
onClick: () => {
|
|
1682
1822
|
fullScreen[1](false);
|
|
1683
1823
|
hSize[1]("80vh");
|
|
1684
1824
|
},
|
|
1685
|
-
children: /* @__PURE__ */
|
|
1825
|
+
children: /* @__PURE__ */ jsx33(IconMinimize3, {})
|
|
1686
1826
|
}
|
|
1687
|
-
) : /* @__PURE__ */
|
|
1827
|
+
) : /* @__PURE__ */ jsx33(
|
|
1688
1828
|
ActionIcon9,
|
|
1689
1829
|
{
|
|
1690
1830
|
onClick: () => {
|
|
1691
1831
|
fullScreen[1](true);
|
|
1692
1832
|
hSize[1]("90vh");
|
|
1693
1833
|
},
|
|
1694
|
-
children: /* @__PURE__ */
|
|
1834
|
+
children: /* @__PURE__ */ jsx33(IconMaximize3, {})
|
|
1695
1835
|
}
|
|
1696
1836
|
)
|
|
1697
1837
|
] }),
|
|
1698
|
-
children: /* @__PURE__ */
|
|
1699
|
-
/* @__PURE__ */
|
|
1700
|
-
query.data ? /* @__PURE__ */
|
|
1838
|
+
children: /* @__PURE__ */ jsxs20(Paper3, { h: hSize[0], p: "lg", pos: "relative", children: [
|
|
1839
|
+
/* @__PURE__ */ jsx33(LoadingOverlay, { visible: query.isLoading, zIndex: 1e3, overlayProps: { radius: "sm", blur: 2 } }),
|
|
1840
|
+
query.data ? /* @__PURE__ */ jsx33(
|
|
1701
1841
|
"iframe",
|
|
1702
1842
|
{
|
|
1703
1843
|
src: `data:application/pdf;base64, ${(_b = (_a = query.data) == null ? void 0 : _a.fileDetail) == null ? void 0 : _b.fileBase64String}`,
|
|
1704
1844
|
width: "100%",
|
|
1705
1845
|
height: "100%"
|
|
1706
1846
|
}
|
|
1707
|
-
) : /* @__PURE__ */
|
|
1847
|
+
) : /* @__PURE__ */ jsx33(
|
|
1708
1848
|
"iframe",
|
|
1709
1849
|
{
|
|
1710
1850
|
src,
|
|
@@ -5657,7 +5797,7 @@ import { ScheduleXCalendar, useNextCalendarApp } from "@schedule-x/react";
|
|
|
5657
5797
|
import { Paper as Paper4, Text as Text6 } from "@mantine/core";
|
|
5658
5798
|
import "@schedule-x/theme-default/dist/index.css";
|
|
5659
5799
|
import { useEffect as useEffect4 } from "react";
|
|
5660
|
-
import { jsx as
|
|
5800
|
+
import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
5661
5801
|
function MyCalendar() {
|
|
5662
5802
|
const plugins = [createEventsServicePlugin(), createEventModalPlugin()];
|
|
5663
5803
|
const calendar = useNextCalendarApp({
|
|
@@ -5731,16 +5871,16 @@ function MyCalendar() {
|
|
|
5731
5871
|
useEffect4(() => {
|
|
5732
5872
|
calendar == null ? void 0 : calendar.events.getAll();
|
|
5733
5873
|
}, []);
|
|
5734
|
-
return /* @__PURE__ */
|
|
5874
|
+
return /* @__PURE__ */ jsx34("div", { children: /* @__PURE__ */ jsx34(ScheduleXCalendar, { calendarApp: calendar, customComponents: {
|
|
5735
5875
|
timeGridEvent: ({ calendarEvent }) => {
|
|
5736
5876
|
console.log(calendarEvent);
|
|
5737
|
-
return /* @__PURE__ */
|
|
5738
|
-
/* @__PURE__ */
|
|
5877
|
+
return /* @__PURE__ */ jsx34(Paper4, { h: "100%", bg: calendarEvent.laLichThi ? "violet.2" : "blue.2", p: 4, children: /* @__PURE__ */ jsxs21(MyFlexColumn, { gap: 1, children: [
|
|
5878
|
+
/* @__PURE__ */ jsxs21(Text6, { size: "sm", fw: "bold", children: [
|
|
5739
5879
|
calendarEvent.laLichThi ? "(Thi) " : "(H\u1ECDc) ",
|
|
5740
5880
|
calendarEvent.title
|
|
5741
5881
|
] }),
|
|
5742
|
-
calendarEvent.laLichThi == false && /* @__PURE__ */
|
|
5743
|
-
/* @__PURE__ */
|
|
5882
|
+
calendarEvent.laLichThi == false && /* @__PURE__ */ jsx34(Text6, { size: "sm", children: calendarEvent.giangvien }),
|
|
5883
|
+
/* @__PURE__ */ jsx34(Text6, { size: "sm", children: calendarEvent.location })
|
|
5744
5884
|
] }) });
|
|
5745
5885
|
}
|
|
5746
5886
|
// eventModal: ({ calendarEvent }) => {
|
|
@@ -5755,31 +5895,31 @@ function MyCalendar() {
|
|
|
5755
5895
|
|
|
5756
5896
|
// src/components/CenterFull/MyCenterFull.tsx
|
|
5757
5897
|
import { Center as Center2, Group as Group8 } from "@mantine/core";
|
|
5758
|
-
import { jsx as
|
|
5898
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
5759
5899
|
function MyCenterFull({ children }) {
|
|
5760
|
-
return /* @__PURE__ */
|
|
5900
|
+
return /* @__PURE__ */ jsx35(Center2, { w: "100%", children: /* @__PURE__ */ jsx35(Group8, { children }) });
|
|
5761
5901
|
}
|
|
5762
5902
|
|
|
5763
5903
|
// src/components/Checkbox/MyCheckbox.tsx
|
|
5764
5904
|
import { Checkbox as Checkbox2 } from "@mantine/core";
|
|
5765
|
-
import { jsx as
|
|
5905
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
5766
5906
|
function MyCheckbox(_a) {
|
|
5767
5907
|
var rest = __objRest(_a, []);
|
|
5768
|
-
return /* @__PURE__ */
|
|
5908
|
+
return /* @__PURE__ */ jsx36(Checkbox2, __spreadValues({}, rest));
|
|
5769
5909
|
}
|
|
5770
5910
|
|
|
5771
5911
|
// src/components/Layouts/FlexRow/MyFlexRow.tsx
|
|
5772
5912
|
import { Flex as Flex2 } from "@mantine/core";
|
|
5773
|
-
import { jsx as
|
|
5913
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
5774
5914
|
function MyFlexRow(_a) {
|
|
5775
5915
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
|
5776
|
-
return /* @__PURE__ */
|
|
5916
|
+
return /* @__PURE__ */ jsx37(Flex2, __spreadProps(__spreadValues({ gap: "md", align: "center" }, rest), { children }));
|
|
5777
5917
|
}
|
|
5778
5918
|
|
|
5779
5919
|
// src/components/DataDisplay/Card/AQCard.tsx
|
|
5780
5920
|
import { Badge, Card, Center as Center3, Image, Text as Text7 } from "@mantine/core";
|
|
5781
5921
|
import Link from "next/link";
|
|
5782
|
-
import { jsx as
|
|
5922
|
+
import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5783
5923
|
function AQCard({
|
|
5784
5924
|
imgSrc = "https://raw.githubusercontent.com/mantinedev/mantine/master/.demo/images/bg-8.png",
|
|
5785
5925
|
title,
|
|
@@ -5789,8 +5929,8 @@ function AQCard({
|
|
|
5789
5929
|
status,
|
|
5790
5930
|
href = ""
|
|
5791
5931
|
}) {
|
|
5792
|
-
return /* @__PURE__ */
|
|
5793
|
-
/* @__PURE__ */
|
|
5932
|
+
return /* @__PURE__ */ jsxs22(Card, { shadow: "sm", padding: "lg", radius: "md", withBorder: true, component: Link, href, children: [
|
|
5933
|
+
/* @__PURE__ */ jsx38(Card.Section, { children: /* @__PURE__ */ jsx38(Center3, { children: /* @__PURE__ */ jsx38(
|
|
5794
5934
|
Image,
|
|
5795
5935
|
{
|
|
5796
5936
|
src: imgSrc,
|
|
@@ -5800,51 +5940,51 @@ function AQCard({
|
|
|
5800
5940
|
alt: "Norway"
|
|
5801
5941
|
}
|
|
5802
5942
|
) }) }),
|
|
5803
|
-
/* @__PURE__ */
|
|
5804
|
-
/* @__PURE__ */
|
|
5805
|
-
status && /* @__PURE__ */
|
|
5943
|
+
/* @__PURE__ */ jsxs22(MyFlexRow, { justify: "space-between", mt: "md", mb: "xs", children: [
|
|
5944
|
+
/* @__PURE__ */ jsx38(Text7, { fw: 500, children: title }),
|
|
5945
|
+
status && /* @__PURE__ */ jsx38(Badge, { color: "violet.5", w: "150px", children: status })
|
|
5806
5946
|
] }),
|
|
5807
|
-
/* @__PURE__ */
|
|
5947
|
+
/* @__PURE__ */ jsx38(Text7, { size: "sm", c: "dimmed", lineClamp: 2, children: description }),
|
|
5808
5948
|
children
|
|
5809
5949
|
] });
|
|
5810
5950
|
}
|
|
5811
5951
|
|
|
5812
5952
|
// src/components/DataDisplay/KeyLabel/MyKeyLabel.tsx
|
|
5813
5953
|
import { Group as Group9, Text as Text8 } from "@mantine/core";
|
|
5814
|
-
import { jsx as
|
|
5954
|
+
import { jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5815
5955
|
function MyKeyLabel({ keyLabel, label }) {
|
|
5816
|
-
return /* @__PURE__ */
|
|
5817
|
-
/* @__PURE__ */
|
|
5956
|
+
return /* @__PURE__ */ jsxs23(Group9, { gap: 5, children: [
|
|
5957
|
+
/* @__PURE__ */ jsxs23(Text8, { fw: "bold", children: [
|
|
5818
5958
|
keyLabel,
|
|
5819
5959
|
":"
|
|
5820
5960
|
] }),
|
|
5821
|
-
/* @__PURE__ */
|
|
5961
|
+
/* @__PURE__ */ jsx39(Text8, { children: label })
|
|
5822
5962
|
] });
|
|
5823
5963
|
}
|
|
5824
5964
|
|
|
5825
5965
|
// src/components/DataDisplay/NumberFormatter/MyNumberFormatter.tsx
|
|
5826
5966
|
import { NumberFormatter } from "@mantine/core";
|
|
5827
|
-
import { jsx as
|
|
5967
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
5828
5968
|
function MyNumberFormatter(_a) {
|
|
5829
5969
|
var rest = __objRest(_a, []);
|
|
5830
|
-
return /* @__PURE__ */
|
|
5970
|
+
return /* @__PURE__ */ jsx40(NumberFormatter, __spreadValues({ thousandSeparator: true, suffix: " VN\u0110" }, rest));
|
|
5831
5971
|
}
|
|
5832
5972
|
|
|
5833
5973
|
// src/components/DataDisplay/StatCard/AQStatCard1.tsx
|
|
5834
|
-
import { Box, Button as Button13, Flex as Flex3, Group as Group10, Paper as Paper5, Text as Text9 } from "@mantine/core";
|
|
5974
|
+
import { Box as Box2, Button as Button13, Flex as Flex3, Group as Group10, Paper as Paper5, Text as Text9 } from "@mantine/core";
|
|
5835
5975
|
import { IconArrowDownRight, IconArrowUpRight } from "@tabler/icons-react";
|
|
5836
|
-
import { Fragment as Fragment11, jsx as
|
|
5976
|
+
import { Fragment as Fragment11, jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
5837
5977
|
function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
5838
|
-
return /* @__PURE__ */
|
|
5978
|
+
return /* @__PURE__ */ jsx41(Fragment11, { children: /* @__PURE__ */ jsxs24(
|
|
5839
5979
|
Paper5,
|
|
5840
5980
|
{
|
|
5841
5981
|
withBorder: true,
|
|
5842
5982
|
p: "md",
|
|
5843
5983
|
radius: "md",
|
|
5844
5984
|
children: [
|
|
5845
|
-
/* @__PURE__ */
|
|
5846
|
-
/* @__PURE__ */
|
|
5847
|
-
/* @__PURE__ */
|
|
5985
|
+
/* @__PURE__ */ jsxs24(Group10, { justify: "space-between", children: [
|
|
5986
|
+
/* @__PURE__ */ jsxs24(Flex3, { direction: "column", children: [
|
|
5987
|
+
/* @__PURE__ */ jsx41(
|
|
5848
5988
|
Text9,
|
|
5849
5989
|
{
|
|
5850
5990
|
tt: "uppercase",
|
|
@@ -5853,24 +5993,24 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5853
5993
|
children: title
|
|
5854
5994
|
}
|
|
5855
5995
|
),
|
|
5856
|
-
unit == "" ? /* @__PURE__ */
|
|
5996
|
+
unit == "" ? /* @__PURE__ */ jsxs24(Text9, { size: "xs", style: { visibility: "hidden" }, children: [
|
|
5857
5997
|
"\u0110\u01A1n v\u1ECB: ",
|
|
5858
|
-
/* @__PURE__ */
|
|
5859
|
-
] }) : /* @__PURE__ */
|
|
5998
|
+
/* @__PURE__ */ jsx41("strong", { children: unit })
|
|
5999
|
+
] }) : /* @__PURE__ */ jsxs24(Text9, { size: "xs", children: [
|
|
5860
6000
|
"\u0110\u01A1n v\u1ECB: ",
|
|
5861
|
-
/* @__PURE__ */
|
|
6001
|
+
/* @__PURE__ */ jsx41("strong", { children: unit })
|
|
5862
6002
|
] })
|
|
5863
6003
|
] }),
|
|
5864
|
-
/* @__PURE__ */
|
|
6004
|
+
/* @__PURE__ */ jsx41(Box2, { children: icons })
|
|
5865
6005
|
] }),
|
|
5866
|
-
/* @__PURE__ */
|
|
6006
|
+
/* @__PURE__ */ jsxs24(
|
|
5867
6007
|
Group10,
|
|
5868
6008
|
{
|
|
5869
6009
|
mt: "5",
|
|
5870
6010
|
align: "flex-end",
|
|
5871
6011
|
gap: "xs",
|
|
5872
6012
|
children: [
|
|
5873
|
-
/* @__PURE__ */
|
|
6013
|
+
/* @__PURE__ */ jsx41(
|
|
5874
6014
|
Text9,
|
|
5875
6015
|
{
|
|
5876
6016
|
fw: 700,
|
|
@@ -5878,7 +6018,7 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5878
6018
|
children: value
|
|
5879
6019
|
}
|
|
5880
6020
|
),
|
|
5881
|
-
/* @__PURE__ */
|
|
6021
|
+
/* @__PURE__ */ jsxs24(
|
|
5882
6022
|
Text9,
|
|
5883
6023
|
{
|
|
5884
6024
|
mb: "2",
|
|
@@ -5886,20 +6026,20 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5886
6026
|
fz: "h2",
|
|
5887
6027
|
fw: 500,
|
|
5888
6028
|
children: [
|
|
5889
|
-
/* @__PURE__ */
|
|
6029
|
+
/* @__PURE__ */ jsxs24("span", { children: [
|
|
5890
6030
|
diff,
|
|
5891
6031
|
"%"
|
|
5892
6032
|
] }),
|
|
5893
|
-
diff > 0 ? /* @__PURE__ */
|
|
6033
|
+
diff > 0 ? /* @__PURE__ */ jsx41(IconArrowUpRight, {}) : /* @__PURE__ */ jsx41(IconArrowDownRight, {})
|
|
5894
6034
|
]
|
|
5895
6035
|
}
|
|
5896
6036
|
)
|
|
5897
6037
|
]
|
|
5898
6038
|
}
|
|
5899
6039
|
),
|
|
5900
|
-
/* @__PURE__ */
|
|
5901
|
-
/* @__PURE__ */
|
|
5902
|
-
/* @__PURE__ */
|
|
6040
|
+
/* @__PURE__ */ jsxs24(Group10, { justify: "space-between", children: [
|
|
6041
|
+
/* @__PURE__ */ jsx41(Text9, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
|
|
6042
|
+
/* @__PURE__ */ jsx41(
|
|
5903
6043
|
Button13,
|
|
5904
6044
|
{
|
|
5905
6045
|
variant: "light",
|
|
@@ -5916,15 +6056,15 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5916
6056
|
|
|
5917
6057
|
// src/components/Inputs/DateInput/MyDateInput.tsx
|
|
5918
6058
|
import { DateInput } from "@mantine/dates";
|
|
5919
|
-
import { jsx as
|
|
6059
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
5920
6060
|
function MyDateInput(_a) {
|
|
5921
6061
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5922
|
-
return /* @__PURE__ */
|
|
6062
|
+
return /* @__PURE__ */ jsx42(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5923
6063
|
}
|
|
5924
6064
|
|
|
5925
6065
|
// src/components/Inputs/Fieldset/MyFieldset.tsx
|
|
5926
|
-
import { Box as
|
|
5927
|
-
import { jsx as
|
|
6066
|
+
import { Box as Box3, Fieldset as Fieldset4, Text as Text10 } from "@mantine/core";
|
|
6067
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
5928
6068
|
function MyFieldset(_a) {
|
|
5929
6069
|
var _b = _a, {
|
|
5930
6070
|
children,
|
|
@@ -5933,17 +6073,17 @@ function MyFieldset(_a) {
|
|
|
5933
6073
|
"children",
|
|
5934
6074
|
"title"
|
|
5935
6075
|
]);
|
|
5936
|
-
return /* @__PURE__ */
|
|
6076
|
+
return /* @__PURE__ */ jsx43(
|
|
5937
6077
|
Fieldset4,
|
|
5938
6078
|
__spreadProps(__spreadValues({}, rest), {
|
|
5939
|
-
legend: /* @__PURE__ */
|
|
5940
|
-
|
|
6079
|
+
legend: /* @__PURE__ */ jsx43(
|
|
6080
|
+
Box3,
|
|
5941
6081
|
{
|
|
5942
6082
|
bg: "blue.4",
|
|
5943
6083
|
px: "xs",
|
|
5944
6084
|
py: 2,
|
|
5945
6085
|
style: { borderRadius: 4 },
|
|
5946
|
-
children: /* @__PURE__ */
|
|
6086
|
+
children: /* @__PURE__ */ jsx43(Text10, { c: "white", fw: 500, children: title })
|
|
5947
6087
|
}
|
|
5948
6088
|
),
|
|
5949
6089
|
children
|
|
@@ -5953,30 +6093,30 @@ function MyFieldset(_a) {
|
|
|
5953
6093
|
|
|
5954
6094
|
// src/components/Inputs/FileInput/MyFileInput.tsx
|
|
5955
6095
|
import { FileInput as FileInput3 } from "@mantine/core";
|
|
5956
|
-
import { jsx as
|
|
6096
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
5957
6097
|
function MyFileInput(_a) {
|
|
5958
6098
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5959
|
-
return /* @__PURE__ */
|
|
6099
|
+
return /* @__PURE__ */ jsx44(FileInput3, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5960
6100
|
}
|
|
5961
6101
|
|
|
5962
6102
|
// src/components/Inputs/NumberInput/MyNumberInput.tsx
|
|
5963
6103
|
import { NumberInput as NumberInput2 } from "@mantine/core";
|
|
5964
|
-
import { jsx as
|
|
6104
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
5965
6105
|
function MyNumberInput(_a) {
|
|
5966
6106
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5967
|
-
return /* @__PURE__ */
|
|
6107
|
+
return /* @__PURE__ */ jsx45(NumberInput2, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5968
6108
|
}
|
|
5969
6109
|
|
|
5970
6110
|
// src/components/Inputs/TextArea/MyTextArea.tsx
|
|
5971
6111
|
import { Textarea } from "@mantine/core";
|
|
5972
|
-
import { jsx as
|
|
6112
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
5973
6113
|
function MyTextArea(_a) {
|
|
5974
6114
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5975
|
-
return /* @__PURE__ */
|
|
6115
|
+
return /* @__PURE__ */ jsx46(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5976
6116
|
}
|
|
5977
6117
|
|
|
5978
6118
|
// src/components/Inputs/TextEditor/MyTextEditor.tsx
|
|
5979
|
-
import { Input, ScrollArea } from "@mantine/core";
|
|
6119
|
+
import { Input, ScrollArea as ScrollArea2 } from "@mantine/core";
|
|
5980
6120
|
import { Link as Link2, RichTextEditor } from "@mantine/tiptap";
|
|
5981
6121
|
import FileHandler from "@tiptap-pro/extension-file-handler";
|
|
5982
6122
|
import Highlight2 from "@tiptap/extension-highlight";
|
|
@@ -5988,7 +6128,7 @@ import Underline from "@tiptap/extension-underline";
|
|
|
5988
6128
|
import { useEditor } from "@tiptap/react";
|
|
5989
6129
|
import StarterKit from "@tiptap/starter-kit";
|
|
5990
6130
|
import { useEffect as useEffect5, useState as useState7 } from "react";
|
|
5991
|
-
import { jsx as
|
|
6131
|
+
import { jsx as jsx47, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
5992
6132
|
function MyTextEditor(_a) {
|
|
5993
6133
|
var _b = _a, {
|
|
5994
6134
|
autoHiddenToolBar = false,
|
|
@@ -6090,44 +6230,44 @@ function MyTextEditor(_a) {
|
|
|
6090
6230
|
editor.commands.setContent(value);
|
|
6091
6231
|
}
|
|
6092
6232
|
}, [value, editor]);
|
|
6093
|
-
return /* @__PURE__ */
|
|
6094
|
-
/* @__PURE__ */
|
|
6095
|
-
/* @__PURE__ */
|
|
6096
|
-
/* @__PURE__ */
|
|
6097
|
-
/* @__PURE__ */
|
|
6098
|
-
/* @__PURE__ */
|
|
6099
|
-
/* @__PURE__ */
|
|
6100
|
-
/* @__PURE__ */
|
|
6101
|
-
/* @__PURE__ */
|
|
6102
|
-
/* @__PURE__ */
|
|
6233
|
+
return /* @__PURE__ */ jsx47(Input.Wrapper, { label, flex: 1, error, withAsterisk, children: /* @__PURE__ */ jsxs25(RichTextEditor, { editor, style: { border: error && "1px solid #e03131" }, children: [
|
|
6234
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.Toolbar, { hidden: hiddenToolBar, sticky: true, stickyOffset: 60, children: [
|
|
6235
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6236
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Bold, {}),
|
|
6237
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Italic, {}),
|
|
6238
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Underline, {}),
|
|
6239
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Strikethrough, {}),
|
|
6240
|
+
/* @__PURE__ */ jsx47(RichTextEditor.ClearFormatting, {}),
|
|
6241
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Highlight, {}),
|
|
6242
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Code, {})
|
|
6103
6243
|
] }),
|
|
6104
|
-
/* @__PURE__ */
|
|
6105
|
-
/* @__PURE__ */
|
|
6106
|
-
/* @__PURE__ */
|
|
6107
|
-
/* @__PURE__ */
|
|
6108
|
-
/* @__PURE__ */
|
|
6244
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6245
|
+
/* @__PURE__ */ jsx47(RichTextEditor.H1, {}),
|
|
6246
|
+
/* @__PURE__ */ jsx47(RichTextEditor.H2, {}),
|
|
6247
|
+
/* @__PURE__ */ jsx47(RichTextEditor.H3, {}),
|
|
6248
|
+
/* @__PURE__ */ jsx47(RichTextEditor.H4, {})
|
|
6109
6249
|
] }),
|
|
6110
|
-
/* @__PURE__ */
|
|
6111
|
-
/* @__PURE__ */
|
|
6112
|
-
/* @__PURE__ */
|
|
6113
|
-
/* @__PURE__ */
|
|
6114
|
-
/* @__PURE__ */
|
|
6115
|
-
/* @__PURE__ */
|
|
6116
|
-
/* @__PURE__ */
|
|
6250
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6251
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Blockquote, {}),
|
|
6252
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Hr, {}),
|
|
6253
|
+
/* @__PURE__ */ jsx47(RichTextEditor.BulletList, {}),
|
|
6254
|
+
/* @__PURE__ */ jsx47(RichTextEditor.OrderedList, {}),
|
|
6255
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Subscript, {}),
|
|
6256
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Superscript, {})
|
|
6117
6257
|
] }),
|
|
6118
|
-
/* @__PURE__ */
|
|
6119
|
-
/* @__PURE__ */
|
|
6120
|
-
/* @__PURE__ */
|
|
6258
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6259
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Link, {}),
|
|
6260
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Unlink, {})
|
|
6121
6261
|
] }),
|
|
6122
|
-
/* @__PURE__ */
|
|
6123
|
-
/* @__PURE__ */
|
|
6124
|
-
/* @__PURE__ */
|
|
6125
|
-
/* @__PURE__ */
|
|
6126
|
-
/* @__PURE__ */
|
|
6262
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6263
|
+
/* @__PURE__ */ jsx47(RichTextEditor.AlignLeft, {}),
|
|
6264
|
+
/* @__PURE__ */ jsx47(RichTextEditor.AlignCenter, {}),
|
|
6265
|
+
/* @__PURE__ */ jsx47(RichTextEditor.AlignJustify, {}),
|
|
6266
|
+
/* @__PURE__ */ jsx47(RichTextEditor.AlignRight, {})
|
|
6127
6267
|
] })
|
|
6128
6268
|
] }),
|
|
6129
|
-
/* @__PURE__ */
|
|
6130
|
-
|
|
6269
|
+
/* @__PURE__ */ jsx47(
|
|
6270
|
+
ScrollArea2.Autosize,
|
|
6131
6271
|
{
|
|
6132
6272
|
onMouseDown: () => {
|
|
6133
6273
|
editor == null ? void 0 : editor.commands.focus();
|
|
@@ -6141,7 +6281,7 @@ function MyTextEditor(_a) {
|
|
|
6141
6281
|
setHiddenToolBar(false);
|
|
6142
6282
|
},
|
|
6143
6283
|
style: { cursor: "text", maxHeight: "400px" },
|
|
6144
|
-
children: /* @__PURE__ */
|
|
6284
|
+
children: /* @__PURE__ */ jsx47(RichTextEditor.Content, { mih: contentHeight })
|
|
6145
6285
|
}
|
|
6146
6286
|
)
|
|
6147
6287
|
] }) });
|
|
@@ -6151,14 +6291,14 @@ function MyTextEditor(_a) {
|
|
|
6151
6291
|
import { Button as Button14 } from "@mantine/core";
|
|
6152
6292
|
import { IconLogout } from "@tabler/icons-react";
|
|
6153
6293
|
import { useRouter as useRouter3 } from "next/navigation";
|
|
6154
|
-
import { jsx as
|
|
6294
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
6155
6295
|
function F0Logout() {
|
|
6156
6296
|
const router = useRouter3();
|
|
6157
6297
|
const S_Authenticate = useS_Authenticate();
|
|
6158
|
-
return /* @__PURE__ */
|
|
6298
|
+
return /* @__PURE__ */ jsx48(Button14, { onClick: () => {
|
|
6159
6299
|
S_Authenticate.setProperty("token", "");
|
|
6160
6300
|
router.replace("/auth/login");
|
|
6161
|
-
}, leftSection: /* @__PURE__ */
|
|
6301
|
+
}, leftSection: /* @__PURE__ */ jsx48(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
|
|
6162
6302
|
}
|
|
6163
6303
|
|
|
6164
6304
|
// src/components/Layouts/BasicAppShell/BasicAppShell.tsx
|
|
@@ -6170,7 +6310,7 @@ import {
|
|
|
6170
6310
|
Group as Group11,
|
|
6171
6311
|
Image as Image3,
|
|
6172
6312
|
NavLink,
|
|
6173
|
-
ScrollArea as
|
|
6313
|
+
ScrollArea as ScrollArea3,
|
|
6174
6314
|
Select as Select3,
|
|
6175
6315
|
Text as Text11,
|
|
6176
6316
|
TextInput as TextInput2,
|
|
@@ -6181,18 +6321,18 @@ import { spotlight as spotlight2 } from "@mantine/spotlight";
|
|
|
6181
6321
|
import { IconLayoutSidebarLeftCollapse, IconLayoutSidebarLeftExpand, IconLibraryMinus, IconSearch as IconSearch2 } from "@tabler/icons-react";
|
|
6182
6322
|
import Link3 from "next/link";
|
|
6183
6323
|
import { usePathname as usePathname2 } from "next/navigation";
|
|
6184
|
-
import { Fragment as Fragment12, jsx as
|
|
6324
|
+
import { Fragment as Fragment12, jsx as jsx49, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
6185
6325
|
function getRightSection(status) {
|
|
6186
|
-
if (status === "Prototype") return /* @__PURE__ */
|
|
6187
|
-
if (status === "New") return /* @__PURE__ */
|
|
6188
|
-
if (status === "Menu") return /* @__PURE__ */
|
|
6189
|
-
if (status === "Change") return /* @__PURE__ */
|
|
6326
|
+
if (status === "Prototype") return /* @__PURE__ */ jsx49(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true, children: "P" });
|
|
6327
|
+
if (status === "New") return /* @__PURE__ */ jsx49(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true, children: "N" });
|
|
6328
|
+
if (status === "Menu") return /* @__PURE__ */ jsx49(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true, children: "M" });
|
|
6329
|
+
if (status === "Change") return /* @__PURE__ */ jsx49(Badge2, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true, children: "C" });
|
|
6190
6330
|
return null;
|
|
6191
6331
|
}
|
|
6192
6332
|
function RenderNavLinks({ items }) {
|
|
6193
6333
|
const sidebarStore = useS_Sidebar();
|
|
6194
6334
|
const pathName = usePathname2();
|
|
6195
|
-
return /* @__PURE__ */
|
|
6335
|
+
return /* @__PURE__ */ jsx49(Fragment12, { children: items.map((item, index) => /* @__PURE__ */ jsx49(
|
|
6196
6336
|
NavLink,
|
|
6197
6337
|
{
|
|
6198
6338
|
active: item.link === pathName.split("/")[2],
|
|
@@ -6209,7 +6349,7 @@ function RenderNavLinks({ items }) {
|
|
|
6209
6349
|
sidebarStore.setProperty("title", item.label);
|
|
6210
6350
|
}
|
|
6211
6351
|
},
|
|
6212
|
-
children: item.links && /* @__PURE__ */
|
|
6352
|
+
children: item.links && /* @__PURE__ */ jsx49(RenderNavLinks, { items: item.links })
|
|
6213
6353
|
},
|
|
6214
6354
|
index
|
|
6215
6355
|
)) });
|
|
@@ -6266,7 +6406,7 @@ function BasicAppShell({ children, menu }) {
|
|
|
6266
6406
|
const sidebarStore = useS_Sidebar();
|
|
6267
6407
|
const media = useMediaQuery("(min-width: 72em)");
|
|
6268
6408
|
const selectMedia = useMediaQuery("(min-width: 80em)");
|
|
6269
|
-
return /* @__PURE__ */
|
|
6409
|
+
return /* @__PURE__ */ jsxs26(
|
|
6270
6410
|
AppShell,
|
|
6271
6411
|
{
|
|
6272
6412
|
header: { height: 60 },
|
|
@@ -6277,17 +6417,17 @@ function BasicAppShell({ children, menu }) {
|
|
|
6277
6417
|
},
|
|
6278
6418
|
padding: "md",
|
|
6279
6419
|
children: [
|
|
6280
|
-
/* @__PURE__ */
|
|
6281
|
-
/* @__PURE__ */
|
|
6282
|
-
media ? /* @__PURE__ */
|
|
6283
|
-
/* @__PURE__ */
|
|
6284
|
-
/* @__PURE__ */
|
|
6285
|
-
/* @__PURE__ */
|
|
6420
|
+
/* @__PURE__ */ jsxs26(AppShell.Header, { children: [
|
|
6421
|
+
/* @__PURE__ */ jsx49(MyAppSpotlight, { menu }),
|
|
6422
|
+
media ? /* @__PURE__ */ jsxs26(Group11, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
|
|
6423
|
+
/* @__PURE__ */ jsxs26(Group11, { h: "100%", children: [
|
|
6424
|
+
/* @__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, {}) }) }),
|
|
6425
|
+
/* @__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, {}) }) })
|
|
6286
6426
|
] }),
|
|
6287
|
-
/* @__PURE__ */
|
|
6288
|
-
/* @__PURE__ */
|
|
6289
|
-
/* @__PURE__ */
|
|
6290
|
-
/* @__PURE__ */
|
|
6427
|
+
/* @__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" }) }),
|
|
6428
|
+
/* @__PURE__ */ jsxs26(Group11, { children: [
|
|
6429
|
+
/* @__PURE__ */ jsx49(Text11, { children: "H\u1ECDc k\u1EF3 l\xE0m vi\u1EC7c" }),
|
|
6430
|
+
/* @__PURE__ */ jsx49(
|
|
6291
6431
|
Select3,
|
|
6292
6432
|
{
|
|
6293
6433
|
w: selectMedia ? 245 : 150,
|
|
@@ -6299,15 +6439,15 @@ function BasicAppShell({ children, menu }) {
|
|
|
6299
6439
|
]
|
|
6300
6440
|
}
|
|
6301
6441
|
),
|
|
6302
|
-
/* @__PURE__ */
|
|
6442
|
+
/* @__PURE__ */ jsx49(MySwitchTheme, {})
|
|
6303
6443
|
] })
|
|
6304
6444
|
] }) : (
|
|
6305
6445
|
// For mobile screens - simplified layout
|
|
6306
|
-
/* @__PURE__ */
|
|
6307
|
-
/* @__PURE__ */
|
|
6308
|
-
/* @__PURE__ */
|
|
6309
|
-
/* @__PURE__ */
|
|
6310
|
-
/* @__PURE__ */
|
|
6446
|
+
/* @__PURE__ */ jsxs26(Group11, { h: "100%", px: "md", justify: "space-between", children: [
|
|
6447
|
+
/* @__PURE__ */ jsx49(ActionIcon10, { size: "lg", radius: "md", variant: "default", onClick: sidebarStore.toggle, children: sidebarStore.state.opened ? /* @__PURE__ */ jsx49(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx49(IconLayoutSidebarLeftCollapse, {}) }),
|
|
6448
|
+
/* @__PURE__ */ jsx49(Text11, { c: "green", fw: "bold", size: "sm", children: "AQ EduCourseEvaluation" }),
|
|
6449
|
+
/* @__PURE__ */ jsxs26(Group11, { children: [
|
|
6450
|
+
/* @__PURE__ */ jsx49(
|
|
6311
6451
|
Select3,
|
|
6312
6452
|
{
|
|
6313
6453
|
w: 100,
|
|
@@ -6320,24 +6460,24 @@ function BasicAppShell({ children, menu }) {
|
|
|
6320
6460
|
]
|
|
6321
6461
|
}
|
|
6322
6462
|
),
|
|
6323
|
-
/* @__PURE__ */
|
|
6463
|
+
/* @__PURE__ */ jsx49(MySwitchTheme, {})
|
|
6324
6464
|
] })
|
|
6325
6465
|
] })
|
|
6326
6466
|
)
|
|
6327
6467
|
] }),
|
|
6328
|
-
/* @__PURE__ */
|
|
6329
|
-
/* @__PURE__ */
|
|
6330
|
-
/* @__PURE__ */
|
|
6331
|
-
/* @__PURE__ */
|
|
6332
|
-
/* @__PURE__ */
|
|
6333
|
-
/* @__PURE__ */
|
|
6468
|
+
/* @__PURE__ */ jsxs26(AppShell.Navbar, { children: [
|
|
6469
|
+
/* @__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)" }),
|
|
6470
|
+
/* @__PURE__ */ jsxs26(AppShell.Section, { grow: true, component: ScrollArea3, p: 5, children: [
|
|
6471
|
+
/* @__PURE__ */ jsx49(RenderNavLinks, { items: menu }),
|
|
6472
|
+
/* @__PURE__ */ jsx49(Divider2, {}),
|
|
6473
|
+
/* @__PURE__ */ jsx49(F0Logout, {})
|
|
6334
6474
|
] }),
|
|
6335
|
-
/* @__PURE__ */
|
|
6336
|
-
/* @__PURE__ */
|
|
6337
|
-
/* @__PURE__ */
|
|
6475
|
+
/* @__PURE__ */ jsxs26(AppShell.Section, { p: "md", children: [
|
|
6476
|
+
/* @__PURE__ */ jsx49(Divider2, {}),
|
|
6477
|
+
/* @__PURE__ */ jsx49(Image3, { src: "/imgs/0/IMG0LogoAQTech.png", h: 50, alt: "", w: "auto" })
|
|
6338
6478
|
] })
|
|
6339
6479
|
] }),
|
|
6340
|
-
/* @__PURE__ */
|
|
6480
|
+
/* @__PURE__ */ jsx49(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children })
|
|
6341
6481
|
]
|
|
6342
6482
|
}
|
|
6343
6483
|
);
|
|
@@ -6386,10 +6526,10 @@ function utils_layout_getItemsWithoutLinks(menu) {
|
|
|
6386
6526
|
|
|
6387
6527
|
// src/components/Layouts/Container/MyContainer.tsx
|
|
6388
6528
|
import { Container, Flex as Flex4 } from "@mantine/core";
|
|
6389
|
-
import { jsx as
|
|
6529
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
6390
6530
|
function MyContainer(_a) {
|
|
6391
6531
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
|
6392
|
-
return /* @__PURE__ */
|
|
6532
|
+
return /* @__PURE__ */ jsx50(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx50(Flex4, { direction: "column", children }) }));
|
|
6393
6533
|
}
|
|
6394
6534
|
|
|
6395
6535
|
// src/constants/object/color.ts
|
|
@@ -6401,7 +6541,7 @@ var OBJECT_COlORS = {
|
|
|
6401
6541
|
|
|
6402
6542
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
|
6403
6543
|
import {
|
|
6404
|
-
Box as
|
|
6544
|
+
Box as Box4,
|
|
6405
6545
|
Burger,
|
|
6406
6546
|
Button as Button15,
|
|
6407
6547
|
Container as Container2,
|
|
@@ -6409,7 +6549,7 @@ import {
|
|
|
6409
6549
|
Drawer,
|
|
6410
6550
|
Group as Group12,
|
|
6411
6551
|
Image as Image4,
|
|
6412
|
-
ScrollArea as
|
|
6552
|
+
ScrollArea as ScrollArea4,
|
|
6413
6553
|
Text as Text12,
|
|
6414
6554
|
TextInput as TextInput3,
|
|
6415
6555
|
ThemeIcon,
|
|
@@ -6442,7 +6582,7 @@ function useHeaderMegaMenuStore() {
|
|
|
6442
6582
|
}
|
|
6443
6583
|
|
|
6444
6584
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
|
6445
|
-
import { jsx as
|
|
6585
|
+
import { jsx as jsx51, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6446
6586
|
var mockdata = [
|
|
6447
6587
|
{
|
|
6448
6588
|
icon: IconCode,
|
|
@@ -6480,27 +6620,27 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
6480
6620
|
const [linksOpened, { toggle: toggleLinks }] = useDisclosure10(false);
|
|
6481
6621
|
const HeaderMegaMenuStore = useHeaderMegaMenuStore();
|
|
6482
6622
|
const theme = useMantineTheme();
|
|
6483
|
-
const links = mockdata.map((item) => /* @__PURE__ */
|
|
6484
|
-
/* @__PURE__ */
|
|
6485
|
-
/* @__PURE__ */
|
|
6486
|
-
/* @__PURE__ */
|
|
6487
|
-
/* @__PURE__ */
|
|
6623
|
+
const links = mockdata.map((item) => /* @__PURE__ */ jsx51(UnstyledButton, { className: css_default2.subLink, children: /* @__PURE__ */ jsxs27(Group12, { wrap: "nowrap", align: "flex-start", children: [
|
|
6624
|
+
/* @__PURE__ */ jsx51(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx51(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
|
|
6625
|
+
/* @__PURE__ */ jsxs27("div", { children: [
|
|
6626
|
+
/* @__PURE__ */ jsx51(Text12, { size: "sm", fw: 500, children: item.title }),
|
|
6627
|
+
/* @__PURE__ */ jsx51(Text12, { size: "xs", c: "dimmed", children: item.description })
|
|
6488
6628
|
] })
|
|
6489
6629
|
] }) }, item.title));
|
|
6490
|
-
return /* @__PURE__ */
|
|
6491
|
-
/* @__PURE__ */
|
|
6492
|
-
/* @__PURE__ */
|
|
6493
|
-
/* @__PURE__ */
|
|
6494
|
-
/* @__PURE__ */
|
|
6630
|
+
return /* @__PURE__ */ jsxs27(Box4, { children: [
|
|
6631
|
+
/* @__PURE__ */ jsx51("header", { className: css_default2.header, children: /* @__PURE__ */ jsxs27(Group12, { justify: "space-between", h: "100%", children: [
|
|
6632
|
+
/* @__PURE__ */ jsxs27(Group12, { children: [
|
|
6633
|
+
/* @__PURE__ */ jsx51(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
|
|
6634
|
+
/* @__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)) })
|
|
6495
6635
|
] }),
|
|
6496
|
-
/* @__PURE__ */
|
|
6497
|
-
/* @__PURE__ */
|
|
6498
|
-
/* @__PURE__ */
|
|
6636
|
+
/* @__PURE__ */ jsxs27(Group12, { children: [
|
|
6637
|
+
/* @__PURE__ */ jsx51(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx51(IconSearch3, {}), radius: "xl", w: "250px" }),
|
|
6638
|
+
/* @__PURE__ */ jsx51(MySwitchTheme, {})
|
|
6499
6639
|
] }),
|
|
6500
|
-
/* @__PURE__ */
|
|
6640
|
+
/* @__PURE__ */ jsx51(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
|
|
6501
6641
|
] }) }),
|
|
6502
|
-
/* @__PURE__ */
|
|
6503
|
-
/* @__PURE__ */
|
|
6642
|
+
/* @__PURE__ */ jsx51(Container2, { fluid: true, pt: "sm", pb: "md", bg: OBJECT_COlORS.mantineBackgroundSecondary, mih: "93vh", children }),
|
|
6643
|
+
/* @__PURE__ */ jsx51(
|
|
6504
6644
|
Drawer,
|
|
6505
6645
|
{
|
|
6506
6646
|
opened: drawerOpened,
|
|
@@ -6510,41 +6650,19 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
6510
6650
|
title: "Navigation",
|
|
6511
6651
|
hiddenFrom: "sm",
|
|
6512
6652
|
zIndex: 1e6,
|
|
6513
|
-
children: /* @__PURE__ */
|
|
6514
|
-
/* @__PURE__ */
|
|
6515
|
-
/* @__PURE__ */
|
|
6516
|
-
/* @__PURE__ */
|
|
6653
|
+
children: /* @__PURE__ */ jsxs27(ScrollArea4, { h: "calc(100vh - 80px", mx: "-md", children: [
|
|
6654
|
+
/* @__PURE__ */ jsx51(Divider3, { my: "sm" }),
|
|
6655
|
+
/* @__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)) }),
|
|
6656
|
+
/* @__PURE__ */ jsx51(Divider3, { my: "sm" })
|
|
6517
6657
|
] })
|
|
6518
6658
|
}
|
|
6519
6659
|
)
|
|
6520
6660
|
] });
|
|
6521
6661
|
}
|
|
6522
6662
|
|
|
6523
|
-
// src/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx
|
|
6524
|
-
import { ScrollArea as ScrollArea4, TypographyStylesProvider } from "@mantine/core";
|
|
6525
|
-
import pako from "pako";
|
|
6526
|
-
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
6527
|
-
function MyHtmlWrapper(_a) {
|
|
6528
|
-
var _b = _a, { html, mah, zip = false } = _b, rest = __objRest(_b, ["html", "mah", "zip"]);
|
|
6529
|
-
const extractHtmlFromZip = () => {
|
|
6530
|
-
const binaryString = Buffer.from(html, "base64");
|
|
6531
|
-
const decompressedData = pako.inflate(binaryString, { to: "string" });
|
|
6532
|
-
const cleanedHtml = decompressedData == null ? void 0 : decompressedData.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
|
|
6533
|
-
return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
|
|
6534
|
-
};
|
|
6535
|
-
return /* @__PURE__ */ jsx50(ScrollArea4.Autosize, { mah, children: /* @__PURE__ */ jsx50(TypographyStylesProvider, __spreadProps(__spreadValues({}, rest), { children: /* @__PURE__ */ jsx50(
|
|
6536
|
-
"div",
|
|
6537
|
-
{
|
|
6538
|
-
dangerouslySetInnerHTML: {
|
|
6539
|
-
__html: zip ? extractHtmlFromZip() : html
|
|
6540
|
-
}
|
|
6541
|
-
}
|
|
6542
|
-
) })) });
|
|
6543
|
-
}
|
|
6544
|
-
|
|
6545
6663
|
// src/components/Layouts/PageContent/MyPageContent.tsx
|
|
6546
6664
|
import { Code, Container as Container3, Divider as Divider4, Group as Group13, Indicator, Title } from "@mantine/core";
|
|
6547
|
-
import { jsx as
|
|
6665
|
+
import { jsx as jsx52, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
6548
6666
|
var getStatusColor = (status) => {
|
|
6549
6667
|
switch (status) {
|
|
6550
6668
|
case "Prototype":
|
|
@@ -6557,39 +6675,39 @@ var getStatusColor = (status) => {
|
|
|
6557
6675
|
};
|
|
6558
6676
|
var PageTitle = ({ title, status }) => {
|
|
6559
6677
|
const color = getStatusColor(status);
|
|
6560
|
-
return /* @__PURE__ */
|
|
6678
|
+
return /* @__PURE__ */ jsx52(Indicator, { label: status, size: 16, inline: true, color, disabled: !status, pt: 6, children: /* @__PURE__ */ jsx52(Title, { children: title }) });
|
|
6561
6679
|
};
|
|
6562
6680
|
function MyPageContent({ leftTopBar, title, canBack = false, rightTopBar, status, children }) {
|
|
6563
6681
|
const SidebarStore = useS_Sidebar();
|
|
6564
6682
|
const finalTitle = title || SidebarStore.state.title;
|
|
6565
|
-
return /* @__PURE__ */
|
|
6566
|
-
/* @__PURE__ */
|
|
6567
|
-
/* @__PURE__ */
|
|
6568
|
-
canBack && /* @__PURE__ */
|
|
6569
|
-
/* @__PURE__ */
|
|
6683
|
+
return /* @__PURE__ */ jsxs28(Container3, { p: 0, fluid: true, children: [
|
|
6684
|
+
/* @__PURE__ */ jsxs28(Group13, { justify: "space-between", children: [
|
|
6685
|
+
/* @__PURE__ */ jsxs28(Group13, { children: [
|
|
6686
|
+
canBack && /* @__PURE__ */ jsx52(MyButtonRouterBack, {}),
|
|
6687
|
+
/* @__PURE__ */ jsx52(PageTitle, { title: finalTitle, status }),
|
|
6570
6688
|
leftTopBar
|
|
6571
6689
|
] }),
|
|
6572
|
-
/* @__PURE__ */
|
|
6690
|
+
/* @__PURE__ */ jsxs28(Group13, { children: [
|
|
6573
6691
|
rightTopBar,
|
|
6574
|
-
/* @__PURE__ */
|
|
6692
|
+
/* @__PURE__ */ jsx52(Code, { color: "var(--mantine-color-blue-light)", children: SidebarStore.state.menuCode })
|
|
6575
6693
|
] })
|
|
6576
6694
|
] }),
|
|
6577
|
-
/* @__PURE__ */
|
|
6695
|
+
/* @__PURE__ */ jsx52(Divider4, {}),
|
|
6578
6696
|
children
|
|
6579
6697
|
] });
|
|
6580
6698
|
}
|
|
6581
6699
|
|
|
6582
6700
|
// src/components/Layouts/Tab/MyTab.tsx
|
|
6583
6701
|
import { rem, Space as Space3, Tabs } from "@mantine/core";
|
|
6584
|
-
import { jsx as
|
|
6702
|
+
import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6585
6703
|
function MyTab(_a) {
|
|
6586
6704
|
var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
|
|
6587
6705
|
const iconStyle = { width: rem(20), height: rem(20) };
|
|
6588
|
-
return /* @__PURE__ */
|
|
6589
|
-
/* @__PURE__ */
|
|
6590
|
-
return /* @__PURE__ */
|
|
6706
|
+
return /* @__PURE__ */ jsxs29(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
|
|
6707
|
+
/* @__PURE__ */ jsx53(Tabs.List, { children: tabList.map((item, idx) => {
|
|
6708
|
+
return /* @__PURE__ */ jsx53(Tabs.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx53(item.icon, { style: iconStyle }), children: item.label }, idx);
|
|
6591
6709
|
}) }),
|
|
6592
|
-
/* @__PURE__ */
|
|
6710
|
+
/* @__PURE__ */ jsx53(Space3, { my: "md" }),
|
|
6593
6711
|
children
|
|
6594
6712
|
] }));
|
|
6595
6713
|
}
|
|
@@ -6598,33 +6716,33 @@ function MyTab(_a) {
|
|
|
6598
6716
|
import { ActionIcon as ActionIcon11, Button as Button16, Fieldset as Fieldset5, Group as Group14, Modal as Modal11 } from "@mantine/core";
|
|
6599
6717
|
import { useDisclosure as useDisclosure11 } from "@mantine/hooks";
|
|
6600
6718
|
import { IconX as IconX2 } from "@tabler/icons-react";
|
|
6601
|
-
import { jsx as
|
|
6719
|
+
import { jsx as jsx54, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6602
6720
|
function MyDataTableSelect(_a) {
|
|
6603
6721
|
var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
|
|
6604
6722
|
const disc = useDisclosure11(false);
|
|
6605
6723
|
if (data == void 0) return "\u0110ang t\u1EA3i...";
|
|
6606
|
-
return /* @__PURE__ */
|
|
6607
|
-
/* @__PURE__ */
|
|
6724
|
+
return /* @__PURE__ */ jsxs30(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
|
|
6725
|
+
/* @__PURE__ */ jsx54(
|
|
6608
6726
|
MyDataTable,
|
|
6609
6727
|
__spreadValues({
|
|
6610
6728
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
6611
|
-
return /* @__PURE__ */
|
|
6729
|
+
return /* @__PURE__ */ jsxs30(Group14, { children: [
|
|
6612
6730
|
renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
|
|
6613
|
-
/* @__PURE__ */
|
|
6731
|
+
/* @__PURE__ */ jsx54(Button16, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
|
|
6614
6732
|
] });
|
|
6615
6733
|
},
|
|
6616
6734
|
columns,
|
|
6617
6735
|
data: listState[0],
|
|
6618
6736
|
renderRowActions: ({ row }) => {
|
|
6619
|
-
return /* @__PURE__ */
|
|
6737
|
+
return /* @__PURE__ */ jsx54(MyCenterFull, { children: /* @__PURE__ */ jsx54(ActionIcon11, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx54(IconX2, {}) }) });
|
|
6620
6738
|
}
|
|
6621
6739
|
}, rest)
|
|
6622
6740
|
),
|
|
6623
|
-
/* @__PURE__ */
|
|
6741
|
+
/* @__PURE__ */ jsx54(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx54(
|
|
6624
6742
|
MyDataTable,
|
|
6625
6743
|
__spreadValues({
|
|
6626
6744
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
6627
|
-
return /* @__PURE__ */
|
|
6745
|
+
return /* @__PURE__ */ jsx54(Button16, { onClick: () => {
|
|
6628
6746
|
table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
|
|
6629
6747
|
disc[1].close();
|
|
6630
6748
|
}, children: "Ch\u1ECDn" });
|
|
@@ -6640,7 +6758,7 @@ function MyDataTableSelect(_a) {
|
|
|
6640
6758
|
// src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
|
|
6641
6759
|
import { Select as Select4 } from "@mantine/core";
|
|
6642
6760
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
6643
|
-
import { jsx as
|
|
6761
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
6644
6762
|
function MySelectAPIGet(_a) {
|
|
6645
6763
|
var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
|
|
6646
6764
|
var _a2;
|
|
@@ -6659,7 +6777,7 @@ function MySelectAPIGet(_a) {
|
|
|
6659
6777
|
label: `${item.code}-${item.name}`
|
|
6660
6778
|
};
|
|
6661
6779
|
});
|
|
6662
|
-
return /* @__PURE__ */
|
|
6780
|
+
return /* @__PURE__ */ jsx55(
|
|
6663
6781
|
Select4,
|
|
6664
6782
|
__spreadValues({
|
|
6665
6783
|
label,
|
|
@@ -6671,9 +6789,9 @@ function MySelectAPIGet(_a) {
|
|
|
6671
6789
|
|
|
6672
6790
|
// src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
|
|
6673
6791
|
import { Skeleton } from "@mantine/core";
|
|
6674
|
-
import { jsx as
|
|
6792
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
6675
6793
|
function MySkeletonTable({ h: h4 = 500 }) {
|
|
6676
|
-
return /* @__PURE__ */
|
|
6794
|
+
return /* @__PURE__ */ jsx56(Skeleton, { h: h4 });
|
|
6677
6795
|
}
|
|
6678
6796
|
|
|
6679
6797
|
export {
|
|
@@ -6709,6 +6827,8 @@ export {
|
|
|
6709
6827
|
MyButtonImport,
|
|
6710
6828
|
AQSelectTableByOpenModal,
|
|
6711
6829
|
MyButtonPrintPDF,
|
|
6830
|
+
MyHtmlWrapper,
|
|
6831
|
+
MyButtonPrintTablePDF,
|
|
6712
6832
|
MyButtonRouterBack,
|
|
6713
6833
|
baseAxios_default,
|
|
6714
6834
|
MyButtonViewPDF,
|
|
@@ -6734,7 +6854,6 @@ export {
|
|
|
6734
6854
|
OBJECT_COlORS,
|
|
6735
6855
|
useHeaderMegaMenuStore,
|
|
6736
6856
|
HeaderMegaMenu,
|
|
6737
|
-
MyHtmlWrapper,
|
|
6738
6857
|
MyPageContent,
|
|
6739
6858
|
MyTab,
|
|
6740
6859
|
MyDataTableSelect,
|
|
@@ -134,13 +134,13 @@ interface IMyButtonCreate$1 extends Omit<ComponentProps<typeof MyButtonModal>, "
|
|
|
134
134
|
}
|
|
135
135
|
declare function AQButtonCreateByImportFile({ form, onSubmit, onSuccess, onError, setImportedData, ...rest }: IMyButtonCreate$1): react_jsx_runtime.JSX.Element;
|
|
136
136
|
|
|
137
|
-
interface FieldConfig {
|
|
137
|
+
interface FieldConfig$1 {
|
|
138
138
|
fieldName: string;
|
|
139
139
|
header: string;
|
|
140
140
|
formatFunction?: (value: any, row: any) => any;
|
|
141
141
|
}
|
|
142
142
|
interface ExportConfig {
|
|
143
|
-
fields: FieldConfig[];
|
|
143
|
+
fields: FieldConfig$1[];
|
|
144
144
|
}
|
|
145
145
|
interface AQButtonExportDataProps {
|
|
146
146
|
isAllData: boolean;
|
|
@@ -223,6 +223,24 @@ interface I$5 extends ButtonProps {
|
|
|
223
223
|
}
|
|
224
224
|
declare function MyButtonPrintPDF({ contentToPrint, ...rest }: I$5): react_jsx_runtime.JSX.Element;
|
|
225
225
|
|
|
226
|
+
interface FieldConfig {
|
|
227
|
+
fieldName: string;
|
|
228
|
+
header: string;
|
|
229
|
+
isCenter?: boolean;
|
|
230
|
+
formatFunction?: (value: any, row: any) => any;
|
|
231
|
+
}
|
|
232
|
+
interface PrintConfig {
|
|
233
|
+
fields: FieldConfig[];
|
|
234
|
+
title?: string;
|
|
235
|
+
showRowNumbers?: boolean;
|
|
236
|
+
}
|
|
237
|
+
interface AQButtonPrintTableProps<TData extends MRT_RowData = any> {
|
|
238
|
+
printConfig?: PrintConfig;
|
|
239
|
+
objectName?: string;
|
|
240
|
+
data?: TData[];
|
|
241
|
+
}
|
|
242
|
+
declare function MyButtonPrintTablePDF<TData extends MRT_RowData = any>({ printConfig, data, }: AQButtonPrintTableProps<TData>): react_jsx_runtime.JSX.Element;
|
|
243
|
+
|
|
226
244
|
interface IMyButtonRouterBack extends ButtonProps {
|
|
227
245
|
url?: string;
|
|
228
246
|
label?: string;
|
|
@@ -442,4 +460,4 @@ interface IMySkeletonTable extends SkeletonProps {
|
|
|
442
460
|
}
|
|
443
461
|
declare function MySkeletonTable({ h }: IMySkeletonTable): react_jsx_runtime.JSX.Element;
|
|
444
462
|
|
|
445
|
-
export { AQButtonCreateByImportFile, AQButtonExportData, AQCard, AQSelectTableByOpenModal, AQStatCard1, BasicAppShell, BasicAppShell_transformMenuToEnum, Boxes, HeaderMegaMenu, type I0LinkItem, type IAQCardProps, type IMyTextEditor, MyActionIcon, MyActionIconCheck, MyActionIconDelete, MyActionIconDownloadPDF, MyActionIconModal, MyActionIconUpdate, MyActionIconUpload, MyActionIconViewPDF, MyAnchorViewPDF, MyAppSpotlight, MyBoxesBackground, MyBoxesCore, MyButton, MyButtonCreate, MyButtonImport, MyButtonModal, MyButtonPrintPDF, MyButtonRouterBack, MyButtonViewPDF, MyCalendar, MyCardioLoader, MyCenterFull, MyCheckbox, MyContainer, MyDataTable, MyDataTableSelect, MyDateInput, MyFieldset, MyFileInput, MyFlexColumn, MyFlexEnd, MyFlexRow, MyHtmlWrapper, MyKeyLabel, MyNumberFormatter, MyNumberInput, MyPageContent, MySelect, MySelectAPIGet, MySkeletonTable, MySwitchTheme, MyTab, MyTextArea, MyTextEditor, MyTextInput, SelectFieldModal, SelectFileModal, type SelectFileModalProps, SpotlightTrigger, groupToTwoLevels, useHeaderMegaMenuStore, useS_ButtonImport, utils_layout_getItemsWithoutLinks };
|
|
463
|
+
export { AQButtonCreateByImportFile, AQButtonExportData, AQCard, AQSelectTableByOpenModal, AQStatCard1, BasicAppShell, BasicAppShell_transformMenuToEnum, Boxes, HeaderMegaMenu, type I0LinkItem, type IAQCardProps, type IMyTextEditor, MyActionIcon, MyActionIconCheck, MyActionIconDelete, MyActionIconDownloadPDF, MyActionIconModal, MyActionIconUpdate, MyActionIconUpload, MyActionIconViewPDF, MyAnchorViewPDF, MyAppSpotlight, MyBoxesBackground, MyBoxesCore, MyButton, MyButtonCreate, MyButtonImport, MyButtonModal, MyButtonPrintPDF, MyButtonPrintTablePDF, MyButtonRouterBack, MyButtonViewPDF, MyCalendar, MyCardioLoader, MyCenterFull, MyCheckbox, MyContainer, MyDataTable, MyDataTableSelect, MyDateInput, MyFieldset, MyFileInput, MyFlexColumn, MyFlexEnd, MyFlexRow, MyHtmlWrapper, MyKeyLabel, MyNumberFormatter, MyNumberInput, MyPageContent, MySelect, MySelectAPIGet, MySkeletonTable, MySwitchTheme, MyTab, MyTextArea, MyTextEditor, MyTextInput, SelectFieldModal, SelectFileModal, type SelectFileModalProps, SpotlightTrigger, groupToTwoLevels, useHeaderMegaMenuStore, useS_ButtonImport, utils_layout_getItemsWithoutLinks };
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
MyButtonImport,
|
|
26
26
|
MyButtonModal,
|
|
27
27
|
MyButtonPrintPDF,
|
|
28
|
+
MyButtonPrintTablePDF,
|
|
28
29
|
MyButtonRouterBack,
|
|
29
30
|
MyButtonViewPDF,
|
|
30
31
|
MyCalendar,
|
|
@@ -60,7 +61,7 @@ import {
|
|
|
60
61
|
useHeaderMegaMenuStore,
|
|
61
62
|
useS_ButtonImport,
|
|
62
63
|
utils_layout_getItemsWithoutLinks
|
|
63
|
-
} from "../chunk-
|
|
64
|
+
} from "../chunk-7LDYJOBM.mjs";
|
|
64
65
|
import "../chunk-GL5OCTFE.mjs";
|
|
65
66
|
import "../chunk-CDDX46TC.mjs";
|
|
66
67
|
import "../chunk-FWCSY2DS.mjs";
|
|
@@ -91,6 +92,7 @@ export {
|
|
|
91
92
|
MyButtonImport,
|
|
92
93
|
MyButtonModal,
|
|
93
94
|
MyButtonPrintPDF,
|
|
95
|
+
MyButtonPrintTablePDF,
|
|
94
96
|
MyButtonRouterBack,
|
|
95
97
|
MyButtonViewPDF,
|
|
96
98
|
MyCalendar,
|