summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/framework/qweb.js
diff options
context:
space:
mode:
authorGéry Debongnie <ged@odoo.com>2017-03-05 10:05:56 +0100
committerAaron Bohy <aab@odoo.com>2017-04-11 19:44:38 +0200
commit905e01921f3c3ef43ace6fc537d1d8c0d280002c (patch)
tree265c43ab21c5401a5d9f0f3d64d86f1ac417451c /addons/web/static/src/js/framework/qweb.js
parent54d4c73af4ad05c7640d28c1892247c9538b8017 (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.js51
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;
-
-});