From 4fdf74fe21b9fb99ed9cdcb1a0ef2e21d34dafed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Fri, 13 Mar 2015 14:02:50 +0100 Subject: [IMP] web+addons: improvement to module system The module system needs to know the dependencies of a given module before executing the function. This is why the dependencies were defined once in an array, and then were described one more times in the call to require. But a trick can simplify this: the boot function can parse the string representation of the module and extract the calls to require from it. It is more work for the processor, but it leads to simpler module definitions. --- addons/web/static/src/js/framework/ajax.js | 2 +- addons/web/static/src/js/framework/core.js | 2 +- addons/web/static/src/js/framework/crash_manager.js | 4 ++-- addons/web/static/src/js/framework/data.js | 2 +- addons/web/static/src/js/framework/dialog.js | 2 +- addons/web/static/src/js/framework/formats.js | 2 +- addons/web/static/src/js/framework/misc.js | 4 ++-- addons/web/static/src/js/framework/mixins.js | 2 +- addons/web/static/src/js/framework/model.js | 4 ++-- addons/web/static/src/js/framework/pyeval.js | 2 +- addons/web/static/src/js/framework/registry.js | 2 +- addons/web/static/src/js/framework/session.js | 2 +- addons/web/static/src/js/framework/time.js | 2 +- addons/web/static/src/js/framework/translation.js | 3 +-- addons/web/static/src/js/framework/utils.js | 2 +- addons/web/static/src/js/framework/view.js | 2 +- addons/web/static/src/js/framework/widget.js | 2 +- 17 files changed, 20 insertions(+), 21 deletions(-) (limited to 'addons/web/static/src/js/framework') diff --git a/addons/web/static/src/js/framework/ajax.js b/addons/web/static/src/js/framework/ajax.js index 00da4610f9c..dd1eee906c1 100644 --- a/addons/web/static/src/js/framework/ajax.js +++ b/addons/web/static/src/js/framework/ajax.js @@ -1,4 +1,4 @@ -odoo.define('web.ajax', ['web.time'], function (require) { +odoo.define('web.ajax', function (require) { "use strict"; var time = require('web.time'); diff --git a/addons/web/static/src/js/framework/core.js b/addons/web/static/src/js/framework/core.js index 5bfe975c7fd..f7fc67e602f 100644 --- a/addons/web/static/src/js/framework/core.js +++ b/addons/web/static/src/js/framework/core.js @@ -1,4 +1,4 @@ -odoo.define('web.core', ['web.Class', 'web.mixins', 'web.Registry', 'web.translation', 'qweb', '_', '$'], function (require) { +odoo.define('web.core', function (require) { "use strict"; var Class = require('web.Class'); diff --git a/addons/web/static/src/js/framework/crash_manager.js b/addons/web/static/src/js/framework/crash_manager.js index 416ef4b4136..ec4350d2031 100644 --- a/addons/web/static/src/js/framework/crash_manager.js +++ b/addons/web/static/src/js/framework/crash_manager.js @@ -1,9 +1,9 @@ -odoo.define('web.crash_manager', ['web.CrashManager'], function (require) { +odoo.define('web.crash_manager', function (require) { var CrashManager = require('web.CrashManager'); return new CrashManager(); }); -odoo.define('web.CrashManager', ['web.ajax', 'web.core', 'web.Dialog', 'web.session'], function (require) { +odoo.define('web.CrashManager', function (require) { "use strict"; var ajax = require('web.ajax'); diff --git a/addons/web/static/src/js/framework/data.js b/addons/web/static/src/js/framework/data.js index f8f091be80d..efbce3a5056 100644 --- a/addons/web/static/src/js/framework/data.js +++ b/addons/web/static/src/js/framework/data.js @@ -1,4 +1,4 @@ -odoo.define('web.data', ['web.core', 'web.Model', 'web.session', 'web.pyeval'], function (require) { +odoo.define('web.data', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/dialog.js b/addons/web/static/src/js/framework/dialog.js index 9464c452124..81d8860d4c3 100644 --- a/addons/web/static/src/js/framework/dialog.js +++ b/addons/web/static/src/js/framework/dialog.js @@ -1,4 +1,4 @@ -odoo.define('web.Dialog', ['web.core', 'web.Widget'], function (require) { +odoo.define('web.Dialog', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/formats.js b/addons/web/static/src/js/framework/formats.js index 4126447c76a..a8dc52bee4a 100644 --- a/addons/web/static/src/js/framework/formats.js +++ b/addons/web/static/src/js/framework/formats.js @@ -1,4 +1,4 @@ -odoo.define('web.formats', ['web.core', 'web.time', 'web.utils'], function (require) { +odoo.define('web.formats', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/misc.js b/addons/web/static/src/js/framework/misc.js index a3aaadbc46c..804a30cef7d 100644 --- a/addons/web/static/src/js/framework/misc.js +++ b/addons/web/static/src/js/framework/misc.js @@ -1,4 +1,4 @@ -odoo.define('web.framework', ['web.core', 'web.crash_manager', 'web.session', 'web.utils', 'web.Widget'], function (require) { +odoo.define('web.framework', function (require) { "use strict"; var core = require('web.core'); @@ -331,7 +331,7 @@ return { }); -odoo.define('web.session', ['web.Session'], function (require) { +odoo.define('web.session', function (require) { var Session = require('web.Session'); var modules = odoo._modules; return new Session(undefined, undefined, {modules:modules}); diff --git a/addons/web/static/src/js/framework/mixins.js b/addons/web/static/src/js/framework/mixins.js index 102b75a9e4b..0f495392a6c 100644 --- a/addons/web/static/src/js/framework/mixins.js +++ b/addons/web/static/src/js/framework/mixins.js @@ -1,4 +1,4 @@ -odoo.define('web.mixins', ['web.Class', 'web.utils'], function (require) { +odoo.define('web.mixins', function (require) { "use strict"; var Class = require('web.Class'); diff --git a/addons/web/static/src/js/framework/model.js b/addons/web/static/src/js/framework/model.js index f1a1555fd6f..ca4c29452a3 100644 --- a/addons/web/static/src/js/framework/model.js +++ b/addons/web/static/src/js/framework/model.js @@ -1,4 +1,4 @@ -odoo.define('web.Model', ['web.Class', 'web.session', 'web.utils'], function (require) { +odoo.define('web.Model', function (require) { "use strict"; var Class = require('web.Class'); @@ -110,7 +110,7 @@ var Model = Class.extend({ return Model; }); -odoo.define('web.DataModel', ['web.data', 'web.Model', 'web.pyeval', 'web.session'], function (require) { +odoo.define('web.DataModel', function (require) { "use strict"; var data = require('web.data'); diff --git a/addons/web/static/src/js/framework/pyeval.js b/addons/web/static/src/js/framework/pyeval.js index 18d43db318b..ce25e7af534 100644 --- a/addons/web/static/src/js/framework/pyeval.js +++ b/addons/web/static/src/js/framework/pyeval.js @@ -1,4 +1,4 @@ -odoo.define('web.pyeval', ['web.core', 'web.session', 'web.utils'], function (require) { +odoo.define('web.pyeval', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/registry.js b/addons/web/static/src/js/framework/registry.js index c90614cf94a..b8bc1dbadfe 100644 --- a/addons/web/static/src/js/framework/registry.js +++ b/addons/web/static/src/js/framework/registry.js @@ -1,4 +1,4 @@ -odoo.define('web.Registry', ['web.Class'], function (require) { +odoo.define('web.Registry', function (require) { "use strict"; var Class = require('web.Class'); diff --git a/addons/web/static/src/js/framework/session.js b/addons/web/static/src/js/framework/session.js index f81fec5ab54..51ebc10b172 100644 --- a/addons/web/static/src/js/framework/session.js +++ b/addons/web/static/src/js/framework/session.js @@ -1,4 +1,4 @@ -odoo.define('web.Session', ['web.ajax', 'web.core', 'web.utils'], function (require) { +odoo.define('web.Session', function (require) { "use strict"; var ajax = require('web.ajax'); diff --git a/addons/web/static/src/js/framework/time.js b/addons/web/static/src/js/framework/time.js index 7a13655c39b..2c590c7304c 100644 --- a/addons/web/static/src/js/framework/time.js +++ b/addons/web/static/src/js/framework/time.js @@ -1,4 +1,4 @@ -odoo.define('web.time', ['web.translation', 'web.utils'], function (require) { +odoo.define('web.time', function (require) { "use strict"; var translation = require('web.translation'); diff --git a/addons/web/static/src/js/framework/translation.js b/addons/web/static/src/js/framework/translation.js index 6f44a57b275..00044ee13fc 100644 --- a/addons/web/static/src/js/framework/translation.js +++ b/addons/web/static/src/js/framework/translation.js @@ -1,9 +1,8 @@ -odoo.define('web.translation', ['web.Class', 'qweb'], function (require) { +odoo.define('web.translation', function (require) { "use strict"; var Class = require('web.Class'); - var qweb = require('qweb'); diff --git a/addons/web/static/src/js/framework/utils.js b/addons/web/static/src/js/framework/utils.js index d412a17bc9a..29a15d47a30 100644 --- a/addons/web/static/src/js/framework/utils.js +++ b/addons/web/static/src/js/framework/utils.js @@ -1,4 +1,4 @@ -odoo.define('web.utils', ['web.Class', 'web.translation'], function (require) { +odoo.define('web.utils', function (require) { "use strict"; var Class = require('web.Class'); diff --git a/addons/web/static/src/js/framework/view.js b/addons/web/static/src/js/framework/view.js index c315e53d710..145989ad7aa 100644 --- a/addons/web/static/src/js/framework/view.js +++ b/addons/web/static/src/js/framework/view.js @@ -1,4 +1,4 @@ -odoo.define('web.View', ['web.core', 'web.data', 'web.pyeval', 'web.Widget'], function (require) { +odoo.define('web.View', function (require) { "use strict"; var core = require('web.core'); diff --git a/addons/web/static/src/js/framework/widget.js b/addons/web/static/src/js/framework/widget.js index 6d691f812e0..aae0ed36c19 100644 --- a/addons/web/static/src/js/framework/widget.js +++ b/addons/web/static/src/js/framework/widget.js @@ -1,4 +1,4 @@ -odoo.define('web.Widget', ['web.core', 'web.session'], function (require) { +odoo.define('web.Widget', function (require) { "use strict"; var core = require('web.core'); -- cgit v1.2.3