update single account pinia state

This commit is contained in:
Cindy Chang
2024-06-27 11:39:44 +08:00
parent 21fb6f616a
commit 3fe427fcc3
2 changed files with 16 additions and 4 deletions

View File

@@ -225,5 +225,16 @@ export default defineStore('acctMgmtStore', {
setShouldUpdateList(shouldUpdateBoolean) { setShouldUpdateList(shouldUpdateBoolean) {
this.shouldUpdateList = shouldUpdateBoolean; this.shouldUpdateList = shouldUpdateBoolean;
}, },
/** Only update one single account in the pinia state.
* @param {object} userDataToReplace
*/
updateSingleAccountPiniaState(userDataToReplace){
const userIndex = this.allUserAccoutList.findIndex(user => user.username === userDataToReplace.username);
if (userIndex !== -1) {
this.allUserAccoutList[userIndex] = { ...this.allUserAccoutList[userIndex], ...userDataToReplace };
} else {
// Error handling here.
}
}
}, },
}) })

View File

@@ -274,13 +274,14 @@ export default {
}; };
const setIsActiveInput = async(userData, inputIsActiveToSet) => { const setIsActiveInput = async(userData, inputIsActiveToSet) => {
await acctMgmtStore.editAccount(userData.username, { const userDataToReplace = {
username: userData.username, username: userData.username,
name: userData.name, name: userData.name,
is_active: inputIsActiveToSet, is_active: inputIsActiveToSet,
}); };
acctMgmtStore.setShouldUpdateList(true); await acctMgmtStore.editAccount(userData.username, userDataToReplace);
await toast.success(i18next.t("AcctMgmt.MsgAccountEdited")); acctMgmtStore.updateSingleAccountPiniaState(userDataToReplace);
toast.success(i18next.t("AcctMgmt.MsgAccountEdited"));
} }
onMounted(async () => { onMounted(async () => {