react-toolkits 2.24.19 → 2.24.20
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/CHANGELOG.md +6 -0
- package/README.md +14 -0
- package/lib/chunk-3VI7KSDA.js +2 -0
- package/lib/{chunk-H5Y4DYUL.js.map → chunk-3VI7KSDA.js.map} +1 -1
- package/lib/chunk-3ZT3BOPJ.js +3 -0
- package/lib/chunk-3ZT3BOPJ.js.map +1 -0
- package/lib/{chunk-D75NVCYN.js → chunk-D5OM3OZU.js} +2 -2
- package/lib/{chunk-D75NVCYN.js.map → chunk-D5OM3OZU.js.map} +1 -1
- package/lib/chunk-F3OT6ENF.js +2 -0
- package/lib/{chunk-UPO7NB6O.js.map → chunk-F3OT6ENF.js.map} +1 -1
- package/lib/chunk-FD52RBG7.js +2 -0
- package/lib/{chunk-ZF7POJAA.js.map → chunk-FD52RBG7.js.map} +1 -1
- package/lib/{chunk-ST7VUWJ4.js → chunk-IWPBGSXS.js} +2 -2
- package/lib/{chunk-ST7VUWJ4.js.map → chunk-IWPBGSXS.js.map} +1 -1
- package/lib/chunk-S4LUEDFA.js +2 -0
- package/lib/{chunk-NNXVZIY2.js.map → chunk-S4LUEDFA.js.map} +1 -1
- package/lib/chunk-SMBHLRAO.js +2 -0
- package/lib/chunk-SMBHLRAO.js.map +1 -0
- package/lib/chunk-XX2BCZJU.js +2 -0
- package/lib/{chunk-MTRFNFEM.js.map → chunk-XX2BCZJU.js.map} +1 -1
- package/lib/{createMenuItem-SXFYDNCW.js → createMenuItem-5DDIEELO.js} +2 -2
- package/lib/{createMenuItem-SXFYDNCW.js.map → createMenuItem-5DDIEELO.js.map} +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +9 -2
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/{menuItemList-NIBRDRTA.js → menuItemList-4ZLZ7HSG.js} +2 -2
- package/lib/{menuItemList-NIBRDRTA.js.map → menuItemList-4ZLZ7HSG.js.map} +1 -1
- package/lib/{roleDetail-7HEBW7IS.js → roleDetail-42BOHDFS.js} +2 -2
- package/lib/{roleDetail-7HEBW7IS.js.map → roleDetail-42BOHDFS.js.map} +1 -1
- package/lib/{roleList-WGLD3HXB.js → roleList-KWWO3IFL.js} +2 -2
- package/lib/{roleList-WGLD3HXB.js.map → roleList-KWWO3IFL.js.map} +1 -1
- package/lib/updateMenuItem-E5QMBR2S.js +2 -0
- package/lib/{updateMenuItem-TECCUD6Z.js.map → updateMenuItem-E5QMBR2S.js.map} +1 -1
- package/lib/userDetail-L7Q3C67K.js +2 -0
- package/lib/{userDetail-WGQJ7IC5.js.map → userDetail-L7Q3C67K.js.map} +1 -1
- package/lib/userList-IU4L5YRJ.js +2 -0
- package/lib/{userList-2S2FRAG6.js.map → userList-IU4L5YRJ.js.map} +1 -1
- package/locale/context.js +1 -7
- package/locale/context.js.map +1 -1
- package/locale/en_GB.js +1 -94
- package/locale/en_GB.js.map +1 -1
- package/locale/hooks.js +1 -18
- package/locale/hooks.js.map +1 -1
- package/locale/index.js +1 -2
- package/locale/ja_JP.js +1 -94
- package/locale/ja_JP.js.map +1 -1
- package/locale/ko_KR.js +1 -94
- package/locale/ko_KR.js.map +1 -1
- package/locale/zh_CN.js +1 -94
- package/locale/zh_CN.js.map +1 -1
- package/package.json +1 -1
- package/lib/chunk-7X2LW6EY.js +0 -73
- package/lib/chunk-7X2LW6EY.js.map +0 -1
- package/lib/chunk-DLTAWT6S.js +0 -2
- package/lib/chunk-DLTAWT6S.js.map +0 -1
- package/lib/chunk-E6L6VKSV.js +0 -227
- package/lib/chunk-E6L6VKSV.js.map +0 -1
- package/lib/chunk-ESCBNFWD.js +0 -498
- package/lib/chunk-ESCBNFWD.js.map +0 -1
- package/lib/chunk-FSXYUF4U.js +0 -276
- package/lib/chunk-FSXYUF4U.js.map +0 -1
- package/lib/chunk-H5Y4DYUL.js +0 -2
- package/lib/chunk-LXMQLSQY.js +0 -46
- package/lib/chunk-LXMQLSQY.js.map +0 -1
- package/lib/chunk-MTRFNFEM.js +0 -2
- package/lib/chunk-NNXVZIY2.js +0 -2
- package/lib/chunk-OH74GXG4.js +0 -570
- package/lib/chunk-OH74GXG4.js.map +0 -1
- package/lib/chunk-P25BHLH3.js +0 -3
- package/lib/chunk-P25BHLH3.js.map +0 -1
- package/lib/chunk-QACSRYJY.js +0 -147
- package/lib/chunk-QACSRYJY.js.map +0 -1
- package/lib/chunk-UPO7NB6O.js +0 -2
- package/lib/chunk-Z6PDWY44.js +0 -17
- package/lib/chunk-Z6PDWY44.js.map +0 -1
- package/lib/chunk-ZF7POJAA.js +0 -2
- package/lib/chunk-ZOHMJAAX.js +0 -120
- package/lib/chunk-ZOHMJAAX.js.map +0 -1
- package/lib/createMenuItem-CICLQWU6.js +0 -86
- package/lib/createMenuItem-CICLQWU6.js.map +0 -1
- package/lib/menuItemList-EHQSS4YZ.js +0 -132
- package/lib/menuItemList-EHQSS4YZ.js.map +0 -1
- package/lib/roleDetail-JCDOXKAM.js +0 -72
- package/lib/roleDetail-JCDOXKAM.js.map +0 -1
- package/lib/roleList-4C77ULPK.js +0 -161
- package/lib/roleList-4C77ULPK.js.map +0 -1
- package/lib/updateMenuItem-K62CKVXP.js +0 -109
- package/lib/updateMenuItem-K62CKVXP.js.map +0 -1
- package/lib/updateMenuItem-TECCUD6Z.js +0 -2
- package/lib/userDetail-WGQJ7IC5.js +0 -2
- package/lib/userDetail-WYN52ZJ2.js +0 -116
- package/lib/userDetail-WYN52ZJ2.js.map +0 -1
- package/lib/userList-2S2FRAG6.js +0 -2
- package/lib/userList-AMVG7RCE.js +0 -195
- package/lib/userList-AMVG7RCE.js.map +0 -1
package/lib/chunk-FSXYUF4U.js
DELETED
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
import { useCreateRole, useUpdateRole, useAllPermissionsV2, useAllPermissions } from './chunk-QACSRYJY.js';
|
|
2
|
-
import { useFormModal } from './chunk-ZOHMJAAX.js';
|
|
3
|
-
import { useTranslation } from './chunk-Z6PDWY44.js';
|
|
4
|
-
import { useGames } from './chunk-7X2LW6EY.js';
|
|
5
|
-
import { __name, useToolkitsStore } from './chunk-OH74GXG4.js';
|
|
6
|
-
import { Typography, Select, App, Form, Input, Divider, Skeleton, Card, Empty, Button, Space, Checkbox, Row, Col, Collapse } from 'antd';
|
|
7
|
-
import { useState, useEffect, useTransition, useCallback } from 'react';
|
|
8
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
|
-
|
|
10
|
-
var PermissionCollapse = /* @__PURE__ */ __name((props) => {
|
|
11
|
-
const { permissions, readonly, expand, value, onChange } = props;
|
|
12
|
-
const [activeKey, setActiveKey] = useState([]);
|
|
13
|
-
const [checkedMap, setCheckedMap] = useState({});
|
|
14
|
-
const [internalValue, setInternalValue] = useState(value ?? []);
|
|
15
|
-
const { t } = useTranslation();
|
|
16
|
-
const [, startTransition] = useTransition();
|
|
17
|
-
const onCollapseChange = useCallback((key) => {
|
|
18
|
-
setActiveKey(key);
|
|
19
|
-
}, []);
|
|
20
|
-
const getCheckedValue = /* @__PURE__ */ __name((checkedValue, codes) => {
|
|
21
|
-
let tempValue = [];
|
|
22
|
-
if (checkedValue) {
|
|
23
|
-
tempValue = [...new Set(internalValue.concat(codes))];
|
|
24
|
-
} else {
|
|
25
|
-
tempValue = internalValue.slice();
|
|
26
|
-
codes.forEach((code) => {
|
|
27
|
-
const index = tempValue.findIndex((item) => item === code);
|
|
28
|
-
if (index > -1) {
|
|
29
|
-
tempValue.splice(index, 1);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
return tempValue;
|
|
34
|
-
}, "getCheckedValue");
|
|
35
|
-
const onCheckChange = /* @__PURE__ */ __name((e, codes) => {
|
|
36
|
-
const checkedValue = getCheckedValue(e.target.checked, codes);
|
|
37
|
-
setInternalValue(checkedValue);
|
|
38
|
-
onChange?.(checkedValue);
|
|
39
|
-
}, "onCheckChange");
|
|
40
|
-
useEffect(() => {
|
|
41
|
-
setInternalValue(value ?? []);
|
|
42
|
-
}, [value]);
|
|
43
|
-
useEffect(() => {
|
|
44
|
-
if (expand) {
|
|
45
|
-
startTransition(() => {
|
|
46
|
-
setActiveKey((permissions ?? []).map(({ category }) => category));
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}, [expand, permissions]);
|
|
50
|
-
useEffect(() => {
|
|
51
|
-
const checkedValue = (permissions ?? []).reduce(
|
|
52
|
-
(acc, curr) => {
|
|
53
|
-
acc[curr.category] = curr.permissions.every((item) => internalValue?.includes(item.value));
|
|
54
|
-
return acc;
|
|
55
|
-
},
|
|
56
|
-
{}
|
|
57
|
-
);
|
|
58
|
-
setCheckedMap(checkedValue);
|
|
59
|
-
}, [internalValue, permissions]);
|
|
60
|
-
const items = (permissions ?? []).map((item) => ({
|
|
61
|
-
key: item.category,
|
|
62
|
-
label: item.category,
|
|
63
|
-
extra: !readonly && /* @__PURE__ */ jsx(
|
|
64
|
-
Checkbox,
|
|
65
|
-
{
|
|
66
|
-
checked: checkedMap[item.category],
|
|
67
|
-
onChange: (e) => {
|
|
68
|
-
onCheckChange(
|
|
69
|
-
e,
|
|
70
|
-
item.permissions?.map((permission) => permission.value)
|
|
71
|
-
);
|
|
72
|
-
},
|
|
73
|
-
children: t("global.selectAll")
|
|
74
|
-
}
|
|
75
|
-
),
|
|
76
|
-
children: /* @__PURE__ */ jsx(Checkbox.Group, { style: { width: "100%" }, value: internalValue, disabled: readonly, children: /* @__PURE__ */ jsx(Row, { gutter: [10, 10], style: { width: "100%" }, children: item.permissions?.map((permission) => /* @__PURE__ */ jsx(Col, { span: 6, children: /* @__PURE__ */ jsx(
|
|
77
|
-
Checkbox,
|
|
78
|
-
{
|
|
79
|
-
value: permission.value,
|
|
80
|
-
onChange: (e) => {
|
|
81
|
-
onCheckChange(e, [permission.value]);
|
|
82
|
-
},
|
|
83
|
-
children: permission.label
|
|
84
|
-
}
|
|
85
|
-
) }, permission.value)) }) })
|
|
86
|
-
}));
|
|
87
|
-
return /* @__PURE__ */ jsx(
|
|
88
|
-
Collapse,
|
|
89
|
-
{
|
|
90
|
-
style: { width: "100%" },
|
|
91
|
-
collapsible: "header",
|
|
92
|
-
activeKey,
|
|
93
|
-
items,
|
|
94
|
-
onChange: onCollapseChange
|
|
95
|
-
}
|
|
96
|
-
);
|
|
97
|
-
}, "PermissionCollapse");
|
|
98
|
-
var permissionCollapse_default = PermissionCollapse;
|
|
99
|
-
var { Text } = Typography;
|
|
100
|
-
var { Option } = Select;
|
|
101
|
-
var PermissionWithGame = /* @__PURE__ */ __name((props) => {
|
|
102
|
-
const { expand = true, value, readonly, onChange } = props;
|
|
103
|
-
const { data: permission, isLoading: isPermissionLoading, error } = useAllPermissionsV2();
|
|
104
|
-
const { data: games, isLoading: isGamesLoading } = useGames();
|
|
105
|
-
const [gameList, setGameList] = useState([]);
|
|
106
|
-
const globalPermissions = permission?.filter((item) => item.is_common);
|
|
107
|
-
const gamePermissions = permission?.filter((item) => !item.is_common);
|
|
108
|
-
const isLoading = isPermissionLoading || isGamesLoading;
|
|
109
|
-
const { t } = useTranslation();
|
|
110
|
-
useEffect(() => {
|
|
111
|
-
const list = [];
|
|
112
|
-
Object.keys(value ?? {}).forEach((key) => {
|
|
113
|
-
if (key !== "global") {
|
|
114
|
-
list.push({ gameId: key, permissions: value?.[key] ?? [] });
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
setGameList(list);
|
|
118
|
-
}, [value]);
|
|
119
|
-
if (error) {
|
|
120
|
-
return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Text, { type: "danger", children: t("PermissionList.failedDescription") }) });
|
|
121
|
-
}
|
|
122
|
-
const addGame = /* @__PURE__ */ __name(() => {
|
|
123
|
-
setGameList((prev) => [...prev, { gameId: "", permissions: [] }]);
|
|
124
|
-
}, "addGame");
|
|
125
|
-
const removeGame = /* @__PURE__ */ __name((index) => {
|
|
126
|
-
setGameList((prev) => prev.filter((_, i) => i !== index));
|
|
127
|
-
}, "removeGame");
|
|
128
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full", children: [
|
|
129
|
-
/* @__PURE__ */ jsx("div", { className: "mb-12", children: /* @__PURE__ */ jsx(Divider, { dashed: true, children: t("PermissionList.baseSectionTitle") }) }),
|
|
130
|
-
/* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
|
|
131
|
-
permissionCollapse_default,
|
|
132
|
-
{
|
|
133
|
-
value: value?.global,
|
|
134
|
-
readonly,
|
|
135
|
-
permissions: globalPermissions,
|
|
136
|
-
expand,
|
|
137
|
-
onChange: (newValue) => {
|
|
138
|
-
onChange?.({
|
|
139
|
-
...value,
|
|
140
|
-
global: newValue
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
) }),
|
|
145
|
-
/* @__PURE__ */ jsx("div", { className: "my-12", children: /* @__PURE__ */ jsx(Divider, { dashed: true, children: t("PermissionList.gameSectionTitle") }) }),
|
|
146
|
-
gameList.map((item, index) => /* @__PURE__ */ jsx(
|
|
147
|
-
Card,
|
|
148
|
-
{
|
|
149
|
-
title: /* @__PURE__ */ jsxs(Space, { children: [
|
|
150
|
-
/* @__PURE__ */ jsx(Text, { children: t("global.game") }),
|
|
151
|
-
readonly ? /* @__PURE__ */ jsx(Text, { children: games?.find((game) => String(game.id) === item.gameId)?.name }) : /* @__PURE__ */ jsx(
|
|
152
|
-
Select,
|
|
153
|
-
{
|
|
154
|
-
disabled: readonly,
|
|
155
|
-
value: gameList[index].gameId || void 0,
|
|
156
|
-
style: { width: "160px" },
|
|
157
|
-
placeholder: t("PermissionList.gameSelectPlaceholder"),
|
|
158
|
-
onChange: (selectedValue) => {
|
|
159
|
-
setGameList((pev) => {
|
|
160
|
-
const temp = pev.slice();
|
|
161
|
-
temp[index].gameId = selectedValue;
|
|
162
|
-
return temp;
|
|
163
|
-
});
|
|
164
|
-
},
|
|
165
|
-
children: games?.map((game) => /* @__PURE__ */ jsx(
|
|
166
|
-
Option,
|
|
167
|
-
{
|
|
168
|
-
value: game.id,
|
|
169
|
-
disabled: gameList.some(({ gameId }) => gameId === String(game.id)),
|
|
170
|
-
children: game.name
|
|
171
|
-
},
|
|
172
|
-
game.id
|
|
173
|
-
))
|
|
174
|
-
}
|
|
175
|
-
)
|
|
176
|
-
] }),
|
|
177
|
-
className: "mb-6",
|
|
178
|
-
extra: !readonly && /* @__PURE__ */ jsx(
|
|
179
|
-
Button,
|
|
180
|
-
{
|
|
181
|
-
type: "link",
|
|
182
|
-
onClick: () => {
|
|
183
|
-
removeGame(index);
|
|
184
|
-
},
|
|
185
|
-
children: t("PermissionList.removeText")
|
|
186
|
-
}
|
|
187
|
-
),
|
|
188
|
-
children: gameList[index].gameId ? /* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
|
|
189
|
-
permissionCollapse_default,
|
|
190
|
-
{
|
|
191
|
-
value: value?.[gameList[index].gameId],
|
|
192
|
-
readonly,
|
|
193
|
-
expand,
|
|
194
|
-
permissions: gamePermissions,
|
|
195
|
-
onChange: (newValue) => {
|
|
196
|
-
onChange?.({
|
|
197
|
-
...value,
|
|
198
|
-
[gameList[index].gameId]: newValue
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
) }) : /* @__PURE__ */ jsx(Empty, { description: t("PermissionList.gameSectionDescription") })
|
|
203
|
-
},
|
|
204
|
-
index
|
|
205
|
-
)),
|
|
206
|
-
!readonly && /* @__PURE__ */ jsx(Button, { block: true, type: "dashed", onClick: addGame, children: t("PermissionList.addText") })
|
|
207
|
-
] });
|
|
208
|
-
}, "PermissionWithGame");
|
|
209
|
-
var PermissionWithGame_default = PermissionWithGame;
|
|
210
|
-
var { Text: Text2 } = Typography;
|
|
211
|
-
var PermissionWithoutGame = /* @__PURE__ */ __name((props) => {
|
|
212
|
-
const { expand = true, value, readonly, onChange } = props;
|
|
213
|
-
const { data: permissions, isLoading, error } = useAllPermissions();
|
|
214
|
-
const { t } = useTranslation();
|
|
215
|
-
if (error) {
|
|
216
|
-
return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(Text2, { type: "danger", children: t("PermissionList.failedDescription") }) });
|
|
217
|
-
}
|
|
218
|
-
return /* @__PURE__ */ jsx(Skeleton, { active: true, loading: isLoading, children: /* @__PURE__ */ jsx(
|
|
219
|
-
permissionCollapse_default,
|
|
220
|
-
{
|
|
221
|
-
value,
|
|
222
|
-
permissions,
|
|
223
|
-
readonly,
|
|
224
|
-
expand,
|
|
225
|
-
onChange
|
|
226
|
-
}
|
|
227
|
-
) });
|
|
228
|
-
}, "PermissionWithoutGame");
|
|
229
|
-
var PermissionWithoutGame_default = PermissionWithoutGame;
|
|
230
|
-
var PermissionList = /* @__PURE__ */ __name((props) => {
|
|
231
|
-
const { value } = props;
|
|
232
|
-
console.log("value", typeof value, value === null, JSON.stringify(value));
|
|
233
|
-
const { permissionVersion } = useToolkitsStore();
|
|
234
|
-
if (permissionVersion === "v2" /* V2 */) {
|
|
235
|
-
return /* @__PURE__ */ jsx(PermissionWithGame_default, { ...props, value });
|
|
236
|
-
}
|
|
237
|
-
return /* @__PURE__ */ jsx(PermissionWithoutGame_default, { ...props, value });
|
|
238
|
-
}, "PermissionList");
|
|
239
|
-
var permissionList_default = PermissionList;
|
|
240
|
-
var useRoleModal = /* @__PURE__ */ __name(({ mode, onSuccess }) => {
|
|
241
|
-
const { message } = App.useApp();
|
|
242
|
-
const { t } = useTranslation();
|
|
243
|
-
const create = useCreateRole();
|
|
244
|
-
const update = useUpdateRole();
|
|
245
|
-
const isCreateMode = mode === "create";
|
|
246
|
-
const title = isCreateMode ? t("Role.createTitle") : t("Role.updateTitle");
|
|
247
|
-
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
248
|
-
/* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: !isCreateMode }) }),
|
|
249
|
-
/* @__PURE__ */ jsx(Form.Item, { name: "permissions", children: /* @__PURE__ */ jsx(permissionList_default, {}) })
|
|
250
|
-
] });
|
|
251
|
-
const onConfirm = /* @__PURE__ */ __name(async (values, extraValues) => {
|
|
252
|
-
const name = `role_${values.name}`;
|
|
253
|
-
const permissions = values.permissions;
|
|
254
|
-
if (isCreateMode) {
|
|
255
|
-
await create.mutateAsync({ name, permissions });
|
|
256
|
-
message.success(t("Role.createSuccessfully"));
|
|
257
|
-
} else {
|
|
258
|
-
await update.mutateAsync({ id: extraValues?.id, name, permissions });
|
|
259
|
-
message.success(t("Role.updateSuccessfully"));
|
|
260
|
-
}
|
|
261
|
-
onSuccess?.();
|
|
262
|
-
}, "onConfirm");
|
|
263
|
-
return useFormModal({
|
|
264
|
-
title,
|
|
265
|
-
width: "1000px",
|
|
266
|
-
formProps: {
|
|
267
|
-
layout: "vertical"
|
|
268
|
-
},
|
|
269
|
-
content,
|
|
270
|
-
onConfirm
|
|
271
|
-
});
|
|
272
|
-
}, "useRoleModal");
|
|
273
|
-
|
|
274
|
-
export { permissionList_default, useRoleModal };
|
|
275
|
-
//# sourceMappingURL=chunk-FSXYUF4U.js.map
|
|
276
|
-
//# sourceMappingURL=chunk-FSXYUF4U.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/permission/components/permissionCollapse/index.tsx","../src/modules/permission/components/permissionList/PermissionWithGame.tsx","../src/modules/permission/components/permissionList/PermissionWithoutGame.tsx","../src/modules/permission/components/permissionList/index.tsx","../src/modules/permission/hooks/role-hooks.tsx"],"names":["useState","useEffect","jsx","Text","Typography","Skeleton","jsxs"],"mappings":"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","file":"chunk-FSXYUF4U.js","sourcesContent":["import { Checkbox, Col, Collapse, Row } from 'antd'\nimport type { CheckboxChangeEvent } from 'antd/es/checkbox'\nimport type { FC } from 'react'\nimport { useCallback, useEffect, useState, useTransition } from 'react'\n\nimport { useTranslation } from '@/locale'\n\nimport type { PermissionEnumItem } from '../../types'\n\ninterface PermissionCollapseProps {\n expand?: boolean\n permissions?: PermissionEnumItem[]\n readonly?: boolean\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst PermissionCollapse: FC<PermissionCollapseProps> = props => {\n const { permissions, readonly, expand, value, onChange } = props\n const [activeKey, setActiveKey] = useState<string[]>([])\n const [checkedMap, setCheckedMap] = useState<Record<string, boolean>>({})\n const [internalValue, setInternalValue] = useState<string[]>(value ?? [])\n const { t } = useTranslation()\n const [, startTransition] = useTransition()\n\n const onCollapseChange = useCallback((key: string | string[]) => {\n setActiveKey(key as string[])\n }, [])\n\n const getCheckedValue = (checkedValue: boolean, codes: string[]) => {\n let tempValue: string[] = []\n\n if (checkedValue) {\n tempValue = [...new Set(internalValue.concat(codes))]\n } else {\n tempValue = internalValue.slice()\n\n codes.forEach(code => {\n const index = tempValue.findIndex(item => item === code)\n if (index > -1) {\n tempValue.splice(index, 1)\n }\n })\n }\n\n return tempValue\n }\n\n const onCheckChange = (e: CheckboxChangeEvent, codes: string[]) => {\n const checkedValue = getCheckedValue(e.target.checked, codes)\n setInternalValue(checkedValue)\n onChange?.(checkedValue)\n }\n\n useEffect(() => {\n setInternalValue(value ?? [])\n }, [value])\n\n useEffect(() => {\n if (expand) {\n startTransition(() => {\n // 改变展开状态\n setActiveKey((permissions ?? []).map(({ category }) => category))\n })\n }\n }, [expand, permissions])\n\n useEffect(() => {\n const checkedValue = (permissions ?? []).reduce(\n (acc, curr) => {\n acc[curr.category] = curr.permissions.every(item => internalValue?.includes(item.value))\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n setCheckedMap(checkedValue)\n }, [internalValue, permissions])\n\n const items = (permissions ?? []).map(item => ({\n key: item.category,\n label: item.category,\n extra: !readonly && (\n <Checkbox\n checked={checkedMap[item.category]}\n onChange={e => {\n onCheckChange(\n e,\n item.permissions?.map(permission => permission.value),\n )\n }}\n >\n {t('global.selectAll')}\n </Checkbox>\n ),\n children: (\n <Checkbox.Group style={{ width: '100%' }} value={internalValue} disabled={readonly}>\n <Row gutter={[10, 10]} style={{ width: '100%' }}>\n {item.permissions?.map(permission => (\n <Col key={permission.value} span={6}>\n <Checkbox\n value={permission.value}\n onChange={e => {\n onCheckChange(e, [permission.value])\n }}\n >\n {permission.label}\n </Checkbox>\n </Col>\n ))}\n </Row>\n </Checkbox.Group>\n ),\n }))\n\n return (\n <Collapse\n style={{ width: '100%' }}\n collapsible=\"header\"\n activeKey={activeKey}\n items={items}\n onChange={onCollapseChange}\n />\n )\n}\n\nexport default PermissionCollapse\n","import { Button, Card, Divider, Empty, Select, Skeleton, Space, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useEffect, useState } from 'react'\n\nimport { useTranslation } from '@/locale'\nimport { useGames } from '@/services'\n\nimport { useAllPermissionsV2 } from '../../services'\nimport type { RoleV2 } from '../../types'\nimport PermissionCollapse from '../permissionCollapse'\nimport type { PermissionListPropsBase } from './types'\n\nconst { Text } = Typography\nconst { Option } = Select\n\ninterface PermissionWithGameProps extends PermissionListPropsBase {\n value?: RoleV2['permissions']\n onChange?: (checkedValue: RoleV2['permissions']) => void\n}\n\nconst PermissionWithGame: FC<PermissionWithGameProps> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permission, isLoading: isPermissionLoading, error } = useAllPermissionsV2()\n const { data: games, isLoading: isGamesLoading } = useGames()\n const [gameList, setGameList] = useState<{ gameId: string; permissions: string[] }[]>([])\n const globalPermissions = permission?.filter(item => item.is_common)\n const gamePermissions = permission?.filter(item => !item.is_common)\n const isLoading = isPermissionLoading || isGamesLoading\n const { t } = useTranslation()\n\n useEffect(() => {\n const list: { gameId: string; permissions: string[] }[] = []\n\n Object.keys(value ?? {}).forEach(key => {\n if (key !== 'global') {\n list.push({ gameId: key, permissions: value?.[key] ?? [] })\n }\n })\n\n setGameList(list)\n }, [value])\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n const addGame = () => {\n setGameList(prev => [...prev, { gameId: '', permissions: [] }])\n }\n\n const removeGame = (index: number) => {\n setGameList(prev => prev.filter((_, i) => i !== index))\n }\n\n return (\n <div className=\"flex flex-col w-full\">\n <div className=\"mb-12\">\n <Divider dashed>{t('PermissionList.baseSectionTitle')}</Divider>\n </div>\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.global}\n readonly={readonly}\n permissions={globalPermissions}\n expand={expand}\n onChange={newValue => {\n onChange?.({\n ...value,\n global: newValue,\n })\n }}\n />\n </Skeleton>\n <div className=\"my-12\">\n <Divider dashed>{t('PermissionList.gameSectionTitle')}</Divider>\n </div>\n {gameList.map((item, index) => (\n <Card\n title={\n <Space>\n <Text>{t('global.game')}</Text>\n {readonly ? (\n <Text>{games?.find(game => String(game.id) === item.gameId)?.name}</Text>\n ) : (\n <Select\n disabled={readonly}\n value={gameList[index].gameId || undefined}\n style={{ width: '160px' }}\n placeholder={t('PermissionList.gameSelectPlaceholder')}\n onChange={selectedValue => {\n setGameList(pev => {\n const temp = pev.slice()\n temp[index].gameId = selectedValue\n return temp\n })\n }}\n >\n {games?.map(game => (\n <Option\n key={game.id}\n value={game.id}\n disabled={gameList.some(({ gameId }) => gameId === String(game.id))}\n >\n {game.name}\n </Option>\n ))}\n </Select>\n )}\n </Space>\n }\n key={index}\n className=\"mb-6\"\n extra={\n !readonly && (\n <Button\n type=\"link\"\n onClick={() => {\n removeGame(index)\n }}\n >\n {t('PermissionList.removeText')}\n </Button>\n )\n }\n >\n {gameList[index].gameId ? (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.[gameList[index].gameId]}\n readonly={readonly}\n expand={expand}\n permissions={gamePermissions}\n onChange={newValue => {\n onChange?.({\n ...value,\n [gameList[index].gameId]: newValue,\n })\n }}\n />\n </Skeleton>\n ) : (\n <Empty description={t('PermissionList.gameSectionDescription')} />\n )}\n </Card>\n ))}\n {!readonly && (\n <Button block type=\"dashed\" onClick={addGame}>\n {t('PermissionList.addText')}\n </Button>\n )}\n </div>\n )\n}\n\nexport default PermissionWithGame\n","import { Skeleton, Typography } from 'antd'\nimport type { FC } from 'react'\n\nimport { useTranslation } from '@/locale'\n\nimport { useAllPermissions } from '../../services'\nimport type { RoleV1 } from '../../types'\nimport PermissionCollapse from '../permissionCollapse'\nimport type { PermissionListPropsBase } from './types'\n\nconst { Text } = Typography\n\ninterface PermissionWithoutGameProps extends PermissionListPropsBase {\n value?: RoleV1['permissions']\n onChange?: (checkedValue: RoleV1['permissions']) => void\n}\n\nconst PermissionWithoutGame: FC<PermissionWithoutGameProps> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permissions, isLoading, error } = useAllPermissions()\n const { t } = useTranslation()\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n return (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value}\n permissions={permissions}\n readonly={readonly}\n expand={expand}\n onChange={onChange}\n />\n </Skeleton>\n )\n}\n\nexport default PermissionWithoutGame\n","import type { FC } from 'react'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\n\nimport type { RoleV1, RoleV2 } from '../../types'\nimport PermissionWithGame from './PermissionWithGame'\nimport PermissionWithoutGame from './PermissionWithoutGame'\nimport type { PermissionListPropsBase } from './types'\n\ninterface PermissionListProps extends PermissionListPropsBase {\n value?: RoleV1['permissions'] | RoleV2['permissions']\n onChange?: (checkedValue: RoleV1['permissions'] | RoleV2['permissions']) => void\n}\n\nconst PermissionList: FC<PermissionListProps> = (props: PermissionListProps) => {\n const { value } = props\n console.log('value', typeof value, value === null, JSON.stringify(value))\n const { permissionVersion } = useToolkitsStore()\n\n if (permissionVersion === PermissionVersion.V2) {\n return <PermissionWithGame {...props} value={value as RoleV2['permissions']} />\n }\n\n return <PermissionWithoutGame {...props} value={value as RoleV1['permissions']} />\n}\n\nexport default PermissionList\n","import { App, Form, Input } from 'antd'\n\nimport { useFormModal } from '@/hooks/modal'\nimport { useTranslation } from '@/locale'\n\nimport PermissionList from '../components/permissionList'\nimport { useCreateRole, useUpdateRole } from '../services'\nimport type { RoleListItem, RoleV1, RoleV2 } from '../types'\n\nexport const useRoleModal = ({ mode, onSuccess }: { mode: 'create' | 'update'; onSuccess?: () => void }) => {\n const { message } = App.useApp()\n const { t } = useTranslation()\n const create = useCreateRole()\n const update = useUpdateRole()\n\n const isCreateMode = mode === 'create'\n\n const title = isCreateMode ? t('Role.createTitle') : t('Role.updateTitle')\n\n const content = (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled={!isCreateMode} />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </>\n )\n\n const onConfirm = async (\n values: { name: string; permissions: RoleListItem['permissions'] },\n extraValues: { id: number },\n ) => {\n const name = `role_${values.name}`\n const permissions = values.permissions\n\n if (isCreateMode) {\n await create.mutateAsync({ name, permissions })\n message.success(t('Role.createSuccessfully'))\n } else {\n await update.mutateAsync({ id: extraValues?.id, name, permissions })\n message.success(t('Role.updateSuccessfully'))\n }\n onSuccess?.()\n }\n\n return useFormModal<\n {\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n },\n { id: number }\n >({\n title,\n width: '1000px',\n formProps: {\n layout: 'vertical',\n },\n content,\n onConfirm,\n })\n}\n"]}
|
package/lib/chunk-H5Y4DYUL.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {l,m,i}from'./chunk-P25BHLH3.js';import {useQuery,useQueryClient,useMutation}from'@tanstack/react-query';function f(){let s=l();return useQuery({queryKey:m.roles.all,queryFn:()=>s.get("/api/usystem/role/all")})}function R(s){let i$1=i(o=>o.permissionVersion),t=l(),e=i$1==="v2"?"v2":"v1";return useQuery({queryKey:m.roles.detail(s,e),queryFn:()=>t.get(`/api/usystem/role/${e==="v2"?"infoV2":"info"}?name=${s}`)})}function q(){let{permissionVersion:s}=i(o=>o),i$1=l(),t=useQueryClient(),e=s==="v2"?"v2":"v1";return useMutation({mutationKey:m.roles.create(e),mutationFn:({name:o,permissions:u})=>i$1.post(e==="v2"?"/api/usystem/role/createV2":"/api/usystem/role/create",{name:o,permissions:u}),onSuccess:()=>{t.invalidateQueries({queryKey:m.roles.all});}})}function v(){let{permissionVersion:s}=i(o=>o),i$1=l(),t=useQueryClient(),e=s==="v2"?"v2":"v1";return useMutation({mutationKey:m.roles.update(e),mutationFn:({id:o,name:u,permissions:m})=>i$1.post(e==="v2"?"/api/usystem/role/updateV2":"/api/usystem/role/update",{id:o,name:u,permissions:m}),onSuccess:()=>{t.invalidateQueries({queryKey:m.roles.all});}})}function C(){let s=l(),i=useQueryClient();return useMutation({mutationKey:m.roles.delete,mutationFn:({id:t,name:e})=>s.post("/api/usystem/role/delete",{id:t,name:e}),onSuccess:()=>{i.invalidateQueries({queryKey:m.roles.all});}})}function K(){let s=l(),i$1=useQueryClient(),{permissionVersion:t}=i();return useMutation({mutationKey:m.users.create,mutationFn:e=>{let o=m=>"permissions"in m,u=e;if(o(e)&&t==="v4"){let m=e.permissions.map(y=>({game_group:["*"],game_ids:y.game_ids,role:y.role}));u={...e,permissions:m};}return s.post("/api/usystem/user/create",u)},onSuccess:()=>{i$1.invalidateQueries({queryKey:m.users.all});}})}function h(){let s=l(),i$1=useQueryClient(),{permissionVersion:t}=i();return useMutation({mutationKey:m.users.update,mutationFn:e=>{let o=m=>"permissions"in m,u=e;if(o(e)&&t==="v4"){let m=e.permissions.map(y=>({game_group:["*"],game_ids:y.game_ids,role:y.role}));u={...e,permissions:m};}return s.post("/api/usystem/user/update",u)},onSuccess:()=>{i$1.invalidateQueries({queryKey:m.users.all});}})}function W(){let s=l(),i=useQueryClient();return useMutation({mutationKey:m.users.delete,mutationFn:({id:t,name:e})=>s.post("/api/usystem/user/delete",{id:t,name:e}),onSuccess:()=>{i.invalidateQueries({queryKey:m.users.all});}})}function k(){let s=l();return useQuery({queryKey:m.permissions.allPermissions,queryFn:()=>s.get("/api/usystem/user/allPermssions")})}function x(){let s=l();return useQuery({queryKey:m.permissions.allPermissionsV2,queryFn:()=>s.get("/api/usystem/user/allPermssionsV2")})}export{f as a,R as b,q as c,v as d,C as e,K as f,h as g,W as h,k as i,x as j};//# sourceMappingURL=chunk-H5Y4DYUL.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-H5Y4DYUL.js.map
|
package/lib/chunk-LXMQLSQY.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { __name, useKy, queryKeys } from './chunk-OH74GXG4.js';
|
|
2
|
-
import { useQueryClient, useMutation } from '@tanstack/react-query';
|
|
3
|
-
|
|
4
|
-
function useCreateMenu() {
|
|
5
|
-
const ky = useKy();
|
|
6
|
-
const queryClient = useQueryClient();
|
|
7
|
-
return useMutation({
|
|
8
|
-
mutationKey: queryKeys.menus.create,
|
|
9
|
-
mutationFn: /* @__PURE__ */ __name((arg) => ky.post("/api/usystem/menu/set", { ...arg, id: 0, is_model: true }), "mutationFn"),
|
|
10
|
-
onSuccess: /* @__PURE__ */ __name(() => {
|
|
11
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.menus.all });
|
|
12
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() });
|
|
13
|
-
}, "onSuccess")
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
__name(useCreateMenu, "useCreateMenu");
|
|
17
|
-
function useUpdateMenu() {
|
|
18
|
-
const ky = useKy();
|
|
19
|
-
const queryClient = useQueryClient();
|
|
20
|
-
return useMutation({
|
|
21
|
-
mutationKey: queryKeys.menus.update,
|
|
22
|
-
mutationFn: /* @__PURE__ */ __name((arg) => ky.post("/api/usystem/menu/set", { ...arg, is_model: true }), "mutationFn"),
|
|
23
|
-
onSuccess: /* @__PURE__ */ __name(() => {
|
|
24
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.menus.all });
|
|
25
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() });
|
|
26
|
-
}, "onSuccess")
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
__name(useUpdateMenu, "useUpdateMenu");
|
|
30
|
-
function useRemoveMenu() {
|
|
31
|
-
const ky = useKy();
|
|
32
|
-
const queryClient = useQueryClient();
|
|
33
|
-
return useMutation({
|
|
34
|
-
mutationKey: queryKeys.menus.delete,
|
|
35
|
-
mutationFn: /* @__PURE__ */ __name((id) => ky.post("/api/usystem/menu/delete", null, { searchParams: { id } }), "mutationFn"),
|
|
36
|
-
onSuccess: /* @__PURE__ */ __name(() => {
|
|
37
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.menus.all });
|
|
38
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() });
|
|
39
|
-
}, "onSuccess")
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
__name(useRemoveMenu, "useRemoveMenu");
|
|
43
|
-
|
|
44
|
-
export { useCreateMenu, useRemoveMenu, useUpdateMenu };
|
|
45
|
-
//# sourceMappingURL=chunk-LXMQLSQY.js.map
|
|
46
|
-
//# sourceMappingURL=chunk-LXMQLSQY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/menu/services/index.ts"],"names":[],"mappings":";;;AAMO,SAAS,aAAA,GAAgB;AAC9B,EAAA,MAAM,KAAK,KAAA,EAAM;AACjB,EAAA,MAAM,cAAc,cAAA,EAAe;AAEnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,WAAA,EAAa,UAAU,KAAA,CAAM,MAAA;AAAA,IAC7B,UAAA,kBAAY,MAAA,CAAA,CAAC,GAAA,KAAkC,EAAA,CAAG,KAAK,uBAAA,EAAyB,EAAE,GAAG,GAAA,EAAK,EAAA,EAAI,CAAA,EAAG,QAAA,EAAU,IAAA,EAAM,CAAA,EAArG,YAAA,CAAA;AAAA,IACZ,2BAAW,MAAA,CAAA,MAAM;AACf,MAAA,WAAA,CAAY,kBAAkB,EAAE,QAAA,EAAU,SAAA,CAAU,KAAA,CAAM,KAAK,CAAA;AAC/D,MAAA,WAAA,CAAY,kBAAkB,EAAE,QAAA,EAAU,UAAU,KAAA,CAAM,MAAA,IAAU,CAAA;AAAA,IACtE,CAAA,EAHW,WAAA;AAAA,GAIZ,CAAA;AACH;AAZgB,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA;AAcT,SAAS,aAAA,GAAgB;AAC9B,EAAA,MAAM,KAAK,KAAA,EAAM;AACjB,EAAA,MAAM,cAAc,cAAA,EAAe;AAEnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,WAAA,EAAa,UAAU,KAAA,CAAM,MAAA;AAAA,IAC7B,UAAA,kBAAY,MAAA,CAAA,CAAC,GAAA,KAAsB,EAAA,CAAG,IAAA,CAAK,uBAAA,EAAyB,EAAE,GAAG,GAAA,EAAK,QAAA,EAAU,IAAA,EAAM,CAAA,EAAlF,YAAA,CAAA;AAAA,IACZ,2BAAW,MAAA,CAAA,MAAM;AACf,MAAA,WAAA,CAAY,kBAAkB,EAAE,QAAA,EAAU,SAAA,CAAU,KAAA,CAAM,KAAK,CAAA;AAC/D,MAAA,WAAA,CAAY,kBAAkB,EAAE,QAAA,EAAU,UAAU,KAAA,CAAM,MAAA,IAAU,CAAA;AAAA,IACtE,CAAA,EAHW,WAAA;AAAA,GAIZ,CAAA;AACH;AAZgB,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA;AAcT,SAAS,aAAA,GAAgB;AAC9B,EAAA,MAAM,KAAK,KAAA,EAAM;AACjB,EAAA,MAAM,cAAc,cAAA,EAAe;AAEnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,WAAA,EAAa,UAAU,KAAA,CAAM,MAAA;AAAA,IAC7B,UAAA,kBAAY,MAAA,CAAA,CAAC,EAAA,KAAe,EAAA,CAAG,IAAA,CAAK,0BAAA,EAA4B,IAAA,EAAM,EAAE,YAAA,EAAc,EAAE,EAAA,EAAG,EAAG,CAAA,EAAlF,YAAA,CAAA;AAAA,IACZ,2BAAW,MAAA,CAAA,MAAM;AACf,MAAA,WAAA,CAAY,kBAAkB,EAAE,QAAA,EAAU,SAAA,CAAU,KAAA,CAAM,KAAK,CAAA;AAC/D,MAAA,WAAA,CAAY,kBAAkB,EAAE,QAAA,EAAU,UAAU,KAAA,CAAM,MAAA,IAAU,CAAA;AAAA,IACtE,CAAA,EAHW,WAAA;AAAA,GAIZ,CAAA;AACH;AAZgB,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA","file":"chunk-LXMQLSQY.js","sourcesContent":["import { useMutation, useQueryClient } from '@tanstack/react-query'\n\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport type { MenuListItem } from '@/types'\n\nexport function useCreateMenu() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.menus.create,\n mutationFn: (arg: Omit<MenuListItem, 'id'>) => ky.post('/api/usystem/menu/set', { ...arg, id: 0, is_model: true }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.all })\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() })\n },\n })\n}\n\nexport function useUpdateMenu() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.menus.update,\n mutationFn: (arg: MenuListItem) => ky.post('/api/usystem/menu/set', { ...arg, is_model: true }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.all })\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() })\n },\n })\n}\n\nexport function useRemoveMenu() {\n const ky = useKy()\n const queryClient = useQueryClient()\n\n return useMutation({\n mutationKey: queryKeys.menus.delete,\n mutationFn: (id: number) => ky.post('/api/usystem/menu/delete', null, { searchParams: { id } }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.all })\n queryClient.invalidateQueries({ queryKey: queryKeys.menus.navbar() })\n },\n })\n}\n"]}
|
package/lib/chunk-MTRFNFEM.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {c,d,j,i as i$1}from'./chunk-H5Y4DYUL.js';import {d as d$1}from'./chunk-D75NVCYN.js';import {a}from'./chunk-NNXVZIY2.js';import {c as c$1}from'./chunk-DLTAWT6S.js';import {i}from'./chunk-P25BHLH3.js';import {Typography,Select,App,Form,Input,Divider,Skeleton,Card,Empty,Button,Space,Checkbox,Row,Col,Collapse}from'antd';import {useState,useEffect,useTransition,useCallback}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var oe=m=>{let{permissions:i,readonly:n,expand:r,value:l,onChange:g}=m,[c,f]=useState([]),[y,R]=useState({}),[a$1,d]=useState(l??[]),{t:P}=a(),[,v]=useTransition(),V=useCallback(e=>{f(e);},[]),p=(e,s)=>{let o=[];return e?o=[...new Set(a$1.concat(s))]:(o=a$1.slice(),s.forEach(u=>{let b=o.findIndex(X=>X===u);b>-1&&o.splice(b,1);})),o},x=(e,s)=>{let o=p(e.target.checked,s);d(o),g?.(o);};useEffect(()=>{d(l??[]);},[l]),useEffect(()=>{r&&v(()=>{f((i??[]).map(({category:e})=>e));});},[r,i]),useEffect(()=>{let e=(i??[]).reduce((s,o)=>(s[o.category]=o.permissions.every(u=>a$1?.includes(u.value)),s),{});R(e);},[a$1,i]);let I=(i??[]).map(e=>({key:e.category,label:e.category,extra:!n&&jsx(Checkbox,{checked:y[e.category],onChange:s=>{x(s,e.permissions?.map(o=>o.value));},children:P("global.selectAll")}),children:jsx(Checkbox.Group,{style:{width:"100%"},value:a$1,disabled:n,children:jsx(Row,{gutter:[10,10],style:{width:"100%"},children:e.permissions?.map(s=>jsx(Col,{span:6,children:jsx(Checkbox,{value:s.value,onChange:o=>{x(o,[s.value]);},children:s.label})},s.value))})})}));return jsx(Collapse,{style:{width:"100%"},collapsible:"header",activeKey:c,items:I,onChange:V})},k=oe;var{Text:w}=Typography,{Option:le}=Select,pe=m=>{let{expand:i=true,value:n,readonly:r,onChange:l}=m,{data:g,isLoading:c,error:f}=j(),{data:y,isLoading:R}=c$1(),[a$1,d]=useState([]),P=g?.filter(e=>e.is_common),v=g?.filter(e=>!e.is_common),V=c||R,{t:p}=a();if(useEffect(()=>{let e=[];Object.keys(n??{}).forEach(s=>{s!=="global"&&e.push({gameId:s,permissions:n?.[s]??[]});}),d(e);},[n]),f)return jsx("div",{className:"flex justify-center",children:jsx(w,{type:"danger",children:p("PermissionList.failedDescription")})});let x=()=>{d(e=>[...e,{gameId:"",permissions:[]}]);},I=e=>{d(s=>s.filter((o,u)=>u!==e));};return jsxs("div",{className:"flex flex-col w-full",children:[jsx("div",{className:"mb-12",children:jsx(Divider,{dashed:true,children:p("PermissionList.baseSectionTitle")})}),jsx(Skeleton,{active:true,loading:V,children:jsx(k,{value:n?.global,readonly:r,permissions:P,expand:i,onChange:e=>{l?.({...n,global:e});}})}),jsx("div",{className:"my-12",children:jsx(Divider,{dashed:true,children:p("PermissionList.gameSectionTitle")})}),a$1.map((e,s)=>jsx(Card,{title:jsxs(Space,{children:[jsx(w,{children:p("global.game")}),r?jsx(w,{children:y?.find(o=>String(o.id)===e.gameId)?.name}):jsx(Select,{disabled:r,value:a$1[s].gameId||void 0,style:{width:"160px"},placeholder:p("PermissionList.gameSelectPlaceholder"),onChange:o=>{d(u=>{let b=u.slice();return b[s].gameId=o,b});},children:y?.map(o=>jsx(le,{value:o.id,disabled:a$1.some(({gameId:u})=>u===String(o.id)),children:o.name},o.id))})]}),className:"mb-6",extra:!r&&jsx(Button,{type:"link",onClick:()=>{I(s);},children:p("PermissionList.removeText")}),children:a$1[s].gameId?jsx(Skeleton,{active:true,loading:V,children:jsx(k,{value:n?.[a$1[s].gameId],readonly:r,expand:i,permissions:v,onChange:o=>{l?.({...n,[a$1[s].gameId]:o});}})}):jsx(Empty,{description:p("PermissionList.gameSectionDescription")})},s)),!r&&jsx(Button,{block:true,type:"dashed",onClick:x,children:p("PermissionList.addText")})]})},U=pe;var{Text:ue}=Typography,ge=m=>{let{expand:i=true,value:n,readonly:r,onChange:l}=m,{data:g,isLoading:c,error:f}=i$1(),{t:y}=a();return f?jsx("div",{className:"flex justify-center",children:jsx(ue,{type:"danger",children:y("PermissionList.failedDescription")})}):jsx(Skeleton,{active:true,loading:c,children:jsx(k,{value:n,permissions:g,readonly:r,expand:i,onChange:l})})},$=ge;var fe=m=>{let{value:i$1}=m;console.log("value",typeof i$1,i$1===null,JSON.stringify(i$1));let{permissionVersion:n}=i();return n==="v2"?jsx(U,{...m,value:i$1}):jsx($,{...m,value:i$1})},H=fe;var Qe=({mode:m,onSuccess:i})=>{let{message:n}=App.useApp(),{t:r}=a(),l=c(),g=d(),c$1=m==="create",f=r(c$1?"Role.createTitle":"Role.updateTitle"),y=jsxs(Fragment,{children:[jsx(Form.Item,{label:r("global.name"),name:"name",rules:[{required:true}],children:jsx(Input,{disabled:!c$1})}),jsx(Form.Item,{name:"permissions",children:jsx(H,{})})]});return d$1({title:f,width:"1000px",formProps:{layout:"vertical"},content:y,onConfirm:async(a,d)=>{let P=`role_${a.name}`,v=a.permissions;c$1?(await l.mutateAsync({name:P,permissions:v}),n.success(r("Role.createSuccessfully"))):(await g.mutateAsync({id:d?.id,name:P,permissions:v}),n.success(r("Role.updateSuccessfully"))),i?.();}})};export{H as a,Qe as b};//# sourceMappingURL=chunk-MTRFNFEM.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-MTRFNFEM.js.map
|
package/lib/chunk-NNXVZIY2.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {i}from'./chunk-P25BHLH3.js';import {template,has,get}from'lodash-es';import {useMemo}from'react';function l(){let t=i(e=>e.locale);return {t:useMemo(()=>(e,r)=>has(t,e)?template(get(t,e))(r):e,[t])}}export{l as a};//# sourceMappingURL=chunk-NNXVZIY2.js.map
|
|
2
|
-
//# sourceMappingURL=chunk-NNXVZIY2.js.map
|