react-toolkits 0.0.3 → 0.0.5
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/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +12 -0
- package/dist/index.d.mts +44 -32
- package/dist/index.esm.js +159 -146
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FilterForm/index.tsx +1 -0
- package/src/components/FormModal/hooks.tsx +2 -3
- package/src/components/FormModal/index.tsx +11 -12
- package/src/components/QueryList/index.tsx +8 -21
- package/src/constants/index.ts +0 -2
- package/src/features/permission/hooks/index.ts +13 -28
- package/src/hooks/index.ts +1 -1
- package/src/hooks/{use-fetcher.tsx → use-http-client.tsx} +16 -42
- package/src/hooks/use-permission.tsx +13 -4
- package/src/index.ts +1 -0
- package/src/layouts/Layout.tsx +75 -37
- package/src/layouts/NavBar.tsx +8 -21
- package/src/pages/Login/index.tsx +3 -0
- package/src/pages/NoMatch/index.tsx +27 -0
- package/src/pages/index.ts +2 -1
- package/src/pages/permission/RoleList.tsx +11 -11
- package/src/types/index.ts +0 -17
package/dist/index.esm.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { AliyunOutlined, UserAddOutlined, UsergroupAddOutlined, PlusOutlined } from '@ant-design/icons';
|
|
2
|
-
import {
|
|
3
|
-
import { lazy, useState, useRef, useCallback, useMemo, useEffect, forwardRef, useId, useImperativeHandle } from 'react';
|
|
2
|
+
import { Spin, Row, Col, Card, Alert, Divider, Space, Button, Result, theme, Layout as Layout$1, App, Tag, Form, Input, Breadcrumb, Skeleton, Descriptions, Typography, Modal, Tooltip, Table, Select, Menu, Collapse, Checkbox } from 'antd';
|
|
3
|
+
import { lazy, useState, useRef, useCallback, useMemo, useEffect, Suspense, forwardRef, useId, useImperativeHandle } from 'react';
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
import { createPortal, flushSync } from 'react-dom';
|
|
6
6
|
import { createRoot } from 'react-dom/client';
|
|
7
7
|
import { create } from 'zustand';
|
|
8
8
|
import { persist } from 'zustand/middleware';
|
|
9
9
|
import axios from 'axios';
|
|
10
|
-
import { useNavigate, useSearchParams, Navigate, Link, useParams, useLocation } from 'react-router-dom';
|
|
11
10
|
import useSWRImmutable from 'swr/immutable';
|
|
11
|
+
import { useNavigate, useSearchParams, Navigate, Link, useParams, useLocation } from 'react-router-dom';
|
|
12
12
|
import useSWRMutation2 from 'swr/mutation';
|
|
13
13
|
import useSWR from 'swr';
|
|
14
14
|
import logo from './512_orange_nobackground-L6MFCL6M.png';
|
|
@@ -353,7 +353,7 @@ function useFormModal(props) {
|
|
|
353
353
|
setOpen(false);
|
|
354
354
|
}, []);
|
|
355
355
|
const Modal2 = useMemo(() => {
|
|
356
|
-
return /* @__PURE__ */ jsx(FormModal_default, __spreadProps(__spreadValues({}, restProps), { open, closeFn: closeModal, title, onConfirm, children: content }));
|
|
356
|
+
return /* @__PURE__ */ jsx(FormModal_default, __spreadProps(__spreadValues({ ref: formRef }, restProps), { open, closeFn: closeModal, title, onConfirm, children: content }));
|
|
357
357
|
}, [title, content, restProps, open, closeModal, onConfirm]);
|
|
358
358
|
return {
|
|
359
359
|
Modal: createPortal(Modal2, document.body),
|
|
@@ -481,10 +481,7 @@ var init_stores = __esm({
|
|
|
481
481
|
init_queryTrigger();
|
|
482
482
|
}
|
|
483
483
|
});
|
|
484
|
-
function
|
|
485
|
-
const { notification } = App.useApp();
|
|
486
|
-
const clearToken = useTokenStore((state) => state.clearToken);
|
|
487
|
-
const navigate = useNavigate();
|
|
484
|
+
function useHttpClient() {
|
|
488
485
|
const token = useTokenStore((state) => state.token);
|
|
489
486
|
const defaultOptions = {
|
|
490
487
|
withCredentials: true
|
|
@@ -500,52 +497,34 @@ function useFetcher() {
|
|
|
500
497
|
if (response.data.code === 0 || response.data.status === 0) {
|
|
501
498
|
return response.data.data;
|
|
502
499
|
}
|
|
503
|
-
throw new
|
|
500
|
+
throw new HttpClientError(response.data.msg, 0);
|
|
504
501
|
},
|
|
505
502
|
(error) => {
|
|
506
503
|
var _a;
|
|
507
504
|
if (error.response) {
|
|
508
505
|
if (error.response.status === 401) {
|
|
509
|
-
throw new
|
|
506
|
+
throw new HttpClientError("\u672A\u767B\u5F55\u6216\u767B\u5F55\u5DF2\u8FC7\u671F", error.response.status);
|
|
510
507
|
} else if (error.response.status === 403) {
|
|
511
|
-
throw new
|
|
508
|
+
throw new HttpClientError("\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743", error.response.status);
|
|
512
509
|
} else if ([404, 405].includes(error.response.status)) {
|
|
513
|
-
throw new
|
|
510
|
+
throw new HttpClientError("Not Found or Method not Allowed", error.response.status, true);
|
|
514
511
|
} else if (error.response.status === 412) {
|
|
515
|
-
throw new
|
|
512
|
+
throw new HttpClientError("\u672A\u6CE8\u518C\u7528\u6237", error.response.status);
|
|
516
513
|
} else {
|
|
517
|
-
throw new
|
|
514
|
+
throw new HttpClientError((_a = error.response.data) == null ? void 0 : _a.msg, error.response.status);
|
|
518
515
|
}
|
|
519
|
-
} else if (error.request) {
|
|
520
|
-
console.log(error.request);
|
|
521
516
|
}
|
|
522
|
-
|
|
517
|
+
throw new HttpClientError("\u65E0\u54CD\u5E94");
|
|
523
518
|
}
|
|
524
519
|
);
|
|
525
|
-
return
|
|
526
|
-
switch (err.code) {
|
|
527
|
-
case 401:
|
|
528
|
-
case 412:
|
|
529
|
-
clearToken();
|
|
530
|
-
navigate(err.code === 401 ? "/login" : "/login?not_registered=1", { replace: true });
|
|
531
|
-
break;
|
|
532
|
-
default:
|
|
533
|
-
if (!err.skip) {
|
|
534
|
-
notification.error({
|
|
535
|
-
message: "\u8BF7\u6C42\u51FA\u9519",
|
|
536
|
-
description: err.message
|
|
537
|
-
});
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
throw err;
|
|
541
|
-
});
|
|
520
|
+
return instance;
|
|
542
521
|
}
|
|
543
|
-
var
|
|
544
|
-
var
|
|
545
|
-
"src/hooks/use-
|
|
522
|
+
var HttpClientError;
|
|
523
|
+
var init_use_http_client = __esm({
|
|
524
|
+
"src/hooks/use-http-client.tsx"() {
|
|
546
525
|
init_esm_shims();
|
|
547
526
|
init_stores();
|
|
548
|
-
|
|
527
|
+
HttpClientError = class extends Error {
|
|
549
528
|
constructor(message, code, skip = false) {
|
|
550
529
|
super(message);
|
|
551
530
|
this.code = code;
|
|
@@ -555,14 +534,15 @@ var init_use_fetcher = __esm({
|
|
|
555
534
|
}
|
|
556
535
|
});
|
|
557
536
|
function usePermissions(codes) {
|
|
558
|
-
const
|
|
537
|
+
const httpClient = useHttpClient();
|
|
538
|
+
const navigate = useNavigate();
|
|
559
539
|
const { data, isLoading } = useSWRImmutable(
|
|
560
540
|
codes.length > 0 ? {
|
|
561
541
|
method: "POST",
|
|
562
542
|
url: "/api/usystem/user/check",
|
|
563
543
|
data: { permissions: codes }
|
|
564
544
|
} : null,
|
|
565
|
-
(config) =>
|
|
545
|
+
(config) => httpClient.request(config).then((res) => {
|
|
566
546
|
if (res.has_all) {
|
|
567
547
|
return codes.reduce(
|
|
568
548
|
(acc, curr) => {
|
|
@@ -579,7 +559,14 @@ function usePermissions(codes) {
|
|
|
579
559
|
},
|
|
580
560
|
{}
|
|
581
561
|
);
|
|
582
|
-
})
|
|
562
|
+
}),
|
|
563
|
+
{
|
|
564
|
+
suspense: true,
|
|
565
|
+
shouldRetryOnError: false,
|
|
566
|
+
onError() {
|
|
567
|
+
navigate("/login");
|
|
568
|
+
}
|
|
569
|
+
}
|
|
583
570
|
);
|
|
584
571
|
return { data, isLoading };
|
|
585
572
|
}
|
|
@@ -600,7 +587,7 @@ function usePermission(code) {
|
|
|
600
587
|
var init_use_permission = __esm({
|
|
601
588
|
"src/hooks/use-permission.tsx"() {
|
|
602
589
|
init_esm_shims();
|
|
603
|
-
|
|
590
|
+
init_use_http_client();
|
|
604
591
|
}
|
|
605
592
|
});
|
|
606
593
|
|
|
@@ -608,7 +595,7 @@ var init_use_permission = __esm({
|
|
|
608
595
|
var init_hooks2 = __esm({
|
|
609
596
|
"src/hooks/index.ts"() {
|
|
610
597
|
init_esm_shims();
|
|
611
|
-
|
|
598
|
+
init_use_http_client();
|
|
612
599
|
init_use_permission();
|
|
613
600
|
}
|
|
614
601
|
});
|
|
@@ -640,14 +627,14 @@ var init_QueryList = __esm({
|
|
|
640
627
|
init_FilterForm();
|
|
641
628
|
QueryList = (props) => {
|
|
642
629
|
const _a = props, { code, confirmText, labelCol, swrKey: swrKey3, renderForm, transformArg, initialValues } = _a, tableProps = __objRest(_a, ["code", "confirmText", "labelCol", "swrKey", "renderForm", "transformArg", "initialValues"]);
|
|
643
|
-
const { accessible
|
|
630
|
+
const { accessible } = usePermission(code != null ? code : "");
|
|
644
631
|
const [form] = Form.useForm();
|
|
645
632
|
const setTrigger = useQueryTriggerStore((state) => state.setTrigger);
|
|
646
633
|
const [paginationData, setPaginationData] = useState({
|
|
647
634
|
page: 1,
|
|
648
635
|
perPage: 10
|
|
649
636
|
});
|
|
650
|
-
const
|
|
637
|
+
const httpClient = useHttpClient();
|
|
651
638
|
const { data, isMutating, trigger } = useSWRMutation2(
|
|
652
639
|
swrKey3,
|
|
653
640
|
(_0, _1) => __async(void 0, [_0, _1], function* (key, {
|
|
@@ -661,9 +648,8 @@ var init_QueryList = __esm({
|
|
|
661
648
|
setPaginationData(newPaginationData);
|
|
662
649
|
const values = form.getFieldsValue();
|
|
663
650
|
const fetcherArg = __spreadValues(__spreadValues({}, values), newPaginationData);
|
|
664
|
-
return
|
|
665
|
-
|
|
666
|
-
params: typeof transformArg === "function" ? transformArg(fetcherArg) : fetcherArg
|
|
651
|
+
return httpClient.request(__spreadProps(__spreadValues({}, key), {
|
|
652
|
+
[key.method === "POST" ? "data" : "params"]: typeof transformArg === "function" ? transformArg(fetcherArg) : fetcherArg
|
|
667
653
|
}));
|
|
668
654
|
})
|
|
669
655
|
);
|
|
@@ -690,7 +676,7 @@ var init_QueryList = __esm({
|
|
|
690
676
|
);
|
|
691
677
|
useEffect(() => {
|
|
692
678
|
setTrigger(swrKey3, trigger);
|
|
693
|
-
}, [swrKey3,
|
|
679
|
+
}, [swrKey3, trigger, setTrigger]);
|
|
694
680
|
useEffect(() => {
|
|
695
681
|
(() => __async(void 0, null, function* () {
|
|
696
682
|
try {
|
|
@@ -701,19 +687,6 @@ var init_QueryList = __esm({
|
|
|
701
687
|
}
|
|
702
688
|
}))();
|
|
703
689
|
}, [form, trigger]);
|
|
704
|
-
if (isValidating) {
|
|
705
|
-
return /* @__PURE__ */ jsx(
|
|
706
|
-
Spin,
|
|
707
|
-
{
|
|
708
|
-
style: {
|
|
709
|
-
display: "flex",
|
|
710
|
-
justifyContent: "center",
|
|
711
|
-
alignItems: "center",
|
|
712
|
-
height: 200
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
|
-
);
|
|
716
|
-
}
|
|
717
690
|
if (!accessible) {
|
|
718
691
|
return /* @__PURE__ */ jsx(Result, { status: 403, subTitle: "\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743" });
|
|
719
692
|
}
|
|
@@ -784,69 +757,57 @@ function useRole(name) {
|
|
|
784
757
|
});
|
|
785
758
|
}
|
|
786
759
|
function useCreateRole() {
|
|
787
|
-
const
|
|
760
|
+
const httpClient = useHttpClient();
|
|
788
761
|
return useSWRMutation2(
|
|
789
762
|
"/api/usystem/role/create",
|
|
790
763
|
(url, {
|
|
791
764
|
arg
|
|
792
|
-
}) =>
|
|
765
|
+
}) => httpClient.post(url, arg)
|
|
793
766
|
);
|
|
794
767
|
}
|
|
795
768
|
function useUpdateRole() {
|
|
796
|
-
const
|
|
769
|
+
const httpClient = useHttpClient();
|
|
797
770
|
return useSWRMutation2(
|
|
798
771
|
"/api/usystem/role/update",
|
|
799
772
|
(url, {
|
|
800
773
|
arg
|
|
801
|
-
}) =>
|
|
774
|
+
}) => httpClient.post(url, arg)
|
|
802
775
|
);
|
|
803
776
|
}
|
|
804
777
|
function useRemoveRole() {
|
|
805
|
-
const
|
|
778
|
+
const httpClient = useHttpClient();
|
|
806
779
|
return useSWRMutation2(
|
|
807
780
|
"/api/usystem/role/delete",
|
|
808
781
|
(url, {
|
|
809
782
|
arg
|
|
810
|
-
}) =>
|
|
783
|
+
}) => httpClient.post(url, arg)
|
|
811
784
|
);
|
|
812
785
|
}
|
|
813
786
|
function useCreateUser() {
|
|
814
|
-
const
|
|
787
|
+
const httpClient = useHttpClient();
|
|
815
788
|
return useSWRMutation2(
|
|
816
789
|
"/api/usystem/user/create",
|
|
817
790
|
(url, {
|
|
818
791
|
arg
|
|
819
|
-
}) =>
|
|
820
|
-
method: "POST",
|
|
821
|
-
url,
|
|
822
|
-
data: arg
|
|
823
|
-
})
|
|
792
|
+
}) => httpClient.post(url, arg)
|
|
824
793
|
);
|
|
825
794
|
}
|
|
826
795
|
function useUpdateUser() {
|
|
827
|
-
const
|
|
796
|
+
const httpClient = useHttpClient();
|
|
828
797
|
return useSWRMutation2(
|
|
829
798
|
"/api/usystem/user/update",
|
|
830
799
|
(url, {
|
|
831
800
|
arg
|
|
832
|
-
}) =>
|
|
833
|
-
method: "POST",
|
|
834
|
-
url,
|
|
835
|
-
data: arg
|
|
836
|
-
})
|
|
801
|
+
}) => httpClient.post(url, arg)
|
|
837
802
|
);
|
|
838
803
|
}
|
|
839
804
|
function useRemoveUser() {
|
|
840
|
-
const
|
|
805
|
+
const httpClient = useHttpClient();
|
|
841
806
|
return useSWRMutation2(
|
|
842
807
|
"/api/usystem/user/delete",
|
|
843
808
|
(url, {
|
|
844
809
|
arg
|
|
845
|
-
}) =>
|
|
846
|
-
method: "POST",
|
|
847
|
-
url,
|
|
848
|
-
data: arg
|
|
849
|
-
})
|
|
810
|
+
}) => httpClient.post(url, arg)
|
|
850
811
|
);
|
|
851
812
|
}
|
|
852
813
|
var init_hooks3 = __esm({
|
|
@@ -1207,7 +1168,7 @@ var init_RoleList = __esm({
|
|
|
1207
1168
|
RoleList = () => {
|
|
1208
1169
|
const { accessible: viewable } = usePermission("200005");
|
|
1209
1170
|
const { modal, message } = App.useApp();
|
|
1210
|
-
const
|
|
1171
|
+
const httpClient = useHttpClient();
|
|
1211
1172
|
const create4 = useCreateRole();
|
|
1212
1173
|
const remove = useRemoveRole();
|
|
1213
1174
|
const update = useUpdateRole();
|
|
@@ -1304,9 +1265,7 @@ var init_RoleList = __esm({
|
|
|
1304
1265
|
size: "small",
|
|
1305
1266
|
type: "link",
|
|
1306
1267
|
onClick: () => __async(void 0, null, function* () {
|
|
1307
|
-
const role = yield
|
|
1308
|
-
method: "GET",
|
|
1309
|
-
url: "/api/usystem/role/info",
|
|
1268
|
+
const role = yield httpClient.get("/api/usystem/role/info", {
|
|
1310
1269
|
params: { name: value.name }
|
|
1311
1270
|
});
|
|
1312
1271
|
showUpdateModal({
|
|
@@ -1362,7 +1321,7 @@ var init_RoleList = __esm({
|
|
|
1362
1321
|
}
|
|
1363
1322
|
}
|
|
1364
1323
|
],
|
|
1365
|
-
[trigger, viewable,
|
|
1324
|
+
[trigger, viewable, httpClient, modal, message, remove, showUpdateModal]
|
|
1366
1325
|
);
|
|
1367
1326
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1368
1327
|
/* @__PURE__ */ jsx(
|
|
@@ -1464,7 +1423,6 @@ init_esm_shims();
|
|
|
1464
1423
|
// src/constants/index.ts
|
|
1465
1424
|
init_esm_shims();
|
|
1466
1425
|
var SSO_URL = "https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1";
|
|
1467
|
-
new TextEncoder().encode("cc7e0d44fd473002f1c42167459001140ec6389b7353f8088f4d9a95f2f596f2");
|
|
1468
1426
|
|
|
1469
1427
|
// src/pages/Login/index.tsx
|
|
1470
1428
|
init_stores();
|
|
@@ -2869,6 +2827,9 @@ var Default = () => {
|
|
|
2869
2827
|
] });
|
|
2870
2828
|
};
|
|
2871
2829
|
var default_default = Default;
|
|
2830
|
+
|
|
2831
|
+
// src/pages/Login/index.tsx
|
|
2832
|
+
init_hooks2();
|
|
2872
2833
|
var { Title } = Typography;
|
|
2873
2834
|
var Login = (props) => {
|
|
2874
2835
|
const { children } = props;
|
|
@@ -2876,6 +2837,7 @@ var Login = (props) => {
|
|
|
2876
2837
|
const token = useTokenStore((state) => state.token);
|
|
2877
2838
|
const setToken = useTokenStore((state) => state.setToken);
|
|
2878
2839
|
const [showAlert, setShowAlert] = useState(false);
|
|
2840
|
+
const httpClient = useHttpClient();
|
|
2879
2841
|
const { isLoading } = useSWRImmutable(
|
|
2880
2842
|
searchParams.has("ticket") ? {
|
|
2881
2843
|
url: "/api/usystem/user/login",
|
|
@@ -2883,6 +2845,7 @@ var Login = (props) => {
|
|
|
2883
2845
|
ticket: searchParams.get("ticket")
|
|
2884
2846
|
}
|
|
2885
2847
|
} : null,
|
|
2848
|
+
(config) => httpClient.request(config),
|
|
2886
2849
|
{
|
|
2887
2850
|
onSuccess: (data) => {
|
|
2888
2851
|
setToken(data.token);
|
|
@@ -2950,6 +2913,31 @@ var Login = (props) => {
|
|
|
2950
2913
|
};
|
|
2951
2914
|
var Login_default = Login;
|
|
2952
2915
|
|
|
2916
|
+
// src/pages/NoMatch/index.tsx
|
|
2917
|
+
init_esm_shims();
|
|
2918
|
+
var NoMatch = () => {
|
|
2919
|
+
const navigate = useNavigate();
|
|
2920
|
+
return /* @__PURE__ */ jsx("div", { className: "h-screen flex justify-center items-center", children: /* @__PURE__ */ jsx(
|
|
2921
|
+
Result,
|
|
2922
|
+
{
|
|
2923
|
+
status: "404",
|
|
2924
|
+
title: "404",
|
|
2925
|
+
subTitle: "Sorry, the page you visited does not exist.",
|
|
2926
|
+
extra: /* @__PURE__ */ jsx(
|
|
2927
|
+
Button,
|
|
2928
|
+
{
|
|
2929
|
+
type: "primary",
|
|
2930
|
+
onClick: () => {
|
|
2931
|
+
navigate("/");
|
|
2932
|
+
},
|
|
2933
|
+
children: "Back Home"
|
|
2934
|
+
}
|
|
2935
|
+
)
|
|
2936
|
+
}
|
|
2937
|
+
) });
|
|
2938
|
+
};
|
|
2939
|
+
var NoMatch_default = NoMatch;
|
|
2940
|
+
|
|
2953
2941
|
// src/pages/permission/index.tsx
|
|
2954
2942
|
init_esm_shims();
|
|
2955
2943
|
var UserList2 = lazy(() => Promise.resolve().then(() => (init_UserList(), UserList_exports)));
|
|
@@ -3038,7 +3026,7 @@ var NavBar = (props) => {
|
|
|
3038
3026
|
const location = useLocation();
|
|
3039
3027
|
const flattenItems = useMemo(() => flatItems(items != null ? items : []), [items]);
|
|
3040
3028
|
const codes = flattenItems.map((item) => item.code).filter(Boolean);
|
|
3041
|
-
const { data: permissions
|
|
3029
|
+
const { data: permissions } = usePermissions(codes);
|
|
3042
3030
|
const internalItems = useMemo(() => transformItems(items != null ? items : [], permissions), [items, permissions]);
|
|
3043
3031
|
const openKeys = useMenuStore((state) => state.openKeys);
|
|
3044
3032
|
const selectedKeys = useMenuStore((state) => state.selectedKeys);
|
|
@@ -3063,19 +3051,6 @@ var NavBar = (props) => {
|
|
|
3063
3051
|
setOpenKeys(keypath);
|
|
3064
3052
|
}
|
|
3065
3053
|
}, [flattenItems, location, setOpenKeys, setSelectedKeys]);
|
|
3066
|
-
if (isLoading) {
|
|
3067
|
-
return /* @__PURE__ */ jsx(
|
|
3068
|
-
Spin,
|
|
3069
|
-
{
|
|
3070
|
-
style: {
|
|
3071
|
-
display: "flex",
|
|
3072
|
-
justifyContent: "center",
|
|
3073
|
-
alignItems: "center",
|
|
3074
|
-
height: "calc(100vh - 64px)"
|
|
3075
|
-
}
|
|
3076
|
-
}
|
|
3077
|
-
);
|
|
3078
|
-
}
|
|
3079
3054
|
return /* @__PURE__ */ jsx(
|
|
3080
3055
|
Menu,
|
|
3081
3056
|
{
|
|
@@ -3089,58 +3064,96 @@ var NavBar = (props) => {
|
|
|
3089
3064
|
);
|
|
3090
3065
|
};
|
|
3091
3066
|
var NavBar_default = NavBar;
|
|
3067
|
+
|
|
3068
|
+
// src/layouts/Layout.tsx
|
|
3069
|
+
init_hooks2();
|
|
3092
3070
|
var { Header, Sider, Content } = Layout$1;
|
|
3071
|
+
var { ErrorBoundary } = Alert;
|
|
3093
3072
|
var Layout = (props) => {
|
|
3094
3073
|
const { title, items, header, children } = props;
|
|
3095
3074
|
const {
|
|
3096
3075
|
token: { colorBgContainer, colorBorder }
|
|
3097
3076
|
} = theme.useToken();
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
overflow: "auto",
|
|
3105
|
-
height: "100vh",
|
|
3106
|
-
position: "fixed",
|
|
3107
|
-
left: 0,
|
|
3108
|
-
top: 0,
|
|
3109
|
-
bottom: 0,
|
|
3110
|
-
borderRightWidth: 1,
|
|
3111
|
-
borderRightStyle: "solid",
|
|
3112
|
-
borderRightColor: colorBorder
|
|
3113
|
-
},
|
|
3114
|
-
theme: "light",
|
|
3115
|
-
children: [
|
|
3116
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-end px-6 py-4", children: [
|
|
3117
|
-
/* @__PURE__ */ jsx("img", { src: logo, alt: "logo", className: "w-8 h-8" }),
|
|
3118
|
-
/* @__PURE__ */ jsx(Link, { className: "font-bold text-lg ml-2", to: "/", children: title })
|
|
3119
|
-
] }),
|
|
3120
|
-
/* @__PURE__ */ jsx(NavBar_default, { items })
|
|
3121
|
-
]
|
|
3122
|
-
}
|
|
3123
|
-
),
|
|
3124
|
-
/* @__PURE__ */ jsxs(Layout$1, { className: "ml-64", children: [
|
|
3125
|
-
/* @__PURE__ */ jsx(
|
|
3126
|
-
Header,
|
|
3077
|
+
usePermission("100001");
|
|
3078
|
+
return /* @__PURE__ */ jsx(Layout$1, { hasSider: true, className: "h-screen", children: /* @__PURE__ */ jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxs(
|
|
3079
|
+
Suspense,
|
|
3080
|
+
{
|
|
3081
|
+
fallback: /* @__PURE__ */ jsx(
|
|
3082
|
+
Spin,
|
|
3127
3083
|
{
|
|
3128
3084
|
style: {
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
}
|
|
3135
|
-
children: header
|
|
3085
|
+
display: "flex",
|
|
3086
|
+
justifyContent: "center",
|
|
3087
|
+
alignItems: "center",
|
|
3088
|
+
width: "100vw",
|
|
3089
|
+
height: "100vh"
|
|
3090
|
+
}
|
|
3136
3091
|
}
|
|
3137
3092
|
),
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3093
|
+
children: [
|
|
3094
|
+
/* @__PURE__ */ jsxs(
|
|
3095
|
+
Sider,
|
|
3096
|
+
{
|
|
3097
|
+
width: 256,
|
|
3098
|
+
style: {
|
|
3099
|
+
overflow: "auto",
|
|
3100
|
+
height: "100vh",
|
|
3101
|
+
position: "fixed",
|
|
3102
|
+
left: 0,
|
|
3103
|
+
top: 0,
|
|
3104
|
+
bottom: 0,
|
|
3105
|
+
borderRightWidth: 1,
|
|
3106
|
+
borderRightStyle: "solid",
|
|
3107
|
+
borderRightColor: colorBorder
|
|
3108
|
+
},
|
|
3109
|
+
theme: "light",
|
|
3110
|
+
children: [
|
|
3111
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-end px-6 py-4", children: [
|
|
3112
|
+
/* @__PURE__ */ jsx("img", { src: logo, alt: "logo", className: "w-8 h-8" }),
|
|
3113
|
+
/* @__PURE__ */ jsx(Link, { className: "font-bold text-lg ml-2", to: "/", children: title })
|
|
3114
|
+
] }),
|
|
3115
|
+
/* @__PURE__ */ jsx(NavBar_default, { items })
|
|
3116
|
+
]
|
|
3117
|
+
}
|
|
3118
|
+
),
|
|
3119
|
+
/* @__PURE__ */ jsxs(Layout$1, { className: "ml-64", children: [
|
|
3120
|
+
/* @__PURE__ */ jsx(
|
|
3121
|
+
Header,
|
|
3122
|
+
{
|
|
3123
|
+
style: {
|
|
3124
|
+
padding: "0 24px",
|
|
3125
|
+
background: colorBgContainer,
|
|
3126
|
+
borderBottomWidth: 1,
|
|
3127
|
+
borderBottomStyle: "solid",
|
|
3128
|
+
borderBottomColor: colorBorder
|
|
3129
|
+
},
|
|
3130
|
+
children: header
|
|
3131
|
+
}
|
|
3132
|
+
),
|
|
3133
|
+
/* @__PURE__ */ jsx(Content, { className: "p-6 overflow-auto bg-gray-50", children: /* @__PURE__ */ jsx(
|
|
3134
|
+
Suspense,
|
|
3135
|
+
{
|
|
3136
|
+
fallback: /* @__PURE__ */ jsx(
|
|
3137
|
+
Spin,
|
|
3138
|
+
{
|
|
3139
|
+
style: {
|
|
3140
|
+
display: "flex",
|
|
3141
|
+
justifyContent: "center",
|
|
3142
|
+
alignItems: "center",
|
|
3143
|
+
height: "50vh"
|
|
3144
|
+
}
|
|
3145
|
+
}
|
|
3146
|
+
),
|
|
3147
|
+
children
|
|
3148
|
+
}
|
|
3149
|
+
) })
|
|
3150
|
+
] })
|
|
3151
|
+
]
|
|
3152
|
+
}
|
|
3153
|
+
) }) });
|
|
3141
3154
|
};
|
|
3142
3155
|
var Layout_default = Layout;
|
|
3143
3156
|
|
|
3144
|
-
export { DynamicTags_default as DynamicTags,
|
|
3157
|
+
export { DynamicTags_default as DynamicTags, FilterForm_default as FilterForm, FormModal_default as FormModal, Highlight_default as Highlight, HttpClientError, Layout_default as Layout, Login_default as Login, NoMatch_default as NoMatch, PermissionButton_default as PermissionButton, QueryList_default as QueryList, SSO_URL, permission_default as permission, useFormModal, useHttpClient, useMenuStore, usePermission, usePermissions, useQueryTriggerStore, useTokenStore };
|
|
3145
3158
|
//# sourceMappingURL=out.js.map
|
|
3146
3159
|
//# sourceMappingURL=index.esm.js.map
|