From 1f78b1608d52442d34cc7770f9b9006eb97bbca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20K=C3=BChn?= Date: Wed, 28 Sep 2022 13:08:26 +0000 Subject: [PATCH] [IMP] mail: move code to models (CallSettingsMenu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-3000249 closes odoo/odoo#101575 X-original-commit: bfd592e79e77db879eb70b5eed6e224b0525dfb8 Signed-off-by: Louis Wicket (wil) Signed-off-by: Alexandre Kühn (aku) --- .../call_settings_menu/call_settings_menu.js | 19 +------------------ .../call_settings_menu/call_settings_menu.xml | 2 +- .../static/src/models/call_settings_menu.js | 8 ++++++-- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/addons/mail/static/src/components/call_settings_menu/call_settings_menu.js b/addons/mail/static/src/components/call_settings_menu/call_settings_menu.js index 385136b51ac..200bed6cbdb 100644 --- a/addons/mail/static/src/components/call_settings_menu/call_settings_menu.js +++ b/addons/mail/static/src/components/call_settings_menu/call_settings_menu.js @@ -2,27 +2,10 @@ import { registerMessagingComponent } from '@mail/utils/messaging_component'; -import { browser } from "@web/core/browser/browser"; - -const { Component, onWillStart, useState } = owl; +const { Component } = owl; export class CallSettingsMenu extends Component { - /** - * @override - */ - setup() { - super.setup(); - this.state = useState({ - userDevices: undefined, - }); - onWillStart(() => this._willStart()); - } - - async _willStart() { - this.state.userDevices = await browser.navigator.mediaDevices.enumerateDevices(); - } - /** * @returns {CallSettingsMenu} */ diff --git a/addons/mail/static/src/components/call_settings_menu/call_settings_menu.xml b/addons/mail/static/src/components/call_settings_menu/call_settings_menu.xml index a94c2f107c5..72dc37541a0 100644 --- a/addons/mail/static/src/components/call_settings_menu/call_settings_menu.xml +++ b/addons/mail/static/src/components/call_settings_menu/call_settings_menu.xml @@ -11,7 +11,7 @@
diff --git a/addons/mail/static/src/models/call_settings_menu.js b/addons/mail/static/src/models/call_settings_menu.js index c7ed26abf23..6844bf64b8d 100644 --- a/addons/mail/static/src/models/call_settings_menu.js +++ b/addons/mail/static/src/models/call_settings_menu.js @@ -4,15 +4,16 @@ import { browser } from "@web/core/browser/browser"; import { registerModel } from '@mail/model/model_core'; import { clear } from '@mail/model/model_field_command'; -import { one } from '@mail/model/model_field'; +import { attr, one } from '@mail/model/model_field'; registerModel({ name: 'CallSettingsMenu', identifyingMode: 'xor', lifecycleHooks: { - _created() { + async _created() { browser.addEventListener('keydown', this._onKeyDown); browser.addEventListener('keyup', this._onKeyUp); + this.update({ userDevices: await this.messaging.browser.navigator.mediaDevices.enumerateDevices() }); }, _willDelete() { browser.removeEventListener('keydown', this._onKeyDown); @@ -130,6 +131,9 @@ registerModel({ identifying: true, inverse: 'callSettingsMenu', }), + userDevices: attr({ + default: [], + }), userSetting: one('UserSetting', { related: 'messaging.userSetting', }),