3939 </v-row >
4040 <v-row >
4141 <v-col >
42- <v-select
42+ <RoleSelect
4343 v-if =" hasAuthorization"
4444 v-model =" selectedRole"
45- label =" Key Role"
46- :items =" itemsRoles"
47- :item-props =" true"
48- variant =" outlined"
49- return-object
5045 data-test =" namespace-generate-role"
5146 />
5247 </v-col >
@@ -73,6 +68,8 @@ import { useStore } from "@/store";
7368import handleError from " @/utils/handleError" ;
7469import useSnackbar from " @/helpers/snackbar" ;
7570import BaseDialog from " @/components/BaseDialog.vue" ;
71+ import RoleSelect from " @/components/Team/RoleSelect.vue" ;
72+ import { BasicRole } from " @/interfaces/INamespace" ;
7673
7774defineOptions ({
7875 inheritAttrs: false ,
@@ -89,7 +86,6 @@ const showDialog = ref(false);
8986const store = useStore ();
9087const snackbar = useSnackbar ();
9188const keyGetter = computed (() => props .keyName );
92- const isOwner = computed (() => store .getters [" auth/role" ] === " owner" );
9389const {
9490 value : keyInput,
9591 errorMessage : keyInputError,
@@ -117,34 +113,18 @@ const update = () => {
117113 showDialog .value = false ;
118114};
119115
120- const itemsRoles = [
121- {
122- title: " observer" ,
123- value: " observer" ,
124- },
125- {
126- title: " operator" ,
127- value: " operator" ,
128- },
129- {
130- title: " administrator" ,
131- value: " administrator" ,
132- disabled: ! props .hasAuthorization || ! isOwner .value ,
133- },
134- ];
135-
136- const selectedRole = ref (itemsRoles .find ((role ) => role .value === props .keyRole ) || itemsRoles [0 ]);
116+ const selectedRole = ref <BasicRole >(props .keyRole as BasicRole );
137117
138118const edit = async () => {
139119 const equalName = props .keyName === keyInput .value ;
140- const equalRole = props .keyRole === selectedRole .value . value ;
120+ const equalRole = props .keyRole === selectedRole .value ;
141121 const payload: { key: string ; name? : string ; role? : string } = { key: props .keyName };
142122
143123 if (! equalName ) {
144124 payload .name = keyInput .value ;
145125 }
146126 if (! equalRole ) {
147- payload .role = selectedRole .value . value ;
127+ payload .role = selectedRole .value ;
148128 }
149129
150130 try {
0 commit comments