From 5847f0b16e1e4ac9a6129fef6e4bdbd39c772b2d Mon Sep 17 00:00:00 2001 From: Keith Holliday Date: Thu, 17 Oct 2019 09:23:26 -0600 Subject: [PATCH] Added save and remove requests. --- components/collections/collection.vue | 8 +++-- components/collections/folder.vue | 9 ++++-- components/collections/request.vue | 26 ++++++++++++++-- components/collections/saveRequest.vue | 2 -- store/postwoman.js | 42 +++++++++++++++++--------- 5 files changed, 64 insertions(+), 23 deletions(-) diff --git a/components/collections/collection.vue b/components/collections/collection.vue index 6db07846b..f6f411423 100644 --- a/components/collections/collection.vue +++ b/components/collections/collection.vue @@ -33,8 +33,12 @@ diff --git a/components/collections/folder.vue b/components/collections/folder.vue index 35df7071e..120dbe7eb 100644 --- a/components/collections/folder.vue +++ b/components/collections/folder.vue @@ -10,8 +10,13 @@
diff --git a/components/collections/request.vue b/components/collections/request.vue index 44e0f825d..921ef74e1 100644 --- a/components/collections/request.vue +++ b/components/collections/request.vue @@ -1,18 +1,40 @@ + + \ No newline at end of file diff --git a/components/collections/saveRequest.vue b/components/collections/saveRequest.vue index dcdaff3a2..1e8a1704f 100644 --- a/components/collections/saveRequest.vue +++ b/components/collections/saveRequest.vue @@ -83,11 +83,9 @@ export default { }); }, folders() { - console.log(this.request) if (this.request.collection === '') return [] return this.$store.state.postwoman.collections[this.request.collection].folders .map((folder, index) => { - console.log(folder) return { name: folder.name, folderIndex: index, diff --git a/store/postwoman.js b/store/postwoman.js index 34d607bd9..4176e3234 100644 --- a/store/postwoman.js +++ b/store/postwoman.js @@ -45,17 +45,8 @@ export const state = () => ({ settings: {}, collections: [{ name: 'My First Collection', - folders: [{ - name: 'Folder 1', - requests: [{ - name: "Example request", - url: 'http://test.com', - }], - }], - requests: [{ - name: "Example request", - url: 'http://test.com', - }], + folders: [], + requests: [], }], selectedRequest: {}, }); @@ -107,17 +98,38 @@ export const mutations = { addRequest (state, payload) { const { request } = payload; + + // Request that is directly attached to collection + if (!request.folder) { + state.collections[request.collection].requests.push(request); + return + } + state.collections[request.collection].folders[request.folder].requests.push(request); }, - saveRequeest (state, payload) { + saveRequest (state, payload) { const { request } = payload; + + // Request that is directly attached to collection + if (!request.folder) { + state.collections[request.collection].requests[request.requestIndex] = request; + return + } + state.collections[request.collection].folders[request.folder].requests[request.requestIndex] = request; }, - removeFolder (state, payload) { - const { request } = payload; - state.collections[collectionIndex].folders[request.folder].requests.splice(request.requestIndex, 1) + removeRequest (state, payload) { + const { collectionIndex, folderIndex, requestIndex } = payload; + + // Request that is directly attached to collection + if (!folderIndex) { + state.collections[collectionIndex].requests.splice(requestIndex, 1) + return + } + + state.collections[collectionIndex].folders[folderIndex].requests.splice(requestIndex, 1) }, selectRequest (state, payload) {