Improve completion on boolean
- Do not convert None to False - Complete with the opposite or both values issue8620 review254181002
This commit is contained in:
1 parent
5cef8269df
commit
e9f6976eae
2 files changed
+38
-7
No files matched your search
+12
-5
@@ -1386,7 +1386,13 @@
|
||||
},
|
||||
complete_value: function(field, value) {
|
||||
var complete_boolean = function() {
|
||||
return value ? [true] : [false];
|
||||
if ((value === null) || (value === undefined)) {
|
||||
return [true, false];
|
||||
} else if (value) {
|
||||
return [false];
|
||||
} else {
|
||||
return [true];
|
||||
}
|
||||
};
|
||||
|
||||
var complete_selection = function() {
|
||||
@@ -1848,9 +1854,8 @@
|
||||
return test.toLowerCase().startsWith(
|
||||
value.toLowerCase());
|
||||
});
|
||||
} else {
|
||||
return Boolean(value);
|
||||
}
|
||||
return null;
|
||||
},
|
||||
'float': function() {
|
||||
var factor = Number(field.factor || 1);
|
||||
@@ -1966,10 +1971,12 @@
|
||||
|
||||
var converts = {
|
||||
'boolean': function() {
|
||||
if (value) {
|
||||
if (value === false) {
|
||||
return Sao.i18n.gettext('False');
|
||||
} else if (value) {
|
||||
return Sao.i18n.gettext('True');
|
||||
} else {
|
||||
return Sao.i18n.gettext('False');
|
||||
return '';
|
||||
}
|
||||
},
|
||||
'integer': function() {
|
||||
|
||||
+26
-2
@@ -1308,7 +1308,7 @@
|
||||
['False', false],
|
||||
['no', false],
|
||||
['0', false],
|
||||
[null, false]
|
||||
[null, null],
|
||||
].forEach(test_func, field);
|
||||
|
||||
field = {
|
||||
@@ -1553,7 +1553,7 @@
|
||||
[
|
||||
[true, 'True'],
|
||||
[false, 'False'],
|
||||
[null, 'False']
|
||||
[null, '']
|
||||
].forEach(test_func, field);
|
||||
|
||||
field = {
|
||||
@@ -1812,6 +1812,15 @@
|
||||
', ' + JSON.stringify(value) + ')');
|
||||
};
|
||||
|
||||
field = {
|
||||
'type': 'boolean',
|
||||
};
|
||||
[
|
||||
[null, [true, false]],
|
||||
[true, [false]],
|
||||
[false, [true]],
|
||||
].forEach(test_func, field);
|
||||
|
||||
field = {
|
||||
'type': 'selection',
|
||||
'selection': [
|
||||
@@ -2536,6 +2545,21 @@
|
||||
});
|
||||
QUnit.ok(compare(parser.completion('Relatio'),
|
||||
["Relation: ", "Relation.Name: "]));
|
||||
|
||||
parser = new Sao.common.DomainParser({
|
||||
'name': {
|
||||
'string': "Active",
|
||||
'name': 'active',
|
||||
'type': 'boolean',
|
||||
},
|
||||
});
|
||||
QUnit.ok(compare(parser.completion("Act"), ["Active: "]));
|
||||
QUnit.ok(compare(parser.completion("Active:"),
|
||||
["Active: ", "Active: True", "Active: False"]));
|
||||
QUnit.ok(compare(parser.completion("Active: t"),
|
||||
["Active: True", "Active: False"]));
|
||||
QUnit.ok(compare(parser.completion("Active: f"),
|
||||
["Active: False", "Active: True"]));
|
||||
});
|
||||
|
||||
/*
|
||||
|
||||
Reference in new issue
Block a user