🎨 Styled select input

This commit is contained in:
Liyas Thomas
2019-12-15 05:29:03 +05:30
parent 6cf9044db6
commit 965133d6e2
4 changed files with 153 additions and 95 deletions

View File

@@ -550,11 +550,31 @@ code {
border-radius: 8px;
}
.select-wrapper {
position: relative;
&:after {
display: inline-block;
position: absolute;
pointer-events: none;
content: "\e313";
font-family: "Material Icons";
top: 14px;
right: 14px;
}
}
select {
height: 37px;
line-height: 37px;
background-color: var(--bg-dark-color);
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
&::-ms-expand {
display: none;
}
}
option {

View File

@@ -26,22 +26,32 @@
:placeholder="request.name"
/>
<label for="selectCollection">Collection</label>
<span class="select-wrapper">
<select
type="text"
id="selectCollection"
v-model="requestUpdateData.collectionIndex"
>
<option :key="undefined" :value="undefined" hidden disabled selected
<option
:key="undefined"
:value="undefined"
hidden
disabled
selected
>Current Collection</option
>
<option
v-for="(collection, index) in $store.state.postwoman.collections"
v-for="(collection, index) in $store.state.postwoman
.collections"
:key="index"
:value="index"
>{{ collection.name }}</option
>
{{ collection.name }}
</option>
</select>
</span>
<label for="selectFolder">Folder</label>
<span class="select-wrapper">
<select
type="text"
id="selectFolder"
@@ -52,9 +62,11 @@
v-for="(folder, index) in folders"
:key="index"
:value="index"
>{{ folder.name }}</option
>
{{ folder.name }}
</option>
</select>
</span>
</li>
</ul>
</div>

View File

@@ -26,22 +26,32 @@
@keyup.enter="saveRequestAs"
/>
<label for="selectCollection">Collection</label>
<span class="select-wrapper">
<select
type="text"
id="selectCollection"
v-model="requestData.collectionIndex"
>
<option :key="undefined" :value="undefined" hidden disabled selected
<option
:key="undefined"
:value="undefined"
hidden
disabled
selected
>Select a Collection</option
>
<option
v-for="(collection, index) in $store.state.postwoman.collections"
v-for="(collection, index) in $store.state.postwoman
.collections"
:key="index"
:value="index"
>{{ collection.name }}</option
>
{{ collection.name }}
</option>
</select>
</span>
<label for="selectFolder">Folder</label>
<span class="select-wrapper">
<select
type="text"
id="selectFolder"
@@ -52,10 +62,13 @@
v-for="(folder, index) in folders"
:key="index"
:value="index"
>{{ folder.name }}</option
>
{{ folder.name }}
</option>
</select>
</span>
<label for="selectRequest">Request</label>
<span class="select-wrapper">
<select
type="text"
id="selectRequest"
@@ -66,9 +79,11 @@
v-for="(folder, index) in requests"
:key="index"
:value="index"
>{{ folder.name }}</option
>
{{ folder.name }}
</option>
</select>
</span>
</li>
</ul>
</div>
@@ -123,7 +138,9 @@ export default {
if (!userSelectedAnyCollection) return [];
const noCollectionAvailable =
this.$store.state.postwoman.collections[this.$data.requestData.collectionIndex] !== undefined;
this.$store.state.postwoman.collections[
this.$data.requestData.collectionIndex
] !== undefined;
if (!noCollectionAvailable) return [];
return this.$store.state.postwoman.collections[
@@ -149,7 +166,9 @@ export default {
this.$data.requestData.collectionIndex
];
const noCollectionAvailable =
this.$store.state.postwoman.collections[this.$data.requestData.collectionIndex] !== undefined;
this.$store.state.postwoman.collections[
this.$data.requestData.collectionIndex
] !== undefined;
if (!noCollectionAvailable) return [];
const requests = collection.requests;

View File

@@ -44,6 +44,7 @@
<ul>
<li>
<label for="method">{{ $t("method") }}</label>
<span class="select-wrapper">
<select id="method" v-model="method" @change="methodChange">
<option value="GET">GET</option>
<option value="HEAD">HEAD</option>
@@ -55,6 +56,7 @@
<option value="TRACE">TRACE</option>
<option value="PATCH">PATCH</option>
</select>
</span>
</li>
<li>
<label for="url">{{ $t("url") }}</label>
@@ -330,11 +332,13 @@
</button>
</div>
</div>
<span class="select-wrapper">
<select id="auth" v-model="auth">
<option>None</option>
<option>Basic</option>
<option>Bearer Token</option>
</select>
</span>
</li>
</ul>
<ul v-if="auth === 'Basic'">
@@ -757,11 +761,13 @@
<ul>
<li>
<label for="requestType">{{ $t("request_type") }}</label>
<span class="select-wrapper">
<select id="requestType" v-model="requestType">
<option>JavaScript XHR</option>
<option>Fetch</option>
<option>cURL</option>
</select>
</span>
</li>
</ul>
<ul>
@@ -1489,7 +1495,8 @@ export default {
methods: {
checkCollections() {
const checkCollectionAvailability =
this.$store.state.postwoman.collections && this.$store.state.postwoman.collections.length > 0 ;
this.$store.state.postwoman.collections &&
this.$store.state.postwoman.collections.length > 0;
return checkCollectionAvailability;
},
scrollInto(view) {