com-angel-authorization 1.0.18 → 1.0.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/README.md +2 -2
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/react/index.cjs +115 -30
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.js +115 -30
- package/dist/react/index.js.map +1 -1
- package/dist/vue/index.cjs +118 -31
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.js +118 -31
- package/dist/vue/index.js.map +1 -1
- package/package.json +1 -1
package/dist/vue/index.js
CHANGED
|
@@ -3765,7 +3765,8 @@ var s4 = {
|
|
|
3765
3765
|
flexDirection: "column",
|
|
3766
3766
|
gap: "6px",
|
|
3767
3767
|
maxHeight: "160px",
|
|
3768
|
-
overflow: "auto"
|
|
3768
|
+
overflow: "auto",
|
|
3769
|
+
marginTop: "8px"
|
|
3769
3770
|
},
|
|
3770
3771
|
checkItem: {
|
|
3771
3772
|
display: "flex",
|
|
@@ -3784,10 +3785,35 @@ var s4 = {
|
|
|
3784
3785
|
backgroundColor: "#ffffff"
|
|
3785
3786
|
},
|
|
3786
3787
|
hint: { fontSize: "13px", color: "#98a2b3", padding: "4px 0" },
|
|
3787
|
-
|
|
3788
|
+
selectTrigger: {
|
|
3788
3789
|
display: "flex",
|
|
3789
3790
|
alignItems: "center",
|
|
3790
3791
|
justifyContent: "space-between",
|
|
3792
|
+
gap: "8px",
|
|
3793
|
+
width: "100%",
|
|
3794
|
+
border: "1px solid #d0d5dd",
|
|
3795
|
+
borderRadius: "8px",
|
|
3796
|
+
padding: "8px 10px",
|
|
3797
|
+
background: "#fff",
|
|
3798
|
+
cursor: "pointer",
|
|
3799
|
+
fontSize: "14px",
|
|
3800
|
+
color: "#101828",
|
|
3801
|
+
boxSizing: "border-box",
|
|
3802
|
+
textAlign: "left"
|
|
3803
|
+
},
|
|
3804
|
+
selectTriggerText: {
|
|
3805
|
+
flex: "1",
|
|
3806
|
+
overflow: "hidden",
|
|
3807
|
+
textOverflow: "ellipsis",
|
|
3808
|
+
whiteSpace: "nowrap"
|
|
3809
|
+
},
|
|
3810
|
+
selectPlaceholder: { color: "#98a2b3" },
|
|
3811
|
+
selectChevron: { color: "#667085", fontSize: "10px", flexShrink: "0" },
|
|
3812
|
+
required: { color: "#d92d20", marginLeft: "2px" },
|
|
3813
|
+
switchRow: {
|
|
3814
|
+
display: "flex",
|
|
3815
|
+
alignItems: "center",
|
|
3816
|
+
justifyContent: "flex-start",
|
|
3791
3817
|
gap: "12px"
|
|
3792
3818
|
},
|
|
3793
3819
|
switchTrack: {
|
|
@@ -3856,7 +3882,10 @@ var UserManager = defineComponent5({
|
|
|
3856
3882
|
const deleting = ref4(false);
|
|
3857
3883
|
const groups = ref4([]);
|
|
3858
3884
|
const roles = ref4([]);
|
|
3859
|
-
const
|
|
3885
|
+
const rolesLoading = ref4(false);
|
|
3886
|
+
const groupsOpen = ref4(false);
|
|
3887
|
+
const groupsLoading = ref4(false);
|
|
3888
|
+
const groupsLoaded = ref4(false);
|
|
3860
3889
|
function enabledParam() {
|
|
3861
3890
|
if (enabledFilter.value === "all") return void 0;
|
|
3862
3891
|
return enabledFilter.value === "true";
|
|
@@ -3884,19 +3913,26 @@ var UserManager = defineComponent5({
|
|
|
3884
3913
|
loading.value = false;
|
|
3885
3914
|
}
|
|
3886
3915
|
}
|
|
3887
|
-
async function
|
|
3888
|
-
|
|
3916
|
+
async function loadRoles() {
|
|
3917
|
+
rolesLoading.value = true;
|
|
3889
3918
|
try {
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3919
|
+
roles.value = await props.api.listRoleOptions();
|
|
3920
|
+
} catch (err) {
|
|
3921
|
+
formError.value = err instanceof Error ? err.message : "\u52A0\u8F7D\u89D2\u8272\u5931\u8D25";
|
|
3922
|
+
} finally {
|
|
3923
|
+
rolesLoading.value = false;
|
|
3924
|
+
}
|
|
3925
|
+
}
|
|
3926
|
+
async function loadGroups() {
|
|
3927
|
+
if (groupsLoaded.value || groupsLoading.value) return;
|
|
3928
|
+
groupsLoading.value = true;
|
|
3929
|
+
try {
|
|
3930
|
+
groups.value = await props.api.listGroups();
|
|
3931
|
+
groupsLoaded.value = true;
|
|
3896
3932
|
} catch (err) {
|
|
3897
|
-
formError.value = err instanceof Error ? err.message : "\u52A0\u8F7D\u90E8\u95E8
|
|
3933
|
+
formError.value = err instanceof Error ? err.message : "\u52A0\u8F7D\u90E8\u95E8\u5931\u8D25";
|
|
3898
3934
|
} finally {
|
|
3899
|
-
|
|
3935
|
+
groupsLoading.value = false;
|
|
3900
3936
|
}
|
|
3901
3937
|
}
|
|
3902
3938
|
function handleSearch() {
|
|
@@ -3909,12 +3945,18 @@ var UserManager = defineComponent5({
|
|
|
3909
3945
|
enabledFilter.value = "all";
|
|
3910
3946
|
pageToken.value = "";
|
|
3911
3947
|
}
|
|
3948
|
+
function resetGroupPanel() {
|
|
3949
|
+
groupsOpen.value = false;
|
|
3950
|
+
groups.value = [];
|
|
3951
|
+
groupsLoaded.value = false;
|
|
3952
|
+
}
|
|
3912
3953
|
function openCreate() {
|
|
3913
3954
|
editing.value = null;
|
|
3914
3955
|
Object.assign(form, emptyForm4());
|
|
3915
3956
|
formError.value = "";
|
|
3957
|
+
resetGroupPanel();
|
|
3916
3958
|
dialogOpen.value = true;
|
|
3917
|
-
void
|
|
3959
|
+
void loadRoles();
|
|
3918
3960
|
}
|
|
3919
3961
|
function openEdit(row) {
|
|
3920
3962
|
editing.value = row;
|
|
@@ -3927,12 +3969,17 @@ var UserManager = defineComponent5({
|
|
|
3927
3969
|
enabled: row.enabled
|
|
3928
3970
|
});
|
|
3929
3971
|
formError.value = "";
|
|
3972
|
+
resetGroupPanel();
|
|
3930
3973
|
dialogOpen.value = true;
|
|
3931
|
-
void
|
|
3974
|
+
void loadRoles();
|
|
3932
3975
|
}
|
|
3933
3976
|
function closeDialog() {
|
|
3934
3977
|
if (!saving.value) dialogOpen.value = false;
|
|
3935
3978
|
}
|
|
3979
|
+
function toggleGroupsPanel() {
|
|
3980
|
+
groupsOpen.value = !groupsOpen.value;
|
|
3981
|
+
if (groupsOpen.value) void loadGroups();
|
|
3982
|
+
}
|
|
3936
3983
|
function toggleId(field, id) {
|
|
3937
3984
|
const exists = form[field].includes(id);
|
|
3938
3985
|
form[field] = exists ? form[field].filter((x) => x !== id) : [...form[field], id];
|
|
@@ -3952,6 +3999,10 @@ var UserManager = defineComponent5({
|
|
|
3952
3999
|
formError.value = "\u8BF7\u586B\u5199\u521D\u59CB\u5BC6\u7801";
|
|
3953
4000
|
return;
|
|
3954
4001
|
}
|
|
4002
|
+
if (!form.groupIds.length) {
|
|
4003
|
+
formError.value = "\u8BF7\u9009\u62E9\u5F52\u5C5E\u90E8\u95E8";
|
|
4004
|
+
return;
|
|
4005
|
+
}
|
|
3955
4006
|
saving.value = true;
|
|
3956
4007
|
formError.value = "";
|
|
3957
4008
|
error.value = "";
|
|
@@ -3992,8 +4043,7 @@ var UserManager = defineComponent5({
|
|
|
3992
4043
|
function groupLabel(row) {
|
|
3993
4044
|
if (row.groupNames?.length) return row.groupNames.join("\u3001");
|
|
3994
4045
|
if (!row.groupIds.length) return "\u2014";
|
|
3995
|
-
|
|
3996
|
-
return row.groupIds.map((id) => map.get(id) || id).join("\u3001");
|
|
4046
|
+
return row.groupIds.join("\u3001");
|
|
3997
4047
|
}
|
|
3998
4048
|
function roleLabel(row) {
|
|
3999
4049
|
if (row.roleNames?.length) return row.roleNames.join("\u3001");
|
|
@@ -4001,16 +4051,28 @@ var UserManager = defineComponent5({
|
|
|
4001
4051
|
const map = new Map(roles.value.map((r) => [r.roleId, r.name]));
|
|
4002
4052
|
return row.roleIds.map((id) => map.get(id) || id).join("\u3001");
|
|
4003
4053
|
}
|
|
4054
|
+
function selectedGroupSummary() {
|
|
4055
|
+
if (!form.groupIds.length) return "\u8BF7\u9009\u62E9\u5F52\u5C5E\u90E8\u95E8";
|
|
4056
|
+
if (groupsLoaded.value) {
|
|
4057
|
+
const map = new Map(groups.value.map((g) => [g.groupId, g.name]));
|
|
4058
|
+
return form.groupIds.map((id) => map.get(id) || id).join("\u3001");
|
|
4059
|
+
}
|
|
4060
|
+
if (editing.value?.groupNames?.length) {
|
|
4061
|
+
const map = new Map(
|
|
4062
|
+
editing.value.groupIds.map((id, i) => [
|
|
4063
|
+
id,
|
|
4064
|
+
editing.value?.groupNames?.[i] || id
|
|
4065
|
+
])
|
|
4066
|
+
);
|
|
4067
|
+
return form.groupIds.map((id) => map.get(id) || id).join("\u3001");
|
|
4068
|
+
}
|
|
4069
|
+
return `\u5DF2\u9009 ${form.groupIds.length} \u4E2A\u90E8\u95E8`;
|
|
4070
|
+
}
|
|
4004
4071
|
onMounted4(() => {
|
|
4005
4072
|
void loadList("current", "");
|
|
4006
4073
|
void (async () => {
|
|
4007
4074
|
try {
|
|
4008
|
-
|
|
4009
|
-
props.api.listGroups(),
|
|
4010
|
-
props.api.listRoleOptions()
|
|
4011
|
-
]);
|
|
4012
|
-
groups.value = groupList;
|
|
4013
|
-
roles.value = roleList;
|
|
4075
|
+
roles.value = await props.api.listRoleOptions();
|
|
4014
4076
|
} catch {
|
|
4015
4077
|
}
|
|
4016
4078
|
})();
|
|
@@ -4262,9 +4324,34 @@ var UserManager = defineComponent5({
|
|
|
4262
4324
|
})
|
|
4263
4325
|
]),
|
|
4264
4326
|
h4("fieldset", { style: s4.fieldset }, [
|
|
4265
|
-
h4("legend", { style: s4.label },
|
|
4266
|
-
|
|
4267
|
-
|
|
4327
|
+
h4("legend", { style: s4.label }, [
|
|
4328
|
+
"\u5F52\u5C5E\u90E8\u95E8 ",
|
|
4329
|
+
h4("span", { style: s4.required }, "*")
|
|
4330
|
+
]),
|
|
4331
|
+
h4(
|
|
4332
|
+
"button",
|
|
4333
|
+
{
|
|
4334
|
+
type: "button",
|
|
4335
|
+
style: s4.selectTrigger,
|
|
4336
|
+
"aria-expanded": groupsOpen.value,
|
|
4337
|
+
onClick: toggleGroupsPanel
|
|
4338
|
+
},
|
|
4339
|
+
[
|
|
4340
|
+
h4("span", {
|
|
4341
|
+
style: {
|
|
4342
|
+
...s4.selectTriggerText,
|
|
4343
|
+
...form.groupIds.length ? {} : s4.selectPlaceholder
|
|
4344
|
+
}
|
|
4345
|
+
}, selectedGroupSummary()),
|
|
4346
|
+
h4(
|
|
4347
|
+
"span",
|
|
4348
|
+
{ style: s4.selectChevron },
|
|
4349
|
+
groupsOpen.value ? "\u25B2" : "\u25BC"
|
|
4350
|
+
)
|
|
4351
|
+
]
|
|
4352
|
+
),
|
|
4353
|
+
groupsOpen.value ? h4("div", { style: s4.multiSelect }, [
|
|
4354
|
+
groupsLoading.value ? h4("div", { style: s4.hint }, "\u52A0\u8F7D\u4E2D\u2026") : groups.value.length === 0 ? h4("div", { style: s4.hint }, "\u6682\u65E0\u90E8\u95E8\u6570\u636E") : groups.value.map(
|
|
4268
4355
|
(g) => h4(
|
|
4269
4356
|
"label",
|
|
4270
4357
|
{
|
|
@@ -4284,12 +4371,12 @@ var UserManager = defineComponent5({
|
|
|
4284
4371
|
]
|
|
4285
4372
|
)
|
|
4286
4373
|
)
|
|
4287
|
-
])
|
|
4374
|
+
]) : null
|
|
4288
4375
|
]),
|
|
4289
4376
|
h4("fieldset", { style: s4.fieldset }, [
|
|
4290
4377
|
h4("legend", { style: s4.label }, "\u7528\u6237\u89D2\u8272"),
|
|
4291
4378
|
h4("div", { style: s4.multiSelect }, [
|
|
4292
|
-
|
|
4379
|
+
rolesLoading.value ? h4("div", { style: s4.hint }, "\u52A0\u8F7D\u4E2D\u2026") : roles.value.length === 0 ? h4("div", { style: s4.hint }, "\u6682\u65E0\u89D2\u8272\u6570\u636E") : roles.value.map(
|
|
4293
4380
|
(r) => h4(
|
|
4294
4381
|
"label",
|
|
4295
4382
|
{
|
|
@@ -4431,10 +4518,10 @@ var SYSTEM_ADMIN_MENU = {
|
|
|
4431
4518
|
key: "system",
|
|
4432
4519
|
label: "\u7CFB\u7EDF\u7BA1\u7406",
|
|
4433
4520
|
children: [
|
|
4434
|
-
{ key: "
|
|
4435
|
-
{ key: "resource", label: "\u6743\u9650\u70B9\u7BA1\u7406" },
|
|
4521
|
+
{ key: "user", label: "\u7528\u6237\u7BA1\u7406" },
|
|
4436
4522
|
{ key: "role", label: "\u89D2\u8272\u7BA1\u7406" },
|
|
4437
|
-
{ key: "
|
|
4523
|
+
{ key: "menu", label: "\u83DC\u5355\u7BA1\u7406" },
|
|
4524
|
+
{ key: "resource", label: "\u6743\u9650\u70B9\u7BA1\u7406" }
|
|
4438
4525
|
]
|
|
4439
4526
|
};
|
|
4440
4527
|
var SYSTEM_ADMIN_DEFAULT_KEY = "menu";
|