diff --git a/components/collections/SaveRequest.vue b/components/collections/SaveRequest.vue
index 06412913..9dc61f8f 100644
--- a/components/collections/SaveRequest.vue
+++ b/components/collections/SaveRequest.vue
@@ -16,8 +16,10 @@
@@ -61,6 +63,7 @@ export default {
type: "my-collections",
selectedTeam: undefined,
},
+ picked: null,
}
},
subscriptions() {
@@ -123,14 +126,11 @@ export default {
},
},
methods: {
- changeRequestDetails(data) {
- this.$data.requestData.folderName = data.folderName.split("/").slice(-2)[0]
- this.$data.path = data.folderName
- this.$data.requestData.collectionIndex = data.collectionIndex
- this.$data.requestData.requestIndex = data.reqIdx
- if (data.collectionsType.type !== "my-collections") {
- this.$data.collectionsType = data.collectionsType
- }
+ onUpdateCollType(newCollType) {
+ this.collectionsType = newCollType
+ },
+ onSelect({ picked }) {
+ this.picked = picked
},
syncCollections() {
if (fb.currentUser !== null && this.SYNC_COLLECTIONS) {
@@ -141,8 +141,7 @@ export default {
}
},
saveRequestAs() {
- const userDidntSpecifyCollection = this.$data.requestData.collectionIndex === undefined
- if (userDidntSpecifyCollection) {
+ if (this.picked == null) {
this.$toast.error(this.$t("select_collection"), {
icon: "error",
})
@@ -161,32 +160,56 @@ export default {
collection: this.$data.requestData.collectionIndex,
}
- if (this.$data.collectionsType.type === "my-collections") {
+ if (this.picked.pickedType === "my-request") {
this.$store.commit("postwoman/saveRequestAs", {
request: requestUpdated,
- collectionIndex: this.$data.requestData.collectionIndex,
- folderName: this.$data.requestData.folderName,
- requestIndex: this.$data.requestData.requestIndex,
+ collectionIndex: this.picked.collectionIndex,
+ folderName: this.picked.folderName,
+ requestIndex: this.picked.requestIndex,
flag: "rest",
})
+
this.syncCollections()
- } else {
- if (this.$data.requestData.requestIndex) {
- team_utils.overwriteRequestTeams(
- this.$apollo,
- JSON.stringify(requestUpdated),
- requestUpdated.name,
- this.$data.requestData.requestIndex
- )
- } else {
- team_utils.saveRequestAsTeams(
- this.$apollo,
- JSON.stringify(requestUpdated),
- requestUpdated.name,
- this.$data.collectionsType.selectedTeam.id,
- this.$data.requestData.collectionIndex
- )
- }
+ } else if (this.picked.pickedType === "my-folder") {
+ this.$store.commit("postwoman/saveRequestAs", {
+ request: requestUpdated,
+ collectionIndex: this.picked.collectionIndex,
+ folderName: this.picked.folderName,
+ flag: "rest",
+ })
+
+ this.syncCollections()
+ } else if (this.picked.pickedType === "my-collection") {
+ this.$store.commit("postwoman/saveRequestAs", {
+ request: requestUpdated,
+ collectionIndex: this.picked.collectionIndex,
+ flag: "rest",
+ })
+
+ this.syncCollections()
+ } else if (this.picked.pickedType === "teams-request") {
+ team_utils.overwriteRequestTeams(
+ this.$apollo,
+ JSON.stringify(requestUpdated),
+ requestUpdated.name,
+ this.picked.requestID
+ )
+ } else if (this.picked.pickedType === "teams-folder") {
+ team_utils.saveRequestAsTeams(
+ this.$apollo,
+ JSON.stringify(requestUpdated),
+ requestUpdated.name,
+ this.collectionsType.selectedTeam.id,
+ this.picked.folderID
+ )
+ } else if (this.picked.pickedType === "teams-collection") {
+ team_utils.saveRequestAsTeams(
+ this.$apollo,
+ JSON.stringify(requestUpdated),
+ requestUpdated.name,
+ this.collectionsType.selectedTeam.id,
+ this.picked.collectionID
+ )
}
this.$toast.success("Requested added", {
icon: "done",
diff --git a/components/collections/index.vue b/components/collections/index.vue
index bf584e22..201c32ae 100644
--- a/components/collections/index.vue
+++ b/components/collections/index.vue
@@ -104,6 +104,7 @@
:selected="selected.some((coll) => coll == collection)"
:saveRequest="saveRequest"
:collectionsType="collectionsType"
+ :picked="picked"
@edit-collection="editCollection(collection, index)"
@add-folder="addFolder($event)"
@edit-folder="editFolder($event)"
@@ -130,10 +131,10 @@
picked = $event.id
}
"
+ @select="$emit('select', $event)"
@expand-collection="expandCollection"
@remove-collection="removeCollection"
@remove-request="removeRequest"
- :picked="picked.toString()"
/>
@@ -163,6 +164,7 @@ export default {
doc: Boolean,
selected: { type: Array, default: () => [] },
saveRequest: Boolean,
+ picked: Object,
},
data() {
return {
@@ -187,7 +189,6 @@ export default {
},
teamCollectionAdapter: new TeamCollectionAdapter(null),
teamCollectionsNew: [],
- picked: "",
}
},
subscriptions() {
@@ -292,9 +293,11 @@ export default {
},
updateSelectedTeam(newSelectedTeam) {
this.collectionsType.selectedTeam = newSelectedTeam
+ this.$emit("update-coll-type", this.collectionsType)
},
updateCollectionType(newCollectionType) {
this.collectionsType.type = newCollectionType
+ this.$emit("update-coll-type", this.collectionsType)
},
// Intented to be called by the CollectionAdd modal submit event
addNewRootCollection(name) {
diff --git a/components/collections/my/Collection.vue b/components/collections/my/Collection.vue
index a2e362ff..4b007963 100644
--- a/components/collections/my/Collection.vue
+++ b/components/collections/my/Collection.vue
@@ -12,9 +12,9 @@
@@ -82,19 +82,12 @@
:saveRequest="saveRequest"
:collectionsType="collectionsType"
:isFiltered="isFiltered"
+ :picked="picked"
@add-folder="$emit('add-folder', $event)"
@edit-folder="$emit('edit-folder', $event)"
@edit-request="$emit('edit-request', $event)"
- @select-folder="
- $emit('select-folder', {
- name: folder.name + '/' + $event.name,
- id: $event.id,
- reqIdx: $event.reqIdx,
- folderPath: $event.folderPath,
- })
- "
+ @select="$emit('select', $event)"
@remove-request="removeRequest"
- :picked="picked.toString()"
/>
@@ -109,18 +102,14 @@
:collection-index="collectionIndex"
:folder-index="-1"
:folder-name="collection.name"
+ :folder-path="collectionIndex.toString()"
:request-index="index"
:doc="doc"
:saveRequest="saveRequest"
:collectionsType="collectionsType"
+ :picked="picked"
@edit-request="editRequest($event)"
- @select-request="
- $emit('select-folder', {
- name: $event.name,
- id: collection.id,
- reqIdx: $event.idx,
- })
- "
+ @select="$emit('select', $event)"
@remove-request="removeRequest"
/>
@@ -151,7 +140,6 @@