summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields/field_registry.js
diff options
context:
space:
mode:
authorJulien Mougenot <jum@odoo.com>2020-07-13 13:03:23 +0000
committerMathieu Duckerts-Antoine <dam@odoo.com>2020-07-23 08:21:09 +0000
commit5698d1fab9cf36714f677ae6942201d5c9354798 (patch)
treef6f9c7e70f34adb4a3c375f42700804702aa664c /addons/web/static/src/js/fields/field_registry.js
parentea1741bc743b2066e871b526fc0d7cbf30b08fef (diff)
[IMP] web: add Registry predicate
Before this commit, any value could be added to registries and the class needed to be overridden to assert that added values would answer to a certain predicate. Now, the registry can be instantiated with a given predicate function that all added value must pass to be registered (default: all values are accepted). Existing implentations have been adapted: - FieldRegistry - FieldRegistryOwl.
Diffstat (limited to 'addons/web/static/src/js/fields/field_registry.js')
-rw-r--r--addons/web/static/src/js/fields/field_registry.js18
1 files changed, 6 insertions, 12 deletions
diff --git a/addons/web/static/src/js/fields/field_registry.js b/addons/web/static/src/js/fields/field_registry.js
index 925b405051e..ef174702579 100644
--- a/addons/web/static/src/js/fields/field_registry.js
+++ b/addons/web/static/src/js/fields/field_registry.js
@@ -1,18 +1,12 @@
odoo.define('web.field_registry', function (require) {
-"use strict";
-
-var Registry = require('web.Registry');
+ "use strict";
-var FieldRegistry = Registry.extend({
- add: function (key, value, score) {
- if (value.prototype instanceof owl.Component) {
- throw new Error("This registry should not contain any Component. Use 'web.field_registry_owl' instead.");
- }
- return this._super(...arguments);
- },
-});
+ const Registry = require('web.Registry');
-return new FieldRegistry();
+ return new Registry(
+ null,
+ (value) => !(value.prototype instanceof owl.Component)
+ );
});
odoo.define('web._field_registry', function (require) {