summaryrefslogtreecommitdiff
path: root/src/components/_sila
diff options
context:
space:
mode:
authorVitalii Lysak <v.lysak@dunice.net>2022-08-04 12:15:00 +0300
committerVitalii Lysak <v.lysak@dunice.net>2022-08-04 12:15:00 +0300
commita02d02109352c8c72b92272b01fce63d3486efde (patch)
tree4edcd1ead6f6ccb47e570ef83af64d962528f85e /src/components/_sila
parent056f1371ef17398ac61dbf52b1840db0c73caf8f (diff)
downloadwebui-vue-a02d02109352c8c72b92272b01fce63d3486efde.tar.xz
SILABMC-224: add search by select
Diffstat (limited to 'src/components/_sila')
-rw-r--r--src/components/_sila/Global/Search.vue82
-rw-r--r--src/components/_sila/Mixins/SearchFilterMixin.js1
2 files changed, 58 insertions, 25 deletions
diff --git a/src/components/_sila/Global/Search.vue b/src/components/_sila/Global/Search.vue
index ac8f9bfb..08be4ebb 100644
--- a/src/components/_sila/Global/Search.vue
+++ b/src/components/_sila/Global/Search.vue
@@ -6,32 +6,49 @@
label-class="invisible"
class="mb-2"
>
- <b-input-group size="md" class="align-items-center">
- <b-input-group-prepend>
- <icon-search class="search-icon" />
- </b-input-group-prepend>
- <b-form-input
- :id="`searchInput-${_uid}`"
- ref="searchInput"
- v-model="filter"
- class="search-input"
- type="text"
- :aria-label="$t('global.form.search')"
- :placeholder="placeholder"
- @input="onChangeInput"
+ <div class="d-flex">
+ <b-form-select
+ v-if="showSearchBy"
+ v-model="searchBy"
+ class="mr-2 w-50 search-selector"
+ :options="selectOptions"
+ @change="onSelect"
>
- </b-form-input>
- <b-button
- v-if="filter"
- variant="link"
- class="btn-icon-only input-action-btn"
- :title="$t('global.ariaLabel.clearSearch')"
- @click="onClearSearch"
- >
- <icon-close />
- <span class="sr-only">{{ $t('global.ariaLabel.clearSearch') }}</span>
- </b-button>
- </b-input-group>
+ <template #first>
+ <b-form-select-option :value="null" disabled>{{
+ $t('pagePostCodeLogs.table.searchBy')
+ }}</b-form-select-option>
+ </template>
+ </b-form-select>
+ <b-input-group size="md" class="align-items-center">
+ <b-input-group-prepend>
+ <icon-search class="search-icon" />
+ </b-input-group-prepend>
+ <b-form-input
+ :id="`searchInput-${_uid}`"
+ ref="searchInput"
+ v-model="filter"
+ class="search-input"
+ type="text"
+ :aria-label="$t('global.form.search')"
+ :placeholder="placeholder"
+ @input="onChangeInput"
+ >
+ </b-form-input>
+ <b-button
+ v-if="filter"
+ variant="link"
+ class="btn-icon-only input-action-btn"
+ :title="$t('global.ariaLabel.clearSearch')"
+ @click="onClearSearch"
+ >
+ <icon-close />
+ <span class="sr-only">{{
+ $t('global.ariaLabel.clearSearch')
+ }}</span>
+ </b-button>
+ </b-input-group>
+ </div>
</b-form-group>
</div>
</template>
@@ -50,13 +67,25 @@ export default {
return this.$t('global.form.search');
},
},
+ selectOptions: {
+ type: Array,
+ default: () => [],
+ },
+ showSearchBy: {
+ type: Boolean,
+ default: false,
+ },
},
data() {
return {
filter: null,
+ searchBy: 'all',
};
},
methods: {
+ onSelect() {
+ this.$emit('search-by', this.searchBy);
+ },
onChangeInput() {
this.$emit('change-search', this.filter);
},
@@ -80,4 +109,7 @@ export default {
z-index: 4;
stroke: gray('400');
}
+.search-selector {
+ font-size: 14px;
+}
</style>
diff --git a/src/components/_sila/Mixins/SearchFilterMixin.js b/src/components/_sila/Mixins/SearchFilterMixin.js
index a4819e26..5cdf7296 100644
--- a/src/components/_sila/Mixins/SearchFilterMixin.js
+++ b/src/components/_sila/Mixins/SearchFilterMixin.js
@@ -4,6 +4,7 @@ const SearchFilterMixin = {
methods: {
onChangeSearchInput(searchValue) {
this.searchFilter = searchValue;
+ console.log('this.searchFilter!!!', this.searchFilter);
},
onClearSearchInput() {
this.searchFilter = null;