JournalTimetables: dodano resetowanie filtrów

This commit is contained in:
2022-09-10 18:22:00 +02:00
parent 1661881127
commit 065143c359
2 changed files with 18 additions and 8 deletions
@@ -52,7 +52,7 @@ import axios from 'axios';
import DriverStats from './DriverStats.vue'; import DriverStats from './DriverStats.vue';
import Loading from '../Global/Loading.vue'; import Loading from '../Global/Loading.vue';
import { JournalFilter } from '../../types/Journal/JournalTimetablesTypes'; import { JournalFilter, JournalSorter } from '../../types/Journal/JournalTimetablesTypes';
import dateMixin from '../../mixins/dateMixin'; import dateMixin from '../../mixins/dateMixin';
import routerMixin from '../../mixins/routerMixin'; import routerMixin from '../../mixins/routerMixin';
import { DataStatus } from '../../scripts/enums/DataStatus'; import { DataStatus } from '../../scripts/enums/DataStatus';
@@ -61,7 +61,7 @@ import { TimetableHistory } from '../../scripts/interfaces/api/TimetablesAPIData
import { URLs } from '../../scripts/utils/apiURLs'; import { URLs } from '../../scripts/utils/apiURLs';
import { useStore } from '../../store/store'; import { useStore } from '../../store/store';
import JournalOptions from './JournalOptions.vue'; import JournalOptions from './JournalOptions.vue';
import { JournalTimetableSearcher } from '../../types/Journal/JournalTimetablesTypes'; import { JorunalTimetableSearchType } from '../../types/Journal/JournalTimetablesTypes';
import modalTrainMixin from '../../mixins/modalTrainMixin'; import modalTrainMixin from '../../mixins/modalTrainMixin';
import imageMixin from '../../mixins/imageMixin'; import imageMixin from '../../mixins/imageMixin';
import JournalTimetablesList from './JournalTimetablesList.vue'; import JournalTimetablesList from './JournalTimetablesList.vue';
@@ -99,14 +99,14 @@ export default defineComponent({
}), }),
setup() { setup() {
const sorterActive = ref({ id: 'timetableId', dir: -1 }); const sorterActive: JournalSorter = reactive({ id: 'timetableId', dir: 1 });
const journalFilterActive = ref(journalTimetableFilters[0]); const journalFilterActive = ref(journalTimetableFilters[0]);
const searchersValues = reactive({ const searchersValues = reactive({
'search-train': '', 'search-train': '',
'search-driver': '', 'search-driver': '',
'search-date': '', 'search-date': '',
} as JournalTimetableSearcher); } as JorunalTimetableSearchType);
const countFromIndex = ref(0); const countFromIndex = ref(0);
const countLimit = 15; const countLimit = 15;
@@ -153,9 +153,14 @@ export default defineComponent({
}, },
resetOptions() { resetOptions() {
Object.values(this.searchersValues).map((_) => ''); this.searchersValues['search-date'] = '';
this.searchersValues['search-driver'] = '';
this.searchersValues['search-train'] = '';
this.journalFilterActive = this.journalTimetableFilters[0]; this.journalFilterActive = this.journalTimetableFilters[0];
this.sorterActive.id = 'timetableId'; this.sorterActive.id = 'timetableId';
this.searchHistory();
}, },
searchHistory() { searchHistory() {
@@ -190,7 +195,7 @@ export default defineComponent({
async fetchHistoryData( async fetchHistoryData(
props: { props: {
searchers?: JournalTimetableSearcher; searchers?: JorunalTimetableSearchType;
filter?: JournalFilter; filter?: JournalFilter;
} = {} } = {}
) { ) {
+6 -1
View File
@@ -1,6 +1,6 @@
import { JournalFilterType } from '../../scripts/enums/JournalFilterType'; import { JournalFilterType } from '../../scripts/enums/JournalFilterType';
export type JournalTimetableSearcher = { export type JorunalTimetableSearchType = {
[key in 'search-driver' | 'search-train' | 'search-date']: string; [key in 'search-driver' | 'search-train' | 'search-date']: string;
}; };
@@ -9,3 +9,8 @@ export interface JournalFilter {
filterSection: string; filterSection: string;
isActive: boolean; isActive: boolean;
} }
export interface JournalSorter {
id: 'timetableId' | 'beginDate' | 'distance' | 'total-stops';
dir: -1 | 1;
}