@@ -301,14 +265,13 @@ const handleResetForm = () => {
-
+
{{ $t("core.common.buttons.cancel_and_shortcut") }}
diff --git a/ui/console-src/modules/system/users/UserList.vue b/ui/console-src/modules/system/users/UserList.vue
index 1c5b25afa..087bbaf84 100644
--- a/ui/console-src/modules/system/users/UserList.vue
+++ b/ui/console-src/modules/system/users/UserList.vue
@@ -247,6 +247,12 @@ function onPasswordChangeModalClose() {
passwordChangeModal.value = false;
refetch();
}
+
+function onGrantPermissionModalClose() {
+ grantPermissionModal.value = false;
+ selectedUser.value = undefined;
+ refetch();
+}
diff --git a/ui/console-src/modules/system/users/components/GrantPermissionModal.vue b/ui/console-src/modules/system/users/components/GrantPermissionModal.vue
index 917519dad..92ed6cd9d 100644
--- a/ui/console-src/modules/system/users/components/GrantPermissionModal.vue
+++ b/ui/console-src/modules/system/users/components/GrantPermissionModal.vue
@@ -1,60 +1,51 @@
{
-
+
{{ $t("core.common.buttons.cancel_and_shortcut") }}
diff --git a/ui/src/composables/use-role.ts b/ui/src/composables/use-role.ts
index c12207fd7..9e4773156 100644
--- a/ui/src/composables/use-role.ts
+++ b/ui/src/composables/use-role.ts
@@ -1,6 +1,12 @@
import type { Role } from "@halo-dev/api-client";
-import { onUnmounted, type ComputedRef, type Ref } from "vue";
-import { computed, onMounted, ref } from "vue";
+import {
+ computed,
+ type ComputedRef,
+ onMounted,
+ onUnmounted,
+ type Ref,
+ ref,
+} from "vue";
import { roleLabels } from "@/constants/labels";
import { rbacAnnotations } from "@/constants/annotations";
import { apiClient } from "@/utils/api-client";
@@ -13,21 +19,6 @@ interface RoleTemplateGroup {
roles: Role[];
}
-const initialFormState: Role = {
- apiVersion: "v1alpha1",
- kind: "Role",
- metadata: {
- name: "",
- generateName: "role-",
- labels: {},
- annotations: {
- [rbacAnnotations.DEPENDENCIES]: "",
- [rbacAnnotations.DISPLAY_NAME]: "",
- },
- },
- rules: [],
-};
-
interface useFetchRoleReturn {
roles: Ref;
loading: Ref;
@@ -36,8 +27,7 @@ interface useFetchRoleReturn {
interface useRoleFormReturn {
formState: Ref;
- initialFormState: Role;
- saving: Ref;
+ isSubmitting: Ref;
isUpdateMode: ComputedRef;
handleCreateOrUpdate: () => Promise;
}
@@ -110,8 +100,21 @@ export function useFetchRole(): useFetchRoleReturn {
export function useRoleForm(): useRoleFormReturn {
const { t } = useI18n();
- const formState = ref(initialFormState);
- const saving = ref(false);
+ const formState = ref({
+ apiVersion: "v1alpha1",
+ kind: "Role",
+ metadata: {
+ name: "",
+ generateName: "role-",
+ labels: {},
+ annotations: {
+ [rbacAnnotations.DEPENDENCIES]: "",
+ [rbacAnnotations.DISPLAY_NAME]: "",
+ },
+ },
+ rules: [],
+ });
+ const isSubmitting = ref(false);
const isUpdateMode = computed(() => {
return !!formState.value.metadata.creationTimestamp;
@@ -119,7 +122,7 @@ export function useRoleForm(): useRoleFormReturn {
const handleCreateOrUpdate = async () => {
try {
- saving.value = true;
+ isSubmitting.value = true;
if (isUpdateMode.value) {
const { data } = await apiClient.extension.role.updateV1alpha1Role({
name: formState.value.metadata.name,
@@ -139,14 +142,13 @@ export function useRoleForm(): useRoleFormReturn {
} catch (e) {
console.error(e);
} finally {
- saving.value = false;
+ isSubmitting.value = false;
}
};
return {
formState,
- initialFormState,
- saving,
+ isSubmitting,
isUpdateMode,
handleCreateOrUpdate,
};