diff options
| author | Géry Debongnie <ged@odoo.com> | 2017-03-05 10:05:56 +0100 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-04-11 19:44:38 +0200 |
| commit | 905e01921f3c3ef43ace6fc537d1d8c0d280002c (patch) | |
| tree | 265c43ab21c5401a5d9f0f3d64d86f1ac417451c /addons/web/static/src/js/framework/qweb.js | |
| parent | 54d4c73af4ad05c7640d28c1892247c9538b8017 (diff) | |
[REF] web, *: redesign all JS views
This commit introduce a full redesign of all JS views. We started
basically from scratch. The goal was to unify all the various views
under a common framework, to make them testable, to make then usable in
different conditions (in studio, or in the frontend), and to make our
lives easier.
Some important points are:
- we introduced new coding guidelines (camelCase, 80 chars width, ...)
- we have a brand new testing framework (still QUnit based)
- kanban view moved to the web addon
- calendar view (formerly web_calender) moved to web as well
- the tree view was removed
- all new code should be documented
We hope that this code is the start of a new era for the Odoo web
client, we want to have a high quality codebase, well documented, well
tested, well designed.
Work done by the framework team: mostly aab, ged, chm, dmo, qsm
Diffstat (limited to 'addons/web/static/src/js/framework/qweb.js')
| -rw-r--r-- | addons/web/static/src/js/framework/qweb.js | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/addons/web/static/src/js/framework/qweb.js b/addons/web/static/src/js/framework/qweb.js deleted file mode 100644 index 50742075e05..00000000000 --- a/addons/web/static/src/js/framework/qweb.js +++ /dev/null @@ -1,51 +0,0 @@ -odoo.define('web.QWeb', function (require) { -"use strict"; - -var translation = require('web.translation'); - -var _t = translation._t; - -function QWeb(debug, default_dict) { - var qweb = new QWeb2.Engine(); - qweb.default_dict = _.extend({}, default_dict || {}, { - '_' : _, - 'JSON': JSON, - '_t' : translation._t, - '__debug__': debug, - 'moment': function(date) { return new moment(date); }, - 'csrf_token': odoo.csrf_token, - }); - qweb.debug = debug; - qweb.preprocess_node = preprocess_node; - return qweb; -} - -function preprocess_node() { - // Note that 'this' is the Qweb Node - switch (this.node.nodeType) { - case Node.TEXT_NODE: - case Node.CDATA_SECTION_NODE: - // Text and CDATAs - var translation = this.node.parentNode.attributes['t-translation']; - if (translation && translation.value === 'off') { - return; - } - var match = /^(\s*)([\s\S]+?)(\s*)$/.exec(this.node.data); - if (match) { - this.node.data = match[1] + _t(match[2]) + match[3]; - } - break; - case Node.ELEMENT_NODE: - // Element - var attr, attrs = ['label', 'title', 'alt', 'placeholder']; - while ((attr = attrs.pop())) { - if (this.attributes[attr]) { - this.attributes[attr] = _t(this.attributes[attr]); - } - } - } -} - -return QWeb; - -}); |
