[IMP] mail: legacy activity menu to wowl registry

To prepare for the introduction of the ActivityMenuContainer Component,
let's  make the ActivityMenu widget use the systray registry.

closes odoo/odoo#96341

Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This commit is contained in:
tsm-odoo
2022-07-21 00:50:17 +02:00
parent 8746ffdc13
commit fdce32d186
6 changed files with 37 additions and 15 deletions
+2
View File
@@ -142,11 +142,13 @@ For more specific needs, you may also assign custom-defined actions
'mail/static/src/components/*/*',
# Unused by guests and depends on ViewDialogs, better to remove it instead of pulling the whole view dependency tree
('remove', 'mail/static/src/components/composer_suggested_recipient/*'),
('remove', 'mail/static/src/components/activity_menu_container/*'),
'mail/static/src/js/emojis.js',
'mail/static/src/js/utils.js',
('include', 'mail.assets_messaging'),
'mail/static/src/public/*',
'mail/static/src/services/*.js',
('remove', 'mail/static/src/services/systray_service.js'),
'mail/static/src/utils/*.js',
# Framework JS
'bus/static/src/*.js',
@@ -0,0 +1,26 @@
/** @odoo-module **/
import ActivityMenu from '@mail/js/systray/systray_activity_menu';
import { ComponentAdapter } from "web.OwlCompatibility";
const { Component } = owl;
class ActivityMenuAdapter extends ComponentAdapter {
setup() {
this.env = owl.Component.env;
super.setup();
}
}
export class ActivityMenuContainer extends Component {
get activityMenuWidget() {
return ActivityMenu;
}
}
Object.assign(ActivityMenuContainer, {
components: { ActivityMenuAdapter },
template: 'mail.ActivityMenuContainer',
});
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
<t t-name="mail.ActivityMenuContainer" owl="1">
<ActivityMenuAdapter Component="activityMenuWidget"/>
</t>
</templates>
@@ -3,7 +3,6 @@
import { qweb as QWeb } from 'web.core';
import config from "web.config";
import session from 'web.session';
import SystrayMenu from 'web.SystrayMenu';
import Widget from 'web.Widget';
import Time from 'web.time';
@@ -197,6 +196,4 @@ var ActivityMenu = Widget.extend({
},
});
SystrayMenu.Items.push(ActivityMenu);
export default ActivityMenu;
@@ -1,5 +1,6 @@
/** @odoo-module **/
import { ActivityMenuContainer } from '@mail/components/activity_menu_container/activity_menu_container';
import { MessagingMenuContainer } from '@mail/components/messaging_menu_container/messaging_menu_container';
import { CallSystrayMenuContainer } from '@mail/components/call_systray_menu_container/call_systray_menu_container';
@@ -10,7 +11,8 @@ const systrayRegistry = registry.category('systray');
export const systrayService = {
dependencies: ['messaging'],
start() {
systrayRegistry.add('mail.MessagingMenuContainer', { Component: MessagingMenuContainer });
systrayRegistry.add('mail.ActivityMenu', { Component: ActivityMenuContainer }, { sequence: 20 });
systrayRegistry.add('mail.MessagingMenuContainer', { Component: MessagingMenuContainer }, { sequence: 25 });
systrayRegistry.add('mail.CallSystrayMenuContainer', { Component: CallSystrayMenuContainer }, { sequence: 100 });
},
};
@@ -10,14 +10,11 @@ import { ChatWindowManagerContainer } from '@mail/components/chat_window_manager
import { DialogManagerContainer } from '@mail/components/dialog_manager_container/dialog_manager_container';
import { DiscussContainer } from '@mail/components/discuss_container/discuss_container';
import { PopoverManagerContainer } from '@mail/components/popover_manager_container/popover_manager_container';
import ActivityMenu from '@mail/js/systray/systray_activity_menu';
import { messagingService } from '@mail/services/messaging_service';
import { systrayService } from '@mail/services/systray_service';
import { makeMessagingToLegacyEnv } from '@mail/utils/make_messaging_to_legacy_env';
import { registry } from '@web/core/registry';
import { Items as legacySystrayItems } from 'web.SystrayMenu';
import { registerCleanup } from '@web/../tests/helpers/cleanup';
import { patchWithCleanup } from "@web/../tests/helpers/utils";
import { createWebClient } from "@web/../tests/webclient/helpers";
@@ -139,14 +136,6 @@ function setupMessagingServiceRegistries({
async function getWebClientReady(param0) {
setupMainComponentRegistry();
legacySystrayItems.push(ActivityMenu);
registerCleanup(() => {
const activityMenuIndex = legacySystrayItems.indexOf(ActivityMenu);
if (activityMenuIndex !== -1) {
legacySystrayItems.splice(activityMenuIndex, 1);
}
});
const servicesParameters = {};
const param0Entries = Object.entries(param0);
for (const [parameterName, value] of param0Entries) {