feat: duplicate team requests

This commit is contained in:
liyasthomas
2022-01-04 21:42:55 +05:30
parent f17cdff3e1
commit 914d20ad37
4 changed files with 45 additions and 5 deletions

View File

@@ -647,11 +647,26 @@ export default defineComponent({
}) })
} }
}, },
duplicateRequest({ folderPath, request }) { duplicateRequest({ folderPath, request, collectionID }) {
if (this.collectionsType.type === "team-collections") {
const newReq = {
...cloneDeep(request),
name: `${request.name} - ${this.$t("action.duplicate")}`,
}
teamUtils.saveRequestAsTeams(
this.$apollo,
JSON.stringify(newReq),
`${request.name} - ${this.$t("action.duplicate")}`,
this.collectionsType.selectedTeam.id,
collectionID
)
} else if (this.collectionsType.type === "my-collections") {
saveRESTRequestAs(folderPath, { saveRESTRequestAs(folderPath, {
...cloneDeep(request), ...cloneDeep(request),
name: `${request.name} - ${this.$t("action.duplicate")}`, name: `${request.name} - ${this.$t("action.duplicate")}`,
}) })
}
}, },
}, },
}) })

View File

@@ -152,6 +152,7 @@
@select="$emit('select', $event)" @select="$emit('select', $event)"
@expand-collection="expandCollection" @expand-collection="expandCollection"
@remove-request="removeRequest" @remove-request="removeRequest"
@duplicate-request="$emit('duplicate-request', $event)"
/> />
<CollectionsTeamsRequest <CollectionsTeamsRequest
v-for="(request, index) in collection.requests" v-for="(request, index) in collection.requests"
@@ -163,11 +164,13 @@
:request-index="request.id" :request-index="request.id"
:doc="doc" :doc="doc"
:save-request="saveRequest" :save-request="saveRequest"
:collection-i-d="collection.id"
:collections-type="collectionsType" :collections-type="collectionsType"
:picked="picked" :picked="picked"
@edit-request="editRequest($event)" @edit-request="editRequest($event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
@remove-request="removeRequest" @remove-request="removeRequest"
@duplicate-request="$emit('duplicate-request', $event)"
/> />
<div <div
v-if=" v-if="

View File

@@ -133,6 +133,7 @@
@select="$emit('select', $event)" @select="$emit('select', $event)"
@expand-collection="expandCollection" @expand-collection="expandCollection"
@remove-request="removeRequest" @remove-request="removeRequest"
@duplicate-request="$emit('duplicate-request', $event)"
/> />
<CollectionsTeamsRequest <CollectionsTeamsRequest
v-for="(request, index) in folder.requests" v-for="(request, index) in folder.requests"
@@ -146,9 +147,11 @@
:save-request="saveRequest" :save-request="saveRequest"
:collections-type="collectionsType" :collections-type="collectionsType"
:picked="picked" :picked="picked"
:collection-i-d="folder.id"
@edit-request="$emit('edit-request', $event)" @edit-request="$emit('edit-request', $event)"
@select="$emit('select', $event)" @select="$emit('select', $event)"
@remove-request="removeRequest" @remove-request="removeRequest"
@duplicate-request="$emit('duplicate-request', $event)"
/> />
<div <div
v-if=" v-if="

View File

@@ -81,6 +81,7 @@
class="flex flex-col focus:outline-none" class="flex flex-col focus:outline-none"
tabindex="0" tabindex="0"
@keyup.e="edit.$el.click()" @keyup.e="edit.$el.click()"
@keyup.d="duplicate.$el.click()"
@keyup.delete="deleteAction.$el.click()" @keyup.delete="deleteAction.$el.click()"
@keyup.escape="options.tippy().hide()" @keyup.escape="options.tippy().hide()"
> >
@@ -102,6 +103,22 @@
} }
" "
/> />
<SmartItem
ref="duplicate"
svg="copy"
:label="$t('action.duplicate')"
:shortcut="['D']"
@click.native="
() => {
$emit('duplicate-request', {
request,
requestIndex,
collectionID,
})
options.tippy().hide()
}
"
/>
<SmartItem <SmartItem
ref="deleteAction" ref="deleteAction"
svg="trash-2" svg="trash-2"
@@ -150,6 +167,7 @@ export default defineComponent({
saveRequest: Boolean, saveRequest: Boolean,
collectionsType: { type: Object, default: () => {} }, collectionsType: { type: Object, default: () => {} },
picked: { type: Object, default: () => {} }, picked: { type: Object, default: () => {} },
collectionID: { type: String, default: null },
}, },
setup() { setup() {
const active = useReadonlyStream(restSaveContext$, null) const active = useReadonlyStream(restSaveContext$, null)
@@ -159,6 +177,7 @@ export default defineComponent({
options: ref<any | null>(null), options: ref<any | null>(null),
edit: ref<any | null>(null), edit: ref<any | null>(null),
deleteAction: ref<any | null>(null), deleteAction: ref<any | null>(null),
duplicate: ref<any | null>(null),
} }
}, },
data() { data() {