[IMP] mail: remove usage of isMessagingInitialized and clean main.js

Part of task-2582313

closes odoo/odoo#75286

Related: odoo/enterprise#20343
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
This commit is contained in:
Sébastien Theys
2021-08-19 13:55:28 +00:00
parent 41445f2ae6
commit 4ea21df30d
9 changed files with 34 additions and 59 deletions
@@ -33,7 +33,7 @@ export class Discuss extends Component {
this.discuss.update({ isOpen: true });
if (this.discuss.thread) {
this.trigger('o-push-state-action-manager');
} else if (this.env.isMessagingInitialized()) {
} else if (this.discuss.messaging.isInitialized) {
this.discuss.openInitThread();
}
this._updateLocalStoreProps();
@@ -3,7 +3,7 @@
<t t-name="mail.NotificationAlert" owl="1">
<div class="o_NotificationAlert">
<t t-if="env.isMessagingInitialized()">
<t t-if="messaging">
<center t-if="isNotificationBlocked" class="o_notification_alert alert alert-primary">
Odoo Push notifications have been blocked. Go to your browser settings to allow them.
</center>
-6
View File
@@ -22,12 +22,6 @@ export function addMessagingToEnv(providedEnv = {}) {
},
}, (env.browser && env.browser.Notification) || {}),
}, env.browser),
isMessagingInitialized() {
return (
this.services.messaging.modelManager.messaging &&
this.services.messaging.modelManager.messaging.isInitialized
);
},
});
return env;
}
+22 -13
View File
@@ -1,20 +1,29 @@
/** @odoo-module **/
import { ChatWindowService } from '@mail/services/chat_window_service/chat_window_service';
import { DialogService } from '@mail/services/dialog_service/dialog_service';
import { MessagingService } from '@mail/services/messaging/messaging';
import { DiscussWidget } from '@mail/widgets/discuss/discuss';
import { MessagingMenuWidget } from '@mail/widgets/messaging_menu/messaging_menu';
import env from 'web.commonEnv';
import { action_registry } from 'web.core';
import { serviceRegistry } from 'web.core';
import SystrayMenu from 'web.SystrayMenu';
/**
* Environment keys used in messaging.
*/
Object.assign(env, {
isMessagingInitialized() {
return (
this.services.messaging.modelManager.messaging &&
this.services.messaging.modelManager.messaging.isInitialized
);
},
});
serviceRegistry.add('chat_window', ChatWindowService);
serviceRegistry.add('dialog', DialogService);
serviceRegistry.add('messaging', MessagingService);
action_registry.add('mail.widgets.discuss', DiscussWidget);
// Systray menu items display order matches order in the list
// lower index comes first, and display is from right to left.
// For messagin menu, it should come before activity menu, if any
// otherwise, it is the next systray item.
const activityMenuIndex = SystrayMenu.Items.findIndex(SystrayMenuItem =>
SystrayMenuItem.prototype.name === 'activity_menu');
if (activityMenuIndex > 0) {
SystrayMenu.Items.splice(activityMenuIndex, 0, MessagingMenuWidget);
} else {
SystrayMenu.Items.push(MessagingMenuWidget);
}
@@ -3,9 +3,9 @@
import { getMessagingComponent } from "@mail/utils/messaging_component";
import AbstractService from 'web.AbstractService';
import { bus, serviceRegistry } from 'web.core';
import { bus } from 'web.core';
const ChatWindowService = AbstractService.extend({
export const ChatWindowService = AbstractService.extend({
dependencies: ['messaging'],
/**
* @override {web.AbstractService}
@@ -66,7 +66,3 @@ const ChatWindowService = AbstractService.extend({
await this._mount();
},
});
serviceRegistry.add('chat_window', ChatWindowService);
export default ChatWindowService;
@@ -3,9 +3,9 @@
import { getMessagingComponent } from "@mail/utils/messaging_component";
import AbstractService from 'web.AbstractService';
import { bus, serviceRegistry } from 'web.core';
import { bus } from 'web.core';
const DialogService = AbstractService.extend({
export const DialogService = AbstractService.extend({
dependencies: ['messaging'],
/**
* @override {web.AbstractService}
@@ -66,7 +66,3 @@ const DialogService = AbstractService.extend({
await this._mount();
}
});
serviceRegistry.add('dialog', DialogService);
export default DialogService;
+4 -4
View File
@@ -6,14 +6,14 @@ import {
addMessagingToEnv,
addTimeControlToEnv,
} from '@mail/env/test_env';
import ChatWindowService from '@mail/services/chat_window_service/chat_window_service';
import { ChatWindowService } from '@mail/services/chat_window_service/chat_window_service';
import { MessagingService } from '@mail/services/messaging/messaging';
import { makeDeferred } from '@mail/utils/deferred/deferred';
import DialogService from '@mail/services/dialog_service/dialog_service';
import { DialogService } from '@mail/services/dialog_service/dialog_service';
import { getMessagingComponent } from '@mail/utils/messaging_component';
import { nextTick } from '@mail/utils/utils';
import DiscussWidget from '@mail/widgets/discuss/discuss';
import MessagingMenuWidget from '@mail/widgets/messaging_menu/messaging_menu';
import { DiscussWidget } from '@mail/widgets/discuss/discuss';
import { MessagingMenuWidget } from '@mail/widgets/messaging_menu/messaging_menu';
import { MockModels } from '@mail/../tests/helpers/mock_models';
import AbstractStorageService from 'web.AbstractStorageService';
@@ -3,11 +3,10 @@
import { getMessagingComponent } from "@mail/utils/messaging_component";
import AbstractAction from 'web.AbstractAction';
import { action_registry } from 'web.core';
const { Component } = owl;
const DiscussWidget = AbstractAction.extend({
export const DiscussWidget = AbstractAction.extend({
template: 'mail.widgets.Discuss',
/**
* @override {web.AbstractAction}
@@ -130,7 +129,3 @@ const DiscussWidget = AbstractAction.extend({
});
},
});
action_registry.add('mail.widgets.discuss', DiscussWidget);
export default DiscussWidget;
@@ -2,13 +2,12 @@
import { getMessagingComponent } from "@mail/utils/messaging_component";
import SystrayMenu from 'web.SystrayMenu';
import Widget from 'web.Widget';
/**
* Odoo Widget, necessary to instantiate component.
*/
const MessagingMenuWidget = Widget.extend({
export const MessagingMenuWidget = Widget.extend({
template: 'mail.widgets.MessagingMenu',
/**
* @override
@@ -35,17 +34,3 @@ const MessagingMenuWidget = Widget.extend({
this.el.parentNode.removeChild(this.el);
},
});
// Systray menu items display order matches order in the list
// lower index comes first, and display is from right to left.
// For messagin menu, it should come before activity menu, if any
// otherwise, it is the next systray item.
const activityMenuIndex = SystrayMenu.Items.findIndex(SystrayMenuItem =>
SystrayMenuItem.prototype.name === 'activity_menu');
if (activityMenuIndex > 0) {
SystrayMenu.Items.splice(activityMenuIndex, 0, MessagingMenuWidget);
} else {
SystrayMenu.Items.push(MessagingMenuWidget);
}
export default MessagingMenuWidget;