feat: duplicate request

This commit is contained in:
0xc0Der
2021-11-06 11:24:46 +00:00
committed by Andrew Bastin
parent 6d54f21c1e
commit 29aff9accc
8 changed files with 52 additions and 5 deletions

View File

@@ -126,6 +126,7 @@
@add-folder="$emit('add-folder', $event)" @add-folder="$emit('add-folder', $event)"
@edit-folder="$emit('edit-folder', $event)" @edit-folder="$emit('edit-folder', $event)"
@edit-request="$emit('edit-request', $event)" @edit-request="$emit('edit-request', $event)"
@duplicate-request="$emit('duplicate-request', $event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
/> />
<CollectionsGraphqlRequest <CollectionsGraphqlRequest
@@ -141,6 +142,7 @@
:request-index="index" :request-index="index"
:doc="doc" :doc="doc"
@edit-request="$emit('edit-request', $event)" @edit-request="$emit('edit-request', $event)"
@duplicate-request="$emit('duplicate-request', $event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
/> />
<div <div

View File

@@ -122,6 +122,7 @@
@add-folder="$emit('add-folder', $event)" @add-folder="$emit('add-folder', $event)"
@edit-folder="$emit('edit-folder', $event)" @edit-folder="$emit('edit-folder', $event)"
@edit-request="$emit('edit-request', $event)" @edit-request="$emit('edit-request', $event)"
@duplicate-request="$emit('duplicate-request', $event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
/> />
<CollectionsGraphqlRequest <CollectionsGraphqlRequest
@@ -137,6 +138,7 @@
:request-index="index" :request-index="index"
:doc="doc" :doc="doc"
@edit-request="$emit('edit-request', $event)" @edit-request="$emit('edit-request', $event)"
@duplicate-request="$emit('duplicate-request', $event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
/> />
<div <div

View File

@@ -78,6 +78,20 @@
} }
" "
/> />
<SmartItem
svg="copy"
:label="`${$t('action.duplicate')}`"
@click.native="
() => {
$emit('duplicate-request', {
request,
requestIndex,
folderPath,
})
$refs.options.tippy().hide()
}
"
/>
<SmartItem <SmartItem
svg="trash-2" svg="trash-2"
color="red" color="red"

View File

@@ -62,6 +62,7 @@
@add-folder="addFolder($event)" @add-folder="addFolder($event)"
@edit-folder="editFolder($event)" @edit-folder="editFolder($event)"
@edit-request="editRequest($event)" @edit-request="editRequest($event)"
@duplicate-request="duplicateRequest($event)"
@select-collection="$emit('use-collection', collection)" @select-collection="$emit('use-collection', collection)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
/> />
@@ -136,7 +137,11 @@
import { defineComponent } from "@nuxtjs/composition-api" import { defineComponent } from "@nuxtjs/composition-api"
import clone from "lodash/clone" import clone from "lodash/clone"
import { useReadonlyStream } from "~/helpers/utils/composables" import { useReadonlyStream } from "~/helpers/utils/composables"
import { graphqlCollections$, addGraphqlFolder } from "~/newstore/collections" import {
graphqlCollections$,
addGraphqlFolder,
saveGraphqlRequestAs,
} from "~/newstore/collections"
export default defineComponent({ export default defineComponent({
props: { props: {
@@ -283,6 +288,9 @@ export default defineComponent({
this.$data.editingRequest = undefined this.$data.editingRequest = undefined
this.$data.editingRequestIndex = undefined this.$data.editingRequestIndex = undefined
}, },
duplicateRequest({ folderPath, request }) {
saveGraphqlRequestAs(folderPath, request)
},
}, },
}) })
</script> </script>

View File

@@ -95,6 +95,7 @@
@add-folder="addFolder($event)" @add-folder="addFolder($event)"
@edit-folder="editFolder($event)" @edit-folder="editFolder($event)"
@edit-request="editRequest($event)" @edit-request="editRequest($event)"
@duplicate-request="duplicateRequest($event)"
@update-team-collections="updateTeamCollections" @update-team-collections="updateTeamCollections"
@select-collection="$emit('use-collection', collection)" @select-collection="$emit('use-collection', collection)"
@unselect-collection="$emit('remove-collection', collection)" @unselect-collection="$emit('remove-collection', collection)"
@@ -203,6 +204,7 @@ import {
editRESTFolder, editRESTFolder,
removeRESTRequest, removeRESTRequest,
editRESTRequest, editRESTRequest,
saveRESTRequestAs,
} from "~/newstore/collections" } from "~/newstore/collections"
import { import {
useReadonlyStream, useReadonlyStream,
@@ -684,6 +686,9 @@ export default defineComponent({
}) })
} }
}, },
duplicateRequest({ folderPath, request }) {
saveRESTRequestAs(folderPath, request)
},
}, },
}) })
</script> </script>

View File

@@ -146,6 +146,7 @@
@add-folder="$emit('add-folder', $event)" @add-folder="$emit('add-folder', $event)"
@edit-folder="$emit('edit-folder', $event)" @edit-folder="$emit('edit-folder', $event)"
@edit-request="$emit('edit-request', $event)" @edit-request="$emit('edit-request', $event)"
@duplicate-request="$emit('duplicate-request', $event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
@remove-request="$emit('remove-request', $event)" @remove-request="$emit('remove-request', $event)"
/> />
@@ -162,7 +163,8 @@
:save-request="saveRequest" :save-request="saveRequest"
:collections-type="collectionsType" :collections-type="collectionsType"
:picked="picked" :picked="picked"
@edit-request="editRequest($event)" @edit-request="$emit('edit-request', $event)"
@duplicate-request="$emit('duplicate-request', $event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
@remove-request="$emit('remove-request', $event)" @remove-request="$emit('remove-request', $event)"
/> />
@@ -251,9 +253,6 @@ export default defineComponent({
}, },
}, },
methods: { methods: {
editRequest(event) {
this.$emit("edit-request", event)
},
toggleShowChildren() { toggleShowChildren() {
if (this.$props.saveRequest) if (this.$props.saveRequest)
this.$emit("select", { this.$emit("select", {

View File

@@ -127,6 +127,7 @@
@add-folder="$emit('add-folder', $event)" @add-folder="$emit('add-folder', $event)"
@edit-folder="$emit('edit-folder', $event)" @edit-folder="$emit('edit-folder', $event)"
@edit-request="$emit('edit-request', $event)" @edit-request="$emit('edit-request', $event)"
@duplicate-request="$emit('duplicate-request', $event)"
@update-team-collections="$emit('update-team-collections')" @update-team-collections="$emit('update-team-collections')"
@select="$emit('select', $event)" @select="$emit('select', $event)"
@remove-request="removeRequest" @remove-request="removeRequest"
@@ -145,6 +146,7 @@
:save-request="saveRequest" :save-request="saveRequest"
:collections-type="collectionsType" :collections-type="collectionsType"
@edit-request="$emit('edit-request', $event)" @edit-request="$emit('edit-request', $event)"
@duplicate-request="$emit('duplicate-request', $event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
@remove-request="removeRequest" @remove-request="removeRequest"
/> />

View File

@@ -94,6 +94,21 @@
$refs.options.tippy().hide() $refs.options.tippy().hide()
" "
/> />
<SmartItem
svg="copy"
:label="$t('action.duplicate')"
@click.native="
$emit('duplicate-request', {
collectionIndex,
folderIndex,
folderName,
request,
requestIndex,
folderPath,
})
$refs.options.tippy().hide()
"
/>
<SmartItem <SmartItem
svg="trash-2" svg="trash-2"
color="red" color="red"