Skip to content

Commit bb710a5

Browse files
committed
MAGETWO-89372: Unable to create folder in media gallery
Recursively open folders specified in path array until queried folder element doesn't exist
1 parent 447a24d commit bb710a5

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

app/code/Magento/Cms/view/adminhtml/web/js/folder-tree.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,18 +77,28 @@ define([
7777
treeLoaded: function () {
7878
var path = this.options.currentPath,
7979
tree = this.element,
80+
lastExistentFolderEl,
8081

8182
/**
82-
* Recursive open.
83+
* Recursively open folders specified in path array.
8384
*/
8485
recursiveOpen = function () {
85-
var el = $('[data-id="' + path.pop() + '"]');
86+
var folderEl = $('[data-id="' + path.pop() + '"]');
87+
88+
// if folder doesn't exist, select the last opened folder
89+
if (!folderEl.length) {
90+
tree.jstree('select_node', lastExistentFolderEl);
91+
92+
return;
93+
}
94+
95+
lastExistentFolderEl = folderEl;
8696

8797
if (path.length > 1) {
88-
tree.jstree('open_node', el, recursiveOpen);
98+
tree.jstree('open_node', folderEl, recursiveOpen);
8999
} else {
90-
tree.jstree('open_node', el, function () {
91-
tree.jstree('select_node', el);
100+
tree.jstree('open_node', folderEl, function () {
101+
tree.jstree('select_node', folderEl);
92102
});
93103
}
94104
};

0 commit comments

Comments
 (0)