From 9f9c4975828f67b8ef2729193bc48399ff0465b3 Mon Sep 17 00:00:00 2001 From: RaNaN Date: Wed, 27 Mar 2013 17:52:33 +0100 Subject: animations on settings page, highlight modified fields --- module/web/static/js/models/ConfigHolder.js | 10 ++++++++++ module/web/static/js/models/ConfigItem.js | 4 ++++ 2 files changed, 14 insertions(+) (limited to 'module/web/static/js/models') diff --git a/module/web/static/js/models/ConfigHolder.js b/module/web/static/js/models/ConfigHolder.js index 8beb31fb8..abd1b9f0a 100644 --- a/module/web/static/js/models/ConfigHolder.js +++ b/module/web/static/js/models/ConfigHolder.js @@ -39,6 +39,16 @@ define(['jquery', 'backbone', 'underscore', 'app', './ConfigItem'], isLoaded: function() { return this.has('items') || this.has('long_description'); + }, + + // check if any of the items has changes + hasChanges: function() { + var items = this.get('items'); + if (!items) return false; + return _.reduce(items, function(a, b) { + return a || b.isChanged(); + }, false); } + }); }); \ No newline at end of file diff --git a/module/web/static/js/models/ConfigItem.js b/module/web/static/js/models/ConfigItem.js index f55bb2b9e..636c28851 100644 --- a/module/web/static/js/models/ConfigItem.js +++ b/module/web/static/js/models/ConfigItem.js @@ -17,6 +17,10 @@ define(['jquery', 'backbone', 'underscore', 'app', 'utils/apitypes'], // Model Constructor initialize: function() { + }, + + isChanged: function() { + return this.get('inputView') && this.get('inputView').getVal() !== this.get('value'); } }); }); \ No newline at end of file -- cgit v1.2.3