diff --git a/src/view-grid.js b/src/view-grid.js index eb736524..4334b159 100644 --- a/src/view-grid.js +++ b/src/view-grid.js @@ -25,7 +25,7 @@ my.DataGrid = Backbone.View.extend({ }, events: { - 'click .column-header-menu': 'onColumnHeaderClick', + 'click .column-header-menu .data-table-menu li a': 'onColumnHeaderClick', 'click .row-header-menu': 'onRowHeaderClick', 'click .root-header-menu': 'onRootHeaderClick', 'click .data-table-menu li a': 'onMenuClick' diff --git a/test/view-grid.test.js b/test/view-grid.test.js index 7ec3104a..be848f22 100644 --- a/test/view-grid.test.js +++ b/test/view-grid.test.js @@ -2,6 +2,31 @@ module("View - Grid"); +function assertPresent(selector) { + var found = $(selector); + ok(found.length > 0); +} + +function assertNotPresent(selector) { + var found = $(selector); + equal(found.length, 0); +} + +test('DataGrid - menu - hideColumn', function () { + var dataset = Fixture.getDataset(); + var view = new recline.View.DataGrid({ + model: dataset + }); + $('.fixtures .test-datatable').append(view.el); + view.render(); + + assertPresent('.column-header[data-field="x"]'); + var hideColumn = view.el.find('.column-header[data-field="x"] a[data-action="hideColumn"]'); + hideColumn.trigger('click'); + assertNotPresent('.column-header[data-field="x"]'); + view.remove(); +}); + test('new DataGridRow View', function () { var $el = $('