diff options
| author | Géry Debongnie <ged@odoo.com> | 2017-03-07 14:27:03 +0100 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-04-11 19:44:38 +0200 |
| commit | 1ec265eb92ebec9b22d471459af442572d187821 (patch) | |
| tree | 0c33baf69410983fad2b017d7d1dfedbc8249427 /addons/web/static/src/js | |
| parent | 6cc324513ed88dd6f11aed642c08e6cf8b9fd0af (diff) | |
[REF] web: move ServicesMixin out of mixins.js
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/core/mixins.js | 61 | ||||
| -rw-r--r-- | addons/web/static/src/js/core/widget.js | 3 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/abstract_model.js | 3 |
3 files changed, 38 insertions, 29 deletions
diff --git a/addons/web/static/src/js/core/mixins.js b/addons/web/static/src/js/core/mixins.js index 1a72beefafd..08090ddcc33 100644 --- a/addons/web/static/src/js/core/mixins.js +++ b/addons/web/static/src/js/core/mixins.js @@ -2,7 +2,6 @@ odoo.define('web.mixins', function (require) { "use strict"; var Class = require('web.Class'); -var rpc = require('web.rpc'); var utils = require('web.utils'); var AbstractService = require('web.AbstractService'); @@ -400,6 +399,39 @@ var PropertiesMixin = _.extend({}, EventDispatcherMixin, { } }); +var ServiceProvider = { + services: {}, + init: function () { + var self = this; + _.each(AbstractService.prototype.Services, function (Service) { + var service = new Service(); + self.services[service.name] = service; + }); + this.custom_events = _.clone(this.custom_events); + this.custom_events.call_service = this._call_service.bind(this); + }, + _call_service: function (event) { + var service = this.services[event.data.service]; + var args = event.data.args.concat(event.target); + var result = service[event.data.method].apply(service, args); + event.data.callback(result); + }, +}; + +return { + ParentedMixin: ParentedMixin, + EventDispatcherMixin: EventDispatcherMixin, + PropertiesMixin: PropertiesMixin, + ServiceProvider: ServiceProvider, +}; + +}); + +odoo.define('web.ServicesMixin', function (require) { +"use strict"; + +var rpc = require('web.rpc'); + var ServicesMixin = { call: function (service, method) { var args = Array.prototype.slice.call(arguments, 2); @@ -500,31 +532,6 @@ var ServicesMixin = { }, }; -var ServiceProvider = { - services: {}, - init: function () { - var self = this; - _.each(AbstractService.prototype.Services, function (Service) { - var service = new Service(); - self.services[service.name] = service; - }); - this.custom_events = _.clone(this.custom_events); - this.custom_events.call_service = this._call_service.bind(this); - }, - _call_service: function (event) { - var service = this.services[event.data.service]; - var args = event.data.args.concat(event.target); - var result = service[event.data.method].apply(service, args); - event.data.callback(result); - }, -}; - -return { - ParentedMixin: ParentedMixin, - EventDispatcherMixin: EventDispatcherMixin, - PropertiesMixin: PropertiesMixin, - ServicesMixin: ServicesMixin, - ServiceProvider: ServiceProvider, -}; +return ServicesMixin; }); diff --git a/addons/web/static/src/js/core/widget.js b/addons/web/static/src/js/core/widget.js index b76c8d7e8bc..e47586e9a17 100644 --- a/addons/web/static/src/js/core/widget.js +++ b/addons/web/static/src/js/core/widget.js @@ -3,6 +3,7 @@ odoo.define('web.Widget', function (require) { var core = require('web.core'); var mixins = require('web.mixins'); +var ServicesMixin = require('web.ServicesMixin'); /** * Base class for all visual components. Provides a lot of functionalities helpful @@ -54,7 +55,7 @@ var mixins = require('web.mixins'); */ -var Widget = core.Class.extend(mixins.PropertiesMixin, mixins.ServicesMixin, { +var Widget = core.Class.extend(mixins.PropertiesMixin, ServicesMixin, { // Backbone-ish API tagName: 'div', id: null, diff --git a/addons/web/static/src/js/views/abstract_model.js b/addons/web/static/src/js/views/abstract_model.js index 78aa595a398..27d13a12b06 100644 --- a/addons/web/static/src/js/views/abstract_model.js +++ b/addons/web/static/src/js/views/abstract_model.js @@ -16,8 +16,9 @@ odoo.define('web.AbstractModel', function (require) { var Class = require('web.Class'); var mixins = require('web.mixins'); +var ServicesMixin = require('web.ServicesMixin'); -var AbstractModel = Class.extend(mixins.EventDispatcherMixin, mixins.ServicesMixin, { +var AbstractModel = Class.extend(mixins.EventDispatcherMixin, ServicesMixin, { /** * @param {Widget} parent */ |
