From c96a6a0ee9adeadf6fc086d5a205e55836d980b7 Mon Sep 17 00:00:00 2001 From: Pavel Shulga Date: Sat, 11 Aug 2018 11:01:54 +1000 Subject: [PATCH 1/6] 12070 M2.2.0 Admin Grid column ordering/positioning not working when single store mode set On * added component status based filtering --- .../view/base/web/js/core/renderer/layout.js | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js index fe312738469e7..ef9170b793471 100644 --- a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js +++ b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js @@ -224,7 +224,7 @@ define([ */ build: function (parent, node, name) { var defaults = parent && parent.childDefaults || {}, - children = node.children, + children = this.filterDisabledChildren(node.children), type = getNodeType(parent, node), dataScope = getDataScope(parent, node), component, @@ -294,6 +294,32 @@ define([ return node; }, + /** + * Filter out all disabled components. + * + * @param {Object} children + * @returns {*} + */ + filterDisabledChildren: function (children) { + //cleanup children config.componentDisabled = true + if (children && typeof children === 'object') { + var cIds = Object.keys(children); + if (cIds) { + _.each(cIds, function (cId) { + if (typeof children[cId] === 'object' + && children[cId].hasOwnProperty('config') + && typeof children[cId].config === 'object' + && children[cId].config.hasOwnProperty('componentDisabled') + && children[cId].config.componentDisabled === true) { + delete children[cId]; + } + }); + } + } + + return children; + }, + /** * Init component. * From 47accedf98d45ee994061eeed5521154cd01b527 Mon Sep 17 00:00:00 2001 From: gwharton <30697781+gwharton@users.noreply.github.com> Date: Thu, 4 Oct 2018 19:59:41 +0100 Subject: [PATCH 2/6] Fixed && issue moving to end of line --- .../Ui/view/base/web/js/core/renderer/layout.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js index ef9170b793471..f3581ee1bdab4 100644 --- a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js +++ b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js @@ -306,12 +306,12 @@ define([ var cIds = Object.keys(children); if (cIds) { _.each(cIds, function (cId) { - if (typeof children[cId] === 'object' - && children[cId].hasOwnProperty('config') - && typeof children[cId].config === 'object' - && children[cId].config.hasOwnProperty('componentDisabled') - && children[cId].config.componentDisabled === true) { - delete children[cId]; + if (typeof children[cId] === 'object' && + children[cId].hasOwnProperty('config') && + typeof children[cId].config === 'object' && + children[cId].config.hasOwnProperty('componentDisabled') && + children[cId].config.componentDisabled === true) { + delete children[cId]; } }); } From a11082b770e00c9bfe8a4b8f2766ca7147ea72b0 Mon Sep 17 00:00:00 2001 From: gwharton <30697781+gwharton@users.noreply.github.com> Date: Thu, 4 Oct 2018 20:02:15 +0100 Subject: [PATCH 3/6] Moved location of var definition to beginning of function. Added newline after vars. --- app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js index f3581ee1bdab4..3b5f940bd59c3 100644 --- a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js +++ b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js @@ -301,9 +301,11 @@ define([ * @returns {*} */ filterDisabledChildren: function (children) { + var cIds; + //cleanup children config.componentDisabled = true if (children && typeof children === 'object') { - var cIds = Object.keys(children); + cIds = Object.keys(children); if (cIds) { _.each(cIds, function (cId) { if (typeof children[cId] === 'object' && From 612d543b5153b55daefbd945a3486a18b63f9184 Mon Sep 17 00:00:00 2001 From: gwharton <30697781+gwharton@users.noreply.github.com> Date: Thu, 4 Oct 2018 20:03:17 +0100 Subject: [PATCH 4/6] Consistent indentation in build function --- app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js index 3b5f940bd59c3..a9d127b84a4d2 100644 --- a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js +++ b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js @@ -224,7 +224,7 @@ define([ */ build: function (parent, node, name) { var defaults = parent && parent.childDefaults || {}, - children = this.filterDisabledChildren(node.children), + children = this.filterDisabledChildren(node.children), type = getNodeType(parent, node), dataScope = getDataScope(parent, node), component, From b69e954d7ad73eb75c7f3d23a69123d446778155 Mon Sep 17 00:00:00 2001 From: gwharton <30697781+gwharton@users.noreply.github.com> Date: Fri, 5 Oct 2018 11:58:41 +0100 Subject: [PATCH 5/6] Fixed whitespace violations --- app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js index a9d127b84a4d2..942ec47f15171 100644 --- a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js +++ b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js @@ -302,7 +302,7 @@ define([ */ filterDisabledChildren: function (children) { var cIds; - + //cleanup children config.componentDisabled = true if (children && typeof children === 'object') { cIds = Object.keys(children); @@ -313,7 +313,7 @@ define([ typeof children[cId].config === 'object' && children[cId].config.hasOwnProperty('componentDisabled') && children[cId].config.componentDisabled === true) { - delete children[cId]; + delete children[cId]; } }); } From 10e06ca7403a24091b0526397faa6a00ea8e27de Mon Sep 17 00:00:00 2001 From: gwharton <30697781+gwharton@users.noreply.github.com> Date: Fri, 5 Oct 2018 14:18:59 +0100 Subject: [PATCH 6/6] Fixed whitespace coding standards violations --- app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js | 1 + 1 file changed, 1 insertion(+) diff --git a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js index 942ec47f15171..ac1de4631e908 100644 --- a/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js +++ b/app/code/Magento/Ui/view/base/web/js/core/renderer/layout.js @@ -306,6 +306,7 @@ define([ //cleanup children config.componentDisabled = true if (children && typeof children === 'object') { cIds = Object.keys(children); + if (cIds) { _.each(cIds, function (cId) { if (typeof children[cId] === 'object' &&