aq-fe-framework 0.1.308 → 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-IMCUF52C.mjs → chunk-RYZTACZ4.mjs} +168 -310
- 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 +1460 -877
- 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({
|
@@ -7366,14 +7223,16 @@ function RenderNavLinks({
|
|
7366
7223
|
}) {
|
7367
7224
|
const basicAppShellStore = useS_BasicAppShell();
|
7368
7225
|
const pathName = usePathname2();
|
7369
|
-
|
7226
|
+
const index = pathName.split("/", 2).join("/").length;
|
7227
|
+
const extractPathName = pathName.slice(index).replace("/", "");
|
7228
|
+
return /* @__PURE__ */ jsx50(Fragment13, { children: items.map((item, index2) => /* @__PURE__ */ jsx50(
|
7370
7229
|
NavLink,
|
7371
7230
|
{
|
7372
|
-
active:
|
7231
|
+
active: extractPathName === item.link,
|
7373
7232
|
component: Link3,
|
7374
7233
|
opened: basicAppShellStore.state.groupMenuOpenId.includes(item.label),
|
7375
7234
|
href: `/${pathName.split("/")[1]}/${item.link}` || "#",
|
7376
|
-
label: /* @__PURE__ */
|
7235
|
+
label: /* @__PURE__ */ jsxs29(MyFlexRow, { justify: "space-between", children: [
|
7377
7236
|
item.label,
|
7378
7237
|
" ",
|
7379
7238
|
getRightSection(item.status)
|
@@ -7385,9 +7244,9 @@ function RenderNavLinks({
|
|
7385
7244
|
return;
|
7386
7245
|
}
|
7387
7246
|
},
|
7388
|
-
children: item.links && /* @__PURE__ */
|
7247
|
+
children: item.links && /* @__PURE__ */ jsx50(RenderNavLinks, { items: item.links })
|
7389
7248
|
},
|
7390
|
-
|
7249
|
+
index2
|
7391
7250
|
)) });
|
7392
7251
|
}
|
7393
7252
|
function childrenMenuToListEnumUsingPageIdAndName(children) {
|
@@ -7455,7 +7314,7 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
|
|
7455
7314
|
const media = useMediaQuery("(min-width: 72em)");
|
7456
7315
|
const GetAQModule_query = useQ_AQ_GetAQModule();
|
7457
7316
|
const BasicAppShell_store = useS_BasicAppShell();
|
7458
|
-
const [faviconUrl, setFaviconUrl] =
|
7317
|
+
const [faviconUrl, setFaviconUrl] = useState10("");
|
7459
7318
|
const allChildItems = useMemo3(() => {
|
7460
7319
|
const result = [];
|
7461
7320
|
const extractChildren = (items) => {
|
@@ -7508,7 +7367,7 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
|
|
7508
7367
|
basicAppShellStore.setProperty("note", linkItem == null ? void 0 : linkItem.note);
|
7509
7368
|
basicAppShellStore.setProperty("status", linkItem == null ? void 0 : linkItem.status);
|
7510
7369
|
}, [pathName]);
|
7511
|
-
return /* @__PURE__ */
|
7370
|
+
return /* @__PURE__ */ jsxs29(
|
7512
7371
|
AppShell,
|
7513
7372
|
{
|
7514
7373
|
header: { height: 60 },
|
@@ -7522,80 +7381,80 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
|
|
7522
7381
|
},
|
7523
7382
|
padding: "md",
|
7524
7383
|
children: [
|
7525
|
-
/* @__PURE__ */
|
7526
|
-
/* @__PURE__ */
|
7527
|
-
/* @__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(
|
7528
7387
|
Tooltip5,
|
7529
7388
|
{
|
7530
7389
|
label: basicAppShellStore.state.opened ? "\u1EA8n thanh menu" : "Hi\u1EC7n thanh menu",
|
7531
|
-
children: /* @__PURE__ */
|
7390
|
+
children: /* @__PURE__ */ jsx50(
|
7532
7391
|
ActionIcon11,
|
7533
7392
|
{
|
7534
7393
|
size: "lg",
|
7535
7394
|
radius: "md",
|
7536
7395
|
variant: "default",
|
7537
7396
|
onClick: basicAppShellStore.toggle,
|
7538
|
-
children: basicAppShellStore.state.opened ? /* @__PURE__ */
|
7397
|
+
children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx50(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx50(IconLayoutSidebarLeftCollapse, {})
|
7539
7398
|
}
|
7540
7399
|
)
|
7541
7400
|
}
|
7542
7401
|
),
|
7543
|
-
/* @__PURE__ */
|
7402
|
+
/* @__PURE__ */ jsx50(Tooltip5, { label: "\u0110\xF3ng t\u1EA5t c\u1EA3 menu", children: /* @__PURE__ */ jsx50(
|
7544
7403
|
ActionIcon11,
|
7545
7404
|
{
|
7546
7405
|
size: "lg",
|
7547
7406
|
radius: "md",
|
7548
7407
|
variant: "default",
|
7549
7408
|
onClick: () => basicAppShellStore.clearGroupMenuOpenId(),
|
7550
|
-
children: /* @__PURE__ */
|
7409
|
+
children: /* @__PURE__ */ jsx50(IconLibraryMinus, {})
|
7551
7410
|
}
|
7552
7411
|
) })
|
7553
7412
|
] }),
|
7554
|
-
/* @__PURE__ */
|
7555
|
-
|
7413
|
+
/* @__PURE__ */ jsx50(
|
7414
|
+
Group16,
|
7556
7415
|
{
|
7557
7416
|
style: {
|
7558
7417
|
position: "absolute",
|
7559
7418
|
left: "50%",
|
7560
7419
|
transform: "translateX(-50%)"
|
7561
7420
|
},
|
7562
|
-
children: /* @__PURE__ */
|
7421
|
+
children: /* @__PURE__ */ jsx50(Text15, { c: "green", fw: "bold", size: "sm", children: title ? title : `${basicAppShellStore.state.moduleCode} - ${basicAppShellStore.state.moduleName}` })
|
7563
7422
|
}
|
7564
7423
|
),
|
7565
|
-
/* @__PURE__ */
|
7424
|
+
/* @__PURE__ */ jsxs29(Group16, { children: [
|
7566
7425
|
extraTopRight,
|
7567
|
-
/* @__PURE__ */
|
7426
|
+
/* @__PURE__ */ jsx50(MySwitchTheme, {})
|
7568
7427
|
] })
|
7569
7428
|
] }) : (
|
7570
7429
|
// For mobile screens - simplified layout
|
7571
|
-
/* @__PURE__ */
|
7572
|
-
/* @__PURE__ */
|
7430
|
+
/* @__PURE__ */ jsxs29(Group16, { h: "100%", px: "md", justify: "space-between", children: [
|
7431
|
+
/* @__PURE__ */ jsx50(
|
7573
7432
|
ActionIcon11,
|
7574
7433
|
{
|
7575
7434
|
size: "lg",
|
7576
7435
|
radius: "md",
|
7577
7436
|
variant: "default",
|
7578
7437
|
onClick: basicAppShellStore.toggle,
|
7579
|
-
children: basicAppShellStore.state.opened ? /* @__PURE__ */
|
7438
|
+
children: basicAppShellStore.state.opened ? /* @__PURE__ */ jsx50(IconLayoutSidebarLeftExpand, {}) : /* @__PURE__ */ jsx50(IconLayoutSidebarLeftCollapse, {})
|
7580
7439
|
}
|
7581
7440
|
),
|
7582
|
-
/* @__PURE__ */
|
7583
|
-
/* @__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: [
|
7584
7443
|
extraTopRight,
|
7585
|
-
/* @__PURE__ */
|
7444
|
+
/* @__PURE__ */ jsx50(MySwitchTheme, {})
|
7586
7445
|
] })
|
7587
7446
|
] })
|
7588
7447
|
) }),
|
7589
|
-
/* @__PURE__ */
|
7590
|
-
/* @__PURE__ */
|
7591
|
-
/* @__PURE__ */
|
7592
|
-
/* @__PURE__ */
|
7593
|
-
/* @__PURE__ */
|
7594
|
-
/* @__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, {})
|
7595
7454
|
] }),
|
7596
|
-
/* @__PURE__ */
|
7597
|
-
/* @__PURE__ */
|
7598
|
-
/* @__PURE__ */
|
7455
|
+
/* @__PURE__ */ jsxs29(AppShell.Section, { p: "md", children: [
|
7456
|
+
/* @__PURE__ */ jsx50(Divider2, {}),
|
7457
|
+
/* @__PURE__ */ jsx50(
|
7599
7458
|
Image3,
|
7600
7459
|
{
|
7601
7460
|
fit: "contain",
|
@@ -7609,7 +7468,7 @@ function BasicAppShell({ children, menu, extraTopRight, title }) {
|
|
7609
7468
|
)
|
7610
7469
|
] })
|
7611
7470
|
] }),
|
7612
|
-
/* @__PURE__ */
|
7471
|
+
/* @__PURE__ */ jsx50(
|
7613
7472
|
AppShell.Main,
|
7614
7473
|
{
|
7615
7474
|
bg: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))",
|
@@ -7664,23 +7523,23 @@ function utils_layout_getItemsWithoutLinks(menu) {
|
|
7664
7523
|
|
7665
7524
|
// src/components/Layouts/Container/MyContainer.tsx
|
7666
7525
|
import { Container, Flex as Flex3 } from "@mantine/core";
|
7667
|
-
import { jsx as
|
7526
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
7668
7527
|
function MyContainer(_a) {
|
7669
7528
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
7670
|
-
return /* @__PURE__ */
|
7529
|
+
return /* @__PURE__ */ jsx51(Container, __spreadProps(__spreadValues({ fluid: true }, rest), { children: /* @__PURE__ */ jsx51(Flex3, { direction: "column", children }) }));
|
7671
7530
|
}
|
7672
7531
|
|
7673
7532
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
7674
7533
|
import {
|
7675
7534
|
Box as Box4,
|
7676
7535
|
Burger,
|
7677
|
-
Button as
|
7536
|
+
Button as Button15,
|
7678
7537
|
Container as Container2,
|
7679
|
-
Divider as
|
7538
|
+
Divider as Divider3,
|
7680
7539
|
Drawer,
|
7681
|
-
Group as
|
7540
|
+
Group as Group17,
|
7682
7541
|
Image as Image4,
|
7683
|
-
ScrollArea as
|
7542
|
+
ScrollArea as ScrollArea4,
|
7684
7543
|
Text as Text16,
|
7685
7544
|
TextInput as TextInput3,
|
7686
7545
|
ThemeIcon,
|
@@ -7713,7 +7572,7 @@ function useHeaderMegaMenuStore() {
|
|
7713
7572
|
}
|
7714
7573
|
|
7715
7574
|
// src/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx
|
7716
|
-
import { jsx as
|
7575
|
+
import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
|
7717
7576
|
var mockdata = [
|
7718
7577
|
{
|
7719
7578
|
icon: IconCode,
|
@@ -7751,27 +7610,27 @@ function HeaderMegaMenu({ children, menus }) {
|
|
7751
7610
|
const [linksOpened, { toggle: toggleLinks }] = useDisclosure11(false);
|
7752
7611
|
const HeaderMegaMenuStore = useHeaderMegaMenuStore();
|
7753
7612
|
const theme = useMantineTheme();
|
7754
|
-
const links = mockdata.map((item) => /* @__PURE__ */
|
7755
|
-
/* @__PURE__ */
|
7756
|
-
/* @__PURE__ */
|
7757
|
-
/* @__PURE__ */
|
7758
|
-
/* @__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 })
|
7759
7618
|
] })
|
7760
7619
|
] }) }, item.title));
|
7761
|
-
return /* @__PURE__ */
|
7762
|
-
/* @__PURE__ */
|
7763
|
-
/* @__PURE__ */
|
7764
|
-
/* @__PURE__ */
|
7765
|
-
/* @__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)) })
|
7766
7625
|
] }),
|
7767
|
-
/* @__PURE__ */
|
7768
|
-
/* @__PURE__ */
|
7769
|
-
/* @__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, {})
|
7770
7629
|
] }),
|
7771
|
-
/* @__PURE__ */
|
7630
|
+
/* @__PURE__ */ jsx52(Burger, { opened: drawerOpened, onClick: toggleDrawer, hiddenFrom: "sm" })
|
7772
7631
|
] }) }),
|
7773
|
-
/* @__PURE__ */
|
7774
|
-
/* @__PURE__ */
|
7632
|
+
/* @__PURE__ */ jsx52(Container2, { fluid: true, pt: "sm", pb: "md", bg: const_object_colors.mantineBackgroundSecondary, mih: "93vh", children }),
|
7633
|
+
/* @__PURE__ */ jsx52(
|
7775
7634
|
Drawer,
|
7776
7635
|
{
|
7777
7636
|
opened: drawerOpened,
|
@@ -7781,10 +7640,10 @@ function HeaderMegaMenu({ children, menus }) {
|
|
7781
7640
|
title: "Navigation",
|
7782
7641
|
hiddenFrom: "sm",
|
7783
7642
|
zIndex: 1e6,
|
7784
|
-
children: /* @__PURE__ */
|
7785
|
-
/* @__PURE__ */
|
7786
|
-
/* @__PURE__ */
|
7787
|
-
/* @__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" })
|
7788
7647
|
] })
|
7789
7648
|
}
|
7790
7649
|
)
|
@@ -7792,8 +7651,8 @@ function HeaderMegaMenu({ children, menus }) {
|
|
7792
7651
|
}
|
7793
7652
|
|
7794
7653
|
// src/components/Layouts/PageContent/MyPageContent.tsx
|
7795
|
-
import { Badge as Badge4, Breadcrumbs, Code, Container as Container3, Divider as
|
7796
|
-
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";
|
7797
7656
|
var getStatusColor = (status) => {
|
7798
7657
|
switch (status) {
|
7799
7658
|
case "Prototype":
|
@@ -7804,10 +7663,10 @@ var getStatusColor = (status) => {
|
|
7804
7663
|
};
|
7805
7664
|
function PageTitle({ title, status, note }) {
|
7806
7665
|
const color = getStatusColor(status);
|
7807
|
-
return /* @__PURE__ */
|
7808
|
-
/* @__PURE__ */
|
7809
|
-
/* @__PURE__ */
|
7810
|
-
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(
|
7811
7670
|
Badge4,
|
7812
7671
|
{
|
7813
7672
|
variant: "gradient",
|
@@ -7818,7 +7677,7 @@ function PageTitle({ title, status, note }) {
|
|
7818
7677
|
}
|
7819
7678
|
)
|
7820
7679
|
] }),
|
7821
|
-
/* @__PURE__ */
|
7680
|
+
/* @__PURE__ */ jsx53(Text17, { size: "lg", c: "dimmed", fs: "italic", children: note })
|
7822
7681
|
] }) });
|
7823
7682
|
}
|
7824
7683
|
function MyPageContent({
|
@@ -7831,11 +7690,11 @@ function MyPageContent({
|
|
7831
7690
|
var _a;
|
7832
7691
|
const basicAppShellStore = useS_BasicAppShell();
|
7833
7692
|
const finalTitle = title || basicAppShellStore.state.title;
|
7834
|
-
return /* @__PURE__ */
|
7835
|
-
/* @__PURE__ */
|
7836
|
-
/* @__PURE__ */
|
7837
|
-
/* @__PURE__ */
|
7838
|
-
/* @__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(
|
7839
7698
|
PageTitle,
|
7840
7699
|
{
|
7841
7700
|
title: finalTitle,
|
@@ -7845,64 +7704,64 @@ function MyPageContent({
|
|
7845
7704
|
),
|
7846
7705
|
leftTopBar
|
7847
7706
|
] }),
|
7848
|
-
/* @__PURE__ */
|
7707
|
+
/* @__PURE__ */ jsxs31(Group18, { p: "md", children: [
|
7849
7708
|
rightTopBar,
|
7850
|
-
/* @__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)) })
|
7851
7710
|
] })
|
7852
7711
|
] }),
|
7853
|
-
/* @__PURE__ */
|
7712
|
+
/* @__PURE__ */ jsx53(Divider4, { my: "xs" }),
|
7854
7713
|
children,
|
7855
|
-
/* @__PURE__ */
|
7856
|
-
/* @__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 }) })
|
7857
7716
|
] });
|
7858
7717
|
}
|
7859
7718
|
|
7860
7719
|
// src/components/Layouts/Tab/MyTab.tsx
|
7861
7720
|
import { rem, Space as Space3, Tabs } from "@mantine/core";
|
7862
|
-
import { jsx as
|
7721
|
+
import { jsx as jsx54, jsxs as jsxs32 } from "react/jsx-runtime";
|
7863
7722
|
function MyTab(_a) {
|
7864
7723
|
var _b = _a, { tabList, children } = _b, rest = __objRest(_b, ["tabList", "children"]);
|
7865
7724
|
const iconStyle = { width: rem(20), height: rem(20) };
|
7866
|
-
return /* @__PURE__ */
|
7867
|
-
/* @__PURE__ */
|
7868
|
-
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);
|
7869
7728
|
}) }),
|
7870
|
-
/* @__PURE__ */
|
7729
|
+
/* @__PURE__ */ jsx54(Space3, { my: "md" }),
|
7871
7730
|
children
|
7872
7731
|
] }));
|
7873
7732
|
}
|
7874
7733
|
|
7875
7734
|
// src/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx
|
7876
|
-
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";
|
7877
7736
|
import { useDisclosure as useDisclosure12 } from "@mantine/hooks";
|
7878
7737
|
import { IconX as IconX2 } from "@tabler/icons-react";
|
7879
|
-
import { jsx as
|
7738
|
+
import { jsx as jsx55, jsxs as jsxs33 } from "react/jsx-runtime";
|
7880
7739
|
function MyDataTableSelect(_a) {
|
7881
7740
|
var _b = _a, { modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel } = _b, rest = __objRest(_b, ["modalSize", "renderTopToolbarCustomActions", "data", "selectButtonlabel", "listState", "columns", "listLabel"]);
|
7882
7741
|
const disc = useDisclosure12(false);
|
7883
7742
|
if (data == void 0) return "\u0110ang t\u1EA3i...";
|
7884
|
-
return /* @__PURE__ */
|
7885
|
-
/* @__PURE__ */
|
7743
|
+
return /* @__PURE__ */ jsxs33(Fieldset5, { legend: listLabel ? listLabel : "Danh s\xE1ch", children: [
|
7744
|
+
/* @__PURE__ */ jsx55(
|
7886
7745
|
MyDataTable,
|
7887
7746
|
__spreadValues({
|
7888
7747
|
renderTopToolbarCustomActions: ({ table }) => {
|
7889
|
-
return /* @__PURE__ */
|
7748
|
+
return /* @__PURE__ */ jsxs33(Group19, { children: [
|
7890
7749
|
renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table }),
|
7891
|
-
/* @__PURE__ */
|
7750
|
+
/* @__PURE__ */ jsx55(Button16, { onClick: disc[1].open, children: selectButtonlabel || "Ch\u1ECDn t\u1EEB danh s\xE1ch" })
|
7892
7751
|
] });
|
7893
7752
|
},
|
7894
7753
|
columns,
|
7895
7754
|
data: listState[0],
|
7896
7755
|
renderRowActions: ({ row }) => {
|
7897
|
-
return /* @__PURE__ */
|
7756
|
+
return /* @__PURE__ */ jsx55(MyCenterFull, { children: /* @__PURE__ */ jsx55(ActionIcon12, { color: "red", onClick: () => listState[1].remove(row.index), children: /* @__PURE__ */ jsx55(IconX2, {}) }) });
|
7898
7757
|
}
|
7899
7758
|
}, rest)
|
7900
7759
|
),
|
7901
|
-
/* @__PURE__ */
|
7760
|
+
/* @__PURE__ */ jsx55(Modal11, { opened: disc[0], onClose: disc[1].close, size: modalSize || "80%", children: /* @__PURE__ */ jsx55(
|
7902
7761
|
MyDataTable,
|
7903
7762
|
__spreadValues({
|
7904
7763
|
renderTopToolbarCustomActions: ({ table }) => {
|
7905
|
-
return /* @__PURE__ */
|
7764
|
+
return /* @__PURE__ */ jsx55(Button16, { onClick: () => {
|
7906
7765
|
table.getSelectedRowModel().rows.map((item) => listState[1].append(item.original));
|
7907
7766
|
disc[1].close();
|
7908
7767
|
}, children: "Ch\u1ECDn" });
|
@@ -7918,7 +7777,7 @@ function MyDataTableSelect(_a) {
|
|
7918
7777
|
// src/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx
|
7919
7778
|
import { Select as Select3 } from "@mantine/core";
|
7920
7779
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
7921
|
-
import { jsx as
|
7780
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
7922
7781
|
function MySelectAPIGet(_a) {
|
7923
7782
|
var _b = _a, { apiGet, label = "", dataMapper } = _b, rest = __objRest(_b, ["apiGet", "label", "dataMapper"]);
|
7924
7783
|
var _a2;
|
@@ -7937,7 +7796,7 @@ function MySelectAPIGet(_a) {
|
|
7937
7796
|
label: `${item.code}-${item.name}`
|
7938
7797
|
};
|
7939
7798
|
});
|
7940
|
-
return /* @__PURE__ */
|
7799
|
+
return /* @__PURE__ */ jsx56(
|
7941
7800
|
Select3,
|
7942
7801
|
__spreadValues({
|
7943
7802
|
label,
|
@@ -7950,9 +7809,9 @@ function MySelectAPIGet(_a) {
|
|
7950
7809
|
// src/components/ScheduleX/MyScheduleX.tsx
|
7951
7810
|
import { useNextCalendarApp as useNextCalendarApp2, ScheduleXCalendar as ScheduleXCalendar2 } from "@schedule-x/react";
|
7952
7811
|
import { createEventsServicePlugin as createEventsServicePlugin2 } from "@schedule-x/events-service";
|
7953
|
-
import { useState as
|
7812
|
+
import { useState as useState11 } from "react";
|
7954
7813
|
import { createEventModalPlugin as createEventModalPlugin2 } from "@schedule-x/event-modal";
|
7955
|
-
import { jsx as
|
7814
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
7956
7815
|
function MyScheduleX({
|
7957
7816
|
values,
|
7958
7817
|
timeGridEvent,
|
@@ -7961,8 +7820,8 @@ function MyScheduleX({
|
|
7961
7820
|
startDayBoundaries = "05:00",
|
7962
7821
|
endDayBoundaries = "21:00"
|
7963
7822
|
}) {
|
7964
|
-
const eventsService =
|
7965
|
-
const eventModalPlugin =
|
7823
|
+
const eventsService = useState11(() => createEventsServicePlugin2())[0];
|
7824
|
+
const eventModalPlugin = useState11(() => createEventModalPlugin2())[0];
|
7966
7825
|
const calendar = useNextCalendarApp2({
|
7967
7826
|
locale: "vi-VN",
|
7968
7827
|
dayBoundaries: {
|
@@ -7977,7 +7836,7 @@ function MyScheduleX({
|
|
7977
7836
|
events: values,
|
7978
7837
|
plugins: [eventsService, eventModalPlugin]
|
7979
7838
|
});
|
7980
|
-
return /* @__PURE__ */
|
7839
|
+
return /* @__PURE__ */ jsx57(
|
7981
7840
|
ScheduleXCalendar2,
|
7982
7841
|
{
|
7983
7842
|
calendarApp: calendar,
|
@@ -7991,9 +7850,9 @@ function MyScheduleX({
|
|
7991
7850
|
|
7992
7851
|
// src/components/Skeletons/SkeletonTable/MySkeletonTable.tsx
|
7993
7852
|
import { Skeleton } from "@mantine/core";
|
7994
|
-
import { jsx as
|
7853
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
7995
7854
|
function MySkeletonTable({ h: h4 = 500 }) {
|
7996
|
-
return /* @__PURE__ */
|
7855
|
+
return /* @__PURE__ */ jsx58(Skeleton, { h: h4 });
|
7997
7856
|
}
|
7998
7857
|
|
7999
7858
|
export {
|
@@ -8049,7 +7908,6 @@ export {
|
|
8049
7908
|
MyNumberInput,
|
8050
7909
|
MyTextArea,
|
8051
7910
|
MyTextEditor,
|
8052
|
-
MyWeeklySessionSchedulerPicker,
|
8053
7911
|
useS_authenticate,
|
8054
7912
|
F_authenticate_Logout,
|
8055
7913
|
BasicAppShell_transformMenuToEnum,
|