add SearchInput component with icon
This commit is contained in:
@@ -0,0 +1,58 @@
|
|||||||
|
<template>
|
||||||
|
<b-form-group :label="$t('options.search.title')">
|
||||||
|
<b-input-group>
|
||||||
|
<template #append>
|
||||||
|
<b-input-group-text>
|
||||||
|
<svg viewBox="0 0 19 19">
|
||||||
|
<circle cx="7.5" cy="7.5" r="4" />
|
||||||
|
<path d="M 10.5,10.5 L 15.5,15.5" />
|
||||||
|
</svg>
|
||||||
|
</b-input-group-text>
|
||||||
|
</template>
|
||||||
|
<b-form-input
|
||||||
|
:value="value" @input="$emit('input', $event)" id="search-input"
|
||||||
|
trim
|
||||||
|
/>
|
||||||
|
</b-input-group>
|
||||||
|
</b-form-group>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'SearchInput',
|
||||||
|
|
||||||
|
props: {
|
||||||
|
value: { type: String, required: true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.form-control[type='text'] {
|
||||||
|
border-color: $black;
|
||||||
|
border-right: 0;
|
||||||
|
height: calc(1.75em + #{2 * $border-width});
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-group-text {
|
||||||
|
border-color: $black;
|
||||||
|
background-color: $white;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg {
|
||||||
|
display: inline-block;
|
||||||
|
width: 19px;
|
||||||
|
height: 19px;
|
||||||
|
align-self: center;
|
||||||
|
margin-right: .25rem;
|
||||||
|
|
||||||
|
path,
|
||||||
|
circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: $black;
|
||||||
|
stroke-width: 2px;
|
||||||
|
stroke-linecap: round;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
export { default as MultipleTagsSelect } from './MultipleTagsSelect'
|
||||||
|
export { default as SearchInput } from './SearchInput'
|
||||||
@@ -61,16 +61,7 @@
|
|||||||
</b-form-group>
|
</b-form-group>
|
||||||
|
|
||||||
<!-- LIST + MAP ONLY -->
|
<!-- LIST + MAP ONLY -->
|
||||||
<b-form-group
|
<search-input v-if="mode !== 'tree'" v-model="activeSearch" />
|
||||||
v-if="mode !== 'tree'"
|
|
||||||
:label="$t('options.search.title')"
|
|
||||||
>
|
|
||||||
<b-input-group append="search-icon">
|
|
||||||
<b-form-input
|
|
||||||
v-model="activeSearch" id="search-input" trim
|
|
||||||
/>
|
|
||||||
</b-input-group>
|
|
||||||
</b-form-group>
|
|
||||||
|
|
||||||
<!-- TREE ONLY -->
|
<!-- TREE ONLY -->
|
||||||
<b-form-group
|
<b-form-group
|
||||||
@@ -91,13 +82,14 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
import MultipleTagsSelect from '@/components/formItems/MultipleTagsSelect'
|
import { MultipleTagsSelect, SearchInput } from '@/components/formItems'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'LibraryOptions',
|
name: 'LibraryOptions',
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
MultipleTagsSelect
|
MultipleTagsSelect,
|
||||||
|
SearchInput
|
||||||
},
|
},
|
||||||
|
|
||||||
data () {
|
data () {
|
||||||
@@ -279,17 +271,6 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-control[type='text'] {
|
|
||||||
border-color: $black;
|
|
||||||
border-right: 0;
|
|
||||||
height: calc(1.75em + #{2 * $border-width});
|
|
||||||
}
|
|
||||||
|
|
||||||
.input-group-text {
|
|
||||||
border-color: $black;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user