Fix the rest of the functions, folder checking needs rework.

This commit is contained in:
Kasen IO 2020-04-10 03:01:49 -04:00
parent 8a216d88ad
commit 318faa3119

View file

@ -434,12 +434,13 @@ getIcon<!--
></v-text-field> ></v-text-field>
<v-select <v-select
:items="folderList"
item-text="name"
item-value="uuid"
class="my-2" class="my-2"
:items="folderListNames"
v-model="editDialog.data.folder" v-model="editDialog.data.folder"
label="Folder" label="Folder"
outlined outlined
item-value="name"
></v-select> ></v-select>
<v-text-field <v-text-field
@ -611,11 +612,12 @@ getIcon<!--
<v-select <v-select
class="my-2" class="my-2"
:items="folderListNames" :items="folderList"
v-model="addDialog.data.folder" v-model="addDialog.data.folder"
label="Folder" label="Folder"
outlined outlined
item-value="name" item-text="name"
item-value="uuid"
></v-select> ></v-select>
<v-card-text> <v-card-text>
@ -697,11 +699,12 @@ getIcon<!--
<v-select <v-select
class="my-2" class="my-2"
:items="folderListNames" :items="folderList"
v-model="receiveDialog.data.folder" v-model="receiveDialog.data.folder"
label="Folder" label="Folder"
outlined outlined
item-value="name" item-text="name"
item-value="uuid"
></v-select> ></v-select>
<v-text-field <v-text-field
@ -1046,8 +1049,7 @@ export default {
"recipient": null, "recipient": null,
} }
}, },
folderListUUIDs: [], folderList: [],
folderListNames: [],
nearbyUsers: [ nearbyUsers: [
{ {
name: "Who", name: "Who",
@ -1097,8 +1099,14 @@ export default {
var uuid = s.join(""); var uuid = s.join("");
return uuid; return uuid;
}, },
pushToItems: function(type, name, folder, url) { pushToItems: function(type, name, folder, url, uuid) {
var generatedUUID = this.createUUID(); var uuidToUse;
if (uuid != null) {
uuidToUse = uuid;
} else {
uuidToUse = this.createUUID();
}
var itemToPush = var itemToPush =
{ {
@ -1106,13 +1114,13 @@ export default {
"name": name, "name": name,
"url": url, "url": url,
"folder": folder, "folder": folder,
"uuid": generatedUUID, "uuid": uuidToUse,
}; };
this.items.push(itemToPush); this.items.push(itemToPush);
if (folder !== "No Folder") { if (folder !== null) {
this.moveItemToFolder(generatedUUID, folder); this.moveItemToFolder(uuidToUse, folder);
} }
}, },
pushFolderToItems: function(name) { pushFolderToItems: function(name) {
@ -1208,8 +1216,8 @@ export default {
} else { } else {
itemType = this.checkFileType(detectedFileType[0]); itemType = this.checkFileType(detectedFileType[0]);
} }
this.pushToItems(itemType, folder, name, url); this.pushToItems(itemType, name, folder, url, null);
this.addDialog.data.name = null; this.addDialog.data.name = null;
this.addDialog.data.folder = null; this.addDialog.data.folder = null;
@ -1230,9 +1238,18 @@ export default {
}, },
editItem: function(uuid) { editItem: function(uuid) {
var findItem = this.searchForItem(uuid); var findItem = this.searchForItem(uuid);
var folderName;
if (findItem.returnedItem.folder !== this.editDialog.data.folder && this.editDialog.data.folder !== null) { for (var i = 0; i < this.folderList.length; i++) {
if (this.folderList[i].name === findItem.returnedItem.folder) {
folderName = this.folderList[i].name;
}
}
if (folderName !== this.editDialog.data.folder && this.editDialog.data.folder !== null) {
this.moveItemToFolder(uuid, this.editDialog.data.folder); this.moveItemToFolder(uuid, this.editDialog.data.folder);
} else if (folderName == "No Folder") {
this.moveItemToTop(uuid);
} }
findItem.returnedItem.type = this.checkItemType(this.editDialog.data.type); findItem.returnedItem.type = this.checkItemType(this.editDialog.data.type);
@ -1272,6 +1289,7 @@ export default {
this.receiveDialog.data.name, this.receiveDialog.data.name,
this.receiveDialog.data.folder, this.receiveDialog.data.folder,
this.receiveDialog.data.url, this.receiveDialog.data.url,
null
); );
}, },
useItem: function(type, url) { useItem: function(type, url) {
@ -1329,25 +1347,28 @@ export default {
} }
}, },
getFolderList: function() { getFolderList: function() {
this.folderListNames = ["No Folder"]; // We want to give the option to put it in the root directory. this.folderList = [{
this.folderListUUIDs = ["No Folder"]; // Clear the list before pushing to it. "name": "No Folder",
"uuid": null
}]; // We want to give the option to put it in the root directory.
for (var i = 0; i < this.items.length; i++) { for (var i = 0; i < this.items.length; i++) {
if (Object.prototype.hasOwnProperty.call(this.items[i], "isFolder")) { if (Object.prototype.hasOwnProperty.call(this.items[i], "isFolder")) {
if (this.items[i].isFolder === true) { if (this.items[i].isFolder === true) {
this.folderListNames.push(this.items[i].name); this.folderList.push({
this.folderListUUIDs.push(this.items[i].uuid); "name": this.items[i].name,
"uuid": this.items[i].uuid,
});
} }
} }
} }
}, },
moveItemToFolder: function(uuid, folderName) { moveItemToFolder: function(uuid, folderUUID) {
// This function is used to take an item one level deep, do not use it for any other purposes and check beforehand if you need to do this. // This function is used to take an item one level deep, do not use it for any other purposes and check beforehand if you need to do this.
var folderUUID;
var itemToPush = { var itemToPush = {
'type': null, 'type': null,
'name': null, 'name': null,
'folder': folderName, 'folder': null,
'url': null, 'url': null,
'uuid': uuid, 'uuid': uuid,
}; };
@ -1356,17 +1377,17 @@ export default {
itemToPush.type = findItem.returnedItem.type; itemToPush.type = findItem.returnedItem.type;
itemToPush.name = findItem.returnedItem.name; itemToPush.name = findItem.returnedItem.name;
itemToPush.url = findItem.returnedItem.url; itemToPush.url = findItem.returnedItem.url;
// Get the folder UUID from the parallel folder UUID list. // Get the folder UUID.
for (var i = 0; i < this.folderListNames.length; i++) { for (var i = 0; i < this.folderList.length; i++) {
if (this.folderListNames[i] === folderName) { if (this.folderList[i].uuid === folderUUID) {
folderUUID = this.folderListUUIDs[i]; itemToPush.folder = this.folderList[i].name;
} }
} }
// Remove the old item before placing down the copy, we already got the attributes that we had wanted. // Remove the old item before placing down the copy, we already got the attributes that we had wanted.
this.removeItem(uuid); this.removeItem(uuid);
// Find that folder in our main items array. // Find that folder in our main items array.
for (var folder = 0; folder < this.items.length; folder++) { for (var folder = 0; folder < this.items.length; folder++) {
if (this.items[folder].uuid === folderUUID && this.items[folder].isFolder === true) { if (this.items[folder].uuid === folderUUID && this.items[folder].isFolder === true) {
@ -1375,6 +1396,20 @@ export default {
} }
}, },
moveItemToTop: function(uuid) {
var findItem = this.searchForItem(uuid);
// Remove the old item before placing down the copy, we already got the attributes that we had wanted.
this.removeItem(uuid);
this.pushToItems(
findItem.returnedItem.type,
findItem.returnedItem.name,
"No Folder",
findItem.returnedItem.url,
uuid
);
},
searchForItem: function(uuid) { searchForItem: function(uuid) {
var itemToReturn = { var itemToReturn = {
"returnedItem": null, "returnedItem": null,