feat: duplicate team requests
This commit is contained in:
@@ -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")}`,
|
||||||
})
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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="
|
||||||
|
|||||||
@@ -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="
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user