Skip to content

Commit

Permalink
make isError and isInvalidMajorOrMinorError computed props
Browse files Browse the repository at this point in the history
  • Loading branch information
tcho6319 committed May 2, 2021
1 parent 685e78b commit 04e4b25
Showing 1 changed file with 23 additions and 21 deletions.
44 changes: 23 additions & 21 deletions src/components/Modals/Onboarding/Onboarding.vue
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,33 @@ export default defineComponent({
data() {
return {
currentPage: 1,
isError: false,
isInvalidMajorOrMinorError: false,
name: { ...this.userName },
onboarding: { ...this.onboardingData },
};
},
computed: {
// Display error if a required field is empty
isError(): boolean {
return (
this.name.firstName === '' ||
this.name.lastName === '' ||
this.onboarding.college === '' ||
this.onboarding.gradYear === '' ||
this.onboarding.entranceYear === ''
);
},
// Display error if onboarding data includes a major or minor that doesn't exist in requirementsJSON
isInvalidMajorOrMinorError(): boolean {
return (
this.onboarding.major
.map(getMajorFullName)
.some((majorFullName: string) => majorFullName === '') ||
this.onboarding.minor
.map(getMinorFullName)
.some((minorFullName: string) => minorFullName === '')
);
},
},
methods: {
submitOnboarding() {
db.batch()
Expand Down Expand Up @@ -152,25 +173,6 @@ export default defineComponent({
this.currentPage = page;
},
goNext() {
// Onboarding Basic
if (this.currentPage === 1) {
// Display error if a required field is empty
// Display error if onboarding data includes a major or minor that doesn't exist in requirementsJSON
this.isError =
this.name.firstName === '' ||
this.name.lastName === '' ||
this.onboarding.college === '' ||
this.onboarding.gradYear === '' ||
this.onboarding.entranceYear === '';
this.isInvalidMajorOrMinorError =
this.onboarding.major
.map(getMajorFullName)
.some((majorFullName: string) => majorFullName === '') ||
this.onboarding.minor
.map(getMinorFullName)
.some((minorFullName: string) => minorFullName === '');
}
// Only move onto next page if error message is not displayed
if (!(this.isError || this.isInvalidMajorOrMinorError)) {
this.currentPage = this.currentPage === FINAL_PAGE ? FINAL_PAGE : this.currentPage + 1;
Expand Down

0 comments on commit 04e4b25

Please sign in to comment.