reduce cognitive complexity at ConformanceSidebar.vue

This commit is contained in:
Cindy Chang
2024-07-22 13:36:19 +08:00
parent 5407a4e2aa
commit 258a25972a

View File

@@ -296,173 +296,34 @@ export default {
/**
* Apply button is disabled or not
*/
isApplyBtnDisabled() {
let disabledBool = true;
switch (this.selectedRuleType) {
case 'Have activity': // Rule Type 選 Have activity 的行為
if(this.selectConformanceTask?.length) {
disabledBool = false;
}
break
case 'Activity sequence': // Rule Type 選 Activity sequence 的行為
switch (this.selectedActivitySequence) {
case 'Start & End': // Activity Sequence 選 Start & End 的行為
if(this.selectCfmSeqStart && this.selectCfmSeqEnd) {
disabledBool = false;
}
break;
case 'Sequence': // Activity Sequence 選 Sequence 的行為
switch (this.selectedMode) {
case 'Directly follows':
if(this.selectCfmSeqDirectly.length >= 2) {
disabledBool = false;
}
break;
case 'Eventually follows':
if(this.selectCfmSeqEventually.length >= 2) {
disabledBool = false;
}
break;
case 'Short loop(s)':
disabled = false;
break;
case 'Self loop(s)':
disabledBool = false;
break;
};
}
break;
case 'Activity duration': // Rule Type 選 Activity duration 的行為
if(this.selectDurationData?.length) {
disabledBool = false;
}
break;
case 'Processing time': // Rule Type 選 Processing time 的行為
switch (this.selectedProcessScope) {
case 'End to end':
switch (this.selectedActSeqMore) {
case 'All':
disabledBool = false;
break;
case 'Start':
if(this.selectCfmPtEteStart) {
disabledBool = false;
}
break;
case 'End':
if(this.selectCfmPtEteEnd) {
disabledBool = false;
}
break;
case 'Start & End':
if(!this.isAlreadySubmit) {
disabledBool = !(this.selectCfmPtEteSEStart && this.selectCfmPtEteSEEnd);
} else {
disabledBool = (!this.selectCfmPtEteSEStart && this.selectCfmPtEteSEEnd)
|| (this.selectCfmPtEteSEStart && !this.selectCfmPtEteSEEnd);
}
break;
};
break;
case 'Partial':
switch (this.selectedActSeqFromTo) {
case 'From':
if(this.selectCfmPtPStart) {
disabledBool = false;
}
break;
case 'To':
if(this.selectCfmPtPEnd) {
disabledBool = false;
}
break;
case 'From & To':
if(!this.isAlreadySubmit) { // sonar-qube fix
disabledBool = !(this.selectCfmPtPSEStart && this.selectCfmPtPSEEnd)
} else { // sonar-qube fix
disabledBool = (this.selectCfmPtPSEStart && !this.selectCfmPtPSEEnd) || (!this.selectCfmPtPSEStart && this.selectCfmPtPSEEnd);
}
break;
};
break;
};
break;
case 'Waiting time': // Rule Type 選 Waiting time 的行為
switch (this.selectedProcessScope) {
case 'End to end':
switch (this.selectedActSeqMore) {
case 'Start':
if(this.selectCfmWtEteStart) {
disabledBool = false;
}
break;
case 'End':
if(this.selectCfmWtEteEnd) {
disabledBool = false;
}
break;
case 'Start & End':
if(!this.isAlreadySubmit) { // sonar-qube fix
disabledBool = !(this.selectCfmWtEteSEStart == this.selectCfmWtEteSEEnd);
};
break;
}
case 'Partial':
switch (this.selectedActSeqFromTo) {
case 'From':
if(this.selectCfmWtPStart) {
disabledBool = false;
}
break;
case 'To':
if(this.selectCfmWtPEnd) {
disabledBool = false;
}
break;
case 'From & To':
if (!this.isAlreadySubmit) { // sonar-cube fix
disabledBool = !(this.selectCfmWtPSEStart && this.selectCfmWtPSEEnd);
} else {
disabledBool = (this.selectCfmWtPSEStart !== this.selectCfmWtPSEEnd);
}
break;
};
break;
};
break;
case 'Cycle time': // Rule Type 選 Cycle time 的行為
switch (this.selectedActSeqMore) {
case 'All':
disabledBool = false;
break;
case 'Start':
if(this.selectCfmCtEteStart) {
disabledBool = false;
}
break;
case 'End':
if(this.selectCfmCtEteEnd) {
disabledBool = false;
}
break;
case 'Start & End':
if (!this.isAlreadySubmit) { // sonar-qube fix
if (this.selectCfmCtEteSEStart && this.selectCfmCtEteSEEnd) {
disabledBool = false;
} else {
disabledBool = true;
}
} else {
disabledBool = (this.selectCfmCtEteSEStart !== this.selectCfmCtEteSEEnd);
}
break;
};
break;
};
isApplyBtnDisabled() {
let disabledBool = true;
this.isMainBtnDisabled = disabledBool;
return this.isMainBtnDisabled;
switch (this.selectedRuleType) {
case 'Have activity':
disabledBool = this.checkHaveActivity();
break;
case 'Activity sequence':
disabledBool = this.checkActivitySequence();
break;
case 'Activity duration':
disabledBool = this.checkActivityDuration();
break;
case 'Processing time':
disabledBool = this.checkProcessingTime();
break;
case 'Waiting time':
disabledBool = this.checkWaitingTime();
break;
case 'Cycle time':
disabledBool = this.checkCycleTime();
break;
default:
break;
}
this.isMainBtnDisabled = disabledBool;
return this.isMainBtnDisabled;
},
...mapState(ConformanceInputStore, ['activityRadioData']),
},
@@ -1392,6 +1253,149 @@ export default {
}
});
},
checkHaveActivity() {
return !(this.selectConformanceTask?.length);
},
checkActivityDuration() {
return !this.selectDurationData?.length;
},
checkProcessingTime() {
let disabled = true;
switch (this.selectedProcessScope) {
case 'End to end':
disabled = this.checkEndToEnd();
break;
case 'Partial':
disabled = this.checkPartial();
break;
default:
break;
}
return disabled;
},
checkEndToEnd() {
let disabled = true;
switch (this.selectedActSeqMore) {
case 'All':
disabled = false;
break;
case 'Start':
disabled = !this.selectCfmPtEteStart;
break;
case 'End':
disabled = !this.selectCfmPtEteEnd;
break;
case 'Start & End':
disabled = this.checkStartAndEnd(
this.selectCfmPtEteSEStart,
this.selectCfmPtEteSEEnd
);
break;
default:
break;
}
return disabled;
},
checkPartial() {
let disabled = true;
switch (this.selectedActSeqFromTo) {
case 'From':
disabled = !this.selectCfmPtPStart;
break;
case 'To':
disabled = !this.selectCfmPtPEnd;
break;
case 'From & To':
disabled = this.checkStartAndEnd(
this.selectCfmPtPSEStart,
this.selectCfmPtPSEEnd
);
break;
default:
break;
}
return disabled;
},
checkWaitingTime() {
let disabled = true;
switch (this.selectedProcessScope) {
case 'End to end':
disabled = this.checkEndToEndWaiting();
break;
case 'Partial':
disabled = this.checkPartialWaiting();
break;
default:
break;
}
return disabled;
},
checkEndToEndWaiting() {
let disabled = true;
switch (this.selectedActSeqMore) {
case 'Start':
disabled = !this.selectCfmWtEteStart;
break;
case 'End':
disabled = !this.selectCfmWtEteEnd;
break;
case 'Start & End':
disabled = this.selectCfmWtEteSEStart !== this.selectCfmWtEteSEEnd;
break;
default:
break;
}
return disabled;
},
checkPartialWaiting() {
let disabled = true;
switch (this.selectedActSeqFromTo) {
case 'From':
disabled = !this.selectCfmWtPStart;
break;
case 'To':
disabled = !this.selectCfmWtPEnd;
break;
case 'From & To':
disabled = this.checkStartAndEnd(
this.selectCfmWtPSEStart,
this.selectCfmWtPSEEnd
);
break;
default:
break;
}
return disabled;
},
checkCycleTime() {
let disabled = true;
switch (this.selectedActSeqMore) {
case 'All':
disabled = false;
break;
case 'Start':
disabled = !this.selectCfmCtEteStart;
break;
case 'End':
disabled = !this.selectCfmCtEteEnd;
break;
case 'Start & End':
disabled = this.checkStartAndEnd(
this.selectCfmCtEteSEStart,
this.selectCfmCtEteSEEnd
);
break;
default:
break;
}
return disabled;
},
checkStartAndEnd(start, end) {
return !this.isAlreadySubmit
? !(start && end)
: start !== end;
},
...mapActions(ConformanceInputStore, [''])
},
created() {