Added label field for requests
This commit is contained in:
@@ -6,6 +6,9 @@
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li @click="sort_by_label()">
|
||||
<label for="" class="flex-wrap">Name<i class="material-icons">sort</i></label>
|
||||
</li>
|
||||
<li @click="sort_by_time()">
|
||||
<label for="" class="flex-wrap">Time<i class="material-icons">sort</i></label>
|
||||
</li>
|
||||
@@ -21,6 +24,9 @@
|
||||
</ul>
|
||||
<virtual-list class="virtual-list" :class="{filled: filteredHistory.length}" :size="54" :remain="Math.min(5, filteredHistory.length)">
|
||||
<ul v-for="(entry, index) in filteredHistory" :key="index" class="entry">
|
||||
<li>
|
||||
<input aria-label="Label" type="text" readonly :value="entry.label" :title="entry.label">
|
||||
</li>
|
||||
<li>
|
||||
<input aria-label="Time" type="text" readonly :value="entry.time" :title="entry.date">
|
||||
</li>
|
||||
@@ -104,7 +110,8 @@
|
||||
reverse_sort_time: false,
|
||||
reverse_sort_status_code: false,
|
||||
reverse_sort_url: false,
|
||||
reverse_sort_path: false
|
||||
reverse_sort_path: false,
|
||||
reverse_sort_label: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -191,13 +198,24 @@
|
||||
let byUrl = this.history.slice(0);
|
||||
byUrl.sort((a, b)=>{
|
||||
if(this.reverse_sort_url)
|
||||
return a.url == b.url ? 0 : +(a.url < b.url) || -1;
|
||||
return a.url === b.url ? 0 : +(a.url < b.url) || -1;
|
||||
else
|
||||
return a.url == b.url ? 0 : +(a.url > b.url) || -1;
|
||||
return a.url === b.url ? 0 : +(a.url > b.url) || -1;
|
||||
});
|
||||
this.history = byUrl;
|
||||
this.reverse_sort_url = !this.reverse_sort_url;
|
||||
},
|
||||
sort_by_label() {
|
||||
let byLabel = this.history.slice(0);
|
||||
byLabel.sort((a, b)=>{
|
||||
if(this.reverse_sort_label)
|
||||
return a.label === b.label ? 0 : +(a.label < b.label) || -1;
|
||||
else
|
||||
return a.label === b.label ? 0 : +(a.label > b.label) || -1;
|
||||
});
|
||||
this.history = byLabel;
|
||||
this.reverse_sort_label = !this.reverse_sort_label;
|
||||
},
|
||||
sort_by_path() {
|
||||
let byPath = this.history.slice(0);
|
||||
byPath.sort((a, b)=>{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<div class="page">
|
||||
<input :class="{ error: !requestName }" @keyup.enter="requestName ? validRequestName() : null" id="label" name="label" type="label" v-model="label">
|
||||
<pw-modal v-if="showModal" @close="showModal = false">
|
||||
<div slot="header">
|
||||
<ul>
|
||||
@@ -416,6 +417,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
label:'Enter request name',
|
||||
showModal: false,
|
||||
copyButton: '<i class="material-icons">file_copy</i>',
|
||||
copiedButton: '<i class="material-icons">done</i>',
|
||||
@@ -520,6 +522,9 @@
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
requestName() {
|
||||
return this.label.match(/^([^?]*)\??/)[1]
|
||||
},
|
||||
statusCategory() {
|
||||
return findStatusGroup(this.response.status);
|
||||
},
|
||||
@@ -686,6 +691,13 @@
|
||||
behavior: 'smooth'
|
||||
});
|
||||
},
|
||||
async validRequestName() {
|
||||
if (!this.requestName) {
|
||||
this.$toast.error('Request Name is not valid', {
|
||||
icon: 'error'
|
||||
});
|
||||
return;
|
||||
}},
|
||||
async sendRequest() {
|
||||
if (!this.isValidURL) {
|
||||
this.$toast.error('URL is not formatted properly', {
|
||||
@@ -773,6 +785,7 @@
|
||||
|
||||
// Addition of an entry to the history component.
|
||||
const entry = {
|
||||
label: this.requestName,
|
||||
status,
|
||||
date,
|
||||
time,
|
||||
@@ -790,6 +803,7 @@
|
||||
|
||||
// Addition of an entry to the history component.
|
||||
const entry = {
|
||||
label: this.requestName,
|
||||
status: this.response.status,
|
||||
date: new Date().toLocaleDateString(),
|
||||
time: new Date().toLocaleTimeString(),
|
||||
@@ -1043,6 +1057,7 @@
|
||||
this.params = [];
|
||||
break;
|
||||
default:
|
||||
this.label = '',
|
||||
this.method= 'GET',
|
||||
this.url = 'https://reqres.in',
|
||||
this.auth = 'None',
|
||||
@@ -1066,6 +1081,7 @@
|
||||
created() {
|
||||
if (Object.keys(this.$route.query).length) this.setRouteQueries(this.$route.query);
|
||||
this.$watch(vm => [
|
||||
vm.label,
|
||||
vm.method,
|
||||
vm.url,
|
||||
vm.auth,
|
||||
|
||||
Reference in New Issue
Block a user