From dd3b17e3bb9a3d2566cdf973ee0202b76a39f54e Mon Sep 17 00:00:00 2001 From: Rufus Pollock Date: Wed, 25 Apr 2012 15:53:46 +0100 Subject: [PATCH] [#88,bugfix][xs]: for some reason changing of hiddenFields on grid state was not propagating a change event. * suspect this may be to do with backbone and how it checks for changes on arrays. --- src/view-grid.js | 2 ++ src/view.js | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/view-grid.js b/src/view-grid.js index cb959f18..dc616713 100644 --- a/src/view-grid.js +++ b/src/view-grid.js @@ -143,6 +143,8 @@ my.Grid = Backbone.View.extend({ var hiddenFields = this.state.get('hiddenFields'); hiddenFields.push(this.tempState.currentColumn); this.state.set({hiddenFields: hiddenFields}); + // change event not being triggered (because it is an array?) so trigger manually + this.state.trigger('change'); this.render(); }, diff --git a/src/view.js b/src/view.js index 44881967..ee3ffe62 100644 --- a/src/view.js +++ b/src/view.js @@ -391,7 +391,9 @@ my.DataExplorer = Backbone.View.extend({ pageView.view.state.bind('change', function() { var update = {}; update['view-' + pageView.id] = pageView.view.state.toJSON(); - self.state.set(update); + // had problems where change not being triggered for e.g. grid view so let's do it explicitly + self.state.set(update, {silent: true}); + self.state.trigger('change'); }); } });