Skip to content

Commit 290c7f9

Browse files
committed
AC-8378: Review comments addressed and minor changes
1 parent 5695fb6 commit 290c7f9

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

app/code/Magento/Catalog/view/adminhtml/web/js/category-checkbox-tree.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
define([
2121
'jquery',
22-
'prototype',
2322
'jquery/jstree/jquery.jstree',
2423
'mage/adminhtml/form'
2524
], function ($) {
@@ -33,7 +32,7 @@ define([
3332
*/
3433
function addLastNodeProperty(nodes) {
3534
return nodes.map(node => {
36-
return node.children && node.children.length >= 0 ? {
35+
return node.children ? {
3736
...node,
3837
children: addLastNodeProperty(node.children)
3938
} : {
@@ -78,12 +77,13 @@ define([
7877
* @param {Object} node
7978
*/
8079
function getCheckedNodeIds(node) {
81-
const selectChildrenNodes = node.children_d.filter(item => checkedNodes.includes(item));
80+
if (node.children_d && node.children_d.length > 0) {
81+
const selectChildrenNodes = node.children_d.filter(item => checkedNodes.includes(item));
8282

83-
if (selectChildrenNodes.length <= 0) {
84-
return;
83+
if (selectChildrenNodes.length > 0) {
84+
treeId.jstree(false).select_node(selectChildrenNodes);
85+
}
8586
}
86-
treeId.jstree(false).select_node(selectChildrenNodes);
8787
}
8888

8989
/**
@@ -132,6 +132,8 @@ define([
132132

133133
/**
134134
* Add lastNode property to child who doesn't have children property
135+
*
136+
* @param {Object} treeData
135137
*/
136138
function addLastNodeFlag(treeData) {
137139
if (treeData.children) {
@@ -143,6 +145,10 @@ define([
143145

144146
/**
145147
* Function to handle the 'success' callback of the AJAX request
148+
*
149+
* @param {Array} response
150+
* @param {Object} childNode
151+
* @param {Object} data
146152
*/
147153
function handleSuccessResponse(response, childNode, data) {
148154
if (response.length > 0) {
@@ -201,12 +207,12 @@ define([
201207
if (data.action === 'ready') {
202208
return;
203209
}
204-
let clickedNodeID = data.node.id;
210+
const clickedNodeID = data.node.id, currentCheckedNodes = data.instance.get_checked();
205211

206212
if (data.action === 'select_node' && !checkedNodes.includes(clickedNodeID)) {
207-
checkedNodes.push(clickedNodeID);
213+
checkedNodes = currentCheckedNodes;
208214
} else if (data.action === 'deselect_node') {
209-
checkedNodes = checkedNodes.filter((nodeID) => nodeID !== clickedNodeID);
215+
checkedNodes = currentCheckedNodes.filter((nodeID) => nodeID !== clickedNodeID);
210216
}
211217
checkedNodes.sort((a, b) => a - b);
212218

0 commit comments

Comments
 (0)