diff --git a/scripts/system/inventory/src/App.vue b/scripts/system/inventory/src/App.vue
index 8aae6624d9..369274c921 100644
--- a/scripts/system/inventory/src/App.vue
+++ b/scripts/system/inventory/src/App.vue
@@ -25,7 +25,7 @@
-
+
mdi-ab-testing
@@ -968,17 +968,11 @@ export default {
findItem.parentArray.splice(findItem.iteration, 1);
},
removeFolder: function(uuid) {
- for (var i = 0; i < this.items.length; i++) {
- if (this.items[i].uuid == uuid) {
- this.items.splice(i, 1);
-
- return;
- }
- }
+ var findFolder = this.searchForItem(uuid);
+ findFolder.parentArray.splice(findFolder.iteration, 1);
},
editItem: function(uuid) {
var findItem = this.searchForItem(uuid);
-
findItem.returnedItem.type = this.checkItemType(this.$store.state.editDialog.data.type);
findItem.returnedItem.name = this.$store.state.editDialog.data.name;
findItem.returnedItem.folder = this.$store.state.editDialog.data.folder;
@@ -1072,7 +1066,7 @@ export default {
onDragChange: function(ev) {
console.info("Drag Update.", ev);
},
- sortInventory: function(level) {
+ sortTopInventory: function(level) {
if (level == "top") {
this.items.sort(function(a, b) {
var nameA = a.name.toUpperCase(); // ignore upper and lowercase
@@ -1129,6 +1123,7 @@ export default {
};
var findItem = this.searchForItem(uuid);
+
itemToPush.type = findItem.returnedItem.type;
itemToPush.name = findItem.returnedItem.name;
itemToPush.url = findItem.returnedItem.url;
@@ -1144,10 +1139,10 @@ export default {
this.removeItem(uuid);
// Find that folder in our main items array.
- for (var folder = 0; folder < this.items.length; folder++) {
- if (this.items[folder].uuid === folderUUID && this.items[folder].hasChildren === true) {
- this.items[folder].items.push(itemToPush);
- }
+ var findFolder = this.searchForItem(folderUUID);
+
+ if (findFolder) {
+ findFolder.returnedItem.items.push(itemToPush);
}
},
@@ -1165,25 +1160,6 @@ export default {
uuid
);
},
- sortFolder: function(uuid) {
- var findFolder = this.searchForItem(uuid);
-
- if (findFolder) {
- findFolder.returnedItem.items.sort(function(a, b) {
- var nameA = a.name.toUpperCase(); // ignore upper and lowercase
- var nameB = b.name.toUpperCase(); // ignore upper and lowercase
- if (nameA < nameB) {
- return -1;
- }
- if (nameA > nameB) {
- return 1;
- }
-
- // names must be equal
- return 0;
- });
- }
- },
searchForItem: function(uuid) {
var foundItem = this.recursiveSingularSearch(uuid, this.items);
@@ -1206,9 +1182,14 @@ export default {
}
return foundItem;
} else if (Object.prototype.hasOwnProperty.call(indexToSearch[i], "items") && indexToSearch[i].items.length > 0) {
- this.recursiveSingularSearch(uuid, indexToSearch[i].items);
+ var deepSearch = this.recursiveSingularSearch(uuid, indexToSearch[i].items);
+ if (deepSearch !== null) {
+ return deepSearch;
+ }
}
}
+
+ return null;
},
recursiveFolderPopulate: function(indexToSearch, firstIteration) {
for (var i = 0; i < indexToSearch.length; i++) {
diff --git a/scripts/system/inventory/src/components/ItemIterator.vue b/scripts/system/inventory/src/components/ItemIterator.vue
index 7e7bb9fd68..5350f7e8f6 100644
--- a/scripts/system/inventory/src/components/ItemIterator.vue
+++ b/scripts/system/inventory/src/components/ItemIterator.vue
@@ -353,11 +353,11 @@ export default {
"parentArray": indexToSearch,
}
return foundItem;
- } else if (Object.prototype.hasOwnProperty.call(indexToSearch[i], "items") && indexToSearch[i].length > 0) {
- this.recursiveSingularSearch(uuid, indexToSearch[i]);
+ } else if (Object.prototype.hasOwnProperty.call(indexToSearch[i], "items") && indexToSearch[i].items.length > 0) {
+ return this.recursiveSingularSearch(uuid, indexToSearch[i].items);
}
}
- }
+ },
}
};
\ No newline at end of file