summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/widgets
diff options
context:
space:
mode:
authorGéry Debongnie <ged@odoo.com>2017-02-24 15:40:22 +0100
committerAaron Bohy <aab@odoo.com>2017-04-11 19:44:38 +0200
commitb717c6786429ccd68678462f3d0d994ffe3301b3 (patch)
treec577dc97422b2130f436890d62fc5c954b5eb5e0 /addons/web/static/src/js/widgets
parent7dc9eb51d613f43db042826ae52aa6d21e4dec74 (diff)
[REF] web,*: improve the way field_utils are done
We replace a bunch of formatting and parsing functions by an object (parse or format) which can be used to dispatch on the correct type. It allows us to remove the format_field and parse_field functions. Also, we camelcase our new code and add some comments.
Diffstat (limited to 'addons/web/static/src/js/widgets')
-rw-r--r--addons/web/static/src/js/widgets/date_picker.js4
-rw-r--r--addons/web/static/src/js/widgets/debug_manager.js2
-rw-r--r--addons/web/static/src/js/widgets/domain_selector.js7
3 files changed, 7 insertions, 6 deletions
diff --git a/addons/web/static/src/js/widgets/date_picker.js b/addons/web/static/src/js/widgets/date_picker.js
index 3fe9988467a..1acccc61a5e 100644
--- a/addons/web/static/src/js/widgets/date_picker.js
+++ b/addons/web/static/src/js/widgets/date_picker.js
@@ -83,10 +83,10 @@ var DateWidget = Widget.extend({
}
},
parse_client: function(v) {
- return field_utils.parse_field(v, {type: this.type_of_date});
+ return field_utils.parse[this.type_of_date](v, {type: this.type_of_date});
},
format_client: function(v) {
- return field_utils.format_field(v, {type: this.type_of_date});
+ return field_utils.format[this.type_of_date](v, {type: this.type_of_date});
},
set_datetime_default: function() {
//when opening datetimepicker the date and time by default should be the one from
diff --git a/addons/web/static/src/js/widgets/debug_manager.js b/addons/web/static/src/js/widgets/debug_manager.js
index 2689d789431..b09fa2d498b 100644
--- a/addons/web/static/src/js/widgets/debug_manager.js
+++ b/addons/web/static/src/js/widgets/debug_manager.js
@@ -327,7 +327,7 @@ DebugManager.include({
size: 'medium',
$content: QWeb.render('WebClient.DebugViewLog', {
perm : result[0],
- format : field_utils.format_field
+ format : field_utils.format
})
}).open();
});
diff --git a/addons/web/static/src/js/widgets/domain_selector.js b/addons/web/static/src/js/widgets/domain_selector.js
index ba1ac9e77c9..61b43c46ae7 100644
--- a/addons/web/static/src/js/widgets/domain_selector.js
+++ b/addons/web/static/src/js/widgets/domain_selector.js
@@ -384,7 +384,7 @@ var DomainLeaf = DomainNode.extend({
try {
var f = this.fieldSelector.selectedField;
if (!f.relation) { // TODO in this case, the value should be m2o input, etc...
- this.displayValue = field_utils.format_field(this.value, this.fieldSelector.selectedField);
+ this.displayValue = field_utils.format[f.type](this.value, f);
}
} catch (err) {/**/}
this.displayOperator = this.operator;
@@ -470,9 +470,10 @@ var DomainLeaf = DomainNode.extend({
/// @param silent - true if the method call should not trigger_up a domain_changed event
/// @trigger_up domain_changed event to ask for a re-rendering
onValueChange: function (value, silent) {
+ var field = this.fieldSelector.selectedField;
var couldNotParse = false;
try {
- this.value = field_utils.parse_field(value, this.fieldSelector.selectedField);
+ this.value = field_utils.parse[field.type](value, field);
} catch (err) {
this.value = value;
couldNotParse = true;
@@ -488,7 +489,7 @@ var DomainLeaf = DomainNode.extend({
}
} else if (_.contains(["date", "datetime"], this.fieldSelector.selectedField.type)) {
if (couldNotParse || _.isBoolean(this.value)) {
- this.value = field_utils.parse_field(field_utils.format_field(Date.now(), this.fieldSelector.selectedField), this.fieldSelector.selectedField);
+ this.value = field_utils.parse[field.type](field_utils.format[field.type](Date.now(), field), field);
}
} else {
if (_.isBoolean(this.value)) { // Never display "true" or "false" strings from boolean value