aq-fe-framework 0.1.309 → 0.1.310
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-HHJFKKE7.mjs +26 -0
- package/dist/{chunk-NRFQDAYS.mjs → chunk-M6B6SXA3.mjs} +5 -5
- package/dist/chunk-MK2W26FZ.mjs +518 -0
- package/dist/{chunk-KKJ3OEEW.mjs → chunk-OPVLK7PA.mjs} +48 -5
- package/dist/{chunk-XUB2YHGX.mjs → chunk-RYZTACZ4.mjs} +164 -308
- package/dist/components/index.d.mts +7 -15
- package/dist/components/index.mjs +4 -7
- package/dist/core/index.d.mts +20 -8
- package/dist/core/index.mjs +20 -336
- package/dist/{createBaseApi-BAYnbGVT.d.mts → createBaseApi-BayOeFCy.d.mts} +12 -3
- package/dist/hooks/index.d.mts +20 -3
- package/dist/hooks/index.mjs +5 -1
- package/dist/interfaces/index.d.mts +6 -2
- package/dist/modules-features/index.d.mts +102 -35
- package/dist/modules-features/index.mjs +1459 -876
- package/dist/utils/index.mjs +1 -1
- package/package.json +1 -2
- package/dist/chunk-DRLKXVYU.mjs +0 -55
@@ -2,21 +2,17 @@ import {
|
|
2
2
|
utils_pdf_download
|
3
3
|
} from "./chunk-5U2JSHSJ.mjs";
|
4
4
|
import {
|
5
|
-
const_object_colors
|
6
|
-
} from "./chunk-NWBLJ3W3.mjs";
|
7
|
-
import {
|
8
|
-
CoreDayOfWeekPicker,
|
9
5
|
MyFlexColumn,
|
10
6
|
MyFlexRow
|
11
|
-
} from "./chunk-
|
7
|
+
} from "./chunk-HHJFKKE7.mjs";
|
12
8
|
import {
|
13
|
-
|
14
|
-
} from "./chunk-
|
9
|
+
const_object_colors
|
10
|
+
} from "./chunk-NWBLJ3W3.mjs";
|
15
11
|
import {
|
16
12
|
baseAxios_default,
|
17
13
|
useMyReactMutation,
|
18
14
|
useQ_AQ_GetAQModule
|
19
|
-
} from "./chunk-
|
15
|
+
} from "./chunk-OPVLK7PA.mjs";
|
20
16
|
import {
|
21
17
|
utils_notification_show
|
22
18
|
} from "./chunk-7ZCOFATU.mjs";
|
@@ -1471,8 +1467,8 @@ function SelectFieldModal({ stack, onImport }) {
|
|
1471
1467
|
}
|
1472
1468
|
|
1473
1469
|
// src/components/DataDisplay/DataTable/MyDataTable.tsx
|
1474
|
-
import { Alert, Button as Button6, Group as Group8, Portal } from "@mantine/core";
|
1475
|
-
import { IconBug, IconDownload as IconDownload3
|
1470
|
+
import { Alert, Button as Button6, Center as Center2, Group as Group8, Portal, Text as Text6 } from "@mantine/core";
|
1471
|
+
import { IconBug, IconDownload as IconDownload3 } from "@tabler/icons-react";
|
1476
1472
|
import { download, generateCsv, mkConfig } from "export-to-csv";
|
1477
1473
|
import {
|
1478
1474
|
MantineReactTable,
|
@@ -1508,7 +1504,8 @@ function MyDataTable(_a) {
|
|
1508
1504
|
renderTopToolbarCustomActions,
|
1509
1505
|
setSelectedRow,
|
1510
1506
|
isError,
|
1511
|
-
isLoading
|
1507
|
+
isLoading,
|
1508
|
+
pagination
|
1512
1509
|
} = _b, rest = __objRest(_b, [
|
1513
1510
|
"formats",
|
1514
1511
|
"exportAble",
|
@@ -1519,7 +1516,8 @@ function MyDataTable(_a) {
|
|
1519
1516
|
"renderTopToolbarCustomActions",
|
1520
1517
|
"setSelectedRow",
|
1521
1518
|
"isError",
|
1522
|
-
"isLoading"
|
1519
|
+
"isLoading",
|
1520
|
+
"pagination"
|
1523
1521
|
]);
|
1524
1522
|
const { renderRowActions } = __spreadValues({}, rest);
|
1525
1523
|
const csvConfig = mkConfig(__spreadValues({
|
@@ -1557,6 +1555,7 @@ function MyDataTable(_a) {
|
|
1557
1555
|
) })
|
1558
1556
|
] });
|
1559
1557
|
},
|
1558
|
+
manualPagination: true,
|
1560
1559
|
enableRowNumbers: true,
|
1561
1560
|
enableRowSelection: exportAble,
|
1562
1561
|
enableEditing: renderRowActions ? true : false,
|
@@ -1575,8 +1574,8 @@ function MyDataTable(_a) {
|
|
1575
1574
|
},
|
1576
1575
|
enableColumnPinning: true,
|
1577
1576
|
initialState: {
|
1577
|
+
// pagination: pagination ? pagination : { pageIndex: 0, pageSize: 10 },
|
1578
1578
|
density: "md",
|
1579
|
-
pagination: { pageIndex: 0, pageSize: 30 },
|
1580
1579
|
columnPinning: { right: ["mrt-row-actions"] },
|
1581
1580
|
columnVisibility: {
|
1582
1581
|
modifiedWhen: false,
|
@@ -1597,10 +1596,13 @@ function MyDataTable(_a) {
|
|
1597
1596
|
}
|
1598
1597
|
},
|
1599
1598
|
localization: MRT_Localization_VI,
|
1600
|
-
renderEmptyRowsFallback: () => isError ? /* @__PURE__ */ jsx25(Alert, { icon: /* @__PURE__ */ jsx25(IconBug, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" }) : /* @__PURE__ */
|
1601
|
-
|
1599
|
+
renderEmptyRowsFallback: () => isError ? /* @__PURE__ */ jsx25(Alert, { icon: /* @__PURE__ */ jsx25(IconBug, {}), color: "red", title: "C\xF3 l\u1ED7i x\u1EA3y ra!", m: "md" }) : /* @__PURE__ */ jsxs14(Center2, { p: "md", children: [
|
1600
|
+
" ",
|
1601
|
+
/* @__PURE__ */ jsx25(Text6, { c: "gray", fw: "600", size: "15px", fs: "italic", children: "Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u!" })
|
1602
|
+
] }),
|
1603
|
+
state: __spreadValues({
|
1602
1604
|
showSkeletons: isLoading
|
1603
|
-
},
|
1605
|
+
}, pagination ? { pagination } : {}),
|
1604
1606
|
mantineTableContainerProps: { style: { maxHeight: "65vh" } },
|
1605
1607
|
enableStickyHeader: true
|
1606
1608
|
}, rest));
|
@@ -1998,7 +2000,7 @@ import {
|
|
1998
2000
|
LoadingOverlay,
|
1999
2001
|
Modal as Modal10,
|
2000
2002
|
Paper as Paper3,
|
2001
|
-
Text as
|
2003
|
+
Text as Text7,
|
2002
2004
|
Tooltip as Tooltip4
|
2003
2005
|
} from "@mantine/core";
|
2004
2006
|
import { useDisclosure as useDisclosure10 } from "@mantine/hooks";
|
@@ -2058,7 +2060,7 @@ function MyButtonViewPDF({
|
|
2058
2060
|
onClose: disc[1].close,
|
2059
2061
|
size: modalSize,
|
2060
2062
|
title: /* @__PURE__ */ jsxs20(Group9, { children: [
|
2061
|
-
/* @__PURE__ */ jsx33(
|
2063
|
+
/* @__PURE__ */ jsx33(Text7, { children: "Xem t\xE0i li\u1EC7u tr\u1EF1c ti\u1EBFp" }),
|
2062
2064
|
fullScreen[0] ? /* @__PURE__ */ jsx33(
|
2063
2065
|
ActionIcon10,
|
2064
2066
|
{
|
@@ -6447,7 +6449,7 @@ var createViewMonthAgenda = () => createPreactView(config);
|
|
6447
6449
|
import { createEventModalPlugin } from "@schedule-x/event-modal";
|
6448
6450
|
import { createEventsServicePlugin } from "@schedule-x/events-service";
|
6449
6451
|
import { ScheduleXCalendar, useNextCalendarApp } from "@schedule-x/react";
|
6450
|
-
import { Paper as Paper4, Text as
|
6452
|
+
import { Paper as Paper4, Text as Text8 } from "@mantine/core";
|
6451
6453
|
import "@schedule-x/theme-default/dist/index.css";
|
6452
6454
|
import { useEffect as useEffect6 } from "react";
|
6453
6455
|
import { jsx as jsx34, jsxs as jsxs21 } from "react/jsx-runtime";
|
@@ -6528,12 +6530,12 @@ function MyCalendar() {
|
|
6528
6530
|
timeGridEvent: ({ calendarEvent }) => {
|
6529
6531
|
console.log(calendarEvent);
|
6530
6532
|
return /* @__PURE__ */ jsx34(Paper4, { h: "100%", bg: calendarEvent.laLichThi ? "violet.2" : "blue.2", p: 4, children: /* @__PURE__ */ jsxs21(MyFlexColumn, { gap: 1, children: [
|
6531
|
-
/* @__PURE__ */ jsxs21(
|
6533
|
+
/* @__PURE__ */ jsxs21(Text8, { size: "sm", fw: "bold", children: [
|
6532
6534
|
calendarEvent.laLichThi ? "(Thi) " : "(H\u1ECDc) ",
|
6533
6535
|
calendarEvent.title
|
6534
6536
|
] }),
|
6535
|
-
calendarEvent.laLichThi == false && /* @__PURE__ */ jsx34(
|
6536
|
-
/* @__PURE__ */ jsx34(
|
6537
|
+
calendarEvent.laLichThi == false && /* @__PURE__ */ jsx34(Text8, { size: "sm", children: calendarEvent.giangvien }),
|
6538
|
+
/* @__PURE__ */ jsx34(Text8, { size: "sm", children: calendarEvent.location })
|
6537
6539
|
] }) });
|
6538
6540
|
}
|
6539
6541
|
// eventModal: ({ calendarEvent }) => {
|
@@ -6547,10 +6549,10 @@ function MyCalendar() {
|
|
6547
6549
|
}
|
6548
6550
|
|
6549
6551
|
// src/components/CenterFull/MyCenterFull.tsx
|
6550
|
-
import { Center as
|
6552
|
+
import { Center as Center3, Group as Group10 } from "@mantine/core";
|
6551
6553
|
import { jsx as jsx35 } from "react/jsx-runtime";
|
6552
6554
|
function MyCenterFull({ children }) {
|
6553
|
-
return /* @__PURE__ */ jsx35(
|
6555
|
+
return /* @__PURE__ */ jsx35(Center3, { w: "100%", children: /* @__PURE__ */ jsx35(Group10, { children }) });
|
6554
6556
|
}
|
6555
6557
|
|
6556
6558
|
// src/components/Checkbox/MyCheckbox.tsx
|
@@ -6562,7 +6564,7 @@ function MyCheckbox(_a) {
|
|
6562
6564
|
}
|
6563
6565
|
|
6564
6566
|
// src/components/DataDisplay/Card/AQCard.tsx
|
6565
|
-
import { Badge as Badge2, Card, Center as
|
6567
|
+
import { Badge as Badge2, Card, Center as Center4, Image, Text as Text9 } from "@mantine/core";
|
6566
6568
|
import Link from "next/link";
|
6567
6569
|
import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
|
6568
6570
|
function AQCard({
|
@@ -6575,7 +6577,7 @@ function AQCard({
|
|
6575
6577
|
href = ""
|
6576
6578
|
}) {
|
6577
6579
|
return /* @__PURE__ */ jsxs22(Card, { shadow: "sm", padding: "lg", radius: "md", withBorder: true, component: Link, href, children: [
|
6578
|
-
/* @__PURE__ */ jsx37(Card.Section, { children: /* @__PURE__ */ jsx37(
|
6580
|
+
/* @__PURE__ */ jsx37(Card.Section, { children: /* @__PURE__ */ jsx37(Center4, { children: /* @__PURE__ */ jsx37(
|
6579
6581
|
Image,
|
6580
6582
|
{
|
6581
6583
|
src: imgSrc,
|
@@ -6586,16 +6588,16 @@ function AQCard({
|
|
6586
6588
|
}
|
6587
6589
|
) }) }),
|
6588
6590
|
/* @__PURE__ */ jsxs22(MyFlexRow, { justify: "space-between", mt: "md", mb: "xs", children: [
|
6589
|
-
/* @__PURE__ */ jsx37(
|
6591
|
+
/* @__PURE__ */ jsx37(Text9, { fw: 500, children: title }),
|
6590
6592
|
status && /* @__PURE__ */ jsx37(Badge2, { color: "violet.5", w: "150px", children: status })
|
6591
6593
|
] }),
|
6592
|
-
/* @__PURE__ */ jsx37(
|
6594
|
+
/* @__PURE__ */ jsx37(Text9, { size: "sm", c: "dimmed", lineClamp: 2, children: description }),
|
6593
6595
|
children
|
6594
6596
|
] });
|
6595
6597
|
}
|
6596
6598
|
|
6597
6599
|
// src/components/DataDisplay/CardInformation/MyCardInformation.tsx
|
6598
|
-
import { Box as Box2, Flex, Group as Group11, Paper as Paper5, Text as
|
6600
|
+
import { Box as Box2, Flex, Group as Group11, Paper as Paper5, Text as Text10 } from "@mantine/core";
|
6599
6601
|
import { IconArrowDownRight, IconArrowUpRight } from "@tabler/icons-react";
|
6600
6602
|
import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
|
6601
6603
|
function MyCardInformation({
|
@@ -6617,7 +6619,7 @@ function MyCardInformation({
|
|
6617
6619
|
/* @__PURE__ */ jsxs23(Group11, { justify: "space-between", children: [
|
6618
6620
|
/* @__PURE__ */ jsxs23(Flex, { direction: "column", children: [
|
6619
6621
|
/* @__PURE__ */ jsx38(
|
6620
|
-
|
6622
|
+
Text10,
|
6621
6623
|
{
|
6622
6624
|
tt: "uppercase",
|
6623
6625
|
size: "lg",
|
@@ -6625,10 +6627,10 @@ function MyCardInformation({
|
|
6625
6627
|
children: title
|
6626
6628
|
}
|
6627
6629
|
),
|
6628
|
-
unit == "" ? /* @__PURE__ */ jsxs23(
|
6630
|
+
unit == "" ? /* @__PURE__ */ jsxs23(Text10, { size: "xs", style: { visibility: "hidden" }, children: [
|
6629
6631
|
"\u0110\u01A1n v\u1ECB: ",
|
6630
6632
|
/* @__PURE__ */ jsx38("strong", { children: unit })
|
6631
|
-
] }) : /* @__PURE__ */ jsxs23(
|
6633
|
+
] }) : /* @__PURE__ */ jsxs23(Text10, { size: "xs", children: [
|
6632
6634
|
"\u0110\u01A1n v\u1ECB: ",
|
6633
6635
|
/* @__PURE__ */ jsx38("strong", { children: unit })
|
6634
6636
|
] })
|
@@ -6643,7 +6645,7 @@ function MyCardInformation({
|
|
6643
6645
|
gap: "xs",
|
6644
6646
|
children: [
|
6645
6647
|
/* @__PURE__ */ jsx38(
|
6646
|
-
|
6648
|
+
Text10,
|
6647
6649
|
{
|
6648
6650
|
fw: 700,
|
6649
6651
|
fz: "h1",
|
@@ -6651,7 +6653,7 @@ function MyCardInformation({
|
|
6651
6653
|
}
|
6652
6654
|
),
|
6653
6655
|
/* @__PURE__ */ jsxs23(
|
6654
|
-
|
6656
|
+
Text10,
|
6655
6657
|
{
|
6656
6658
|
mb: "2",
|
6657
6659
|
c: diff > 0 ? "teal" : "red",
|
@@ -6670,7 +6672,7 @@ function MyCardInformation({
|
|
6670
6672
|
}
|
6671
6673
|
),
|
6672
6674
|
/* @__PURE__ */ jsxs23(Group11, { justify: "space-between", children: [
|
6673
|
-
/* @__PURE__ */ jsx38(
|
6675
|
+
/* @__PURE__ */ jsx38(Text10, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
|
6674
6676
|
extraControl
|
6675
6677
|
] })
|
6676
6678
|
]
|
@@ -6680,25 +6682,25 @@ function MyCardInformation({
|
|
6680
6682
|
}
|
6681
6683
|
|
6682
6684
|
// src/components/DataDisplay/IconText/MyIconText.tsx
|
6683
|
-
import { Group as Group12, Text as
|
6685
|
+
import { Group as Group12, Text as Text11 } from "@mantine/core";
|
6684
6686
|
import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
|
6685
6687
|
function MyIconText({ icon: Icon, text }) {
|
6686
6688
|
return /* @__PURE__ */ jsxs24(Group12, { wrap: "nowrap", gap: 10, mt: 3, children: [
|
6687
6689
|
Icon && /* @__PURE__ */ jsx39(Icon, { stroke: 1.5, size: 16 }),
|
6688
|
-
/* @__PURE__ */ jsx39(
|
6690
|
+
/* @__PURE__ */ jsx39(Text11, { fz: "lg", c: "dimmed", children: text })
|
6689
6691
|
] });
|
6690
6692
|
}
|
6691
6693
|
|
6692
6694
|
// src/components/DataDisplay/KeyLabel/MyKeyLabel.tsx
|
6693
|
-
import { Group as Group13, Text as
|
6695
|
+
import { Group as Group13, Text as Text12 } from "@mantine/core";
|
6694
6696
|
import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
|
6695
6697
|
function MyKeyLabel({ keyLabel, label }) {
|
6696
6698
|
return /* @__PURE__ */ jsxs25(Group13, { gap: 5, children: [
|
6697
|
-
/* @__PURE__ */ jsxs25(
|
6699
|
+
/* @__PURE__ */ jsxs25(Text12, { fw: "bold", children: [
|
6698
6700
|
keyLabel,
|
6699
6701
|
":"
|
6700
6702
|
] }),
|
6701
|
-
/* @__PURE__ */ jsx40(
|
6703
|
+
/* @__PURE__ */ jsx40(Text12, { children: label })
|
6702
6704
|
] });
|
6703
6705
|
}
|
6704
6706
|
|
@@ -6711,7 +6713,7 @@ function MyNumberFormatter(_a) {
|
|
6711
6713
|
}
|
6712
6714
|
|
6713
6715
|
// src/components/DataDisplay/StatCard/AQStatCard1.tsx
|
6714
|
-
import { Box as Box3, Button as Button13, Flex as Flex2, Group as Group14, Paper as Paper6, Text as
|
6716
|
+
import { Box as Box3, Button as Button13, Flex as Flex2, Group as Group14, Paper as Paper6, Text as Text13 } from "@mantine/core";
|
6715
6717
|
import { IconArrowDownRight as IconArrowDownRight2, IconArrowUpRight as IconArrowUpRight2 } from "@tabler/icons-react";
|
6716
6718
|
import { Fragment as Fragment12, jsx as jsx42, jsxs as jsxs26 } from "react/jsx-runtime";
|
6717
6719
|
function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
@@ -6725,7 +6727,7 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
6725
6727
|
/* @__PURE__ */ jsxs26(Group14, { justify: "space-between", children: [
|
6726
6728
|
/* @__PURE__ */ jsxs26(Flex2, { direction: "column", children: [
|
6727
6729
|
/* @__PURE__ */ jsx42(
|
6728
|
-
|
6730
|
+
Text13,
|
6729
6731
|
{
|
6730
6732
|
tt: "uppercase",
|
6731
6733
|
size: "lg",
|
@@ -6733,10 +6735,10 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
6733
6735
|
children: title
|
6734
6736
|
}
|
6735
6737
|
),
|
6736
|
-
unit == "" ? /* @__PURE__ */ jsxs26(
|
6738
|
+
unit == "" ? /* @__PURE__ */ jsxs26(Text13, { size: "xs", style: { visibility: "hidden" }, children: [
|
6737
6739
|
"\u0110\u01A1n v\u1ECB: ",
|
6738
6740
|
/* @__PURE__ */ jsx42("strong", { children: unit })
|
6739
|
-
] }) : /* @__PURE__ */ jsxs26(
|
6741
|
+
] }) : /* @__PURE__ */ jsxs26(Text13, { size: "xs", children: [
|
6740
6742
|
"\u0110\u01A1n v\u1ECB: ",
|
6741
6743
|
/* @__PURE__ */ jsx42("strong", { children: unit })
|
6742
6744
|
] })
|
@@ -6751,7 +6753,7 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
6751
6753
|
gap: "xs",
|
6752
6754
|
children: [
|
6753
6755
|
/* @__PURE__ */ jsx42(
|
6754
|
-
|
6756
|
+
Text13,
|
6755
6757
|
{
|
6756
6758
|
fw: 700,
|
6757
6759
|
fz: "h1",
|
@@ -6759,7 +6761,7 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
6759
6761
|
}
|
6760
6762
|
),
|
6761
6763
|
/* @__PURE__ */ jsxs26(
|
6762
|
-
|
6764
|
+
Text13,
|
6763
6765
|
{
|
6764
6766
|
mb: "2",
|
6765
6767
|
c: diff > 0 ? "teal" : "red",
|
@@ -6778,7 +6780,7 @@ function AQStatCard1({ title, value, unit = "", description, icons, diff }) {
|
|
6778
6780
|
}
|
6779
6781
|
),
|
6780
6782
|
/* @__PURE__ */ jsxs26(Group14, { justify: "space-between", children: [
|
6781
|
-
/* @__PURE__ */ jsx42(
|
6783
|
+
/* @__PURE__ */ jsx42(Text13, { tt: "uppercase", fz: "xs", c: "dimmed", children: description }),
|
6782
6784
|
/* @__PURE__ */ jsx42(
|
6783
6785
|
Button13,
|
6784
6786
|
{
|
@@ -6880,7 +6882,7 @@ function MyDateInput(_a) {
|
|
6880
6882
|
import {
|
6881
6883
|
Fieldset as Fieldset4,
|
6882
6884
|
Group as Group15,
|
6883
|
-
Text as
|
6885
|
+
Text as Text14,
|
6884
6886
|
useMantineColorScheme as useMantineColorScheme2
|
6885
6887
|
} from "@mantine/core";
|
6886
6888
|
import { jsx as jsx44, jsxs as jsxs27 } from "react/jsx-runtime";
|
@@ -6915,7 +6917,7 @@ function MyFieldset(_a) {
|
|
6915
6917
|
return /* @__PURE__ */ jsx44(
|
6916
6918
|
Fieldset4,
|
6917
6919
|
__spreadProps(__spreadValues({
|
6918
|
-
legend: customLegend != null ? customLegend : /* @__PURE__ */ jsx44(Group15, { gap: "xs", children: /* @__PURE__ */ jsxs27(
|
6920
|
+
legend: customLegend != null ? customLegend : /* @__PURE__ */ jsx44(Group15, { gap: "xs", children: /* @__PURE__ */ jsxs27(Text14, { fw: 600, children: [
|
6919
6921
|
" ",
|
6920
6922
|
title,
|
6921
6923
|
" "
|
@@ -7144,153 +7146,8 @@ function MyTextEditor(_a) {
|
|
7144
7146
|
] })) }));
|
7145
7147
|
}
|
7146
7148
|
|
7147
|
-
// src/components/Inputs/WeeklySessionSchedulerPicker/MyWeeklySessionSchedulerPicker.tsx
|
7148
|
-
import {
|
7149
|
-
Button as Button14,
|
7150
|
-
Center as Center4,
|
7151
|
-
Divider as Divider2,
|
7152
|
-
Group as Group16,
|
7153
|
-
NumberInput as NumberInput3,
|
7154
|
-
Paper as Paper7,
|
7155
|
-
ScrollArea as ScrollArea3,
|
7156
|
-
Text as Text14
|
7157
|
-
} from "@mantine/core";
|
7158
|
-
import { IconPlus as IconPlus5, IconTrash as IconTrash5 } from "@tabler/icons-react";
|
7159
|
-
import { useState as useState10 } from "react";
|
7160
|
-
import { jsx as jsx49, jsxs as jsxs29 } from "react/jsx-runtime";
|
7161
|
-
function MyWeeklySessionSchedulerPicker({
|
7162
|
-
value = [],
|
7163
|
-
onChange
|
7164
|
-
}) {
|
7165
|
-
const [selectedDays, setSelectedDays] = useState10([]);
|
7166
|
-
const handleAddSession = (dayOfWeek) => {
|
7167
|
-
const newSession = {
|
7168
|
-
dayOfWeek,
|
7169
|
-
startPeriod: 1,
|
7170
|
-
numberOfPeriods: 1,
|
7171
|
-
durationMinutes: 90
|
7172
|
-
};
|
7173
|
-
onChange == null ? void 0 : onChange([...value, newSession]);
|
7174
|
-
};
|
7175
|
-
const handleRemove = (index) => {
|
7176
|
-
const newData = [...value];
|
7177
|
-
newData.splice(index, 1);
|
7178
|
-
onChange == null ? void 0 : onChange(newData);
|
7179
|
-
};
|
7180
|
-
const handleUpdate = (index, key, val) => {
|
7181
|
-
const newData = [...value];
|
7182
|
-
newData[index][key] = val;
|
7183
|
-
onChange == null ? void 0 : onChange(newData);
|
7184
|
-
};
|
7185
|
-
const grouped = value.reduce((acc, curr) => {
|
7186
|
-
acc[curr.dayOfWeek] = acc[curr.dayOfWeek] || [];
|
7187
|
-
acc[curr.dayOfWeek].push(curr);
|
7188
|
-
return acc;
|
7189
|
-
}, {});
|
7190
|
-
const getLabel = (day) => enum_daysOfWeek[day] || `Day ${day}`;
|
7191
|
-
return /* @__PURE__ */ jsx49(Paper7, { w: "100%", p: "md", children: /* @__PURE__ */ jsxs29(MyFlexColumn, { children: [
|
7192
|
-
/* @__PURE__ */ jsx49(Center4, { children: /* @__PURE__ */ jsx49(
|
7193
|
-
CoreDayOfWeekPicker,
|
7194
|
-
{
|
7195
|
-
value: selectedDays,
|
7196
|
-
onChange: (days) => {
|
7197
|
-
const sorted = [...days].sort((a5, b4) => a5 - b4);
|
7198
|
-
setSelectedDays(sorted);
|
7199
|
-
}
|
7200
|
-
}
|
7201
|
-
) }),
|
7202
|
-
/* @__PURE__ */ jsx49(Divider2, { my: "xs" }),
|
7203
|
-
/* @__PURE__ */ jsx49(Center4, { children: /* @__PURE__ */ jsx49(ScrollArea3.Autosize, { h: "40vh", children: /* @__PURE__ */ jsx49(MyFlexColumn, { w: { base: "100%", sm: "70%" }, children: selectedDays.map((dayOfWeek) => {
|
7204
|
-
var _a;
|
7205
|
-
return /* @__PURE__ */ jsxs29(
|
7206
|
-
Paper7,
|
7207
|
-
{
|
7208
|
-
w: "100%",
|
7209
|
-
p: "md",
|
7210
|
-
bg: const_object_colors.mantineBackgroundBlueLight,
|
7211
|
-
children: [
|
7212
|
-
/* @__PURE__ */ jsxs29(Group16, { gap: "apart", children: [
|
7213
|
-
/* @__PURE__ */ jsx49(Text14, { w: "70px", fw: 500, children: getLabel(dayOfWeek) }),
|
7214
|
-
/* @__PURE__ */ jsx49(
|
7215
|
-
Button14,
|
7216
|
-
{
|
7217
|
-
color: "teal.5",
|
7218
|
-
leftSection: /* @__PURE__ */ jsx49(IconPlus5, { size: 14 }),
|
7219
|
-
onClick: () => handleAddSession(dayOfWeek),
|
7220
|
-
children: "Th\xEAm bu\u1ED5i"
|
7221
|
-
}
|
7222
|
-
)
|
7223
|
-
] }),
|
7224
|
-
/* @__PURE__ */ jsx49(Divider2, { my: "sm" }),
|
7225
|
-
(_a = grouped[dayOfWeek]) == null ? void 0 : _a.map((item, indexInDay) => {
|
7226
|
-
const globalIndex = value.findIndex(
|
7227
|
-
(v5) => v5 === item
|
7228
|
-
);
|
7229
|
-
return /* @__PURE__ */ jsxs29(
|
7230
|
-
Group16,
|
7231
|
-
{
|
7232
|
-
mt: "xs",
|
7233
|
-
gap: "xs",
|
7234
|
-
align: "flex-end",
|
7235
|
-
children: [
|
7236
|
-
/* @__PURE__ */ jsx49(
|
7237
|
-
NumberInput3,
|
7238
|
-
{
|
7239
|
-
label: "Ti\u1EBFt b\u1EAFt \u0111\u1EA7u",
|
7240
|
-
value: item.startPeriod,
|
7241
|
-
onChange: (val) => handleUpdate(
|
7242
|
-
globalIndex,
|
7243
|
-
"startPeriod",
|
7244
|
-
val
|
7245
|
-
)
|
7246
|
-
}
|
7247
|
-
),
|
7248
|
-
/* @__PURE__ */ jsx49(
|
7249
|
-
NumberInput3,
|
7250
|
-
{
|
7251
|
-
label: "S\u1ED1 ti\u1EBFt",
|
7252
|
-
value: item.numberOfPeriods,
|
7253
|
-
onChange: (val) => handleUpdate(
|
7254
|
-
globalIndex,
|
7255
|
-
"numberOfPeriods",
|
7256
|
-
val
|
7257
|
-
)
|
7258
|
-
}
|
7259
|
-
),
|
7260
|
-
/* @__PURE__ */ jsx49(
|
7261
|
-
NumberInput3,
|
7262
|
-
{
|
7263
|
-
label: "S\u1ED1 ph\xFAt ",
|
7264
|
-
readOnly: true,
|
7265
|
-
variant: "filled",
|
7266
|
-
value: item.durationMinutes
|
7267
|
-
}
|
7268
|
-
),
|
7269
|
-
/* @__PURE__ */ jsx49(
|
7270
|
-
Button14,
|
7271
|
-
{
|
7272
|
-
variant: "light",
|
7273
|
-
color: "red",
|
7274
|
-
onClick: () => handleRemove(globalIndex),
|
7275
|
-
leftSection: /* @__PURE__ */ jsx49(IconTrash5, { size: 14 }),
|
7276
|
-
children: "X\xF3a bu\u1ED5i"
|
7277
|
-
}
|
7278
|
-
)
|
7279
|
-
]
|
7280
|
-
},
|
7281
|
-
globalIndex
|
7282
|
-
);
|
7283
|
-
})
|
7284
|
-
]
|
7285
|
-
},
|
7286
|
-
dayOfWeek
|
7287
|
-
);
|
7288
|
-
}) }) }) })
|
7289
|
-
] }) });
|
7290
|
-
}
|
7291
|
-
|
7292
7149
|
// src/modules-features/authenticate/F_authenticate_Logout.tsx
|
7293
|
-
import { Button as
|
7150
|
+
import { Button as Button14 } from "@mantine/core";
|
7294
7151
|
import { IconLogout } from "@tabler/icons-react";
|
7295
7152
|
import { useRouter as useRouter3 } from "next/navigation";
|
7296
7153
|
|
@@ -7305,14 +7162,14 @@ function useS_authenticate() {
|
|
7305
7162
|
}
|
7306
7163
|
|
7307
7164
|
// src/modules-features/authenticate/F_authenticate_Logout.tsx
|
7308
|
-
import { jsx as
|
7165
|
+
import { jsx as jsx49 } from "react/jsx-runtime";
|
7309
7166
|
function F_authenticate_Logout({ redirectURL = "/auth/login" }) {
|
7310
7167
|
const router = useRouter3();
|
7311
7168
|
const S_Authenticate = useS_authenticate();
|
7312
|
-
return /* @__PURE__ */
|
7169
|
+
return /* @__PURE__ */ jsx49(Button14, { onClick: () => {
|
7313
7170
|
S_Authenticate.setProperty("token", "");
|
7314
7171
|
router.replace(redirectURL);
|
7315
|
-
}, leftSection: /* @__PURE__ */
|
7172
|
+
}, leftSection: /* @__PURE__ */ jsx49(IconLogout, {}), fullWidth: true, justify: "start", variant: "subtle", children: "\u0110\u0103ng xu\u1EA5t" });
|
7316
7173
|
}
|
7317
7174
|
|
7318
7175
|
// src/components/Layouts/BasicAppShell/BasicAppShell.tsx
|
@@ -7320,11 +7177,11 @@ import {
|
|
7320
7177
|
ActionIcon as ActionIcon11,
|
7321
7178
|
AppShell,
|
7322
7179
|
Badge as Badge3,
|
7323
|
-
Divider as
|
7324
|
-
Group as
|
7180
|
+
Divider as Divider2,
|
7181
|
+
Group as Group16,
|
7325
7182
|
Image as Image3,
|
7326
7183
|
NavLink,
|
7327
|
-
ScrollArea as
|
7184
|
+
ScrollArea as ScrollArea3,
|
7328
7185
|
Text as Text15,
|
7329
7186
|
Tooltip as Tooltip5
|
7330
7187
|
} from "@mantine/core";
|
@@ -7336,8 +7193,8 @@ import {
|
|
7336
7193
|
} from "@tabler/icons-react";
|
7337
7194
|
import Link3 from "next/link";
|
7338
7195
|
import { usePathname as usePathname2 } from "next/navigation";
|
7339
|
-
import { useEffect as useEffect9, useMemo as useMemo3, useState as
|
7340
|
-
import { Fragment as Fragment13, jsx as
|
7196
|
+
import { useEffect as useEffect9, useMemo as useMemo3, useState as useState10 } from "react";
|
7197
|
+
import { Fragment as Fragment13, jsx as jsx50, jsxs as jsxs29 } from "react/jsx-runtime";
|
7341
7198
|
function findBreadcrumbPath(items, currentPath, parents = []) {
|
7342
7199
|
for (const item of items) {
|
7343
7200
|
if (item.link === currentPath) {
|
@@ -7352,13 +7209,13 @@ function findBreadcrumbPath(items, currentPath, parents = []) {
|
|
7352
7209
|
}
|
7353
7210
|
function getRightSection(status) {
|
7354
7211
|
if (status === "Prototype")
|
7355
|
-
return /* @__PURE__ */
|
7212
|
+
return /* @__PURE__ */ jsx50(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "pink", circle: true, children: "P" });
|
7356
7213
|
if (status === "New")
|
7357
|
-
return /* @__PURE__ */
|
7214
|
+
return /* @__PURE__ */ jsx50(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", circle: true, children: "N" });
|
7358
7215
|
if (status === "Menu")
|
7359
|
-
return /* @__PURE__ */
|
7216
|
+
return /* @__PURE__ */ jsx50(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "gray", circle: true, children: "M" });
|
7360
7217
|
if (status === "Change")
|
7361
|
-
return /* @__PURE__ */
|
7218
|
+
return /* @__PURE__ */ jsx50(Badge3, { styles: { root: { cursor: "pointer" } }, radius: "xs", color: "green", circle: true, children: "C" });
|
7362
7219
|
return null;
|
7363
7220
|
}
|
7364
7221
|
function RenderNavLinks({
|
@@ -7368,14 +7225,14 @@ function RenderNavLinks({
|
|
7368
7225
|
const pathName = usePathname2();
|
7369
7226
|
const index = pathName.split("/", 2).join("/").length;
|
7370
7227
|
const extractPathName = pathName.slice(index).replace("/", "");
|
7371
|
-
return /* @__PURE__ */
|
7228
|
+
return /* @__PURE__ */ jsx50(Fragment13, { children: items.map((item, index2) => /* @__PURE__ */ jsx50(
|
7372
7229
|
NavLink,
|
7373
7230
|
{
|
7374
7231
|
active: extractPathName === item.link,
|
7375
7232
|
component: Link3,
|
7376
7233
|
opened: basicAppShellStore.state.groupMenuOpenId.includes(item.label),
|
7377
7234
|
href: `/${pathName.split("/")[1]}/${item.link}` || "#",
|
7378
|
-
label: /* @__PURE__ */
|
7235
|
+
label: /* @__PURE__ */ jsxs29(MyFlexRow, { justify: "space-between", children: [
|
7379
7236
|
item.label,
|
7380
7237
|
" ",
|
7381
7238
|
getRightSection(item.status)
|
@@ -7387,7 +7244,7 @@ function RenderNavLinks({
|
|
7387
7244
|
return;
|
7388
7245
|
}
|
7389
7246
|
},
|
7390
|
-
children: item.links && /* @__PURE__ */
|
7247
|
+
children: item.links && /* @__PURE__ */ jsx50(RenderNavLinks, { items: item.links })
|
7391
7248
|
},
|
7392
7249
|
index2
|
7393
7250
|
)) });
|
@@ -7457,7 +7314,7 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
|
|
7457
7314
|
const media = useMediaQuery("(min-width: 72em)");
|
7458
7315
|
const GetAQModule_query = useQ_AQ_GetAQModule();
|
7459
7316
|
const BasicAppShell_store = useS_BasicAppShell();
|
7460
|
-
const [faviconUrl, setFaviconUrl] =
|
7317
|
+
const [faviconUrl, setFaviconUrl] = useState10("");
|
7461
7318
|
const allChildItems = useMemo3(() => {
|
7462
7319
|
const result = [];
|
7463
7320
|
const extractChildren = (items) => {
|
@@ -7510,7 +7367,7 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
|
|
7510
7367
|
basicAppShellStore.setProperty("note", linkItem == null ? void 0 : linkItem.note);
|
7511
7368
|
basicAppShellStore.setProperty("status", linkItem == null ? void 0 : linkItem.status);
|
7512
7369
|
}, [pathName]);
|
7513
|
-
return /* @__PURE__ */
|
7370
|
+
return /* @__PURE__ */ jsxs29(
|
7514
7371
|
AppShell,
|
7515
7372
|
{
|
7516
7373
|
header: { height: 60 },
|
@@ -7524,80 +7381,80 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
|
|
7524
7381
|
},
|
7525
7382
|
padding: "md",
|
7526
7383
|
children: [
|
7527
|
-
/* @__PURE__ */
|
7528
|
-
/* @__PURE__ */
|
7529
|
-
/* @__PURE__ */
|
7384
|
+
/* @__PURE__ */ jsx50(AppShell.Header, { children: media ? /* @__PURE__ */ jsxs29(Group16, { h: "100%", px: "md", justify: "space-between", align: "center", children: [
|
7385
|
+
/* @__PURE__ */ jsxs29(Group16, { h: "100%", children: [
|
7386
|
+
/* @__PURE__ */ jsx50(
|
7530
7387
|
Tooltip5,
|
7531
7388
|
{
|
7532
7389
|
label: basicAppShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu",
|
7533
|
-
children: /* @__PURE__ */
|
7390
|
+
children: /* @__PURE__ */ jsx50(
|
7534
7391
|
ActionIcon11,
|
7535
7392
|
{
|
7536
7393
|
size: "lg",
|
7537
7394
|
radius: "md",
|
7538
7395
|
variant: "default",
|
7539
7396
|
onClick: basicAppShellStore.toggle,
|
7540
|
-
children: basicAppShellStore.state.opened ? /* @__PURE__ */
|
7397
|
+
children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx50(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx50(IconLayoutSidebarLeftCollapse, {})
|
7541
7398
|
}
|
7542
7399
|
)
|
7543
7400
|
}
|
7544
7401
|
),
|
7545
|
-
/* @__PURE__ */
|
7402
|
+
/* @__PURE__ */ jsx50(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx50(
|
7546
7403
|
ActionIcon11,
|
7547
7404
|
{
|
7548
7405
|
size: "lg",
|
7549
7406
|
radius: "md",
|
7550
7407
|
variant: "default",
|
7551
7408
|
onClick: () => basicAppShellStore.clearGroupMenuOpenId(),
|
7552
|
-
children: /* @__PURE__ */
|
7409
|
+
children: /* @__PURE__ */ jsx50(IconLibraryMinus, {})
|
7553
7410
|
}
|
7554
7411
|
) })
|
7555
7412
|
] }),
|
7556
|
-
/* @__PURE__ */
|
7557
|
-
|
7413
|
+
/* @__PURE__ */ jsx50(
|
7414
|
+
Group16,
|
7558
7415
|
{
|
7559
7416
|
style: {
|
7560
7417
|
position: "absolute",
|
7561
7418
|
left: "50%",
|
7562
7419
|
transform: "translateX(-50%)"
|
7563
7420
|
},
|
7564
|
-
children: /* @__PURE__ */
|
7421
|
+
children: /* @__PURE__ */ jsx50(Text15, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` })
|
7565
7422
|
}
|
7566
7423
|
),
|
7567
|
-
/* @__PURE__ */
|
7424
|
+
/* @__PURE__ */ jsxs29(Group16, { children: [
|
7568
7425
|
extraTopRight,
|
7569
|
-
/* @__PURE__ */
|
7426
|
+
/* @__PURE__ */ jsx50(MySwitchTheme, {})
|
7570
7427
|
] })
|
7571
7428
|
] }) : (
|
7572
7429
|
// For mobile screens - simplified layout
|
7573
|
-
/* @__PURE__ */
|
7574
|
-
/* @__PURE__ */
|
7430
|
+
/* @__PURE__ */ jsxs29(Group16, { h: "100%", px: "md", justify: "space-between", children: [
|
7431
|
+
/* @__PURE__ */ jsx50(
|
7575
7432
|
ActionIcon11,
|
7576
7433
|
{
|
7577
7434
|
size: "lg",
|
7578
7435
|
radius: "md",
|
7579
7436
|
variant: "default",
|
7580
7437
|
onClick: basicAppShellStore.toggle,
|
7581
|
-
children: basicAppShellStore.state.opened ? /* @__PURE__ */
|
7438
|
+
children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx50(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx50(IconLayoutSidebarLeftCollapse, {})
|
7582
7439
|
}
|
7583
7440
|
),
|
7584
|
-
/* @__PURE__ */
|
7585
|
-
/* @__PURE__ */
|
7441
|
+
/* @__PURE__ */ jsx50(Text15, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` }),
|
7442
|
+
/* @__PURE__ */ jsxs29(Group16, { children: [
|
7586
7443
|
extraTopRight,
|
7587
|
-
/* @__PURE__ */
|
7444
|
+
/* @__PURE__ */ jsx50(MySwitchTheme, {})
|
7588
7445
|
] })
|
7589
7446
|
] })
|
7590
7447
|
) }),
|
7591
|
-
/* @__PURE__ */
|
7592
|
-
/* @__PURE__ */
|
7593
|
-
/* @__PURE__ */
|
7594
|
-
/* @__PURE__ */
|
7595
|
-
/* @__PURE__ */
|
7596
|
-
/* @__PURE__ */
|
7448
|
+
/* @__PURE__ */ jsxs29(AppShell.Navbar, { children: [
|
7449
|
+
/* @__PURE__ */ jsx50(MyAppSpotlight, { menu }),
|
7450
|
+
/* @__PURE__ */ jsxs29(AppShell.Section, { grow: true, component: ScrollArea3, p: 5, children: [
|
7451
|
+
/* @__PURE__ */ jsx50(RenderNavLinks, { items: menu }),
|
7452
|
+
/* @__PURE__ */ jsx50(Divider2, {}),
|
7453
|
+
/* @__PURE__ */ jsx50(F_authenticate_Logout, {})
|
7597
7454
|
] }),
|
7598
|
-
/* @__PURE__ */
|
7599
|
-
/* @__PURE__ */
|
7600
|
-
/* @__PURE__ */
|
7455
|
+
/* @__PURE__ */ jsxs29(AppShell.Section, { p: "md", children: [
|
7456
|
+
/* @__PURE__ */ jsx50(Divider2, {}),
|
7457
|
+
/* @__PURE__ */ jsx50(
|
7601
7458
|
Image3,
|
7602
7459
|
{
|
7603
7460
|
fit: "contain",
|
@@ -7611,7 +7468,7 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
|
|
7611
7468
|
)
|
7612
7469
|
] })
|
7613
7470
|
] }),
|
7614
|
-
/* @__PURE__ */
|
7471
|
+
/* @__PURE__ */ jsx50(
|
7615
7472
|
AppShell.Main,
|
7616
7473
|
{
|
7617
7474
|
bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))",
|
@@ -7666,23 +7523,23 @@ function utils_layout_getItemsWithoutLinks(menu) {
|
|
7666
7523
|
|
7667
7524
|
// src/components/Layouts/Container/MyContainer.tsx
|
7668
7525
|
import { Container, Flex as Flex3 } from "@mantine/core";
|
7669
|
-
import { jsx as
|
7526
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
7670
7527
|
function MyContainer(_a) {
|
7671
7528
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
7672
|
-
return /* @__PURE__ */
|
7529
|
+
return /* @__PURE__ */ jsx51(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx51(Flex3, { direction: "column", children }) }));
|
7673
7530
|
}
|
7674
7531
|
|
7675
7532
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
7676
7533
|
import {
|
7677
7534
|
Box as Box4,
|
7678
7535
|
Burger,
|
7679
|
-
Button as
|
7536
|
+
Button as Button15,
|
7680
7537
|
Container as Container2,
|
7681
|
-
Divider as
|
7538
|
+
Divider as Divider3,
|
7682
7539
|
Drawer,
|
7683
|
-
Group as
|
7540
|
+
Group as Group17,
|
7684
7541
|
Image as Image4,
|
7685
|
-
ScrollArea as
|
7542
|
+
ScrollArea as ScrollArea4,
|
7686
7543
|
Text as Text16,
|
7687
7544
|
TextInput as TextInput3,
|
7688
7545
|
ThemeIcon,
|
@@ -7715,7 +7572,7 @@ function useHeaderMegaMenuStore() {
|
|
7715
7572
|
}
|
7716
7573
|
|
7717
7574
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
7718
|
-
import { jsx as
|
7575
|
+
import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
|
7719
7576
|
var mockdata = [
|
7720
7577
|
{
|
7721
7578
|
icon: IconCode,
|
@@ -7753,27 +7610,27 @@ function HeaderMegaMenu({ children, menus }) {
|
|
7753
7610
|
const [linksOpened, { toggle: toggleLinks }] = useDisclosure11(false);
|
7754
7611
|
const HeaderMegaMenuStore = useHeaderMegaMenuStore();
|
7755
7612
|
const theme = useMantineTheme();
|
7756
|
-
const links = mockdata.map((item) => /* @__PURE__ */
|
7757
|
-
/* @__PURE__ */
|
7758
|
-
/* @__PURE__ */
|
7759
|
-
/* @__PURE__ */
|
7760
|
-
/* @__PURE__ */
|
7613
|
+
const links = mockdata.map((item) => /* @__PURE__ */ jsx52(UnstyledButton, { className: css_default.subLink, children: /* @__PURE__ */ jsxs30(Group17, { wrap: "nowrap", align: "flex-start", children: [
|
7614
|
+
/* @__PURE__ */ jsx52(ThemeIcon, { size: 34, variant: "default", radius: "md", children: /* @__PURE__ */ jsx52(item.icon, { size: 22, color: theme.colors.blue[6] }) }),
|
7615
|
+
/* @__PURE__ */ jsxs30("div", { children: [
|
7616
|
+
/* @__PURE__ */ jsx52(Text16, { size: "sm", fw: 500, children: item.title }),
|
7617
|
+
/* @__PURE__ */ jsx52(Text16, { size: "xs", c: "dimmed", children: item.description })
|
7761
7618
|
] })
|
7762
7619
|
] }) }, item.title));
|
7763
|
-
return /* @__PURE__ */
|
7764
|
-
/* @__PURE__ */
|
7765
|
-
/* @__PURE__ */
|
7766
|
-
/* @__PURE__ */
|
7767
|
-
/* @__PURE__ */
|
7620
|
+
return /* @__PURE__ */ jsxs30(Box4, { children: [
|
7621
|
+
/* @__PURE__ */ jsx52("header", { className: css_default.header, children: /* @__PURE__ */ jsxs30(Group17, { justify: "space-between", h: "100%", children: [
|
7622
|
+
/* @__PURE__ */ jsxs30(Group17, { children: [
|
7623
|
+
/* @__PURE__ */ jsx52(Image4, { src: "/imgs/0/IMG0LogoAQTech.png", h: 30, alt: "", w: "auto" }),
|
7624
|
+
/* @__PURE__ */ jsx52(Group17, { h: "100%", gap: 5, visibleFrom: "sm", children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx52(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) })
|
7768
7625
|
] }),
|
7769
|
-
/* @__PURE__ */
|
7770
|
-
/* @__PURE__ */
|
7771
|
-
/* @__PURE__ */
|
7626
|
+
/* @__PURE__ */ jsxs30(Group17, { children: [
|
7627
|
+
/* @__PURE__ */ jsx52(TextInput3, { placeholder: "T\xECm ki\u1EBFm", leftSection: /* @__PURE__ */ jsx52(IconSearch2, {}), radius: "xl", w: "250px" }),
|
7628
|
+
/* @__PURE__ */ jsx52(MySwitchTheme, {})
|
7772
7629
|
] }),
|
7773
|
-
/* @__PURE__ */
|
7630
|
+
/* @__PURE__ */ jsx52(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
|
7774
7631
|
] }) }),
|
7775
|
-
/* @__PURE__ */
|
7776
|
-
/* @__PURE__ */
|
7632
|
+
/* @__PURE__ */ jsx52(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
|
7633
|
+
/* @__PURE__ */ jsx52(
|
7777
7634
|
Drawer,
|
7778
7635
|
{
|
7779
7636
|
opened: drawerOpened,
|
@@ -7783,10 +7640,10 @@ function HeaderMegaMenu({ children, menus }) {
|
|
7783
7640
|
title: "Navigation",
|
7784
7641
|
hiddenFrom: "sm",
|
7785
7642
|
zIndex: 1e6,
|
7786
|
-
children: /* @__PURE__ */
|
7787
|
-
/* @__PURE__ */
|
7788
|
-
/* @__PURE__ */
|
7789
|
-
/* @__PURE__ */
|
7643
|
+
children: /* @__PURE__ */ jsxs30(ScrollArea4, { h: "calc(100vh - 80px", mx: "-md", children: [
|
7644
|
+
/* @__PURE__ */ jsx52(Divider3, { my: "sm" }),
|
7645
|
+
/* @__PURE__ */ jsx52(MyFlexColumn, { h: "100%", gap: 0, children: menus == null ? void 0 : menus.map((item, idx) => /* @__PURE__ */ jsx52(Button15, { component: Link4, href: item.href, variant: HeaderMegaMenuStore.state.name == item.label ? "light" : "subtle", onClick: () => HeaderMegaMenuStore.setState({ name: item.label }), children: item.label }, idx)) }),
|
7646
|
+
/* @__PURE__ */ jsx52(Divider3, { my: "sm" })
|
7790
7647
|
] })
|
7791
7648
|
}
|
7792
7649
|
)
|
@@ -7794,8 +7651,8 @@ function HeaderMegaMenu({ children, menus }) {
|
|
7794
7651
|
}
|
7795
7652
|
|
7796
7653
|
// src/components/Layouts/PageContent/MyPageContent.tsx
|
7797
|
-
import { Badge as Badge4, Breadcrumbs, Code, Container as Container3, Divider as
|
7798
|
-
import { jsx as
|
7654
|
+
import { Badge as Badge4, Breadcrumbs, Code, Container as Container3, Divider as Divider4, Group as Group18, Text as Text17, Title } from "@mantine/core";
|
7655
|
+
import { jsx as jsx53, jsxs as jsxs31 } from "react/jsx-runtime";
|
7799
7656
|
var getStatusColor = (status) => {
|
7800
7657
|
switch (status) {
|
7801
7658
|
case "Prototype":
|
@@ -7806,10 +7663,10 @@ var getStatusColor = (status) => {
|
|
7806
7663
|
};
|
7807
7664
|
function PageTitle({ title, status, note }) {
|
7808
7665
|
const color = getStatusColor(status);
|
7809
|
-
return /* @__PURE__ */
|
7810
|
-
/* @__PURE__ */
|
7811
|
-
/* @__PURE__ */
|
7812
|
-
status && /* @__PURE__ */
|
7666
|
+
return /* @__PURE__ */ jsx53(Group18, { children: /* @__PURE__ */ jsxs31(MyFlexColumn, { gap: 0, children: [
|
7667
|
+
/* @__PURE__ */ jsxs31(Group18, { align: "center", children: [
|
7668
|
+
/* @__PURE__ */ jsx53(Title, { order: 3, children: title }),
|
7669
|
+
status && /* @__PURE__ */ jsx53(
|
7813
7670
|
Badge4,
|
7814
7671
|
{
|
7815
7672
|
variant: "gradient",
|
@@ -7820,7 +7677,7 @@ function PageTitle({ title, status, note }) {
|
|
7820
7677
|
}
|
7821
7678
|
)
|
7822
7679
|
] }),
|
7823
|
-
/* @__PURE__ */
|
7680
|
+
/* @__PURE__ */ jsx53(Text17, { size: "lg", c: "dimmed", fs: "italic", children: note })
|
7824
7681
|
] }) });
|
7825
7682
|
}
|
7826
7683
|
function MyPageContent({
|
@@ -7833,11 +7690,11 @@ function MyPageContent({
|
|
7833
7690
|
var _a;
|
7834
7691
|
const basicAppShellStore = useS_BasicAppShell();
|
7835
7692
|
const finalTitle = title || basicAppShellStore.state.title;
|
7836
|
-
return /* @__PURE__ */
|
7837
|
-
/* @__PURE__ */
|
7838
|
-
/* @__PURE__ */
|
7839
|
-
/* @__PURE__ */
|
7840
|
-
/* @__PURE__ */
|
7693
|
+
return /* @__PURE__ */ jsxs31(Container3, { p: 0, fluid: true, children: [
|
7694
|
+
/* @__PURE__ */ jsxs31(Group18, { justify: "space-between", children: [
|
7695
|
+
/* @__PURE__ */ jsxs31(Group18, { children: [
|
7696
|
+
/* @__PURE__ */ jsx53(MyButtonRouterBack, {}),
|
7697
|
+
/* @__PURE__ */ jsx53(
|
7841
7698
|
PageTitle,
|
7842
7699
|
{
|
7843
7700
|
title: finalTitle,
|
@@ -7847,64 +7704,64 @@ function MyPageContent({
|
|
7847
7704
|
),
|
7848
7705
|
leftTopBar
|
7849
7706
|
] }),
|
7850
|
-
/* @__PURE__ */
|
7707
|
+
/* @__PURE__ */ jsxs31(Group18, { p: "md", children: [
|
7851
7708
|
rightTopBar,
|
7852
|
-
/* @__PURE__ */
|
7709
|
+
/* @__PURE__ */ jsx53(Breadcrumbs, { separatorMargin: "7", children: (_a = basicAppShellStore.state.breadcrumb) == null ? void 0 : _a.map((item, idx) => /* @__PURE__ */ jsx53(Text17, { fw: "600", c: "blue", children: item }, idx)) })
|
7853
7710
|
] })
|
7854
7711
|
] }),
|
7855
|
-
/* @__PURE__ */
|
7712
|
+
/* @__PURE__ */ jsx53(Divider4, { my: "xs" }),
|
7856
7713
|
children,
|
7857
|
-
/* @__PURE__ */
|
7858
|
-
/* @__PURE__ */
|
7714
|
+
/* @__PURE__ */ jsx53(Divider4, { my: "xs" }),
|
7715
|
+
/* @__PURE__ */ jsx53(MyFlexEnd, { children: /* @__PURE__ */ jsx53(Code, { color: "var(--mantine-color-blue-light)", children: basicAppShellStore.state.menuCode }) })
|
7859
7716
|
] });
|
7860
7717
|
}
|
7861
7718
|
|
7862
7719
|
// src/components/Layouts/Tab/MyTab.tsx
|
7863
7720
|
import { rem, Space as Space3, Tabs } from "@mantine/core";
|
7864
|
-
import { jsx as
|
7721
|
+
import { jsx as jsx54, jsxs as jsxs32 } from "react/jsx-runtime";
|
7865
7722
|
function MyTab(_a) {
|
7866
7723
|
var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
|
7867
7724
|
const iconStyle = { width: rem(20), height: rem(20) };
|
7868
|
-
return /* @__PURE__ */
|
7869
|
-
/* @__PURE__ */
|
7870
|
-
return /* @__PURE__ */
|
7725
|
+
return /* @__PURE__ */ jsxs32(Tabs, __spreadProps(__spreadValues({ defaultValue: tabList[0].label }, rest), { children: [
|
7726
|
+
/* @__PURE__ */ jsx54(Tabs.List, { children: tabList.map((item, idx) => {
|
7727
|
+
return /* @__PURE__ */ jsx54(Tabs.Tab, { value: item.label, leftSection: item.icon && /* @__PURE__ */ jsx54(item.icon, { style: iconStyle }), children: item.label }, idx);
|
7871
7728
|
}) }),
|
7872
|
-
/* @__PURE__ */
|
7729
|
+
/* @__PURE__ */ jsx54(Space3, { my: "md" }),
|
7873
7730
|
children
|
7874
7731
|
] }));
|
7875
7732
|
}
|
7876
7733
|
|
7877
7734
|
// src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
|
7878
|
-
import { ActionIcon as ActionIcon12, Button as
|
7735
|
+
import { ActionIcon as ActionIcon12, Button as Button16, Fieldset as Fieldset5, Group as Group19, Modal as Modal11 } from "@mantine/core";
|
7879
7736
|
import { useDisclosure as useDisclosure12 } from "@mantine/hooks";
|
7880
7737
|
import { IconX as IconX2 } from "@tabler/icons-react";
|
7881
|
-
import { jsx as
|
7738
|
+
import { jsx as jsx55, jsxs as jsxs33 } from "react/jsx-runtime";
|
7882
7739
|
function MyDataTableSelect(_a) {
|
7883
7740
|
var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
|
7884
7741
|
const disc = useDisclosure12(false);
|
7885
7742
|
if (data == void 0) return "\u0110ang t\u1EA3i...";
|
7886
|
-
return /* @__PURE__ */
|
7887
|
-
/* @__PURE__ */
|
7743
|
+
return /* @__PURE__ */ jsxs33(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
|
7744
|
+
/* @__PURE__ */ jsx55(
|
7888
7745
|
MyDataTable,
|
7889
7746
|
__spreadValues({
|
7890
7747
|
renderTopToolbarCustomActions: ({ table }) => {
|
7891
|
-
return /* @__PURE__ */
|
7748
|
+
return /* @__PURE__ */ jsxs33(Group19, { children: [
|
7892
7749
|
renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
|
7893
|
-
/* @__PURE__ */
|
7750
|
+
/* @__PURE__ */ jsx55(Button16, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
|
7894
7751
|
] });
|
7895
7752
|
},
|
7896
7753
|
columns,
|
7897
7754
|
data: listState[0],
|
7898
7755
|
renderRowActions: ({ row }) => {
|
7899
|
-
return /* @__PURE__ */
|
7756
|
+
return /* @__PURE__ */ jsx55(MyCenterFull, { children: /* @__PURE__ */ jsx55(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx55(IconX2, {}) }) });
|
7900
7757
|
}
|
7901
7758
|
}, rest)
|
7902
7759
|
),
|
7903
|
-
/* @__PURE__ */
|
7760
|
+
/* @__PURE__ */ jsx55(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx55(
|
7904
7761
|
MyDataTable,
|
7905
7762
|
__spreadValues({
|
7906
7763
|
renderTopToolbarCustomActions: ({ table }) => {
|
7907
|
-
return /* @__PURE__ */
|
7764
|
+
return /* @__PURE__ */ jsx55(Button16, { onClick: () => {
|
7908
7765
|
table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
|
7909
7766
|
disc[1].close();
|
7910
7767
|
}, children: "Ch\u1ECDn" });
|
@@ -7920,7 +7777,7 @@ function MyDataTableSelect(_a) {
|
|
7920
7777
|
// src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
|
7921
7778
|
import { Select as Select3 } from "@mantine/core";
|
7922
7779
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
7923
|
-
import { jsx as
|
7780
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
7924
7781
|
function MySelectAPIGet(_a) {
|
7925
7782
|
var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
|
7926
7783
|
var _a2;
|
@@ -7939,7 +7796,7 @@ function MySelectAPIGet(_a) {
|
|
7939
7796
|
label: `${item.code}-${item.name}`
|
7940
7797
|
};
|
7941
7798
|
});
|
7942
|
-
return /* @__PURE__ */
|
7799
|
+
return /* @__PURE__ */ jsx56(
|
7943
7800
|
Select3,
|
7944
7801
|
__spreadValues({
|
7945
7802
|
label,
|
@@ -7952,9 +7809,9 @@ function MySelectAPIGet(_a) {
|
|
7952
7809
|
// src/components/ScheduleX/MyScheduleX.tsx
|
7953
7810
|
import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as ScheduleXCalendar2 } from "@schedule-x/react";
|
7954
7811
|
import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
|
7955
|
-
import { useState as
|
7812
|
+
import { useState as useState11 } from "react";
|
7956
7813
|
import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
|
7957
|
-
import { jsx as
|
7814
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
7958
7815
|
function MyScheduleX({
|
7959
7816
|
values,
|
7960
7817
|
timeGridEvent,
|
@@ -7963,8 +7820,8 @@ function MyScheduleX({
|
|
7963
7820
|
startDayBoundaries = "05:00",
|
7964
7821
|
endDayBoundaries = "21:00"
|
7965
7822
|
}) {
|
7966
|
-
const eventsService =
|
7967
|
-
const eventModalPlugin =
|
7823
|
+
const eventsService = useState11(() => createEventsServicePlugin2())[0];
|
7824
|
+
const eventModalPlugin = useState11(() => createEventModalPlugin2())[0];
|
7968
7825
|
const calendar = useNextCalendarApp2({
|
7969
7826
|
locale: "vi-VN",
|
7970
7827
|
dayBoundaries: {
|
@@ -7979,7 +7836,7 @@ function MyScheduleX({
|
|
7979
7836
|
events: values,
|
7980
7837
|
plugins: [eventsService, eventModalPlugin]
|
7981
7838
|
});
|
7982
|
-
return /* @__PURE__ */
|
7839
|
+
return /* @__PURE__ */ jsx57(
|
7983
7840
|
ScheduleXCalendar2,
|
7984
7841
|
{
|
7985
7842
|
calendarApp: calendar,
|
@@ -7993,9 +7850,9 @@ function MyScheduleX({
|
|
7993
7850
|
|
7994
7851
|
// src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
|
7995
7852
|
import { Skeleton } from "@mantine/core";
|
7996
|
-
import { jsx as
|
7853
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
7997
7854
|
function MySkeletonTable({ h: h4 = 500 }) {
|
7998
|
-
return /* @__PURE__ */
|
7855
|
+
return /* @__PURE__ */ jsx58(Skeleton, { h: h4 });
|
7999
7856
|
}
|
8000
7857
|
|
8001
7858
|
export {
|
@@ -8051,7 +7908,6 @@ export {
|
|
8051
7908
|
MyNumberInput,
|
8052
7909
|
MyTextArea,
|
8053
7910
|
MyTextEditor,
|
8054
|
-
MyWeeklySessionSchedulerPicker,
|
8055
7911
|
useS_authenticate,
|
8056
7912
|
F_authenticate_Logout,
|
8057
7913
|
BasicAppShell_transformMenuToEnum,
|