diff options
| author | Michael Mattiello (mcm) <mcm@odoo.com> | 2020-03-27 10:56:05 +0000 |
|---|---|---|
| committer | Michael Mattiello (mcm) <mcm@odoo.com> | 2020-03-31 07:11:01 +0000 |
| commit | 9324282b0118e311382ee9a57cd10ef3f02d1dbb (patch) | |
| tree | b4663f82c2e837ba23f70b562b6dfd743b96167f /addons/web/static/src/js/views/basic | |
| parent | 91c7e574ed4a08a4d9998a7f5f481b99ae6154ee (diff) | |
[REF] web,*: add new field registry for components
* account
This commit adds a new field registry for component fields.
This field registry is used to only register the new field components
and the other one should register the legacy fields.
Those two registries will be used together while all legacy fields are
not converted to owl component.
As the legacy registry now throws an error when adding a component
field the existing component fields (account.ShowGroupedList and
account.ShowResequenceRenderer) are moved into the new registry.
This commit also refactors some field managers (form renderer, list
editable renderer, calendar popover) to use the new registry and thus
support the component fields.
task id: 2193996
Diffstat (limited to 'addons/web/static/src/js/views/basic')
| -rw-r--r-- | addons/web/static/src/js/views/basic/basic_view.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_view.js b/addons/web/static/src/js/views/basic/basic_view.js index 140c338d6f6..4d266657c71 100644 --- a/addons/web/static/src/js/views/basic/basic_view.js +++ b/addons/web/static/src/js/views/basic/basic_view.js @@ -15,6 +15,7 @@ var BasicController = require('web.BasicController'); var BasicModel = require('web.BasicModel'); var config = require('web.config'); var fieldRegistry = require('web.field_registry'); +var fieldRegistryOwl = require('web.field_registry_owl'); var pyUtils = require('web.py_utils'); var utils = require('web.utils'); @@ -78,7 +79,8 @@ var BasicView = AbstractView.extend({ _getFieldWidgetClass: function (viewType, field, attrs) { var FieldWidget; if (attrs.widget) { - FieldWidget = fieldRegistry.getAny([viewType + "." + attrs.widget, attrs.widget]); + FieldWidget = fieldRegistryOwl.getAny([viewType + "." + attrs.widget, attrs.widget]) || + fieldRegistry.getAny([viewType + "." + attrs.widget, attrs.widget]); if (!FieldWidget) { console.warn("Missing widget: ", attrs.widget, " for field", attrs.name, "of type", field.type); } @@ -87,7 +89,9 @@ var BasicView = AbstractView.extend({ // is not specified in the view FieldWidget = fieldRegistry.get('kanban.many2many_tags'); } - return FieldWidget || fieldRegistry.getAny([viewType + "." + field.type, field.type, "abstract"]); + return FieldWidget || + fieldRegistryOwl.getAny([viewType + "." + field.type, field.type, "abstract"]) || + fieldRegistry.getAny([viewType + "." + field.type, field.type, "abstract"]); }, /** * In some cases, we already have a preloaded record |
