aboutsummaryrefslogtreecommitdiff
path: root/src/js/fiveui/js/update-manager.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/fiveui/js/update-manager.js')
-rw-r--r--src/js/fiveui/js/update-manager.js51
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);
+
+})();