mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 05:18:11 +00:00
chore: switched drivers filter from text to select input (TrainsView); updated inputs clear buttons
This commit is contained in:
@@ -24,31 +24,26 @@
|
||||
@blur="preventKeyDown = false"
|
||||
:placeholder="$t(`options.search-train`)"
|
||||
/>
|
||||
<button class="search-exit">
|
||||
<img
|
||||
src="/images/icon-exit.svg"
|
||||
alt="Trains search clear icon"
|
||||
@click="onInputClear('train')"
|
||||
/>
|
||||
<button class="btn btn--action search-exit" @click="onInputClear('train')">
|
||||
<img src="/images/icon-exit.svg" alt="Trains search clear icon" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="search-box">
|
||||
<input
|
||||
v-model="searchedDriver"
|
||||
<select
|
||||
class="search-input"
|
||||
id="driver-search"
|
||||
name="driver-search"
|
||||
@focus="preventKeyDown = true"
|
||||
@blur="preventKeyDown = false"
|
||||
:placeholder="$t(`options.search-driver`)"
|
||||
/>
|
||||
<button class="search-exit">
|
||||
<img
|
||||
src="/images/icon-exit.svg"
|
||||
alt="Driver search clear icon"
|
||||
@click="onInputClear('driver')"
|
||||
/>
|
||||
name="active-trains"
|
||||
id="active-trains"
|
||||
v-model="searchedDriver"
|
||||
>
|
||||
<option value="">{{ $t('options.search-driver') }}</option>
|
||||
<option v-for="driverName in activeDriverNames" :value="driverName">
|
||||
{{ driverName }}
|
||||
</option>
|
||||
</select>
|
||||
|
||||
<button class="btn btn--action search-exit" @click="onInputClear('driver')">
|
||||
<img src="/images/icon-exit.svg" alt="Trains search clear icon" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -101,6 +96,7 @@
|
||||
import { defineComponent, inject, PropType } from 'vue';
|
||||
import keyMixin from '../../mixins/keyMixin';
|
||||
import { TrainFilter, TrainFilterSection } from './typings';
|
||||
import { useMainStore } from '../../store/mainStore';
|
||||
|
||||
export default defineComponent({
|
||||
mixins: [keyMixin],
|
||||
@@ -120,6 +116,7 @@ export default defineComponent({
|
||||
data() {
|
||||
return {
|
||||
showOptions: false,
|
||||
store: useMainStore(),
|
||||
lastSelectedFilter: null as TrainFilter | null,
|
||||
TrainFilterSection
|
||||
};
|
||||
@@ -141,6 +138,16 @@ export default defineComponent({
|
||||
id,
|
||||
value: this.$t(`options.sort-${id}`)
|
||||
}));
|
||||
},
|
||||
|
||||
activeDriverNames() {
|
||||
const driverNameSet = new Set<string>();
|
||||
|
||||
this.store.trainList.forEach((train) => {
|
||||
driverNameSet.add(train.driverName);
|
||||
});
|
||||
|
||||
return [...driverNameSet].sort((a, b) => a.localeCompare(b));
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user