diff options
| author | Atul Patel (OpenERP) <atp@tinyerp.com> | 2012-10-18 17:13:11 +0530 |
|---|---|---|
| committer | Atul Patel (OpenERP) <atp@tinyerp.com> | 2012-10-18 17:13:11 +0530 |
| commit | 95f03f7c572e7affc6efc85842e79c9829805e53 (patch) | |
| tree | b46a1234568cb8078302b59dc3995b31bb4b7c6d /addons/web/static/src/js/corelib.js | |
| parent | 25ac221a0f6622a13d01d9b1ad14f4827adb2603 (diff) | |
| parent | 37f95838f26c2b9796bfd45e62fbb1d4df7ac6a6 (diff) | |
[MERGE]: Merged with lp:openerp-web
bzr revid: atp@tinyerp.com-20121012065816-vtbet5rlc8n3wwqo
bzr revid: atp@tinyerp.com-20121015054930-9id6fmbgjj33mr56
bzr revid: atp@tinyerp.com-20121016180101-der2mjymfd1ysgnr
bzr revid: atp@tinyerp.com-20121018114311-j7s62k8m1u3f1g74
Diffstat (limited to 'addons/web/static/src/js/corelib.js')
| -rw-r--r-- | addons/web/static/src/js/corelib.js | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index b5fbacc7927..7f4f8c0d6ca 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -291,6 +291,17 @@ var Events = instance.web.Class.extend({ return this; }, + callbackList: function() { + var lst = []; + _.each(this._callbacks || {}, function(el, eventName) { + var node = el; + while ((node = node.next) && node.next) { + lst.push([eventName, node.callback, node.context]); + } + }); + return lst; + }, + trigger : function(events) { var event, node, calls, tail, args, all, rest; if (!(calls = this._callbacks)) @@ -369,9 +380,9 @@ instance.web.EventDispatcherMixin = _.extend({}, instance.web.ParentedMixin, { event.source.__edispatcherEvents.off(event.name, event.func, self); }); this.__edispatcherRegisteredEvents = []; - if(!this.__edispatcherEvents) { - debugger; - } + _.each(this.__edispatcherEvents.callbackList(), function(cal) { + this.off(cal[0], cal[2], cal[1]); + }, this); this.__edispatcherEvents.off(); instance.web.ParentedMixin.destroy.call(this); } @@ -1440,6 +1451,10 @@ instance.web.JsonRPC = instance.web.CallbackEnabled.extend({ }, }); +instance.web.py_eval = function(expr, context) { + return py.eval(expr, _.extend({}, context || {}, {"true": true, "false": false, "null": null})); +}; + } // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: |
