diff options
Diffstat (limited to 'addons/mail/static/src/js/models/threads/livechat.js')
| -rw-r--r-- | addons/mail/static/src/js/models/threads/livechat.js | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/addons/mail/static/src/js/models/threads/livechat.js b/addons/mail/static/src/js/models/threads/livechat.js deleted file mode 100644 index c3b4a5e2b4d..00000000000 --- a/addons/mail/static/src/js/models/threads/livechat.js +++ /dev/null @@ -1,95 +0,0 @@ -odoo.define('mail.model.Livechat', function (require) { -"use strict"; - -var TwoUserChannel = require('mail.model.TwoUserChannel'); - -/** - * backend-side of the livechat. - * - * Any piece of code in JS that make use of Livechats must ideally interact with - * such objects, instead of direct data from the server. - */ -var Livechat = TwoUserChannel.extend({ - _WEBSITE_USER_ID: '_websiteUser', - _WEBSITE_USER_NAME: 'Website user', - - /** - * @override - * @param {Object} params - * @param {Object} params.data - */ - init: function (params) { - this._super.apply(this, arguments); - this._name = params.data.correspondent_name; - this._WEBSITE_USER_NAME = this._name; - }, - - //-------------------------------------------------------------------------- - // Public - //-------------------------------------------------------------------------- - - /** - * Override so that the list of members has the website use. This is - * necessary in order for the 'is_typing' feature to compute the name to - * display of a user that is typing. - * - * @override - * @returns {Promise<Object[]>} resolved with list of list of - * livechat members. - */ - getMentionPartnerSuggestions: function () { - var self = this; - return this._super.apply(this, arguments).then(function () { - var websiteUser = _.findWhere(self._members, { id: self._WEBSITE_USER_ID }); - if (!websiteUser) { - self._members.push({ - id: self._WEBSITE_USER_ID, - name: self._WEBSITE_USER_NAME, - }); - } - return [self._members]; - }); - }, - /** - * Called when someone starts typing something on the livechat. - * - * Overrides it so that it determine the partner based on the received - * userID. The reason is that anonymous users have the partner ID of the - * admin, which is likely also an operator, so userID must be used in order - * to distinct them. - * - * @override {mail.model.ThreadTypingMixin} - * @param {Object} params - * @param {integer} params.partnerID ID of the partner that is currently - * typing something on the thread. - * @param {boolean} [params.isWebsiteUser=false] whether the typing partner - * is an anonymous user (reminder: they share partnerID with admin). - */ - registerTyping: function (params) { - params.partnerID = this._WEBSITE_USER_ID; - this._super.call(this, params); - }, - /** - * Called when someone stops typing something on the livechat. - * - * Overrides it so that it determine the partner based on the received - * userID. The reason is that anonymous users have the partner ID of the - * admin, which is likely also an operator, so userID must be used in order - * to distinct them. - * - * @override {mail.model.ThreadTypingMixin} - * @param {Object} params - * @param {integer} params.partnerID ID of the partner that stops typing - * something on the thread. - * @param {boolean} [params.isWebsiteUser=false] whether the typing partner - * is an anonymous user (reminder: they share partnerID with admin). - */ - unregisterTyping: function (params) { - params.partnerID = this._WEBSITE_USER_ID; - this._super.call(this, params); - }, -}); - -return Livechat; - -}); |
