summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/models/dialog
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mail/static/src/models/dialog')
-rw-r--r--addons/mail/static/src/models/dialog/dialog.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/addons/mail/static/src/models/dialog/dialog.js b/addons/mail/static/src/models/dialog/dialog.js
new file mode 100644
index 00000000..018951fe
--- /dev/null
+++ b/addons/mail/static/src/models/dialog/dialog.js
@@ -0,0 +1,32 @@
+odoo.define('mail/static/src/models/dialog/dialog.js', function (require) {
+'use strict';
+
+const { registerNewModel } = require('mail/static/src/model/model_core.js');
+const { many2one, one2one } = require('mail/static/src/model/model_field.js');
+
+function factory(dependencies) {
+
+ class Dialog extends dependencies['mail.model'] {}
+
+ Dialog.fields = {
+ manager: many2one('mail.dialog_manager', {
+ inverse: 'dialogs',
+ }),
+ /**
+ * Content of dialog that is directly linked to a record that models
+ * a UI component, such as AttachmentViewer. These records must be
+ * created from @see `mail.dialog_manager:open()`.
+ */
+ record: one2one('mail.model', {
+ isCausal: true,
+ }),
+ };
+
+ Dialog.modelName = 'mail.dialog';
+
+ return Dialog;
+}
+
+registerNewModel('mail.dialog', factory);
+
+});