diff options
Diffstat (limited to 'src/js/fiveui/js/update-manager.js')
-rw-r--r-- | src/js/fiveui/js/update-manager.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/js/fiveui/js/update-manager.js b/src/js/fiveui/js/update-manager.js new file mode 100644 index 0000000..8013d2f --- /dev/null +++ b/src/js/fiveui/js/update-manager.js @@ -0,0 +1,51 @@ +/* + * Module : update-manager.js + * Copyright : (c) 2011-2012, Galois, Inc. + * + * Maintainer : + * Stability : Provisional + * Portability: Portable + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function() { + + +fiveui.UpdateManager = function(msg) { + var manager = this; + + // fired when the rule set gets updated + msg.register('updateRuleSet', function(newRuleSet) { + manager.trigger('updateRuleSet.' + newRuleSet.id, false, newRuleSet); + + // update the associated url patterns + msg.send('getRuleSetPatIds', null, function(patIds) { + _.each(patIds, function(patId) { + manager.trigger('updateUrlPat.' + patId); + }); + }); + }); + + // fired when the url pat gets removed + msg.register('remUrlPat', function(id) { + var evt = 'remUrlPat.' + id; + manager.trigger(evt); + manager.off(evt); + }); + +}; + +_.extend(fiveui.UpdateManager.prototype, Backbone.Events); + +})(); |