[+] Sync search settings as a param
This commit is contained in:
@@ -20,6 +20,7 @@ export default class CourseSelection extends Vue
|
|||||||
cardsHeight: number = 0;
|
cardsHeight: number = 0;
|
||||||
|
|
||||||
openedPage: string = '';
|
openedPage: string = '';
|
||||||
|
settings: SearchSettings = new SearchSettings();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called before rendering
|
* Called before rendering
|
||||||
@@ -120,11 +121,6 @@ export default class CourseSelection extends Vue
|
|||||||
this.openedPage = this.openedPage == 'settings' ? '' : 'settings';
|
this.openedPage = this.openedPage == 'settings' ? '' : 'settings';
|
||||||
}
|
}
|
||||||
|
|
||||||
get settings(): SearchSettings
|
|
||||||
{
|
|
||||||
return <SearchSettings> this.$refs['settings'];
|
|
||||||
}
|
|
||||||
|
|
||||||
get filteredCourses()
|
get filteredCourses()
|
||||||
{
|
{
|
||||||
let year = GPAUtils.getSchoolYear();
|
let year = GPAUtils.getSchoolYear();
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="16" class="overall-span">
|
<el-col :span="16" class="overall-span">
|
||||||
<el-card class="left" :style="{height: cardsHeight + 'px'}">
|
<el-card class="left" :style="{height: cardsHeight + 'px'}">
|
||||||
<SearchSettings ref="settings" v-if="openedPage == 'settings'"></SearchSettings>
|
<SearchSettings ref="settings" :settings="settings" v-if="openedPage === 'settings'"></SearchSettings>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
|
|||||||
@@ -3,18 +3,19 @@
|
|||||||
<div class="header">Settings</div>
|
<div class="header">Settings</div>
|
||||||
<el-divider class="divider"><i class="el-icon-s-tools"></i></el-divider>
|
<el-divider class="divider"><i class="el-icon-s-tools"></i></el-divider>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<el-switch v-model="showAllCourses" active-text="Show all courses (including the ones you can't take next year)"/>
|
<el-switch v-model="settings.showAllCourses" active-text="Show all courses (including the ones you can't take next year)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {Component, Vue} from 'vue-property-decorator'
|
import {Component, Prop, Vue} from 'vue-property-decorator'
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
export default class SearchSettingsComponent extends Vue
|
export default class SearchSettingsComponent extends Vue
|
||||||
{
|
{
|
||||||
showAllCourses = false;
|
@Prop({required: true}) settings: SearchSettings;
|
||||||
|
// TODO: Show all courses option
|
||||||
}
|
}
|
||||||
|
|
||||||
export class SearchSettings
|
export class SearchSettings
|
||||||
|
|||||||
Reference in New Issue
Block a user