react-toolkits 0.6.2 → 0.6.3

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.
@@ -1,4 +1,4 @@
1
- import { u as o, j as t } from "./index-g-p7nqAT.chunk.js";
1
+ import { u as o, j as t } from "./index-dkau8dN4.chunk.js";
2
2
  import { Result as r, Button as i } from "antd";
3
3
  import { useNavigate as n } from "react-router-dom";
4
4
  import "react";
@@ -27,3 +27,4 @@ const p = () => {
27
27
  export {
28
28
  p as default
29
29
  };
30
+ //# sourceMappingURL=index-gveuSV73.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-gveuSV73.chunk.js","sources":["../src/pages/NotFound/index.tsx"],"sourcesContent":["import { Button, Result } from 'antd'\nimport { useNavigate } from 'react-router-dom'\nimport { useTranslation } from '../../hooks/i18n'\n\nconst NotFound = () => {\n const navigate = useNavigate()\n const t = useTranslation()\n return (\n <div className=\"h-screen flex justify-center items-center\">\n <Result\n status=\"404\"\n title=\"404\"\n subTitle={t('NotFound.subTitle')}\n extra={\n <Button\n type=\"primary\"\n onClick={() => {\n navigate('/')\n }}\n >\n {t('NotFound.buttonText')}\n </Button>\n }\n />\n </div>\n )\n}\n\nexport default NotFound\n"],"names":["NotFound","navigate","useNavigate","t","useTranslation","jsx","Result","Button"],"mappings":";;;;;AAIA,MAAMA,IAAW,MAAM;AACrB,QAAMC,IAAWC,KACXC,IAAIC;AAER,SAAAC,gBAAAA,EAAAA,IAAC,OAAI,EAAA,WAAU,6CACb,UAAAA,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,OAAM;AAAA,MACN,UAAUH,EAAE,mBAAmB;AAAA,MAC/B,OACEE,gBAAAA,EAAA;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAS,MAAM;AACb,YAAAN,EAAS,GAAG;AAAA,UACd;AAAA,UAEC,YAAE,qBAAqB;AAAA,QAAA;AAAA,MAC1B;AAAA,IAAA;AAAA,EAGN,EAAA,CAAA;AAEJ;"}
@@ -1,35 +1,35 @@
1
- import { A as T, _ as N, f as b, u as U, j as e, P as g, H as R, Q as z, h as I } from "./index-g-p7nqAT.chunk.js";
2
- import { App as f, Row as H, Col as E, Tag as L, Space as G, Card as Q, Form as d, Input as j, Select as y } from "antd";
1
+ import { A as T, _ as N, f as b, u as U, j as e, P as g, H as R, Q as z, h as I } from "./index-dkau8dN4.chunk.js";
2
+ import { App as f, Row as H, Col as E, Tag as L, Space as G, Card as P, Form as d, Input as j, Select as y } from "antd";
3
3
  import { p as S } from "./immer-BLf7GM7E.chunk.js";
4
- import { Link as _ } from "react-router-dom";
5
- import { f as $, g as q, h as k, i as B } from "./index-6IUwdn-6.chunk.js";
6
- import * as v from "react";
4
+ import { Link as Q } from "react-router-dom";
5
+ import { f as _, g as $, h as k, i as q } from "./index-t9jv_VWg.chunk.js";
6
+ import * as O from "react";
7
7
  import "react-dom";
8
- var D = { icon: { tag: "svg", attrs: { viewBox: "64 64 896 896", focusable: "false" }, children: [{ tag: "path", attrs: { d: "M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, name: "user-add", theme: "outlined" };
9
- const F = D;
10
- var O = function(c, r) {
11
- return /* @__PURE__ */ v.createElement(T, N({}, c, {
8
+ var B = { icon: { tag: "svg", attrs: { viewBox: "64 64 896 896", focusable: "false" }, children: [{ tag: "path", attrs: { d: "M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z" } }] }, name: "user-add", theme: "outlined" };
9
+ const D = B;
10
+ var v = function(c, r) {
11
+ return /* @__PURE__ */ O.createElement(T, N({}, c, {
12
12
  ref: r,
13
- icon: F
13
+ icon: D
14
14
  }));
15
15
  };
16
- process.env.NODE_ENV !== "production" && (O.displayName = "UserAddOutlined");
17
- const P = /* @__PURE__ */ v.forwardRef(O), { Option: V } = y, h = "/api/usystem/user/list";
16
+ process.env.NODE_ENV !== "production" && (v.displayName = "UserAddOutlined");
17
+ const F = /* @__PURE__ */ O.forwardRef(v), { Option: V } = y, h = "/api/usystem/user/list";
18
18
  function K() {
19
- const { message: u } = f.useApp(), c = q(), { data: r, isLoading: m } = k(), { mutate: p } = b(), n = U();
19
+ const { message: m } = f.useApp(), c = $(), { data: r, isLoading: u } = k(), { setPage: p } = b(), n = U();
20
20
  return I({
21
21
  title: n("UserList.createTitle"),
22
22
  content: (l) => /* @__PURE__ */ e.jsxs(d, { form: l, labelCol: { flex: "80px" }, children: [
23
23
  /* @__PURE__ */ e.jsx(d.Item, { label: n("global.name"), name: "name", rules: [{ required: !0 }], children: /* @__PURE__ */ e.jsx(j, {}) }),
24
- /* @__PURE__ */ e.jsx(d.Item, { label: n("global.role"), name: "roles", children: /* @__PURE__ */ e.jsx(y, { allowClear: !0, mode: "multiple", loading: m, children: (r ?? []).map((i) => /* @__PURE__ */ e.jsx(V, { value: i.name, children: i.name }, i.id)) }) })
24
+ /* @__PURE__ */ e.jsx(d.Item, { label: n("global.role"), name: "roles", children: /* @__PURE__ */ e.jsx(y, { allowClear: !0, mode: "multiple", loading: u, children: (r ?? []).map((i) => /* @__PURE__ */ e.jsx(V, { value: i.name, children: i.name }, i.id)) }) })
25
25
  ] }),
26
26
  async onConfirm(l) {
27
- await c.trigger(l), p(h, { page: 1 }), u.success(n("UserList.createSuccessfully"));
27
+ await c.trigger(l), p(h, 1), m.success(n("UserList.createSuccessfully"));
28
28
  }
29
29
  });
30
30
  }
31
31
  function J() {
32
- const { message: u } = f.useApp(), c = B(), { data: r, isLoading: m } = k(), { mutate: p } = b(), n = U();
32
+ const { message: m } = f.useApp(), c = q(), { data: r, isLoading: u } = k(), { mutate: p } = b(), n = U();
33
33
  return I({
34
34
  title: n("UserList.updateTitle"),
35
35
  content: (l) => /* @__PURE__ */ e.jsxs(d, { form: l, labelCol: { flex: "80px" }, children: [
@@ -40,7 +40,7 @@ function J() {
40
40
  {
41
41
  allowClear: !0,
42
42
  mode: "multiple",
43
- loading: m,
43
+ loading: u,
44
44
  options: r == null ? void 0 : r.map((i) => ({
45
45
  label: i.name,
46
46
  value: i.name
@@ -52,19 +52,18 @@ function J() {
52
52
  async onConfirm(l) {
53
53
  await c.trigger(l), p(
54
54
  h,
55
- void 0,
56
55
  (i) => S(i, (s) => {
57
56
  var t;
58
57
  const x = (t = s == null ? void 0 : s.list) == null ? void 0 : t.find((o) => o.id === l.id);
59
58
  x && (x.roles = l.roles);
60
59
  }),
61
60
  { revalidate: !1 }
62
- ), u.success(n("UserList.updateSuccessfully"));
61
+ ), m.success(n("UserList.updateSuccessfully"));
63
62
  }
64
63
  });
65
64
  }
66
65
  const te = () => {
67
- const { modal: u, message: c } = f.useApp(), r = $(), { mutate: m } = b(), { show: p, contextHolder: n } = K(), { show: l, contextHolder: i } = J(), s = U(), x = [
66
+ const { modal: m, message: c } = f.useApp(), r = _(), { mutate: u } = b(), { show: p, contextHolder: n } = K(), { show: l, contextHolder: i } = J(), s = U(), x = [
68
67
  {
69
68
  title: s("global.name"),
70
69
  dataIndex: "name",
@@ -81,7 +80,7 @@ const te = () => {
81
80
  key: "roles",
82
81
  width: "40%",
83
82
  render(t) {
84
- return /* @__PURE__ */ e.jsx(H, { gutter: [4, 4], children: (t || []).map((o) => /* @__PURE__ */ e.jsx(E, { children: o === "root" ? /* @__PURE__ */ e.jsx(L, { color: "#f50", children: o }) : /* @__PURE__ */ e.jsx(L, { color: "#ff5a00", children: /* @__PURE__ */ e.jsx(_, { to: `/permission/role/${o}`, children: o }) }) }, o)) });
83
+ return /* @__PURE__ */ e.jsx(H, { gutter: [4, 4], children: (t || []).map((o) => /* @__PURE__ */ e.jsx(E, { children: o === "root" ? /* @__PURE__ */ e.jsx(L, { color: "#f50", children: o }) : /* @__PURE__ */ e.jsx(L, { color: "#ff5a00", children: /* @__PURE__ */ e.jsx(Q, { to: `/permission/role/${o}`, children: o }) }) }, o)) });
85
84
  }
86
85
  },
87
86
  {
@@ -122,14 +121,14 @@ const te = () => {
122
121
  code: "100004",
123
122
  type: "link",
124
123
  onClick: () => {
125
- u.confirm({
124
+ m.confirm({
126
125
  title: s("UserList.deleteTitle"),
127
126
  content: /* @__PURE__ */ e.jsx(R, { texts: [t.name], children: s("UserList.deleteContent", { user: t.name }) }),
128
127
  async onOk() {
129
128
  await r.trigger({
130
129
  id: t.id,
131
130
  name: t.name
132
- }), m(h, void 0, (o) => S(o, (a) => {
131
+ }), u(h, (o) => S(o, (a) => {
133
132
  var w, A;
134
133
  const C = (w = a == null ? void 0 : a.list) == null ? void 0 : w.findIndex((M) => M.id === t.id);
135
134
  C && ((A = a == null ? void 0 : a.list) == null || A.splice(C, 1));
@@ -144,7 +143,7 @@ const te = () => {
144
143
  }
145
144
  ];
146
145
  return /* @__PURE__ */ e.jsxs(
147
- Q,
146
+ P,
148
147
  {
149
148
  title: s("global.user"),
150
149
  extra: /* @__PURE__ */ e.jsx(
@@ -152,7 +151,7 @@ const te = () => {
152
151
  {
153
152
  isGlobalNS: !0,
154
153
  type: "primary",
155
- icon: /* @__PURE__ */ e.jsx(P, {}),
154
+ icon: /* @__PURE__ */ e.jsx(F, {}),
156
155
  code: "100002",
157
156
  onClick: () => {
158
157
  p();
@@ -166,7 +165,7 @@ const te = () => {
166
165
  {
167
166
  isGlobalNS: !0,
168
167
  code: "100001",
169
- url: h,
168
+ action: h,
170
169
  rowKey: "id",
171
170
  columns: x,
172
171
  transformResponse: (t) => {
@@ -182,6 +181,7 @@ const te = () => {
182
181
  );
183
182
  };
184
183
  export {
185
- te as default,
186
- h as url
184
+ h as action,
185
+ te as default
187
186
  };
187
+ //# sourceMappingURL=index-mGxkr4KP.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-mGxkr4KP.chunk.js","sources":["../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.1/node_modules/@ant-design/icons-svg/es/asn/UserAddOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/UserAddOutlined.js","../src/pages/UserList/index.tsx"],"sourcesContent":["// This icon file is generated automatically.\nvar UserAddOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"user-add\", \"theme\": \"outlined\" };\nexport default UserAddOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UserAddOutlinedSvg from \"@ant-design/icons-svg/es/asn/UserAddOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UserAddOutlined = function UserAddOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UserAddOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n UserAddOutlined.displayName = 'UserAddOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(UserAddOutlined);","import { UserAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Col, Form, Input, Row, Select, Space, Tag } from 'antd'\nimport { produce } from 'immer'\nimport type { FC } from 'react'\nimport { Link } from 'react-router-dom'\nimport Highlight from '../../components/Highlight'\nimport PermissionButton from '../../components/PermissionButton'\nimport QueryList from '../../components/QueryList'\nimport type { UserListItem } from '../../features/permission'\nimport { useAllRoles, useCreateUser, useRemoveUser, useUpdateUser } from '../../features/permission'\nimport { useFormModal } from '../../hooks/formModal'\nimport { useTranslation } from '../../hooks/i18n'\nimport { useQueryListStore } from '../../stores/queryList'\n\nconst { Option } = Select\n\nexport const action = '/api/usystem/user/list'\n\nfunction useCreatingUserModal() {\n const { message } = App.useApp()\n const create = useCreateUser()\n const { data: roles, isLoading } = useAllRoles()\n const { setPage } = useQueryListStore()\n const t = useTranslation()\n\n return useFormModal<{ id: string; name: string; roles: string[] }>({\n title: t('UserList.createTitle'),\n content: form => (\n <Form form={form} labelCol={{ flex: '80px' }}>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select allowClear mode=\"multiple\" loading={isLoading}>\n {(roles ?? []).map(role => (\n <Option value={role.name} key={role.id}>\n {role.name}\n </Option>\n ))}\n </Select>\n </Form.Item>\n </Form>\n ),\n async onConfirm(values) {\n await create.trigger(values)\n setPage(action, 1)\n message.success(t('UserList.createSuccessfully'))\n },\n })\n}\n\nfunction useUpdatingUserModal() {\n const { message } = App.useApp()\n const update = useUpdateUser()\n const { data: roles, isLoading } = useAllRoles()\n const { mutate } = useQueryListStore()\n const t = useTranslation()\n\n return useFormModal<{ id: string; name: string; roles: string[] }>({\n title: t('UserList.updateTitle'),\n content: form => (\n <Form form={form} labelCol={{ flex: '80px' }}>\n <Form.Item hidden name=\"id\">\n <Input />\n </Form.Item>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input readOnly />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select\n allowClear\n mode=\"multiple\"\n loading={isLoading}\n options={roles?.map(role => ({\n label: role.name,\n value: role.name,\n }))}\n // FIXME: 在项目中引入时弹出框会被 Modal 遮盖,暂时不知道原因。\n dropdownStyle={{ zIndex: 9999 }}\n />\n </Form.Item>\n </Form>\n ),\n async onConfirm(values) {\n await update.trigger(values)\n mutate(\n action,\n prev =>\n produce(prev, draft => {\n const match = draft?.list?.find(item => item.id === values.id)\n\n if (match) {\n match.roles = values.roles\n }\n }),\n { revalidate: false },\n )\n message.success(t('UserList.updateSuccessfully'))\n },\n })\n}\n\nconst UserList: FC = () => {\n const { modal, message } = App.useApp()\n const remove = useRemoveUser()\n const { mutate } = useQueryListStore()\n const { show: showCreatingModal, contextHolder: creatingContextHolder } = useCreatingUserModal()\n const { show: showUpdatingModal, contextHolder: updatingContextHolder } = useUpdatingUserModal()\n const t = useTranslation()\n\n const columns: TableColumnsType<UserListItem> = [\n {\n title: t('global.name'),\n dataIndex: 'name',\n key: 'name',\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n {\n title: t('global.role'),\n dataIndex: 'roles',\n key: 'roles',\n width: '40%',\n render(value: string[]) {\n return (\n <Row gutter={[4, 4]}>\n {(value || []).map((item: string) => (\n <Col key={item}>\n {item === 'root' ? (\n <Tag color=\"#f50\">{item}</Tag>\n ) : (\n <Tag color=\"#ff5a00\">\n <Link to={`/permission/role/${item}`}>{item}</Link>\n </Tag>\n )}\n </Col>\n ))}\n </Row>\n )\n },\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'Ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (value: UserListItem) => (\n <Space>\n <PermissionButton\n isGlobalNS\n size=\"small\"\n type=\"link\"\n code=\"100003\"\n onClick={() => {\n showUpdatingModal({\n initialValues: {\n id: value.id,\n name: value.name,\n roles: value.roles,\n },\n })\n }}\n >\n {t('global.update')}\n </PermissionButton>\n <PermissionButton\n isGlobalNS\n danger\n size=\"small\"\n code=\"100004\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('UserList.deleteTitle'),\n content: (\n <Highlight texts={[value.name]}>{t('UserList.deleteContent', { user: value.name })}</Highlight>\n ),\n async onOk() {\n await remove.trigger({\n id: value.id,\n name: value.name,\n })\n mutate(action, prev => {\n return produce(prev, draft => {\n const index = draft?.list?.findIndex(item => item.id === value.id)\n if (index) {\n draft?.list?.splice(index, 1)\n }\n })\n })\n message.success(t('UserList.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </PermissionButton>\n </Space>\n ),\n },\n ]\n\n return (\n <Card\n title={t('global.user')}\n extra={\n <PermissionButton\n isGlobalNS\n type=\"primary\"\n icon={<UserAddOutlined />}\n code=\"100002\"\n onClick={() => {\n showCreatingModal()\n }}\n >\n {t('UserList.createTitle')}\n </PermissionButton>\n }\n >\n <QueryList<UserListItem, undefined, { List: UserListItem[]; Total: number }>\n isGlobalNS\n code=\"100001\"\n action={action}\n rowKey=\"id\"\n columns={columns}\n transformResponse={response => {\n const { List, Total } = response\n return { list: List, total: Total }\n }}\n />\n {creatingContextHolder}\n {updatingContextHolder}\n </Card>\n )\n}\n\nexport default UserList\n"],"names":["UserAddOutlined","UserAddOutlinedSvg","props","ref","React","AntdIcon","_extends","UserAddOutlined$1","Option","Select","action","useCreatingUserModal","message","App","create","useCreateUser","roles","isLoading","useAllRoles","setPage","useQueryListStore","t","useTranslation","useFormModal","jsxs","Form","form","jsx","Input","role","values","useUpdatingUserModal","update","useUpdateUser","mutate","prev","produce","draft","match","_a","item","UserList","modal","remove","useRemoveUser","showCreatingModal","creatingContextHolder","showUpdatingModal","updatingContextHolder","columns","value","Row","Col","Tag","Link","Space","PermissionButton","Highlight","index","_b","Card","QueryList","response","List","Total"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,8 +1,8 @@
1
- import { u as t, j as i } from "./index-g-p7nqAT.chunk.js";
1
+ import { u as t, j as i } from "./index-dkau8dN4.chunk.js";
2
2
  import { Breadcrumb as m, Card as n, Skeleton as a, Descriptions as r } from "antd";
3
3
  import { useParams as c, Link as p } from "react-router-dom";
4
- import { P as u } from "./index-vplz9Kr-.chunk.js";
5
- import { u as x } from "./index-6IUwdn-6.chunk.js";
4
+ import { P as u } from "./index-LFJ8CuhL.chunk.js";
5
+ import { u as x } from "./index-t9jv_VWg.chunk.js";
6
6
  import "react";
7
7
  import "react-dom";
8
8
  const k = () => {
@@ -37,3 +37,4 @@ const k = () => {
37
37
  export {
38
38
  k as default
39
39
  };
40
+ //# sourceMappingURL=index-sG30lYpd.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-sG30lYpd.chunk.js","sources":["../src/pages/RoleDetail/index.tsx"],"sourcesContent":["import { Breadcrumb, Card, Descriptions, Skeleton } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\nimport { PermissionList, useRole } from '../../features/permission'\nimport { useTranslation } from '../../hooks/i18n'\n\nconst RoleDetail = () => {\n const params = useParams()\n const { data, isLoading } = useRole(params.name as string)\n const t = useTranslation()\n\n return (\n <>\n <Breadcrumb\n style={{ marginBottom: 24 }}\n items={[\n {\n key: '1',\n title: <Link to=\"/permission/role\">{t('global.role')}</Link>,\n },\n {\n key: '2',\n title: params.name,\n },\n ]}\n />\n <Card title={t('RoleDetail.title')}>\n <Skeleton loading={isLoading}>\n <Descriptions column={3} layout=\"vertical\">\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.creationTime')}>{data?.ctime}</Descriptions.Item>\n </Descriptions>\n <PermissionList readonly value={data?.permissions} />\n </Skeleton>\n </Card>\n </>\n )\n}\n\nexport default RoleDetail\n"],"names":["RoleDetail","params","useParams","data","isLoading","useRole","t","useTranslation","jsxs","Fragment","jsx","Breadcrumb","Link","Card","Skeleton","Descriptions","PermissionList"],"mappings":";;;;;;;AAKA,MAAMA,IAAa,MAAM;AACvB,QAAMC,IAASC,KACT,EAAE,MAAAC,GAAM,WAAAC,EAAA,IAAcC,EAAQJ,EAAO,IAAc,GACnDK,IAAIC;AAEV,SAEIC,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAAC,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,cAAc,GAAG;AAAA,QAC1B,OAAO;AAAA,UACL;AAAA,YACE,KAAK;AAAA,YACL,OAAQD,gBAAAA,EAAAA,IAAAE,GAAA,EAAK,IAAG,oBAAoB,UAAAN,EAAE,aAAa,GAAE;AAAA,UACvD;AAAA,UACA;AAAA,YACE,KAAK;AAAA,YACL,OAAOL,EAAO;AAAA,UAChB;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,IACAS,gBAAAA,EAAAA,IAACG,KAAK,OAAOP,EAAE,kBAAkB,GAC/B,UAAAE,gBAAAA,EAAAA,KAACM,GAAS,EAAA,SAASV,GACjB,UAAA;AAAA,MAAAI,gBAAAA,EAAA,KAACO,GAAa,EAAA,QAAQ,GAAG,QAAO,YAC9B,UAAA;AAAA,QAACL,gBAAAA,EAAAA,IAAAK,EAAa,MAAb,EAAkB,OAAOT,EAAE,aAAa,GAAI,iCAAM,MAAK;AAAA,8BACvDS,EAAa,MAAb,EAAkB,OAAM,MAAM,iCAAM,IAAG;AAAA,QACxCL,gBAAAA,EAAAA,IAACK,EAAa,MAAb,EAAkB,OAAOT,EAAE,qBAAqB,GAAI,UAAAH,KAAA,gBAAAA,EAAM,OAAM;AAAA,MAAA,GACnE;AAAA,4BACCa,GAAe,EAAA,UAAQ,IAAC,OAAOb,KAAA,gBAAAA,EAAM,aAAa;AAAA,IAAA,EAAA,CACrD,EACF,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -1,4 +1,4 @@
1
- import { I as O, w as W, i as h, k as x, s as z, m as N, n as V, U as y, o as U, b as G, r as n, e as K } from "./index-g-p7nqAT.chunk.js";
1
+ import { I as O, w as W, i as h, k as x, s as z, m as N, n as V, U as y, o as U, b as G, r as n, e as K } from "./index-dkau8dN4.chunk.js";
2
2
  import L, { useRef as o, useCallback as w, useState as $ } from "react";
3
3
  const P = O ? (e) => {
4
4
  e();
@@ -210,3 +210,4 @@ export {
210
210
  te as i,
211
211
  Q as u
212
212
  };
213
+ //# sourceMappingURL=index-t9jv_VWg.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-t9jv_VWg.chunk.js","sources":["../../../node_modules/.pnpm/swr@2.2.4_react@18.2.0/node_modules/swr/mutation/dist/index.mjs","../src/features/permission/hooks/index.ts"],"sourcesContent":["import React, { useState, useRef, useCallback } from 'react';\nimport useSWR, { useSWRConfig } from 'swr';\nimport { IS_REACT_LEGACY, useIsomorphicLayoutEffect, withMiddleware, serialize, mergeObjects, getTimestamp, UNDEFINED } from 'swr/_internal';\n\nconst startTransition = IS_REACT_LEGACY ? (cb)=>{\n cb();\n} : React.startTransition;\n/**\n * An implementation of state with dependency-tracking.\n */ const useStateWithDeps = (state)=>{\n const [, rerender] = useState({});\n const unmountedRef = useRef(false);\n const stateRef = useRef(state);\n // If a state property (data, error, or isValidating) is accessed by the render\n // function, we mark the property as a dependency so if it is updated again\n // in the future, we trigger a rerender.\n // This is also known as dependency-tracking.\n const stateDependenciesRef = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n /**\n * @param payload To change stateRef, pass the values explicitly to setState:\n * @example\n * ```js\n * setState({\n * isValidating: false\n * data: newData // set data to newData\n * error: undefined // set error to undefined\n * })\n *\n * setState({\n * isValidating: false\n * data: undefined // set data to undefined\n * error: err // set error to err\n * })\n * ```\n */ const setState = useCallback((payload)=>{\n let shouldRerender = false;\n const currentState = stateRef.current;\n for(const _ in payload){\n const k = _;\n // If the property has changed, update the state and mark rerender as\n // needed.\n if (currentState[k] !== payload[k]) {\n currentState[k] = payload[k];\n // If the property is accessed by the component, a rerender should be\n // triggered.\n if (stateDependenciesRef.current[k]) {\n shouldRerender = true;\n }\n }\n }\n if (shouldRerender && !unmountedRef.current) {\n rerender({});\n }\n }, []);\n useIsomorphicLayoutEffect(()=>{\n unmountedRef.current = false;\n return ()=>{\n unmountedRef.current = true;\n };\n });\n return [\n stateRef,\n stateDependenciesRef.current,\n setState\n ];\n};\n\nconst mutation = ()=>(key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n var _options_onSuccess, _options;\n startTransition(()=>setState({\n data,\n isMutating: false,\n error: undefined\n }));\n (_options_onSuccess = (_options = options).onSuccess) == null ? void 0 : _options_onSuccess.call(_options, data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n var _options_onError, _options1;\n startTransition(()=>setState({\n error: error,\n isMutating: false\n }));\n (_options_onError = (_options1 = options).onError) == null ? void 0 : _options_onError.call(_options1, error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ const useSWRMutation = withMiddleware(useSWR, mutation);\n\nexport { useSWRMutation as default };\n","import useSWR from 'swr'\nimport useSWRMutation from 'swr/mutation'\nimport { useToolkitsContext } from '../../../components/ContextProvider'\nimport type { Game } from '../../../components/GameSelect'\nimport { usePermission } from '../../../hooks/permission'\nimport { request } from '../../../utils/request'\nimport type { PermissionEnumItem, RoleEnumItem, RoleV1, RoleV2 } from '../types'\n\nexport function useAllPermissions() {\n return useSWR('/api/usystem/user/allPermssions', url =>\n request<PermissionEnumItem[]>(url, { isGlobalNS: true }).then(response => response.data),\n )\n}\n\nexport function useAllPermissionsV2() {\n return useSWR('/api/usystem/user/allPermissionsV2', url =>\n request<{\n game: Game[]\n permission: PermissionEnumItem[]\n }>(url, { isGlobalNS: true }).then(response => response.data),\n )\n}\n\nexport function useAllRoles() {\n const { accessible } = usePermission('200005', { isGlobalNS: true })\n return useSWR(accessible ? '/api/usystem/role/all' : null, url =>\n request<RoleEnumItem[]>(url, { isGlobalNS: true }).then(response => response.data),\n )\n}\n\nexport function useRole(name: string) {\n const { usePermissionApiV2 } = useToolkitsContext()\n return useSWR(`/api/usystem/role/${usePermissionApiV2 ? 'infoV2' : 'info'}?name=${name}`, (url: string) =>\n request<RoleV1 | RoleV2>(url, { isGlobalNS: true }).then(response => response.data),\n )\n}\n\nexport function useCreateRole() {\n const { usePermissionApiV2 } = useToolkitsContext()\n\n return useSWRMutation(\n usePermissionApiV2 ? '/api/usystem/role/createV2' : '/api/usystem/role/create',\n (\n url: string,\n {\n arg,\n }: {\n arg: { name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobalNS: true,\n }),\n )\n}\n\nexport function useUpdateRole() {\n const { usePermissionApiV2 } = useToolkitsContext()\n\n return useSWRMutation(\n usePermissionApiV2 ? '/api/usystem/role/updateV2' : '/api/usystem/role/update',\n (\n url: string,\n {\n arg,\n }: {\n arg: { id: number; name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobalNS: true,\n }),\n )\n}\n\nexport function useRemoveRole() {\n return useSWRMutation(\n '/api/usystem/role/delete',\n (\n url,\n {\n arg,\n }: {\n arg: { id: number; name: string }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobalNS: true,\n }),\n )\n}\n\nexport function useCreateUser() {\n return useSWRMutation(\n '/api/usystem/user/create',\n (\n url,\n {\n arg,\n }: {\n arg: { name: string; roles: string[] }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobalNS: true,\n }),\n )\n}\n\nexport function useUpdateUser() {\n return useSWRMutation(\n '/api/usystem/user/update',\n (\n url,\n {\n arg,\n }: {\n arg: { id: string; name: string; roles: string[] }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobalNS: true,\n }),\n )\n}\n\nexport function useRemoveUser() {\n return useSWRMutation(\n '/api/usystem/user/delete',\n (\n url,\n {\n arg,\n }: {\n arg: { id: string; name: string }\n },\n ) =>\n request(url, {\n method: 'post',\n body: arg,\n isGlobalNS: true,\n }),\n )\n}\n"],"names":["startTransition","IS_REACT_LEGACY","cb","React","useStateWithDeps","state","rerender","useState","unmountedRef","useRef","stateRef","stateDependenciesRef","setState","useCallback","payload","shouldRerender","currentState","_","k","useIsomorphicLayoutEffect","mutation","key","fetcher","config","mutate","useSWRConfig","keyRef","fetcherRef","configRef","ditchMutationsUntilRef","stateDependencies","UNDEFINED","trigger","arg","opts","serializedKey","resolvedKey","serialize","options","mergeObjects","mutationStartedAt","getTimestamp","data","_options_onSuccess","_options","error","_options_onError","_options1","reset","useSWRMutation","withMiddleware","useSWR","useAllPermissions","url","request","response","useAllPermissionsV2","useAllRoles","accessible","usePermission","useRole","name","usePermissionApiV2","useToolkitsContext","useCreateRole","useUpdateRole","useRemoveRole","useCreateUser","useUpdateUser","useRemoveUser"],"mappings":"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","x_google_ignoreList":[0]}
package/lib/index.d.ts CHANGED
@@ -248,10 +248,13 @@ export declare enum QueryListAction {
248
248
  Init = "init"
249
249
  }
250
250
 
251
- declare type QueryListMutator = <T = any>(key: string, payload?: Partial<{
251
+ declare type QueryListMutator = <T = any>(key: string, data?: ListResponse<T> | Promise<ListResponse<T>> | MutatorCallback<ListResponse<T>>, opts?: MutatorOptions<ListResponse<T>>) => void;
252
+
253
+ declare interface QueryListPayload {
252
254
  page: number;
253
255
  size: number;
254
- }>, data?: ListResponse<T> | Promise<ListResponse<T>> | MutatorCallback<ListResponse<T>>, opts?: MutatorOptions<ListResponse<T>>) => void;
256
+ formValue?: any;
257
+ }
255
258
 
256
259
  export declare interface QueryListProps<Item = any, Values = any, Response = any> extends Pick<TableProps<Item>, 'columns' | 'rowKey' | 'tableLayout' | 'expandable' | 'rowSelection' | 'bordered'> {
257
260
  action: string;
@@ -276,11 +279,14 @@ export declare interface QueryListRef<Values = any> {
276
279
 
277
280
  declare interface QueryListState {
278
281
  keyMap: Map<string, string | null>;
279
- paginationMap: Map<string, {
282
+ payloadMap: Map<string, QueryListPayload>;
283
+ mutate: QueryListMutator;
284
+ getPayload(key: string): QueryListPayload;
285
+ setPayload(key: string, payload: Partial<{
280
286
  page: number;
281
287
  size: number;
282
- }>;
283
- mutate: QueryListMutator;
288
+ formValue?: any;
289
+ }>, preventUpdate?: boolean): void;
284
290
  }
285
291
 
286
292
  declare type RecursivePartial<T> = NonNullable<T> extends object ? {
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as i, D as u, F as n, G as m, H as p, q as l, L as d, N as x, P as y, v as L, Q as P, p as S, K as g, R as G, y as T, x as c, B as h, r as q, h as F, t as Q, e as R, z as f, f as k, a as v, b as B, u as C, E as D, J as E } from "./index-g-p7nqAT.chunk.js";
1
+ import { C as i, D as u, F as n, G as m, H as p, q as l, L as d, N as x, P as y, v as L, Q as P, p as S, K as g, R as G, y as T, x as c, B as h, r as q, h as F, t as Q, e as R, z as f, f as k, a as v, b as B, u as C, E as D, J as E } from "./index-dkau8dN4.chunk.js";
2
2
  import "react";
3
3
  import "antd";
4
4
  import "react-dom";
@@ -33,3 +33,4 @@ export {
33
33
  D as useValidateToken,
34
34
  E as withBaseRoutes
35
35
  };
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-toolkits",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "packageManager": "^pnpm@8.7.5",
5
5
  "sideEffects": [
6
6
  "**/*.css"