blob: 56e02d9b5de78c666dc916250becdd65188a5739 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
odoo.define('im_livechat/static/src/models/messaging_initializer/messaging_initializer.js', function (require) {
'use strict';
const { registerInstancePatchModel } = require('mail/static/src/model/model_core.js');
const { executeGracefully } = require('mail/static/src/utils/utils.js');
registerInstancePatchModel('mail.messaging_initializer', 'im_livechat/static/src/models/messaging_initializer/messaging_initializer.js', {
//----------------------------------------------------------------------
// Private
//----------------------------------------------------------------------
/**
* @override
* @param {Object[]} [param0.channel_livechat=[]]
*/
async _initChannels(initMessagingData) {
await this.async(() => this._super(initMessagingData));
const { channel_livechat = [] } = initMessagingData;
return executeGracefully(channel_livechat.map(data => () => {
const channel = this.env.models['mail.thread'].insert(
this.env.models['mail.thread'].convertData(data),
);
// flux specific: channels received at init have to be
// considered pinned. task-2284357
if (!channel.isPinned) {
channel.pin();
}
}));
},
});
});
|