summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/widget_registry.js
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/web/static/src/js/views/basic/widget_registry.js
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/web/static/src/js/views/basic/widget_registry.js')
-rw-r--r--addons/web/static/src/js/views/basic/widget_registry.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/addons/web/static/src/js/views/basic/widget_registry.js b/addons/web/static/src/js/views/basic/widget_registry.js
new file mode 100644
index 00000000..470127bd
--- /dev/null
+++ b/addons/web/static/src/js/views/basic/widget_registry.js
@@ -0,0 +1,27 @@
+odoo.define('web.widget_registry', function (require) {
+ "use strict";
+
+ // This registry is supposed to contain all custom widgets that will be
+ // available in the basic views, with the tag <widget/>. There are
+ // currently no such widget in the web client, but the functionality is
+ // certainly useful to be able to cleanly add custom behaviour in basic
+ // views (and most notably, the form view)
+ //
+ // The way custom widgets work is that they register themselves to this
+ // registry:
+ //
+ // widgetRegistry.add('some_name', MyWidget);
+ //
+ // Then, they are available with the <widget/> tag (in the arch):
+ //
+ // <widget name="some_name"/>
+ //
+ // Widgets will be then properly instantiated, rendered and destroyed at the
+ // appropriate time, with the current state in second argument.
+ //
+ // For more examples, look at the tests (grep '<widget' in the test folder)
+
+ var Registry = require('web.Registry');
+
+ return new Registry();
+});