From 183ab8fb75eaf9ff7d0e837fab843a9269774e10 Mon Sep 17 00:00:00 2001 From: CaosZero Date: Tue, 29 May 2018 21:42:04 +0200 Subject: [PATCH 1/2] fix(ui-grid-menu-button.js): Click on the menu button item checkbox weird behavior --- src/js/core/directives/ui-grid-menu-button.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/js/core/directives/ui-grid-menu-button.js b/src/js/core/directives/ui-grid-menu-button.js index 1bf1f6836a..d827ae0c55 100644 --- a/src/js/core/directives/ui-grid-menu-button.js +++ b/src/js/core/directives/ui-grid-menu-button.js @@ -274,8 +274,12 @@ angular.module('ui.grid') service.toggleColumnVisibility( this.context.gridCol ); if ($event.target && $event.target.firstChild) { - $event.target.firstChild.className = isColumnVisible(this.context.gridCol.colDef) ? - 'ui-grid-icon-ok' : 'ui-grid-icon-cancel'; + if (angular.element($event.target)[0].nodeName === 'I') { + $event.target.className = isColumnVisible(this.context.gridCol.colDef) ? 'ui-grid-icon-ok' : 'ui-grid-icon-cancel'; + } + else { + $event.target.firstChild.className = isColumnVisible(this.context.gridCol.colDef) ? 'ui-grid-icon-ok' : 'ui-grid-icon-cancel'; + } } }, shown: function() { From 7f943a6ff0e5c44d64f6060cadb0b93ab77925c1 Mon Sep 17 00:00:00 2001 From: Marcelo Sauerbrunn Portugal Date: Thu, 31 May 2018 11:55:04 -0400 Subject: [PATCH 2/2] chore(ui-grid-menu-button): Add function for icon Reduce duplication of code. --- src/js/core/directives/ui-grid-menu-button.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/js/core/directives/ui-grid-menu-button.js b/src/js/core/directives/ui-grid-menu-button.js index d827ae0c55..f8288500f0 100644 --- a/src/js/core/directives/ui-grid-menu-button.js +++ b/src/js/core/directives/ui-grid-menu-button.js @@ -253,6 +253,10 @@ angular.module('ui.grid') function isColumnVisible(colDef) { return colDef.visible === true || colDef.visible === undefined; } + + function getColumnIcon(colDef) { + return isColumnVisible(colDef) ? 'ui-grid-icon-ok' : 'ui-grid-icon-cancel'; + } // add header for columns showHideColumns.push({ @@ -267,7 +271,7 @@ angular.module('ui.grid') if ( colDef.enableHiding !== false ){ // add hide menu item - shows an OK icon as we only show when column is already visible var menuItem = { - icon: isColumnVisible(colDef) ? 'ui-grid-icon-ok' : 'ui-grid-icon-cancel', + icon: getColumnIcon(colDef), action: function($event) { $event.stopPropagation(); @@ -275,10 +279,10 @@ angular.module('ui.grid') if ($event.target && $event.target.firstChild) { if (angular.element($event.target)[0].nodeName === 'I') { - $event.target.className = isColumnVisible(this.context.gridCol.colDef) ? 'ui-grid-icon-ok' : 'ui-grid-icon-cancel'; + $event.target.className = getColumnIcon(this.context.gridCol.colDef); } else { - $event.target.firstChild.className = isColumnVisible(this.context.gridCol.colDef) ? 'ui-grid-icon-ok' : 'ui-grid-icon-cancel'; + $event.target.firstChild.className = getColumnIcon(this.context.gridCol.colDef); } } },