Subfolder functionality (#1194)

* Added functionality for sub-folders

* Edit Request name only. Drag and drop to move requests

* Refactor

* Move requests between folder or collections

* Functionality to save request in multiple folders

* Unnecessary Lang

Co-authored-by: Liyas Thomas <liyascthomas@gmail.com>
This commit is contained in:
Farhan Tariq
2020-10-21 06:11:45 +05:00
committed by GitHub
parent b179731359
commit 7e30a4a3d4
11 changed files with 362 additions and 345 deletions

View File

@@ -1,5 +1,12 @@
<template>
<div class="row-wrapper">
<div
:class="['row-wrapper', dragging ? 'drag-el' : '']"
draggable="true"
@dragstart="dragStart"
@dragover.stop
@dragleave="dragging=false"
@dragend="dragging=false"
>
<div>
<button
class="icon"
@@ -16,7 +23,11 @@
</button>
<template slot="popover">
<div>
<button class="icon" @click="$emit('edit-request')" v-close-popover>
<button class="icon" @click="$emit('edit-request',{ collectionIndex,
folderIndex,
folderName,
request,
requestIndex } )" v-close-popover>
<i class="material-icons">edit</i>
<span>{{ $t("edit") }}</span>
</button>
@@ -42,9 +53,15 @@ export default {
request: Object,
collectionIndex: Number,
folderIndex: Number,
folderName: String,
requestIndex: Number,
doc: Boolean,
},
data() {
return {
dragging: false,
}
},
methods: {
syncCollections() {
if (fb.currentUser !== null) {
@@ -56,12 +73,19 @@ export default {
selectRequest() {
this.$store.commit("postwoman/selectRequest", { request: this.request })
},
dragStart(event) {
this.dragging = !this.dragging;
event.dataTransfer.setData('oldCollectionIndex', this.$props.collectionIndex);
event.dataTransfer.setData('oldFolderIndex', this.$props.folderIndex)
event.dataTransfer.setData('oldFolderName', this.$props.folderName);
event.dataTransfer.setData('requestIndex', this.$props.requestIndex);
},
removeRequest() {
if (!confirm(this.$t("are_you_sure_remove_request"))) return
this.$store.commit("postwoman/removeRequest", {
collectionIndex: this.collectionIndex,
folderIndex: this.folderIndex,
requestIndex: this.requestIndex,
collectionIndex: this.$props.collectionIndex,
folderName: this.$props.folderName,
requestIndex: this.$props.requestIndex,
})
this.$toast.error(this.$t("deleted"), {
icon: "delete",