diff --git a/packages/hoppscotch-app/components/collections/graphql/Collection.vue b/packages/hoppscotch-app/components/collections/graphql/Collection.vue index e08cf6037..e8bc49f69 100644 --- a/packages/hoppscotch-app/components/collections/graphql/Collection.vue +++ b/packages/hoppscotch-app/components/collections/graphql/Collection.vue @@ -126,6 +126,7 @@ @add-folder="$emit('add-folder', $event)" @edit-folder="$emit('edit-folder', $event)" @edit-request="$emit('edit-request', $event)" + @duplicate-request="$emit('duplicate-request', $event)" @select="$emit('select', $event)" />
+ @@ -136,7 +137,11 @@ import { defineComponent } from "@nuxtjs/composition-api" import clone from "lodash/clone" import { useReadonlyStream } from "~/helpers/utils/composables" -import { graphqlCollections$, addGraphqlFolder } from "~/newstore/collections" +import { + graphqlCollections$, + addGraphqlFolder, + saveGraphqlRequestAs, +} from "~/newstore/collections" export default defineComponent({ props: { @@ -283,6 +288,9 @@ export default defineComponent({ this.$data.editingRequest = undefined this.$data.editingRequestIndex = undefined }, + duplicateRequest({ folderPath, request }) { + saveGraphqlRequestAs(folderPath, request) + }, }, }) diff --git a/packages/hoppscotch-app/components/collections/index.vue b/packages/hoppscotch-app/components/collections/index.vue index 58bbae7ac..4e0de3396 100644 --- a/packages/hoppscotch-app/components/collections/index.vue +++ b/packages/hoppscotch-app/components/collections/index.vue @@ -95,6 +95,7 @@ @add-folder="addFolder($event)" @edit-folder="editFolder($event)" @edit-request="editRequest($event)" + @duplicate-request="duplicateRequest($event)" @update-team-collections="updateTeamCollections" @select-collection="$emit('use-collection', collection)" @unselect-collection="$emit('remove-collection', collection)" @@ -203,6 +204,7 @@ import { editRESTFolder, removeRESTRequest, editRESTRequest, + saveRESTRequestAs, } from "~/newstore/collections" import { useReadonlyStream, @@ -684,6 +686,9 @@ export default defineComponent({ }) } }, + duplicateRequest({ folderPath, request }) { + saveRESTRequestAs(folderPath, request) + }, }, }) diff --git a/packages/hoppscotch-app/components/collections/my/Collection.vue b/packages/hoppscotch-app/components/collections/my/Collection.vue index 2b6560aea..8a3bec94c 100644 --- a/packages/hoppscotch-app/components/collections/my/Collection.vue +++ b/packages/hoppscotch-app/components/collections/my/Collection.vue @@ -146,6 +146,7 @@ @add-folder="$emit('add-folder', $event)" @edit-folder="$emit('edit-folder', $event)" @edit-request="$emit('edit-request', $event)" + @duplicate-request="$emit('duplicate-request', $event)" @select="$emit('select', $event)" @remove-request="$emit('remove-request', $event)" /> @@ -162,7 +163,8 @@ :save-request="saveRequest" :collections-type="collectionsType" :picked="picked" - @edit-request="editRequest($event)" + @edit-request="$emit('edit-request', $event)" + @duplicate-request="$emit('duplicate-request', $event)" @select="$emit('select', $event)" @remove-request="$emit('remove-request', $event)" /> @@ -251,9 +253,6 @@ export default defineComponent({ }, }, methods: { - editRequest(event) { - this.$emit("edit-request", event) - }, toggleShowChildren() { if (this.$props.saveRequest) this.$emit("select", { diff --git a/packages/hoppscotch-app/components/collections/my/Folder.vue b/packages/hoppscotch-app/components/collections/my/Folder.vue index a11401c7f..dc2a7b726 100644 --- a/packages/hoppscotch-app/components/collections/my/Folder.vue +++ b/packages/hoppscotch-app/components/collections/my/Folder.vue @@ -127,6 +127,7 @@ @add-folder="$emit('add-folder', $event)" @edit-folder="$emit('edit-folder', $event)" @edit-request="$emit('edit-request', $event)" + @duplicate-request="$emit('duplicate-request', $event)" @update-team-collections="$emit('update-team-collections')" @select="$emit('select', $event)" @remove-request="removeRequest" @@ -145,6 +146,7 @@ :save-request="saveRequest" :collections-type="collectionsType" @edit-request="$emit('edit-request', $event)" + @duplicate-request="$emit('duplicate-request', $event)" @select="$emit('select', $event)" @remove-request="removeRequest" /> diff --git a/packages/hoppscotch-app/components/collections/my/Request.vue b/packages/hoppscotch-app/components/collections/my/Request.vue index 2ef55b346..0d1647a93 100644 --- a/packages/hoppscotch-app/components/collections/my/Request.vue +++ b/packages/hoppscotch-app/components/collections/my/Request.vue @@ -94,6 +94,21 @@ $refs.options.tippy().hide() " /> +