aq-fe-framework 0.1.48 → 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.
|
@@ -1593,19 +1593,45 @@ 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
|
+
|
|
1596
1622
|
// src/components/Buttons/ButtonRouterBack/MyButtonRouterBack.tsx
|
|
1597
1623
|
import { Button as Button11 } from "@mantine/core";
|
|
1598
1624
|
import { IconArrowBack } from "@tabler/icons-react";
|
|
1599
1625
|
import { useRouter as useRouter2 } from "next/navigation";
|
|
1600
|
-
import { jsx as
|
|
1626
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
1601
1627
|
function MyButtonRouterBack(_a) {
|
|
1602
1628
|
var _b = _a, { url, label } = _b, rest = __objRest(_b, ["url", "label"]);
|
|
1603
1629
|
const router = useRouter2();
|
|
1604
|
-
return /* @__PURE__ */
|
|
1630
|
+
return /* @__PURE__ */ jsx32(
|
|
1605
1631
|
Button11,
|
|
1606
1632
|
__spreadProps(__spreadValues({
|
|
1607
1633
|
variant: "light",
|
|
1608
|
-
leftSection: /* @__PURE__ */
|
|
1634
|
+
leftSection: /* @__PURE__ */ jsx32(IconArrowBack, { stroke: 2 }),
|
|
1609
1635
|
onClick: () => {
|
|
1610
1636
|
if (url) {
|
|
1611
1637
|
router.replace(url);
|
|
@@ -1649,7 +1675,7 @@ import { useDisclosure as useDisclosure9 } from "@mantine/hooks";
|
|
|
1649
1675
|
import { IconLivePhoto as IconLivePhoto2, IconMaximize as IconMaximize3, IconMinimize as IconMinimize3 } from "@tabler/icons-react";
|
|
1650
1676
|
import { useQuery } from "@tanstack/react-query";
|
|
1651
1677
|
import { useState as useState6 } from "react";
|
|
1652
|
-
import { Fragment as Fragment10, jsx as
|
|
1678
|
+
import { Fragment as Fragment10, jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1653
1679
|
function MyButtonViewPDF({ id, modalSize = "80%", label = "Xem file", src = "https://datafiles.chinhphu.vn/cpp/files/vbpq/2016/07/85.signed.pdf" }) {
|
|
1654
1680
|
var _a, _b;
|
|
1655
1681
|
const disc = useDisclosure9(false);
|
|
@@ -1662,49 +1688,49 @@ function MyButtonViewPDF({ id, modalSize = "80%", label = "Xem file", src = "htt
|
|
|
1662
1688
|
},
|
|
1663
1689
|
enabled: id != void 0 && disc[0] == true
|
|
1664
1690
|
});
|
|
1665
|
-
return /* @__PURE__ */
|
|
1666
|
-
/* @__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: () => {
|
|
1667
1693
|
disc[1].open();
|
|
1668
|
-
}, leftSection: /* @__PURE__ */
|
|
1669
|
-
/* @__PURE__ */
|
|
1694
|
+
}, leftSection: /* @__PURE__ */ jsx33(IconLivePhoto2, {}), children: label }) }),
|
|
1695
|
+
/* @__PURE__ */ jsx33(
|
|
1670
1696
|
Modal10,
|
|
1671
1697
|
{
|
|
1672
1698
|
fullScreen: fullScreen[0],
|
|
1673
1699
|
opened: disc[0],
|
|
1674
1700
|
onClose: disc[1].close,
|
|
1675
1701
|
size: modalSize,
|
|
1676
|
-
title: /* @__PURE__ */
|
|
1677
|
-
/* @__PURE__ */
|
|
1678
|
-
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(
|
|
1679
1705
|
ActionIcon9,
|
|
1680
1706
|
{
|
|
1681
1707
|
onClick: () => {
|
|
1682
1708
|
fullScreen[1](false);
|
|
1683
1709
|
hSize[1]("80vh");
|
|
1684
1710
|
},
|
|
1685
|
-
children: /* @__PURE__ */
|
|
1711
|
+
children: /* @__PURE__ */ jsx33(IconMinimize3, {})
|
|
1686
1712
|
}
|
|
1687
|
-
) : /* @__PURE__ */
|
|
1713
|
+
) : /* @__PURE__ */ jsx33(
|
|
1688
1714
|
ActionIcon9,
|
|
1689
1715
|
{
|
|
1690
1716
|
onClick: () => {
|
|
1691
1717
|
fullScreen[1](true);
|
|
1692
1718
|
hSize[1]("90vh");
|
|
1693
1719
|
},
|
|
1694
|
-
children: /* @__PURE__ */
|
|
1720
|
+
children: /* @__PURE__ */ jsx33(IconMaximize3, {})
|
|
1695
1721
|
}
|
|
1696
1722
|
)
|
|
1697
1723
|
] }),
|
|
1698
|
-
children: /* @__PURE__ */
|
|
1699
|
-
/* @__PURE__ */
|
|
1700
|
-
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(
|
|
1701
1727
|
"iframe",
|
|
1702
1728
|
{
|
|
1703
1729
|
src: `data:application/pdf;base64, ${(_b = (_a = query.data) == null ? void 0 : _a.fileDetail) == null ? void 0 : _b.fileBase64String}`,
|
|
1704
1730
|
width: "100%",
|
|
1705
1731
|
height: "100%"
|
|
1706
1732
|
}
|
|
1707
|
-
) : /* @__PURE__ */
|
|
1733
|
+
) : /* @__PURE__ */ jsx33(
|
|
1708
1734
|
"iframe",
|
|
1709
1735
|
{
|
|
1710
1736
|
src,
|
|
@@ -5657,7 +5683,7 @@ import { ScheduleXCalendar, useNextCalendarApp } from "@schedule-x/react";
|
|
|
5657
5683
|
import { Paper as Paper4, Text as Text6 } from "@mantine/core";
|
|
5658
5684
|
import "@schedule-x/theme-default/dist/index.css";
|
|
5659
5685
|
import { useEffect as useEffect4 } from "react";
|
|
5660
|
-
import { jsx as
|
|
5686
|
+
import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
5661
5687
|
function MyCalendar() {
|
|
5662
5688
|
const plugins = [createEventsServicePlugin(), createEventModalPlugin()];
|
|
5663
5689
|
const calendar = useNextCalendarApp({
|
|
@@ -5731,16 +5757,16 @@ function MyCalendar() {
|
|
|
5731
5757
|
useEffect4(() => {
|
|
5732
5758
|
calendar == null ? void 0 : calendar.events.getAll();
|
|
5733
5759
|
}, []);
|
|
5734
|
-
return /* @__PURE__ */
|
|
5760
|
+
return /* @__PURE__ */ jsx34("div", { children: /* @__PURE__ */ jsx34(ScheduleXCalendar, { calendarApp: calendar, customComponents: {
|
|
5735
5761
|
timeGridEvent: ({ calendarEvent }) => {
|
|
5736
5762
|
console.log(calendarEvent);
|
|
5737
|
-
return /* @__PURE__ */
|
|
5738
|
-
/* @__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: [
|
|
5739
5765
|
calendarEvent.laLichThi ? "(Thi) " : "(H\u1ECDc) ",
|
|
5740
5766
|
calendarEvent.title
|
|
5741
5767
|
] }),
|
|
5742
|
-
calendarEvent.laLichThi == false && /* @__PURE__ */
|
|
5743
|
-
/* @__PURE__ */
|
|
5768
|
+
calendarEvent.laLichThi == false && /* @__PURE__ */ jsx34(Text6, { size: "sm", children: calendarEvent.giangvien }),
|
|
5769
|
+
/* @__PURE__ */ jsx34(Text6, { size: "sm", children: calendarEvent.location })
|
|
5744
5770
|
] }) });
|
|
5745
5771
|
}
|
|
5746
5772
|
// eventModal: ({ calendarEvent }) => {
|
|
@@ -5755,31 +5781,31 @@ function MyCalendar() {
|
|
|
5755
5781
|
|
|
5756
5782
|
// src/components/CenterFull/MyCenterFull.tsx
|
|
5757
5783
|
import { Center as Center2, Group as Group8 } from "@mantine/core";
|
|
5758
|
-
import { jsx as
|
|
5784
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
5759
5785
|
function MyCenterFull({ children }) {
|
|
5760
|
-
return /* @__PURE__ */
|
|
5786
|
+
return /* @__PURE__ */ jsx35(Center2, { w: "100%", children: /* @__PURE__ */ jsx35(Group8, { children }) });
|
|
5761
5787
|
}
|
|
5762
5788
|
|
|
5763
5789
|
// src/components/Checkbox/MyCheckbox.tsx
|
|
5764
5790
|
import { Checkbox as Checkbox2 } from "@mantine/core";
|
|
5765
|
-
import { jsx as
|
|
5791
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
5766
5792
|
function MyCheckbox(_a) {
|
|
5767
5793
|
var rest = __objRest(_a, []);
|
|
5768
|
-
return /* @__PURE__ */
|
|
5794
|
+
return /* @__PURE__ */ jsx36(Checkbox2, __spreadValues({}, rest));
|
|
5769
5795
|
}
|
|
5770
5796
|
|
|
5771
5797
|
// src/components/Layouts/FlexRow/MyFlexRow.tsx
|
|
5772
5798
|
import { Flex as Flex2 } from "@mantine/core";
|
|
5773
|
-
import { jsx as
|
|
5799
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
5774
5800
|
function MyFlexRow(_a) {
|
|
5775
5801
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
|
5776
|
-
return /* @__PURE__ */
|
|
5802
|
+
return /* @__PURE__ */ jsx37(Flex2, __spreadProps(__spreadValues({ gap: "md", align: "center" }, rest), { children }));
|
|
5777
5803
|
}
|
|
5778
5804
|
|
|
5779
5805
|
// src/components/DataDisplay/Card/AQCard.tsx
|
|
5780
5806
|
import { Badge, Card, Center as Center3, Image, Text as Text7 } from "@mantine/core";
|
|
5781
5807
|
import Link from "next/link";
|
|
5782
|
-
import { jsx as
|
|
5808
|
+
import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
5783
5809
|
function AQCard({
|
|
5784
5810
|
imgSrc = "https://raw.githubusercontent.com/mantinedev/mantine/master/.demo/images/bg-8.png",
|
|
5785
5811
|
title,
|
|
@@ -5789,8 +5815,8 @@ function AQCard({
|
|
|
5789
5815
|
status,
|
|
5790
5816
|
href = ""
|
|
5791
5817
|
}) {
|
|
5792
|
-
return /* @__PURE__ */
|
|
5793
|
-
/* @__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(
|
|
5794
5820
|
Image,
|
|
5795
5821
|
{
|
|
5796
5822
|
src: imgSrc,
|
|
@@ -5800,51 +5826,51 @@ function AQCard({
|
|
|
5800
5826
|
alt: "Norway"
|
|
5801
5827
|
}
|
|
5802
5828
|
) }) }),
|
|
5803
|
-
/* @__PURE__ */
|
|
5804
|
-
/* @__PURE__ */
|
|
5805
|
-
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 })
|
|
5806
5832
|
] }),
|
|
5807
|
-
/* @__PURE__ */
|
|
5833
|
+
/* @__PURE__ */ jsx38(Text7, { size: "sm", c: "dimmed", lineClamp: 2, children: description }),
|
|
5808
5834
|
children
|
|
5809
5835
|
] });
|
|
5810
5836
|
}
|
|
5811
5837
|
|
|
5812
5838
|
// src/components/DataDisplay/KeyLabel/MyKeyLabel.tsx
|
|
5813
5839
|
import { Group as Group9, Text as Text8 } from "@mantine/core";
|
|
5814
|
-
import { jsx as
|
|
5840
|
+
import { jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5815
5841
|
function MyKeyLabel({ keyLabel, label }) {
|
|
5816
|
-
return /* @__PURE__ */
|
|
5817
|
-
/* @__PURE__ */
|
|
5842
|
+
return /* @__PURE__ */ jsxs23(Group9, { gap: 5, children: [
|
|
5843
|
+
/* @__PURE__ */ jsxs23(Text8, { fw: "bold", children: [
|
|
5818
5844
|
keyLabel,
|
|
5819
5845
|
":"
|
|
5820
5846
|
] }),
|
|
5821
|
-
/* @__PURE__ */
|
|
5847
|
+
/* @__PURE__ */ jsx39(Text8, { children: label })
|
|
5822
5848
|
] });
|
|
5823
5849
|
}
|
|
5824
5850
|
|
|
5825
5851
|
// src/components/DataDisplay/NumberFormatter/MyNumberFormatter.tsx
|
|
5826
5852
|
import { NumberFormatter } from "@mantine/core";
|
|
5827
|
-
import { jsx as
|
|
5853
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
5828
5854
|
function MyNumberFormatter(_a) {
|
|
5829
5855
|
var rest = __objRest(_a, []);
|
|
5830
|
-
return /* @__PURE__ */
|
|
5856
|
+
return /* @__PURE__ */ jsx40(NumberFormatter, __spreadValues({ thousandSeparator: true, suffix: " VN\u0110" }, rest));
|
|
5831
5857
|
}
|
|
5832
5858
|
|
|
5833
5859
|
// 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";
|
|
5860
|
+
import { Box as Box2, Button as Button13, Flex as Flex3, Group as Group10, Paper as Paper5, Text as Text9 } from "@mantine/core";
|
|
5835
5861
|
import { IconArrowDownRight, IconArrowUpRight } from "@tabler/icons-react";
|
|
5836
|
-
import { Fragment as Fragment11, jsx as
|
|
5862
|
+
import { Fragment as Fragment11, jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
5837
5863
|
function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
5838
|
-
return /* @__PURE__ */
|
|
5864
|
+
return /* @__PURE__ */ jsx41(Fragment11, { children: /* @__PURE__ */ jsxs24(
|
|
5839
5865
|
Paper5,
|
|
5840
5866
|
{
|
|
5841
5867
|
withBorder: true,
|
|
5842
5868
|
p: "md",
|
|
5843
5869
|
radius: "md",
|
|
5844
5870
|
children: [
|
|
5845
|
-
/* @__PURE__ */
|
|
5846
|
-
/* @__PURE__ */
|
|
5847
|
-
/* @__PURE__ */
|
|
5871
|
+
/* @__PURE__ */ jsxs24(Group10, { justify: "space-between", children: [
|
|
5872
|
+
/* @__PURE__ */ jsxs24(Flex3, { direction: "column", children: [
|
|
5873
|
+
/* @__PURE__ */ jsx41(
|
|
5848
5874
|
Text9,
|
|
5849
5875
|
{
|
|
5850
5876
|
tt: "uppercase",
|
|
@@ -5853,24 +5879,24 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5853
5879
|
children: title
|
|
5854
5880
|
}
|
|
5855
5881
|
),
|
|
5856
|
-
unit == "" ? /* @__PURE__ */
|
|
5882
|
+
unit == "" ? /* @__PURE__ */ jsxs24(Text9, { size: "xs", style: { visibility: "hidden" }, children: [
|
|
5857
5883
|
"\u0110\u01A1n v\u1ECB: ",
|
|
5858
|
-
/* @__PURE__ */
|
|
5859
|
-
] }) : /* @__PURE__ */
|
|
5884
|
+
/* @__PURE__ */ jsx41("strong", { children: unit })
|
|
5885
|
+
] }) : /* @__PURE__ */ jsxs24(Text9, { size: "xs", children: [
|
|
5860
5886
|
"\u0110\u01A1n v\u1ECB: ",
|
|
5861
|
-
/* @__PURE__ */
|
|
5887
|
+
/* @__PURE__ */ jsx41("strong", { children: unit })
|
|
5862
5888
|
] })
|
|
5863
5889
|
] }),
|
|
5864
|
-
/* @__PURE__ */
|
|
5890
|
+
/* @__PURE__ */ jsx41(Box2, { children: icons })
|
|
5865
5891
|
] }),
|
|
5866
|
-
/* @__PURE__ */
|
|
5892
|
+
/* @__PURE__ */ jsxs24(
|
|
5867
5893
|
Group10,
|
|
5868
5894
|
{
|
|
5869
5895
|
mt: "5",
|
|
5870
5896
|
align: "flex-end",
|
|
5871
5897
|
gap: "xs",
|
|
5872
5898
|
children: [
|
|
5873
|
-
/* @__PURE__ */
|
|
5899
|
+
/* @__PURE__ */ jsx41(
|
|
5874
5900
|
Text9,
|
|
5875
5901
|
{
|
|
5876
5902
|
fw: 700,
|
|
@@ -5878,7 +5904,7 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5878
5904
|
children: value
|
|
5879
5905
|
}
|
|
5880
5906
|
),
|
|
5881
|
-
/* @__PURE__ */
|
|
5907
|
+
/* @__PURE__ */ jsxs24(
|
|
5882
5908
|
Text9,
|
|
5883
5909
|
{
|
|
5884
5910
|
mb: "2",
|
|
@@ -5886,20 +5912,20 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5886
5912
|
fz: "h2",
|
|
5887
5913
|
fw: 500,
|
|
5888
5914
|
children: [
|
|
5889
|
-
/* @__PURE__ */
|
|
5915
|
+
/* @__PURE__ */ jsxs24("span", { children: [
|
|
5890
5916
|
diff,
|
|
5891
5917
|
"%"
|
|
5892
5918
|
] }),
|
|
5893
|
-
diff > 0 ? /* @__PURE__ */
|
|
5919
|
+
diff > 0 ? /* @__PURE__ */ jsx41(IconArrowUpRight, {}) : /* @__PURE__ */ jsx41(IconArrowDownRight, {})
|
|
5894
5920
|
]
|
|
5895
5921
|
}
|
|
5896
5922
|
)
|
|
5897
5923
|
]
|
|
5898
5924
|
}
|
|
5899
5925
|
),
|
|
5900
|
-
/* @__PURE__ */
|
|
5901
|
-
/* @__PURE__ */
|
|
5902
|
-
/* @__PURE__ */
|
|
5926
|
+
/* @__PURE__ */ jsxs24(Group10, { justify: "space-between", children: [
|
|
5927
|
+
/* @__PURE__ */ jsx41(Text9, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
|
|
5928
|
+
/* @__PURE__ */ jsx41(
|
|
5903
5929
|
Button13,
|
|
5904
5930
|
{
|
|
5905
5931
|
variant: "light",
|
|
@@ -5916,15 +5942,15 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
|
5916
5942
|
|
|
5917
5943
|
// src/components/Inputs/DateInput/MyDateInput.tsx
|
|
5918
5944
|
import { DateInput } from "@mantine/dates";
|
|
5919
|
-
import { jsx as
|
|
5945
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
5920
5946
|
function MyDateInput(_a) {
|
|
5921
5947
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5922
|
-
return /* @__PURE__ */
|
|
5948
|
+
return /* @__PURE__ */ jsx42(DateInput, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5923
5949
|
}
|
|
5924
5950
|
|
|
5925
5951
|
// src/components/Inputs/Fieldset/MyFieldset.tsx
|
|
5926
|
-
import { Box as
|
|
5927
|
-
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";
|
|
5928
5954
|
function MyFieldset(_a) {
|
|
5929
5955
|
var _b = _a, {
|
|
5930
5956
|
children,
|
|
@@ -5933,17 +5959,17 @@ function MyFieldset(_a) {
|
|
|
5933
5959
|
"children",
|
|
5934
5960
|
"title"
|
|
5935
5961
|
]);
|
|
5936
|
-
return /* @__PURE__ */
|
|
5962
|
+
return /* @__PURE__ */ jsx43(
|
|
5937
5963
|
Fieldset4,
|
|
5938
5964
|
__spreadProps(__spreadValues({}, rest), {
|
|
5939
|
-
legend: /* @__PURE__ */
|
|
5940
|
-
|
|
5965
|
+
legend: /* @__PURE__ */ jsx43(
|
|
5966
|
+
Box3,
|
|
5941
5967
|
{
|
|
5942
5968
|
bg: "blue.4",
|
|
5943
5969
|
px: "xs",
|
|
5944
5970
|
py: 2,
|
|
5945
5971
|
style: { borderRadius: 4 },
|
|
5946
|
-
children: /* @__PURE__ */
|
|
5972
|
+
children: /* @__PURE__ */ jsx43(Text10, { c: "white", fw: 500, children: title })
|
|
5947
5973
|
}
|
|
5948
5974
|
),
|
|
5949
5975
|
children
|
|
@@ -5953,30 +5979,30 @@ function MyFieldset(_a) {
|
|
|
5953
5979
|
|
|
5954
5980
|
// src/components/Inputs/FileInput/MyFileInput.tsx
|
|
5955
5981
|
import { FileInput as FileInput3 } from "@mantine/core";
|
|
5956
|
-
import { jsx as
|
|
5982
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
5957
5983
|
function MyFileInput(_a) {
|
|
5958
5984
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5959
|
-
return /* @__PURE__ */
|
|
5985
|
+
return /* @__PURE__ */ jsx44(FileInput3, __spreadValues({ label, placeholder: label ? `Ch\u1ECDn ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5960
5986
|
}
|
|
5961
5987
|
|
|
5962
5988
|
// src/components/Inputs/NumberInput/MyNumberInput.tsx
|
|
5963
5989
|
import { NumberInput as NumberInput2 } from "@mantine/core";
|
|
5964
|
-
import { jsx as
|
|
5990
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
5965
5991
|
function MyNumberInput(_a) {
|
|
5966
5992
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5967
|
-
return /* @__PURE__ */
|
|
5993
|
+
return /* @__PURE__ */ jsx45(NumberInput2, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5968
5994
|
}
|
|
5969
5995
|
|
|
5970
5996
|
// src/components/Inputs/TextArea/MyTextArea.tsx
|
|
5971
5997
|
import { Textarea } from "@mantine/core";
|
|
5972
|
-
import { jsx as
|
|
5998
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
5973
5999
|
function MyTextArea(_a) {
|
|
5974
6000
|
var _b = _a, { label } = _b, rest = __objRest(_b, ["label"]);
|
|
5975
|
-
return /* @__PURE__ */
|
|
6001
|
+
return /* @__PURE__ */ jsx46(Textarea, __spreadValues({ label, placeholder: label ? `Nh\u1EADp ${label == null ? void 0 : label.toLowerCase()}` : "" }, rest));
|
|
5976
6002
|
}
|
|
5977
6003
|
|
|
5978
6004
|
// src/components/Inputs/TextEditor/MyTextEditor.tsx
|
|
5979
|
-
import { Input, ScrollArea } from "@mantine/core";
|
|
6005
|
+
import { Input, ScrollArea as ScrollArea2 } from "@mantine/core";
|
|
5980
6006
|
import { Link as Link2, RichTextEditor } from "@mantine/tiptap";
|
|
5981
6007
|
import FileHandler from "@tiptap-pro/extension-file-handler";
|
|
5982
6008
|
import Highlight2 from "@tiptap/extension-highlight";
|
|
@@ -5988,7 +6014,7 @@ import Underline from "@tiptap/extension-underline";
|
|
|
5988
6014
|
import { useEditor } from "@tiptap/react";
|
|
5989
6015
|
import StarterKit from "@tiptap/starter-kit";
|
|
5990
6016
|
import { useEffect as useEffect5, useState as useState7 } from "react";
|
|
5991
|
-
import { jsx as
|
|
6017
|
+
import { jsx as jsx47, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
5992
6018
|
function MyTextEditor(_a) {
|
|
5993
6019
|
var _b = _a, {
|
|
5994
6020
|
autoHiddenToolBar = false,
|
|
@@ -6090,44 +6116,44 @@ function MyTextEditor(_a) {
|
|
|
6090
6116
|
editor.commands.setContent(value);
|
|
6091
6117
|
}
|
|
6092
6118
|
}, [value, editor]);
|
|
6093
|
-
return /* @__PURE__ */
|
|
6094
|
-
/* @__PURE__ */
|
|
6095
|
-
/* @__PURE__ */
|
|
6096
|
-
/* @__PURE__ */
|
|
6097
|
-
/* @__PURE__ */
|
|
6098
|
-
/* @__PURE__ */
|
|
6099
|
-
/* @__PURE__ */
|
|
6100
|
-
/* @__PURE__ */
|
|
6101
|
-
/* @__PURE__ */
|
|
6102
|
-
/* @__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, {})
|
|
6103
6129
|
] }),
|
|
6104
|
-
/* @__PURE__ */
|
|
6105
|
-
/* @__PURE__ */
|
|
6106
|
-
/* @__PURE__ */
|
|
6107
|
-
/* @__PURE__ */
|
|
6108
|
-
/* @__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, {})
|
|
6109
6135
|
] }),
|
|
6110
|
-
/* @__PURE__ */
|
|
6111
|
-
/* @__PURE__ */
|
|
6112
|
-
/* @__PURE__ */
|
|
6113
|
-
/* @__PURE__ */
|
|
6114
|
-
/* @__PURE__ */
|
|
6115
|
-
/* @__PURE__ */
|
|
6116
|
-
/* @__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, {})
|
|
6117
6143
|
] }),
|
|
6118
|
-
/* @__PURE__ */
|
|
6119
|
-
/* @__PURE__ */
|
|
6120
|
-
/* @__PURE__ */
|
|
6144
|
+
/* @__PURE__ */ jsxs25(RichTextEditor.ControlsGroup, { children: [
|
|
6145
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Link, {}),
|
|
6146
|
+
/* @__PURE__ */ jsx47(RichTextEditor.Unlink, {})
|
|
6121
6147
|
] }),
|
|
6122
|
-
/* @__PURE__ */
|
|
6123
|
-
/* @__PURE__ */
|
|
6124
|
-
/* @__PURE__ */
|
|
6125
|
-
/* @__PURE__ */
|
|
6126
|
-
/* @__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, {})
|
|
6127
6153
|
] })
|
|
6128
6154
|
] }),
|
|
6129
|
-
/* @__PURE__ */
|
|
6130
|
-
|
|
6155
|
+
/* @__PURE__ */ jsx47(
|
|
6156
|
+
ScrollArea2.Autosize,
|
|
6131
6157
|
{
|
|
6132
6158
|
onMouseDown: () => {
|
|
6133
6159
|
editor == null ? void 0 : editor.commands.focus();
|
|
@@ -6141,7 +6167,7 @@ function MyTextEditor(_a) {
|
|
|
6141
6167
|
setHiddenToolBar(false);
|
|
6142
6168
|
},
|
|
6143
6169
|
style: { cursor: "text", maxHeight: "400px" },
|
|
6144
|
-
children: /* @__PURE__ */
|
|
6170
|
+
children: /* @__PURE__ */ jsx47(RichTextEditor.Content, { mih: contentHeight })
|
|
6145
6171
|
}
|
|
6146
6172
|
)
|
|
6147
6173
|
] }) });
|
|
@@ -6151,14 +6177,14 @@ function MyTextEditor(_a) {
|
|
|
6151
6177
|
import { Button as Button14 } from "@mantine/core";
|
|
6152
6178
|
import { IconLogout } from "@tabler/icons-react";
|
|
6153
6179
|
import { useRouter as useRouter3 } from "next/navigation";
|
|
6154
|
-
import { jsx as
|
|
6180
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
6155
6181
|
function F0Logout() {
|
|
6156
6182
|
const router = useRouter3();
|
|
6157
6183
|
const S_Authenticate = useS_Authenticate();
|
|
6158
|
-
return /* @__PURE__ */
|
|
6184
|
+
return /* @__PURE__ */ jsx48(Button14, { onClick: () => {
|
|
6159
6185
|
S_Authenticate.setProperty("token", "");
|
|
6160
6186
|
router.replace("/auth/login");
|
|
6161
|
-
}, leftSection: /* @__PURE__ */
|
|
6187
|
+
}, leftSection: /* @__PURE__ */ jsx48(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
|
|
6162
6188
|
}
|
|
6163
6189
|
|
|
6164
6190
|
// src/components/Layouts/BasicAppShell/BasicAppShell.tsx
|
|
@@ -6170,7 +6196,7 @@ import {
|
|
|
6170
6196
|
Group as Group11,
|
|
6171
6197
|
Image as Image3,
|
|
6172
6198
|
NavLink,
|
|
6173
|
-
ScrollArea as
|
|
6199
|
+
ScrollArea as ScrollArea3,
|
|
6174
6200
|
Select as Select3,
|
|
6175
6201
|
Text as Text11,
|
|
6176
6202
|
TextInput as TextInput2,
|
|
@@ -6181,18 +6207,18 @@ import { spotlight as spotlight2 } from "@mantine/spotlight";
|
|
|
6181
6207
|
import { IconLayoutSidebarLeftCollapse, IconLayoutSidebarLeftExpand, IconLibraryMinus, IconSearch as IconSearch2 } from "@tabler/icons-react";
|
|
6182
6208
|
import Link3 from "next/link";
|
|
6183
6209
|
import { usePathname as usePathname2 } from "next/navigation";
|
|
6184
|
-
import { Fragment as Fragment12, jsx as
|
|
6210
|
+
import { Fragment as Fragment12, jsx as jsx49, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
6185
6211
|
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__ */
|
|
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" });
|
|
6190
6216
|
return null;
|
|
6191
6217
|
}
|
|
6192
6218
|
function RenderNavLinks({ items }) {
|
|
6193
6219
|
const sidebarStore = useS_Sidebar();
|
|
6194
6220
|
const pathName = usePathname2();
|
|
6195
|
-
return /* @__PURE__ */
|
|
6221
|
+
return /* @__PURE__ */ jsx49(Fragment12, { children: items.map((item, index) => /* @__PURE__ */ jsx49(
|
|
6196
6222
|
NavLink,
|
|
6197
6223
|
{
|
|
6198
6224
|
active: item.link === pathName.split("/")[2],
|
|
@@ -6209,7 +6235,7 @@ function RenderNavLinks({ items }) {
|
|
|
6209
6235
|
sidebarStore.setProperty("title", item.label);
|
|
6210
6236
|
}
|
|
6211
6237
|
},
|
|
6212
|
-
children: item.links && /* @__PURE__ */
|
|
6238
|
+
children: item.links && /* @__PURE__ */ jsx49(RenderNavLinks, { items: item.links })
|
|
6213
6239
|
},
|
|
6214
6240
|
index
|
|
6215
6241
|
)) });
|
|
@@ -6266,7 +6292,7 @@ function BasicAppShell({ children, menu }) {
|
|
|
6266
6292
|
const sidebarStore = useS_Sidebar();
|
|
6267
6293
|
const media = useMediaQuery("(min-width: 72em)");
|
|
6268
6294
|
const selectMedia = useMediaQuery("(min-width: 80em)");
|
|
6269
|
-
return /* @__PURE__ */
|
|
6295
|
+
return /* @__PURE__ */ jsxs26(
|
|
6270
6296
|
AppShell,
|
|
6271
6297
|
{
|
|
6272
6298
|
header: { height: 60 },
|
|
@@ -6277,17 +6303,17 @@ function BasicAppShell({ children, menu }) {
|
|
|
6277
6303
|
},
|
|
6278
6304
|
padding: "md",
|
|
6279
6305
|
children: [
|
|
6280
|
-
/* @__PURE__ */
|
|
6281
|
-
/* @__PURE__ */
|
|
6282
|
-
media ? /* @__PURE__ */
|
|
6283
|
-
/* @__PURE__ */
|
|
6284
|
-
/* @__PURE__ */
|
|
6285
|
-
/* @__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, {}) }) })
|
|
6286
6312
|
] }),
|
|
6287
|
-
/* @__PURE__ */
|
|
6288
|
-
/* @__PURE__ */
|
|
6289
|
-
/* @__PURE__ */
|
|
6290
|
-
/* @__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(
|
|
6291
6317
|
Select3,
|
|
6292
6318
|
{
|
|
6293
6319
|
w: selectMedia ? 245 : 150,
|
|
@@ -6299,15 +6325,15 @@ function BasicAppShell({ children, menu }) {
|
|
|
6299
6325
|
]
|
|
6300
6326
|
}
|
|
6301
6327
|
),
|
|
6302
|
-
/* @__PURE__ */
|
|
6328
|
+
/* @__PURE__ */ jsx49(MySwitchTheme, {})
|
|
6303
6329
|
] })
|
|
6304
6330
|
] }) : (
|
|
6305
6331
|
// For mobile screens - simplified layout
|
|
6306
|
-
/* @__PURE__ */
|
|
6307
|
-
/* @__PURE__ */
|
|
6308
|
-
/* @__PURE__ */
|
|
6309
|
-
/* @__PURE__ */
|
|
6310
|
-
/* @__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(
|
|
6311
6337
|
Select3,
|
|
6312
6338
|
{
|
|
6313
6339
|
w: 100,
|
|
@@ -6320,24 +6346,24 @@ function BasicAppShell({ children, menu }) {
|
|
|
6320
6346
|
]
|
|
6321
6347
|
}
|
|
6322
6348
|
),
|
|
6323
|
-
/* @__PURE__ */
|
|
6349
|
+
/* @__PURE__ */ jsx49(MySwitchTheme, {})
|
|
6324
6350
|
] })
|
|
6325
6351
|
] })
|
|
6326
6352
|
)
|
|
6327
6353
|
] }),
|
|
6328
|
-
/* @__PURE__ */
|
|
6329
|
-
/* @__PURE__ */
|
|
6330
|
-
/* @__PURE__ */
|
|
6331
|
-
/* @__PURE__ */
|
|
6332
|
-
/* @__PURE__ */
|
|
6333
|
-
/* @__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, {})
|
|
6334
6360
|
] }),
|
|
6335
|
-
/* @__PURE__ */
|
|
6336
|
-
/* @__PURE__ */
|
|
6337
|
-
/* @__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" })
|
|
6338
6364
|
] })
|
|
6339
6365
|
] }),
|
|
6340
|
-
/* @__PURE__ */
|
|
6366
|
+
/* @__PURE__ */ jsx49(AppShell.Main, { bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))", children })
|
|
6341
6367
|
]
|
|
6342
6368
|
}
|
|
6343
6369
|
);
|
|
@@ -6386,10 +6412,10 @@ function utils_layout_getItemsWithoutLinks(menu) {
|
|
|
6386
6412
|
|
|
6387
6413
|
// src/components/Layouts/Container/MyContainer.tsx
|
|
6388
6414
|
import { Container, Flex as Flex4 } from "@mantine/core";
|
|
6389
|
-
import { jsx as
|
|
6415
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
6390
6416
|
function MyContainer(_a) {
|
|
6391
6417
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
|
6392
|
-
return /* @__PURE__ */
|
|
6418
|
+
return /* @__PURE__ */ jsx50(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx50(Flex4, { direction: "column", children }) }));
|
|
6393
6419
|
}
|
|
6394
6420
|
|
|
6395
6421
|
// src/constants/object/color.ts
|
|
@@ -6401,7 +6427,7 @@ var OBJECT_COlORS = {
|
|
|
6401
6427
|
|
|
6402
6428
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
|
6403
6429
|
import {
|
|
6404
|
-
Box as
|
|
6430
|
+
Box as Box4,
|
|
6405
6431
|
Burger,
|
|
6406
6432
|
Button as Button15,
|
|
6407
6433
|
Container as Container2,
|
|
@@ -6409,7 +6435,7 @@ import {
|
|
|
6409
6435
|
Drawer,
|
|
6410
6436
|
Group as Group12,
|
|
6411
6437
|
Image as Image4,
|
|
6412
|
-
ScrollArea as
|
|
6438
|
+
ScrollArea as ScrollArea4,
|
|
6413
6439
|
Text as Text12,
|
|
6414
6440
|
TextInput as TextInput3,
|
|
6415
6441
|
ThemeIcon,
|
|
@@ -6442,7 +6468,7 @@ function useHeaderMegaMenuStore() {
|
|
|
6442
6468
|
}
|
|
6443
6469
|
|
|
6444
6470
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
|
6445
|
-
import { jsx as
|
|
6471
|
+
import { jsx as jsx51, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6446
6472
|
var mockdata = [
|
|
6447
6473
|
{
|
|
6448
6474
|
icon: IconCode,
|
|
@@ -6480,27 +6506,27 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
6480
6506
|
const [linksOpened, { toggle: toggleLinks }] = useDisclosure10(false);
|
|
6481
6507
|
const HeaderMegaMenuStore = useHeaderMegaMenuStore();
|
|
6482
6508
|
const theme = useMantineTheme();
|
|
6483
|
-
const links = mockdata.map((item) => /* @__PURE__ */
|
|
6484
|
-
/* @__PURE__ */
|
|
6485
|
-
/* @__PURE__ */
|
|
6486
|
-
/* @__PURE__ */
|
|
6487
|
-
/* @__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 })
|
|
6488
6514
|
] })
|
|
6489
6515
|
] }) }, item.title));
|
|
6490
|
-
return /* @__PURE__ */
|
|
6491
|
-
/* @__PURE__ */
|
|
6492
|
-
/* @__PURE__ */
|
|
6493
|
-
/* @__PURE__ */
|
|
6494
|
-
/* @__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)) })
|
|
6495
6521
|
] }),
|
|
6496
|
-
/* @__PURE__ */
|
|
6497
|
-
/* @__PURE__ */
|
|
6498
|
-
/* @__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, {})
|
|
6499
6525
|
] }),
|
|
6500
|
-
/* @__PURE__ */
|
|
6526
|
+
/* @__PURE__ */ jsx51(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
|
|
6501
6527
|
] }) }),
|
|
6502
|
-
/* @__PURE__ */
|
|
6503
|
-
/* @__PURE__ */
|
|
6528
|
+
/* @__PURE__ */ jsx51(Container2, { fluid: true, pt: "sm", pb: "md", bg: OBJECT_COlORS.mantineBackgroundSecondary, mih: "93vh", children }),
|
|
6529
|
+
/* @__PURE__ */ jsx51(
|
|
6504
6530
|
Drawer,
|
|
6505
6531
|
{
|
|
6506
6532
|
opened: drawerOpened,
|
|
@@ -6510,41 +6536,19 @@ function HeaderMegaMenu({ children, menus }) {
|
|
|
6510
6536
|
title: "Navigation",
|
|
6511
6537
|
hiddenFrom: "sm",
|
|
6512
6538
|
zIndex: 1e6,
|
|
6513
|
-
children: /* @__PURE__ */
|
|
6514
|
-
/* @__PURE__ */
|
|
6515
|
-
/* @__PURE__ */
|
|
6516
|
-
/* @__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" })
|
|
6517
6543
|
] })
|
|
6518
6544
|
}
|
|
6519
6545
|
)
|
|
6520
6546
|
] });
|
|
6521
6547
|
}
|
|
6522
6548
|
|
|
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
6549
|
// src/components/Layouts/PageContent/MyPageContent.tsx
|
|
6546
6550
|
import { Code, Container as Container3, Divider as Divider4, Group as Group13, Indicator, Title } from "@mantine/core";
|
|
6547
|
-
import { jsx as
|
|
6551
|
+
import { jsx as jsx52, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
6548
6552
|
var getStatusColor = (status) => {
|
|
6549
6553
|
switch (status) {
|
|
6550
6554
|
case "Prototype":
|
|
@@ -6557,39 +6561,39 @@ var getStatusColor = (status) => {
|
|
|
6557
6561
|
};
|
|
6558
6562
|
var PageTitle = ({ title, status }) => {
|
|
6559
6563
|
const color = getStatusColor(status);
|
|
6560
|
-
return /* @__PURE__ */
|
|
6564
|
+
return /* @__PURE__ */ jsx52(Indicator, { label: status, size: 16, inline: true, color, disabled: !status, pt: 6, children: /* @__PURE__ */ jsx52(Title, { children: title }) });
|
|
6561
6565
|
};
|
|
6562
6566
|
function MyPageContent({ leftTopBar, title, canBack = false, rightTopBar, status, children }) {
|
|
6563
6567
|
const SidebarStore = useS_Sidebar();
|
|
6564
6568
|
const finalTitle = title || SidebarStore.state.title;
|
|
6565
|
-
return /* @__PURE__ */
|
|
6566
|
-
/* @__PURE__ */
|
|
6567
|
-
/* @__PURE__ */
|
|
6568
|
-
canBack && /* @__PURE__ */
|
|
6569
|
-
/* @__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 }),
|
|
6570
6574
|
leftTopBar
|
|
6571
6575
|
] }),
|
|
6572
|
-
/* @__PURE__ */
|
|
6576
|
+
/* @__PURE__ */ jsxs28(Group13, { children: [
|
|
6573
6577
|
rightTopBar,
|
|
6574
|
-
/* @__PURE__ */
|
|
6578
|
+
/* @__PURE__ */ jsx52(Code, { color: "var(--mantine-color-blue-light)", children: SidebarStore.state.menuCode })
|
|
6575
6579
|
] })
|
|
6576
6580
|
] }),
|
|
6577
|
-
/* @__PURE__ */
|
|
6581
|
+
/* @__PURE__ */ jsx52(Divider4, {}),
|
|
6578
6582
|
children
|
|
6579
6583
|
] });
|
|
6580
6584
|
}
|
|
6581
6585
|
|
|
6582
6586
|
// src/components/Layouts/Tab/MyTab.tsx
|
|
6583
6587
|
import { rem, Space as Space3, Tabs } from "@mantine/core";
|
|
6584
|
-
import { jsx as
|
|
6588
|
+
import { jsx as jsx53, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6585
6589
|
function MyTab(_a) {
|
|
6586
6590
|
var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
|
|
6587
6591
|
const iconStyle = { width: rem(20), height: rem(20) };
|
|
6588
|
-
return /* @__PURE__ */
|
|
6589
|
-
/* @__PURE__ */
|
|
6590
|
-
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);
|
|
6591
6595
|
}) }),
|
|
6592
|
-
/* @__PURE__ */
|
|
6596
|
+
/* @__PURE__ */ jsx53(Space3, { my: "md" }),
|
|
6593
6597
|
children
|
|
6594
6598
|
] }));
|
|
6595
6599
|
}
|
|
@@ -6598,33 +6602,33 @@ function MyTab(_a) {
|
|
|
6598
6602
|
import { ActionIcon as ActionIcon11, Button as Button16, Fieldset as Fieldset5, Group as Group14, Modal as Modal11 } from "@mantine/core";
|
|
6599
6603
|
import { useDisclosure as useDisclosure11 } from "@mantine/hooks";
|
|
6600
6604
|
import { IconX as IconX2 } from "@tabler/icons-react";
|
|
6601
|
-
import { jsx as
|
|
6605
|
+
import { jsx as jsx54, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6602
6606
|
function MyDataTableSelect(_a) {
|
|
6603
6607
|
var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
|
|
6604
6608
|
const disc = useDisclosure11(false);
|
|
6605
6609
|
if (data == void 0) return "\u0110ang t\u1EA3i...";
|
|
6606
|
-
return /* @__PURE__ */
|
|
6607
|
-
/* @__PURE__ */
|
|
6610
|
+
return /* @__PURE__ */ jsxs30(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
|
|
6611
|
+
/* @__PURE__ */ jsx54(
|
|
6608
6612
|
MyDataTable,
|
|
6609
6613
|
__spreadValues({
|
|
6610
6614
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
6611
|
-
return /* @__PURE__ */
|
|
6615
|
+
return /* @__PURE__ */ jsxs30(Group14, { children: [
|
|
6612
6616
|
renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
|
|
6613
|
-
/* @__PURE__ */
|
|
6617
|
+
/* @__PURE__ */ jsx54(Button16, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
|
|
6614
6618
|
] });
|
|
6615
6619
|
},
|
|
6616
6620
|
columns,
|
|
6617
6621
|
data: listState[0],
|
|
6618
6622
|
renderRowActions: ({ row }) => {
|
|
6619
|
-
return /* @__PURE__ */
|
|
6623
|
+
return /* @__PURE__ */ jsx54(MyCenterFull, { children: /* @__PURE__ */ jsx54(ActionIcon11, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx54(IconX2, {}) }) });
|
|
6620
6624
|
}
|
|
6621
6625
|
}, rest)
|
|
6622
6626
|
),
|
|
6623
|
-
/* @__PURE__ */
|
|
6627
|
+
/* @__PURE__ */ jsx54(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx54(
|
|
6624
6628
|
MyDataTable,
|
|
6625
6629
|
__spreadValues({
|
|
6626
6630
|
renderTopToolbarCustomActions: ({ table }) => {
|
|
6627
|
-
return /* @__PURE__ */
|
|
6631
|
+
return /* @__PURE__ */ jsx54(Button16, { onClick: () => {
|
|
6628
6632
|
table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
|
|
6629
6633
|
disc[1].close();
|
|
6630
6634
|
}, children: "Ch\u1ECDn" });
|
|
@@ -6640,7 +6644,7 @@ function MyDataTableSelect(_a) {
|
|
|
6640
6644
|
// src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
|
|
6641
6645
|
import { Select as Select4 } from "@mantine/core";
|
|
6642
6646
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
6643
|
-
import { jsx as
|
|
6647
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
6644
6648
|
function MySelectAPIGet(_a) {
|
|
6645
6649
|
var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
|
|
6646
6650
|
var _a2;
|
|
@@ -6659,7 +6663,7 @@ function MySelectAPIGet(_a) {
|
|
|
6659
6663
|
label: `${item.code}-${item.name}`
|
|
6660
6664
|
};
|
|
6661
6665
|
});
|
|
6662
|
-
return /* @__PURE__ */
|
|
6666
|
+
return /* @__PURE__ */ jsx55(
|
|
6663
6667
|
Select4,
|
|
6664
6668
|
__spreadValues({
|
|
6665
6669
|
label,
|
|
@@ -6671,9 +6675,9 @@ function MySelectAPIGet(_a) {
|
|
|
6671
6675
|
|
|
6672
6676
|
// src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
|
|
6673
6677
|
import { Skeleton } from "@mantine/core";
|
|
6674
|
-
import { jsx as
|
|
6678
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
6675
6679
|
function MySkeletonTable({ h: h4 = 500 }) {
|
|
6676
|
-
return /* @__PURE__ */
|
|
6680
|
+
return /* @__PURE__ */ jsx56(Skeleton, { h: h4 });
|
|
6677
6681
|
}
|
|
6678
6682
|
|
|
6679
6683
|
export {
|
|
@@ -6709,6 +6713,7 @@ export {
|
|
|
6709
6713
|
MyButtonImport,
|
|
6710
6714
|
AQSelectTableByOpenModal,
|
|
6711
6715
|
MyButtonPrintPDF,
|
|
6716
|
+
MyHtmlWrapper,
|
|
6712
6717
|
MyButtonRouterBack,
|
|
6713
6718
|
baseAxios_default,
|
|
6714
6719
|
MyButtonViewPDF,
|
|
@@ -6734,7 +6739,6 @@ export {
|
|
|
6734
6739
|
OBJECT_COlORS,
|
|
6735
6740
|
useHeaderMegaMenuStore,
|
|
6736
6741
|
HeaderMegaMenu,
|
|
6737
|
-
MyHtmlWrapper,
|
|
6738
6742
|
MyPageContent,
|
|
6739
6743
|
MyTab,
|
|
6740
6744
|
MyDataTableSelect,
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
useHeaderMegaMenuStore,
|
|
61
61
|
useS_ButtonImport,
|
|
62
62
|
utils_layout_getItemsWithoutLinks
|
|
63
|
-
} from "../chunk-
|
|
63
|
+
} from "../chunk-BSS3LQUY.mjs";
|
|
64
64
|
import "../chunk-GL5OCTFE.mjs";
|
|
65
65
|
import "../chunk-CDDX46TC.mjs";
|
|
66
66
|
import "../chunk-FWCSY2DS.mjs";
|