Edit request.

This commit is contained in:
Keith Holliday
2019-10-17 10:56:19 -06:00
parent 5847f0b16e
commit 85d6c3ac34
5 changed files with 47 additions and 26 deletions

View File

@@ -37,6 +37,7 @@
<request <request
:request="request" :request="request"
:collection-index="collectionIndex" :collection-index="collectionIndex"
:folder-index="-1"
:request-index="index" :request-index="index"
></request> ></request>
</li> </li>

View File

@@ -1,6 +1,7 @@
<template> <template>
<div @click='selectRequest()'> <div @click='selectRequest()'>
{{request.name}} {{request.name}}
<button class="add-button" @click="editRequest">e</button>
<button class="add-button" @click="removeRequest">x</button> <button class="add-button" @click="removeRequest">x</button>
</div> </div>
</template> </template>
@@ -27,6 +28,10 @@ export default {
selectRequest() { selectRequest() {
this.$store.commit('postwoman/selectRequest', { request: this.request }); this.$store.commit('postwoman/selectRequest', { request: this.request });
}, },
editRequest() {
this.request.requestIndex = this.requestIndex;
this.$store.commit('postwoman/editRequest', { request: this.request });
},
removeRequest() { removeRequest() {
if (!confirm("Are you sure you want to remove this request?")) return; if (!confirm("Are you sure you want to remove this request?")) return;
this.$store.commit('postwoman/removeRequest', { this.$store.commit('postwoman/removeRequest', {

View File

@@ -8,9 +8,9 @@
<h3 class="title" v-if='!request.hasOwnProperty("requestIndex")'>Add New Request</h3> <h3 class="title" v-if='!request.hasOwnProperty("requestIndex")'>Add New Request</h3>
<h3 class="title" v-if='request.hasOwnProperty("requestIndex")'>Edit Request</h3> <h3 class="title" v-if='request.hasOwnProperty("requestIndex")'>Edit Request</h3>
<div> <div>
<button class="icon" @click="hideModel"> <button class="icon" @click="hideModel">
<i class="material-icons">close</i> <i class="material-icons">close</i>
</button> </button>
</div> </div>
</div> </div>
</li> </li>
@@ -63,7 +63,7 @@ export default {
request: { request: {
name: '', name: '',
collection: '', collection: '',
folder: '', folder: -1,
}, },
} }
}, },
@@ -110,7 +110,7 @@ export default {
const savedRequest = Object.assign({}, this.request); const savedRequest = Object.assign({}, this.request);
this.$store.commit('postwoman/saveRequest', { this.$store.commit('postwoman/saveRequest', {
savedRequest, request: savedRequest,
}); });
this.request = { this.request = {

View File

@@ -3,7 +3,7 @@
<save-request <save-request
v-bind:show="showRequestModal" v-bind:show="showRequestModal"
v-on:hide-model='hideRequestModal' v-on:hide-model='hideRequestModal'
v-bind:editing-request='request' v-bind:editing-request='editRequest'
></save-request> ></save-request>
<pw-modal v-if="showModal" @close="showModal = false"> <pw-modal v-if="showModal" @close="showModal = false">
<div slot="header"> <div slot="header">
@@ -490,7 +490,7 @@
'text/plain' 'text/plain'
], ],
showRequestModal: false, showRequestModal: false,
request: {}, editRequest: {},
} }
}, },
watch: { watch: {
@@ -547,28 +547,36 @@
deep: true deep: true
}, },
selectedRequest (newValue, oldValue) { selectedRequest (newValue, oldValue) {
// @TODO: Convert all variables to single request variable
if (!newValue) return; if (!newValue) return;
this.url = newValue.url; this.url = newValue.url;
this.path = '/api/users'; this.path = newValue.path;
this.method = newValue.method; this.method = newValue.method;
this.auth = 'None'; this.auth = newValue.auth;
this.httpUser = ''; this.httpUser = newValue.httpUser;
this.httpPassword = ''; this.httpPassword = newValue.httpPassword;
// passwordFieldType: 'password', this.passwordFieldType = newValue.passwordFieldType;
// bearerToken: '', this.bearerToken = newValue.bearerToken;
// headers: [], this.headers = newValue.headers;
// params: [], this.params = newValue.params;
// bodyParams: [], this.bodyParams = newValue.bodyParams;
// rawParams: '', this.rawParams = newValue.rawParams;
// rawInput: false, this.rawInput = newValue.rawInput;
// contentType: 'application/json', this.contentType = newValue.contentType;
// requestType: 'JavaScript XHR', this.requestType = newValue.requestType;
}, },
editingRequest (newValue) {
this.editRequest = newValue;
this.showRequestModal = true;
}
}, },
computed: { computed: {
selectedRequest() { selectedRequest() {
return this.$store.state.postwoman.selectedRequest; return this.$store.state.postwoman.selectedRequest;
}, },
editingRequest() {
return this.$store.state.postwoman.editingRequest;
},
requestName() { requestName() {
return this.label return this.label
}, },
@@ -1123,7 +1131,7 @@
}); });
}, },
saveRequest() { saveRequest() {
this.request = { this.editRequest = {
url: this.url, url: this.url,
path: this.path, path: this.path,
method: this.method, method: this.method,
@@ -1139,11 +1147,13 @@
rawInput: this.rawInput, rawInput: this.rawInput,
contentType: this.contentType, contentType: this.contentType,
requestType: this.requestType, requestType: this.requestType,
} };
console.log(this.editRequest);
this.showRequestModal = true; this.showRequestModal = true;
}, },
hideRequestModal() { hideRequestModal() {
this.showRequestModal = false; this.showRequestModal = false;
this.editRequest = {};
}, },
}, },
mounted() { mounted() {

View File

@@ -49,6 +49,7 @@ export const state = () => ({
requests: [], requests: [],
}], }],
selectedRequest: {}, selectedRequest: {},
editingRequest: {},
}); });
export const mutations = { export const mutations = {
@@ -100,7 +101,7 @@ export const mutations = {
const { request } = payload; const { request } = payload;
// Request that is directly attached to collection // Request that is directly attached to collection
if (!request.folder) { if (request.folder === -1) {
state.collections[request.collection].requests.push(request); state.collections[request.collection].requests.push(request);
return return
} }
@@ -112,7 +113,7 @@ export const mutations = {
const { request } = payload; const { request } = payload;
// Request that is directly attached to collection // Request that is directly attached to collection
if (!request.folder) { if (request.folder === -1) {
state.collections[request.collection].requests[request.requestIndex] = request; state.collections[request.collection].requests[request.requestIndex] = request;
return return
} }
@@ -124,7 +125,7 @@ export const mutations = {
const { collectionIndex, folderIndex, requestIndex } = payload; const { collectionIndex, folderIndex, requestIndex } = payload;
// Request that is directly attached to collection // Request that is directly attached to collection
if (!folderIndex) { if (folderIndex === -1) {
state.collections[collectionIndex].requests.splice(requestIndex, 1) state.collections[collectionIndex].requests.splice(requestIndex, 1)
return return
} }
@@ -134,6 +135,10 @@ export const mutations = {
selectRequest (state, payload) { selectRequest (state, payload) {
state.selectedRequest = Object.assign({}, payload.request); state.selectedRequest = Object.assign({}, payload.request);
} },
editRequest (state, payload) {
state.editingRequest = Object.assign({}, payload.request);
},
}; };