Reduce cognitive complexity by extracting helper functions (S3776)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-10 01:03:44 +08:00
parent 201f94e133
commit 81df955845
2 changed files with 57 additions and 88 deletions

View File

@@ -217,55 +217,25 @@ function onNavItemBtnClick(event) {
case "FILES": case "FILES":
store.filesTag = navItemCandidate; store.filesTag = navItemCandidate;
break; break;
case "DISCOVER": case "DISCOVER": {
type = route.params.type; type = route.params.type;
fileId = route.params.fileId; fileId = route.params.fileId;
isCheckPage = route.name.includes("Check"); isCheckPage = route.name.includes("Check");
const discoverRoutes = {
switch (navItemCandidate) { MAP: "Map",
case "MAP": CONFORMANCE: "Conformance",
if (isCheckPage) { PERFORMANCE: "Performance",
router.push({ };
name: "CheckMap", const baseName = discoverRoutes[navItemCandidate];
params: { type: type, fileId: fileId }, if (baseName) {
}); const routeName = isCheckPage ? `Check${baseName}` : baseName;
} else { router.push({
router.push({ name: routeName,
name: "Map", params: { type: type, fileId: fileId },
params: { type: type, fileId: fileId }, });
});
}
break;
case "CONFORMANCE":
if (isCheckPage) {
// Beware of Swal popup, it might disturb which is the current active page
router.push({
name: "CheckConformance",
params: { type: type, fileId: fileId },
});
} else {
// Beware of Swal popup, it might disturb which is the current active page
router.push({
name: "Conformance",
params: { type: type, fileId: fileId },
});
}
break;
case "PERFORMANCE":
if (isCheckPage) {
router.push({
name: "CheckPerformance",
params: { type: type, fileId: fileId },
});
} else {
router.push({
name: "Performance",
params: { type: type, fileId: fileId },
});
}
break;
} }
break; break;
}
case "COMPARE": case "COMPARE":
switch (navItemCandidate) { switch (navItemCandidate) {
case "MAP": case "MAP":

View File

@@ -310,55 +310,54 @@ const onInputDoubleClick = () => {
isEditable.value = true; isEditable.value = true;
}; };
const onConfirmBtnClick = async () => { /** Handles account creation in the confirm flow. */
// rule for minimum length async function handleCreateNew() {
validatePwdLength(); await checkAccountIsUnique();
if (!isPwdLengthValid.value) { if (!isAccountUnique.value) return;
return; await acctMgmtStore.createNewAccount({
} username: inputUserAccount.value,
password: inputPwd.value === undefined ? "" : inputPwd.value,
name: inputName.value,
is_admin: isSetAsAdminChecked.value,
is_active: isSetActivedChecked.value,
});
toast.success(i18next.t("AcctMgmt.MsgAccountAdded"));
modalStore.closeModal();
acctMgmtStore.setShouldUpdateList(true);
await router.push("/account-admin");
}
/** Handles account editing in the confirm flow. */
async function handleEditAccount() {
await checkAccountIsUnique();
if (!isAccountUnique.value) return;
// Note that the old username and new username can be different
const editDetail = {
newUsername: inputUserAccount.value,
name: inputName.value === undefined ? "" : inputName.value,
is_active: true,
};
if (isResetPwdSectionShow.value) {
editDetail.password = inputPwd.value;
}
await acctMgmtStore.editAccount(
currentViewingUser.value.username,
editDetail,
);
toast.success(i18next.t("AcctMgmt.MsgAccountEdited"));
isEditable.value = false;
}
const onConfirmBtnClick = async () => {
validatePwdLength();
if (!isPwdLengthValid.value) return;
// rule for account uniqueness
switch (whichCurrentModal.value) { switch (whichCurrentModal.value) {
case MODAL_CREATE_NEW: case MODAL_CREATE_NEW:
await checkAccountIsUnique(); await handleCreateNew();
if (!isAccountUnique.value) {
return;
}
await acctMgmtStore.createNewAccount({
username: inputUserAccount.value,
password: inputPwd.value === undefined ? "" : inputPwd.value,
name: inputName.value,
is_admin: isSetAsAdminChecked.value,
is_active: isSetActivedChecked.value,
});
toast.success(i18next.t("AcctMgmt.MsgAccountAdded"));
modalStore.closeModal();
acctMgmtStore.setShouldUpdateList(true);
await router.push("/account-admin");
break; break;
case MODAL_ACCT_EDIT: case MODAL_ACCT_EDIT:
await checkAccountIsUnique(); await handleEditAccount();
if (!isAccountUnique.value) {
return;
}
// Note that the old username and new username can be different
// Distinguish between cases with and without a password
if (isResetPwdSectionShow.value) {
await acctMgmtStore.editAccount(currentViewingUser.value.username, {
newUsername: inputUserAccount.value,
password: inputPwd.value,
name: inputName.value === undefined ? "" : inputName.value,
is_active: true,
});
} else {
await acctMgmtStore.editAccount(currentViewingUser.value.username, {
newUsername: inputUserAccount.value,
name: inputName.value === undefined ? "" : inputName.value,
is_active: true,
});
}
toast.success(i18next.t("AcctMgmt.MsgAccountEdited"));
isEditable.value = false;
break; break;
default: default:
break; break;