Файловый менеджер - Редактировать - /var/www/axolotl/data/www/axolotls.ru/www/bitrix/js/messenger/component/dialog/messenger.component.dialog.bundle.js.map
Назад
{"version":3,"file":"messenger.component.dialog.bundle.js","sources":["messenger.component.dialog.js"],"sourcesContent":["import \"./messenger.component.dialog.css\";\n\n/**\n * Bitrix Messenger\n * Dialog Vue component\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2019 Bitrix\n */\n\nconst TemplateType = Object.freeze({\n\tmessage: 'message',\n\tdelimiter: 'delimiter',\n\tgroup: 'group',\n\thistoryLoader: 'historyLoader',\n\tunreadLoader: 'unreadLoader',\n\tbutton: 'button',\n});\n\nconst ObserverType = Object.freeze({\n\thistory: 'history',\n\tunread: 'unread',\n\tread: 'read',\n\tnone: 'none',\n});\n\nconst MessengerStore = Object.freeze({\n\tmessages: BX.Messenger.Model.Messages.getName(),\n\tdialogues: BX.Messenger.Model.Dialogues.getName(),\n});\n\nconst LoadButtonTypes = Object.freeze({\n\tbefore: 'before',\n\tafter: 'after'\n});\n\nconst ReferenceClassName = Object.freeze({\n\tlistItem: 'bx-im-dialog-list-item-reference',\n\tlistItemBody: 'bx-im-dialog-list-item-content-reference',\n\tlistUnreadLoader: 'bx-im-dialog-list-unread-loader-reference',\n});\n\nBX.Vue.component('bx-messenger-dialog',\n{\n\t/**\n\t * @emits 'requestHistory' {lastId: number, limit: number}\n\t * @emits 'requestUnread' {lastId: number, limit: number}\n\t * @emits 'readMessage' {id: number}\n\t * @emits 'click' {event: MouseEvent}\n\t * @emits 'clickByUserName' {userData: object, event: MouseEvent}\n\t * @emits 'clickByMessageMenu' {message: object, event: MouseEvent}\n\t * @emits 'clickByCommand' {type: string, value: string, event: MouseEvent}\n\t */\n\n\t/**\n\t * @listens props.listenEventScrollToBottom {force:boolean} (global|application) -- scroll dialog to bottom, see more in methods.onScrollToBottom()\n\t * @listens props.listenEventRequestHistory {count:number} (application)\n\t * @listens props.listenEventRequestUnread {count:number} (application)\n\t */\n\tprops:\n\t{\n\t\tuserId: { default: 0 },\n\t\tdialogId: { default: 0 },\n\t\tchatId: { default: 0 },\n\t\tlistenEventScrollToBottom: { default: '' },\n\t\tlistenEventRequestHistory: { default: '' },\n\t\tlistenEventRequestUnread: { default: '' },\n\t\tmessageLimit: { default: 20 },\n\t\tenableEmotions: { default: true },\n\t\tenableDateActions: { default: true },\n\t\tenableCreateContent: { default: true },\n\t\tshowMessageAvatar: { default: true },\n\t\tshowMessageMenu: { default: true },\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tshowScrollButton: false,\n\t\t\tmessageShowCount: 0,\n\t\t\tmessageExtraCount: 0,\n\t\t\tunreadLoaderShow: false,\n\t\t\tunreadLoaderBlocked: false,\n\t\t\thistoryLoaderBlocked: false,\n\t\t\thistoryLoaderShow: false,\n\t\t\tstartMessageLimit: 0,\n\t\t\tTemplateType: TemplateType,\n\t\t\tObserverType: ObserverType,\n\t\t\tReferenceClassName: ReferenceClassName,\n\t\t}\n\t},\n\tcreated()\n\t{\n\t\tthis.scrollIsChanged = false;\n\t\tthis.scrollBlocked = false;\n\t\tthis.scrollButtonDiff = 30;\n\t\tthis.scrollButtonShowTimeout = null;\n\t\tthis.scrollPosition = 0;\n\t\tthis.scrollPositionChangeTime = new Date().getTime();\n\n\t\tthis.observers = {};\n\n\t\tthis.requestHistoryInterval = null;\n\t\tthis.requestUnreadInterval = null;\n\n\t\tthis.lastAuthorId = 0;\n\t\tthis.firstMessageId = null;\n\t\tthis.firstUnreadMessageId = null;\n\t\tthis.lastMessageId = null;\n\t\tthis.dateFormatFunction = null;\n\t\tthis.cacheGroupTitle = {};\n\n\t\tthis.waitLoadHistory = false;\n\t\tthis.waitLoadUnread = false;\n\n\t\tthis.readMessageQueue = [];\n\n\t\tthis.unreadLoaderBlocked = this.dialog.counter === 0;\n\t\tthis.startMessageLimit = this.messageLimit;\n\n\t\tif (this.listenEventScrollToBottom)\n\t\t{\n\t\t\tBX.Vue.event.$on(this.listenEventScrollToBottom, this.onScrollToBottom);\n\t\t\tthis.$root.$on(this.listenEventScrollToBottom, this.onScrollToBottom);\n\t\t}\n\t\tif (this.listenEventRequestHistory)\n\t\t{\n\t\t\tthis.$root.$on(this.listenEventRequestHistory, this.onRequestHistoryAnswer);\n\t\t}\n\t\tif (this.listenEventRequestUnread)\n\t\t{\n\t\t\tthis.$root.$on(this.listenEventRequestUnread, this.onRequestUnreadAnswer);\n\t\t}\n\n\t\twindow.addEventListener('focus', this.onWindowFocus);\n\t\twindow.addEventListener('blur', this.onWindowBlur);\n\t},\n\tbeforeDestroy()\n\t{\n\t\tthis.observers = {};\n\n\t\tclearTimeout(this.scrollButtonShowTimeout);\n\t\tclearInterval(this.requestHistoryInterval);\n\t\tclearInterval(this.requestUnreadInterval);\n\n\t\tif (this.listenEventScrollToBottom)\n\t\t{\n\t\t\tBX.Vue.event.$off(this.listenEventScrollToBottom, this.onScrollToBottom);\n\t\t\tthis.$root.$off(this.listenEventScrollToBottom, this.onScrollToBottom);\n\t\t}\n\t\tif (this.listenEventRequestHistory)\n\t\t{\n\t\t\tthis.$root.$off(this.listenEventRequestHistory, this.onRequestHistoryAnswer);\n\t\t}\n\t\tif (this.listenEventRequestUnread)\n\t\t{\n\t\t\tthis.$root.$off(this.listenEventRequestUnread, this.onRequestUnreadAnswer);\n\t\t}\n\n\t\twindow.removeEventListener('focus', this.onWindowFocus);\n\t\twindow.removeEventListener('blur', this.onWindowBlur);\n\t},\n\tmounted()\n\t{\n\t\tlet body = this.$refs.body;\n\t\tlet unreadId = this.dialog.unreadId;\n\n\t\tif (unreadId)\n\t\t{\n\t\t\tUtils.scrollToFirstUnreadMessage(this, this.collection, unreadId, true)\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbody.scrollTop = body.scrollHeight - body.offsetHeight;\n\t\t}\n\n\t\tthis.windowFocused = document.hasFocus();\n\t},\n\tbeforeUpdate()\n\t{\n\t\tlet body = this.$refs.body;\n\n\t\tif (this.scrollBlocked)\n\t\t{\n\t\t\tthis.scrollIsChanged = false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.scrollIsChanged = body.scrollTop + this.scrollButtonDiff >= body.scrollHeight - body.offsetHeight;\n\n\t\t\tif (!this.scrollIsChanged && !this.showScrollButton && this.unreadCounter > 1)\n\t\t\t{\n\t\t\t\tthis.showScrollButton = true;\n\t\t\t}\n\t\t}\n\t},\n\tupdated()\n\t{\n\t\tif (!this.scrollIsChanged)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.$nextTick(() =>\n\t\t{\n\t\t\tlet body = this.$refs.body;\n\n\t\t\tif (this.scrollIsChanged)\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\t!this.windowFocused\n\t\t\t\t\t&& this.unreadCounter > 0\n\t\t\t\t\t&& !this.showScrollButton\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tUtils.scrollToFirstUnreadMessage(this, this.collection, this.firstUnreadMessageId);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.scrollTo(() =>\n\t\t\t\t{\n\t\t\t\t\tclearTimeout(this.scrollButtonShowTimeout);\n\t\t\t\t\tif (this.showScrollButton && this.windowFocused)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.showScrollButton = false;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn BX.Vue.getFilteredPhrases('IM_MESSENGER_DIALOG_', this.$root.$bitrixMessages);\n\t\t},\n\t\tdialog()\n\t\t{\n\t\t\tlet dialog = this.$store.state[MessengerStore.dialogues].collection[this.dialogId];\n\t\t\treturn dialog? dialog: {};\n\t\t},\n\t\tcollection()\n\t\t{\n\t\t\tlet collection = this.$store.state[MessengerStore.messages].collection[this.chatId];\n\t\t\treturn collection? collection: [];\n\t\t},\n\t\telementsWithLimit()\n\t\t{\n\t\t\tlet start = this.collection.length - (this.messageExtraCount + this.messageLimit);\n\t\t\tif (!this.historyLoaderShow || start < 0)\n\t\t\t{\n\t\t\t\tstart = 0;\n\t\t\t}\n\n\t\t\tlet collection = [];\n\t\t\tlet lastAuthorId = 0;\n\t\t\tlet groupNode = {};\n\n\t\t\tlet slicedCollection = start == 0? this.collection: this.collection.slice(start, this.collection.length);\n\n\t\t\tthis.messageShowCount = slicedCollection.length;\n\n\t\t\tif (this.messageShowCount > 0)\n\t\t\t{\n\t\t\t\tthis.firstMessageId = slicedCollection[0].id;\n\t\t\t\tthis.lastMessageId = slicedCollection[slicedCollection.length-1].id;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis.collection.length >= this.messageLimit\n\t\t\t\t&& this.collection.length >= this.messageShowCount\n\t\t\t\t&& this.historyLoaderBlocked === false\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.historyLoaderShow = true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.historyLoaderShow = false;\n\t\t\t}\n\n\t\t\tthis.firstUnreadMessageId = 0;\n\t\t\tlet unreadCountInSlicedCollection = 0;\n\t\t\tslicedCollection.forEach(element =>\n\t\t\t{\n\t\t\t\tlet group = this._groupTitle(element.date);\n\t\t\t\tif (!groupNode[group.id])\n\t\t\t\t{\n\t\t\t\t\tgroupNode[group.id] = true;\n\t\t\t\t\tcollection.push(Blocks.getGroup(group.id, group.title));\n\t\t\t\t}\n\t\t\t\telse if (lastAuthorId != element.authorId)\n\t\t\t\t{\n\t\t\t\t\tcollection.push(Blocks.getDelimiter(element.id));\n\t\t\t\t}\n\n\t\t\t\tcollection.push(element);\n\n\t\t\t\tlastAuthorId = element.authorId;\n\n\t\t\t\tif (element.unread)\n\t\t\t\t{\n\t\t\t\t\tif (!this.firstUnreadMessageId)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.firstUnreadMessageId = element.id;\n\t\t\t\t\t}\n\t\t\t\t\tunreadCountInSlicedCollection++;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\tthis.dialog.unreadLastId > this.lastMessageId\n\t\t\t\t&& this.unreadLoaderBlocked === false\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.unreadLoaderShow = true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.unreadLoaderShow = false;\n\t\t\t}\n\n\t\t\treturn collection;\n\t\t},\n\t\tstatusWriting()\n\t\t{\n\t\t\tif (this.dialog.writingList.length == 0)\n\t\t\t\treturn '';\n\n\t\t\tlet users = this.dialog.writingList.map(element => element.userName);\n\n\t\t\treturn this.localize.IM_MESSENGER_DIALOG_WRITES_MESSAGE.replace(\n\t\t\t\t'#USER#', users.join(', ')\n\t\t\t);\n\t\t},\n\t\tstatusReaded()\n\t\t{\n\t\t\treturn false;\n\t\t},\n\t\tunreadCounter()\n\t\t{\n\t\t\treturn this.dialog.counter > 999? 999: this.dialog.counter;\n\t\t},\n\t},\n\tmethods:\n\t{\n\t\tonDialogClick(event)\n\t\t{\n\t\t\tif (BX.Vue.testNode(event.target, {className: 'bx-im-message-command'}))\n\t\t\t{\n\t\t\t\tthis.onCommandClick(event);\n\t\t\t}\n\n\t\t\tthis.windowFocused = true;\n\t\t\tthis.$emit('click', {event});\n\t\t},\n\t\tonCommandClick(event)\n\t\t{\n\t\t\tlet value = '';\n\n\t\t\tif (\n\t\t\t\tevent.target.dataset.entity === 'send'\n\t\t\t\t|| event.target.dataset.entity === 'put'\n\t\t\t)\n\t\t\t{\n\t\t\t\tvalue = event.target.nextSibling.innerHTML;\n\t\t\t}\n\t\t\telse if (event.target.dataset.entity === 'call')\n\t\t\t{\n\t\t\t\tvalue = event.target.dataset.command;\n\t\t\t}\n\n\t\t\tthis.$emit('clickByCommand', {type: event.target.dataset.entity, value, event});\n\t\t},\n\t\tonScroll(event)\n\t\t{\n\t\t\tthis.scrollPosition = event.target.scrollTop;\n\t\t\tthis.scrollPositionChangeTime = new Date().getTime();\n\n\t\t\tclearTimeout(this.scrollButtonShowTimeout);\n\t\t\tthis.scrollButtonShowTimeout = setTimeout(() =>\n\t\t\t{\n\t\t\t\tif (event.target.scrollTop + this.scrollButtonDiff >= event.target.scrollHeight - event.target.offsetHeight)\n\t\t\t\t{\n\t\t\t\t\tif (this.showScrollButton && !this.unreadLoaderShow && this.windowFocused)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.showScrollButton = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (!this.showScrollButton)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.showScrollButton = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 200);\n\n\t\t\tif (event.target.scrollTop == event.target.scrollHeight - event.target.offsetHeight)\n\t\t\t{\n\t\t\t\tclearTimeout(this.scrollButtonShowTimeout);\n\t\t\t\tif (this.showScrollButton && !this.unreadLoaderShow && this.windowFocused)\n\t\t\t\t{\n\t\t\t\t\tthis.showScrollButton = false;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tscrollToBottom(force = false)\n\t\t{\n\t\t\tlet body = this.$refs.body;\n\n\t\t\tif (this.dialog.counter > 0)\n\t\t\t{\n\t\t\t\tlet scrollToMessageId = this.dialog.counter > 1? this.firstUnreadMessageId: this.lastMessageId;\n\t\t\t\tUtils.scrollToFirstUnreadMessage(this, this.collection, scrollToMessageId);\n\n\t\t\t\tif (this.dialog.counter < this.startMessageLimit)\n\t\t\t\t{\n\t\t\t\t\tthis.messageExtraCount = 0;\n\t\t\t\t\tthis.historyLoaderShow = true;\n\t\t\t\t\tthis.historyLoaderBlocked = false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tthis.showScrollButton = false;\n\n\t\t\tif (force)\n\t\t\t{\n\t\t\t\tbody.scrollTop = body.scrollHeight - body.offsetHeight;\n\t\t\t\tthis.messageExtraCount = 0;\n\t\t\t\tthis.historyLoaderShow = true;\n\t\t\t\tthis.historyLoaderBlocked = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.scrollTo(() => {\n\t\t\t\t\tthis.messageExtraCount = 0;\n\t\t\t\t\tthis.historyLoaderShow = true;\n\t\t\t\t\tthis.historyLoaderBlocked = false;\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tscrollTo(params)\n\t\t{\n\t\t\tlet body = this.$refs.body;\n\n\t\t\tif (typeof params === 'function')\n\t\t\t{\n\t\t\t\tparams = {callback: params};\n\t\t\t}\n\t\t\tif (!body)\n\t\t\t{\n\t\t\t\tif (params.callback && typeof params.callback === 'function')\n\t\t\t\t{\n\t\t\t\t\tparams.callback();\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tlet {\n\t\t\t\tstart = body.scrollTop,\n\t\t\t\tend = body.scrollHeight - body.offsetHeight,\n\t\t\t\tincrement = 20,\n\t\t\t\tcallback,\n\t\t\t\tduration = 300\n\t\t\t} = params;\n\n\t\t\tlet diff = end - start;\n\t\t\tlet currentPosition = 0;\n\n\t\t\tconst easeInOutQuad = function (current, start, diff, duration)\n\t\t\t{\n\t\t\t\tcurrent /= duration/2;\n\n\t\t\t\tif (current < 1)\n\t\t\t\t{\n\t\t\t\t\treturn diff / 2 * current * current + start;\n\t\t\t\t}\n\n\t\t\t\tcurrent--;\n\n\t\t\t\treturn -diff/2 * (current*(current-2) - 1) + start;\n\t\t\t};\n\n\t\t\tconst requestFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function( callback ){ window.setTimeout(callback, 1000 / 60); };\n\n\t\t\tconst animateScroll = () =>\n\t\t\t{\n\t\t\t\tcurrentPosition += increment;\n\n\t\t\t\tthis.$refs.body.scrollTop = easeInOutQuad(currentPosition, start, diff, duration);\n\n\t\t\t\tif (currentPosition < duration)\n\t\t\t\t{\n\t\t\t\t\trequestFrame(animateScroll);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (callback && typeof callback === 'function')\n\t\t\t\t\t{\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tanimateScroll();\n\t\t},\n\t\tonScrollToBottom(event = {})\n\t\t{\n\t\t\tevent.force = event.force === true;\n\n\t\t\tthis.scrollToBottom(event.force);\n\n\t\t\treturn true;\n\t\t},\n\t\tonWindowFocus(event = {})\n\t\t{\n\t\t\tthis.windowFocused = true;\n\n\t\t\tthis.readMessageQueue = this.readMessageQueue.map(messageId => {\n\t\t\t\tthis.requestReadMessage(messageId);\n\t\t\t\treturn false;\n\t\t\t});\n\t\t},\n\t\tonWindowBlur(event = {})\n\t\t{\n\t\t\tthis.windowFocused = false;\n\t\t},\n\t\trequestHistoryDelayed()\n\t\t{\n\t\t\tif (this.requestHistoryInterval)\n\t\t\t{\n\t\t\t\tBX.Messenger.Logger.log('bx-messenger-dialog.methods.requestHistoryDelayed: skipped');\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tthis.scrollPositionChangeTime + 100 < new Date().getTime()\n\t\t\t\t&& this.$refs.body.scrollTop >= 0\n\t\t\t)\n\t\t\t{\n\t\t\t\tclearInterval(this.requestHistoryInterval);\n\t\t\t\tthis.requestHistoryInterval = null;\n\t\t\t\tthis.requestHistory();\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tclearInterval(this.requestHistoryInterval);\n\t\t\tthis.requestHistoryInterval = setInterval(() => {\n\t\t\t\tif (\n\t\t\t\t\tthis.scrollPositionChangeTime + 100 < new Date().getTime()\n\t\t\t\t\t&& this.$refs.body.scrollTop >= 0\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tclearInterval(this.requestHistoryInterval);\n\t\t\t\t\tthis.requestHistoryInterval = null;\n\t\t\t\t\tthis.requestHistory();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}, 50);\n\n\t\t\treturn true;\n\t\t},\n\t\trequestHistory()\n\t\t{\n\t\t\tif (this.waitLoadHistory)\n\t\t\t{\n\t\t\t\tBX.Messenger.Logger.log('bx-messenger-dialog.methods.requestHistory: waitLoadHistory not empty');\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.waitLoadHistory = true;\n\n\t\t\tlet length = this.collection.length;\n\t\t\tlet messageShowCount = this.messageShowCount;\n\t\t\tif (length > messageShowCount)\n\t\t\t{\n\t\t\t\tlet element = this.$refs.body.getElementsByClassName(ReferenceClassName.listItem)[0];\n\n\t\t\t\tthis.messageExtraCount += this.messageLimit;\n\t\t\t\tUtils.scrollToElementAfterLoadHistory(this, element);\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tthis.$emit('requestHistory', {lastId: this.firstMessageId});\n\t\t},\n\t\trequestUnreadDelayed()\n\t\t{\n\t\t\tif (this.requestUnreadInterval)\n\t\t\t{\n\t\t\t\tBX.Messenger.Logger.log('bx-messenger-dialog.methods.requestUnreadDelayed: skipped');\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet body = this.$refs.body;\n\n\t\t\tif (\n\t\t\t\tthis.scrollPositionChangeTime + 100 < new Date().getTime()\n\t\t\t\t&& body.scrollTop <= body.scrollHeight - body.offsetHeight\n\t\t\t)\n\t\t\t{\n\t\t\t\tclearInterval(this.requestUnreadInterval);\n\t\t\t\tthis.requestUnreadInterval = null;\n\t\t\t\tthis.requestUnread();\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tclearInterval(this.requestUnreadInterval);\n\t\t\tthis.requestUnreadInterval = setInterval(() => {\n\t\t\t\tif (\n\t\t\t\t\tthis.scrollPositionChangeTime + 100 < new Date().getTime()\n\t\t\t\t\t&& body.scrollTop <= body.scrollHeight - body.offsetHeight\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tclearInterval(this.requestUnreadInterval);\n\t\t\t\t\tthis.requestUnreadInterval = null;\n\t\t\t\t\tthis.requestUnread();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}, 50);\n\n\t\t\treturn true;\n\t\t},\n\t\tonRequestHistoryAnswer(event = {})\n\t\t{\n\t\t\tif (event.error)\n\t\t\t{\n\t\t\t\tthis.historyLoaderBlocked = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.historyLoaderBlocked = event.count < this.startMessageLimit;\n\t\t\t\tthis.messageExtraCount += event.count;\n\t\t\t}\n\n\t\t\tif (this.historyLoaderBlocked)\n\t\t\t{\n\t\t\t\tthis.historyLoaderShow = false;\n\t\t\t}\n\n\t\t\tlet element = this.$refs.body.getElementsByClassName(ReferenceClassName.listItem)[0];\n\n\t\t\tif (event.count > 0)\n\t\t\t{\n\t\t\t\tUtils.scrollToElementAfterLoadHistory(this, element);\n\t\t\t}\n\t\t\telse if (event.error)\n\t\t\t{\n\t\t\t\telement.scrollIntoView(true);\n\t\t\t\tthis.waitLoadHistory = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.$refs.body.scrollTop = 0;\n\t\t\t\tthis.waitLoadHistory = false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\trequestUnread()\n\t\t{\n\t\t\tif (this.waitLoadUnread)\n\t\t\t{\n\t\t\t\tBX.Messenger.Logger.log('bx-messenger-dialog.methods.requestUnread: waitLoadUnread not empty');\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.waitLoadUnread = true;\n\n\t\t\tthis.$emit('requestUnread', {lastId: this.lastMessageId});\n\t\t},\n\t\tonRequestUnreadAnswer(event = {})\n\t\t{\n\t\t\tif (event.error)\n\t\t\t{\n\t\t\t\tthis.historyLoaderBlocked = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.unreadLoaderBlocked = event.count < this.startMessageLimit;\n\t\t\t\tthis.messageExtraCount += event.count;\n\t\t\t}\n\n\t\t\tif (this.unreadLoaderBlocked)\n\t\t\t{\n\t\t\t\tthis.unreadLoaderShow = false;\n\t\t\t}\n\n\t\t\tif (event.count > 0)\n\t\t\t{\n\t\t\t\tUtils.scrollToElementAfterLoadUnread(this);\n\t\t\t}\n\t\t\telse if (event.error)\n\t\t\t{\n\t\t\t\tlet element = this.$refs.body.getElementsByClassName(ReferenceClassName.listUnreadLoader)[0];\n\t\t\t\tlet body = this.$refs.body;\n\n\t\t\t\tbody.scrollTop = body.scrollTop - element.offsetHeight*2;\n\t\t\t\tthis.waitLoadUnread = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tlet body = this.$refs.body;\n\t\t\t\tbody.scrollTop = body.scrollHeight - body.offsetHeight;\n\t\t\t\tthis.waitLoadUnread = false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\treadMessage(messageId)\n\t\t{\n\t\t\tif (this.windowFocused)\n\t\t\t{\n\t\t\t\tthis.$emit('readMessage', {id: messageId});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.readMessageQueue.push(messageId);\n\t\t\t}\n\t\t},\n\t\trequestReadMessage(messageId)\n\t\t{\n\t\t\tthis.$emit('readMessage', {id: messageId});\n\t\t},\n\n\t\tonClickByUserName(event)\n\t\t{\n\t\t\tthis.$emit('clickByUserName', event)\n\t\t},\n\n\t\tonClickByMessageMenu(event)\n\t\t{\n\t\t\tthis.$emit('clickByMessageMenu', event)\n\t\t},\n\n\t\tonClickByMessageRetry(event)\n\t\t{\n\t\t\tthis.$emit('clickByMessageRetry', event)\n\t\t},\n\n\t\t_getDateFormat()\n\t\t{\n\t\t\tif (this.dateFormatFunction)\n\t\t\t{\n\t\t\t\treturn this.dateFormatFunction;\n\t\t\t}\n\n\t\t\tthis.dateFormatFunction = Object.create(BX.Main.Date);\n\t\t\tif (this.$root.$bitrixMessages)\n\t\t\t{\n\t\t\t\tthis.dateFormatFunction._getMessage = (phrase) => this.$root.$bitrixMessages[phrase];\n\t\t\t}\n\n\t\t\treturn this.dateFormatFunction;\n\t\t},\n\t\t_groupTitle(date)\n\t\t{\n\t\t\tconst id = Utils.getDateFormat(date);\n\t\t\tif (this.cacheGroupTitle[id])\n\t\t\t{\n\t\t\t\treturn {\n\t\t\t\t\tid: id,\n\t\t\t\t\ttitle: this.cacheGroupTitle[id]\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tlet dateFormat = BX.Messenger.Utils.getDateFormatType(\n\t\t\t\tBX.Messenger.Const.dateFormat.groupTitle,\n\t\t\t\tthis.$root.$bitrixMessages\n\t\t\t);\n\n\t\t\tthis.cacheGroupTitle[id] = this._getDateFormat().format(dateFormat, date);\n\n\t\t\treturn {\n\t\t\t\tid: id,\n\t\t\t\ttitle: this.cacheGroupTitle[id]\n\t\t\t};\n\t\t},\n\t},\n\n\tdirectives:\n\t{\n\t\t'bx-messenger-dialog-observer':\n\t\t{\n\t\t\tinserted(element, bindings, vnode)\n\t\t\t{\n\t\t\t\tif (bindings.value == ObserverType.none)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (!vnode.context.observers[bindings.value])\n\t\t\t\t{\n\t\t\t\t\tvnode.context.observers[bindings.value] = Utils.getMessageLoaderObserver({\n\t\t\t\t\t\ttype: bindings.value,\n\t\t\t\t\t\tcontext: vnode.context\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tvnode.context.observers[bindings.value].observe(element);\n\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tunbind(element, bindings, vnode)\n\t\t\t{\n\t\t\t\tif (bindings.value == ObserverType.none)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (vnode.context.observers[bindings.value])\n\t\t\t\t{\n\t\t\t\t\tvnode.context.observers[bindings.value].unobserve(element);\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t},\n\n\ttemplate: `\n\t\t<div class=\"bx-im-dialog\" @click=\"onDialogClick\">\t\n\t\t\t<div class=\"bx-im-dialog-list\" @scroll.passive=\"onScroll\" ref=\"body\">\n\t\t\t\t<template v-if=\"historyLoaderShow\">\n\t\t\t\t\t<div class=\"bx-im-dialog-load-more bx-im-dialog-load-more-history\" v-bx-messenger-dialog-observer=\"ObserverType.history\">\n\t\t\t\t\t\t<span class=\"bx-im-dialog-load-more-text\">{{ localize.IM_MESSENGER_DIALOG_LOAD_MESSAGES }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<transition-group tag=\"div\" class=\"bx-im-dialog-list-box\" name=\"bx-im-dialog-message-animation\" >\n\t\t\t\t\t<template v-for=\"element in elementsWithLimit\">\n\t\t\t\t\t\t<template v-if=\"element.templateType == TemplateType.message\">\n\t\t\t\t\t\t\t<div :class=\"['bx-im-dialog-list-item', ReferenceClassName.listItem, ReferenceClassName.listItem+'-'+element.id]\" :data-message-id=\"element.id\" :key=\"element.templateId\" v-bx-messenger-dialog-observer=\"element.unread? ObserverType.read: ObserverType.none\">\t\t\t\n\t\t\t\t\t\t\t\t<component :is=\"element.params.COMPONENT_ID\"\n\t\t\t\t\t\t\t\t\t:userId=\"userId\" \n\t\t\t\t\t\t\t\t\t:dialogId=\"dialogId\"\n\t\t\t\t\t\t\t\t\t:chatId=\"chatId\"\n\t\t\t\t\t\t\t\t\t:message=\"element\"\n\t\t\t\t\t\t\t\t\t:enableEmotions=\"enableEmotions\"\n\t\t\t\t\t\t\t\t\t:enableDateActions=\"enableDateActions\"\n\t\t\t\t\t\t\t\t\t:enableCreateContent=\"showMessageMenu\"\n\t\t\t\t\t\t\t\t\t:showAvatar=\"showMessageAvatar\"\n\t\t\t\t\t\t\t\t\t:showMenu=\"showMessageMenu\"\n\t\t\t\t\t\t\t\t\t:referenceContentClassName=\"ReferenceClassName.listItem\"\n\t\t\t\t\t\t\t\t\t:referenceContentBodyClassName=\"ReferenceClassName.listItemBody\"\n\t\t\t\t\t\t\t\t\t@clickByUserName=\"onClickByUserName\"\n\t\t\t\t\t\t\t\t\t@clickByMessageMenu=\"onClickByMessageMenu\"\n\t\t\t\t\t\t\t\t\t@clickByMessageRetry=\"onClickByMessageRetry\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else-if=\"element.templateType == TemplateType.group\">\n\t\t\t\t\t\t\t<div class=\"bx-im-dialog-group\" :key=\"element.templateId\">\n\t\t\t\t\t\t\t\t<div class=\"bx-im-dialog-group-date\">{{ element.text }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else-if=\"element.templateType == TemplateType.delimiter\">\n\t\t\t\t\t\t\t<div class=\"bx-im-dialog-delimiter\" :key=\"element.templateId\" ></div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</template>\n\t\t\t\t</transition-group>\n\t\t\t\t<template v-if=\"unreadLoaderShow\">\n\t\t\t\t\t<div :class=\"['bx-im-dialog-load-more', 'bx-im-dialog-load-more-unread', ReferenceClassName.listUnreadLoader]\" v-bx-messenger-dialog-observer=\"ObserverType.unread\">\n\t\t\t\t\t\t<span class=\"bx-im-dialog-load-more-text\">{{ localize.IM_MESSENGER_DIALOG_LOAD_MESSAGES }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<transition name=\"bx-im-dialog-status\">\n\t\t\t\t\t<template v-if=\"statusWriting\">\n\t\t\t\t\t\t<div class=\"bx-im-dialog-status\">\n\t\t\t\t\t\t\t<span class=\"bx-im-dialog-status-writing\"></span>\n\t\t\t\t\t\t\t{{ statusWriting }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-else-if=\"statusReaded\">\n\t\t\t\t\t\t<div class=\"bx-im-dialog-status\">\n\t\t\t\t\t\t\t<span class=\"bx-im-dialog-status-readed\"></span>\n\t\t\t\t\t\t\t{{ statusReaded }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t\t<transition name=\"bx-im-dialog-scroll-button\">\n\t\t\t\t<div v-show=\"showScrollButton || unreadLoaderShow && unreadCounter\" class=\"bx-im-dialog-scroll-button\" @click=\"scrollToBottom()\">\n\t\t\t\t\t<div v-show=\"unreadCounter\" class=\"bx-im-dialog-scroll-button-counter\">\n\t\t\t\t\t\t<div class=\"bx-im-dialog-scroll-button-counter-digit\">{{unreadCounter}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"bx-im-dialog-scroll-button-arrow\"></div>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\t`\n});\n\nconst Utils = {\n\tgetDateFormat(date)\n\t{\n\t\treturn date.toJSON().slice(0,10);\n\t},\n\n\tscrollToFirstUnreadMessage(context, collection, unreadId = null, force = false)\n\t{\n\t\tlet body = context.$refs.body;\n\n\t\tlet element = false;\n\t\tif (unreadId !== null)\n\t\t{\n\t\t\telement = body.getElementsByClassName(ReferenceClassName.listItem+'-'+unreadId)[0];\n\t\t}\n\t\tif (!element)\n\t\t{\n\t\t\tfor (let index = collection.length-1; index >= 0; index--)\n\t\t\t{\n\t\t\t\tif (!collection[index].unread)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tunreadId = collection[index].id;\n\t\t\t}\n\t\t\telement = body.getElementsByClassName(ReferenceClassName.listItem+'-'+unreadId)[0];\n\t\t}\n\n\t\tlet end = 0;\n\t\tif (element)\n\t\t{\n\t\t\tend = element.offsetTop - 20;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tend = body.scrollHeight - body.offsetHeight;\n\t\t}\n\n\t\tif (force)\n\t\t{\n\t\t\tbody.scrollTop = end;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcontext.scrollTo({end});\n\t\t}\n\t},\n\n\tscrollToElementAfterLoadHistory(context, element)\n\t{\n\t\tif (!element)\n\t\t{\n\t\t\tcontext.waitLoadHistory = false;\n\t\t\treturn false;\n\t\t}\n\n\t\tlet elementBody = element.getElementsByClassName(ReferenceClassName.listItemBody)[0];\n\t\tif (elementBody)\n\t\t{\n\t\t\telement = elementBody;\n\t\t}\n\n\t\tlet previousOffsetTop = element.offsetTop;\n\n\t\tcontext.$nextTick(() => {\n\t\t\tif (!element)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tcontext.$refs.body.scrollTop = element.offsetTop - previousOffsetTop;\n\n\t\t\tcontext.waitLoadHistory = false;\n\t\t});\n\t},\n\n\tscrollToElementAfterLoadUnread(context)\n\t{\n\t\tcontext.scrollBlocked = true;\n\t\tcontext.showScrollButton = true;\n\n\t\tcontext.$nextTick(() => {\n\t\t\tcontext.scrollBlocked = false;\n\t\t\tcontext.waitLoadUnread = false;\n\t\t});\n\t},\n\n\tgetMessageLoaderObserver(config)\n\t{\n\t\tif (\n\t\t\ttypeof window.IntersectionObserver === 'undefined'\n\t\t\t|| config.value == ObserverType.none\n\t\t)\n\t\t{\n\t\t\treturn {\n\t\t\t\tobserve: () => {},\n\t\t\t\tunobserve: () => {}\n\t\t\t};\n\t\t}\n\n\t\tlet observerCallback, observerOptions;\n\n\t\tif (config.type == ObserverType.read)\n\t\t{\n\t\t\tobserverCallback = function (entries, observer)\n\t\t\t{\n\t\t\t\tentries.forEach(function(entry)\n\t\t\t\t{\n\t\t\t\t\tlet sendReadEvent = false;\n\t\t\t\t\tif (entry.isIntersecting)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (entry.intersectionRatio >= 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsendReadEvent = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (\n\t\t\t\t\t\t\tentry.intersectionRatio > 0\n\t\t\t\t\t\t\t&& entry.rootBounds.height < entry.boundingClientRect.height + 20\n\t\t\t\t\t\t\t&& entry.intersectionRect.height > entry.rootBounds.height - 20\n\t\t\t\t\t\t)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsendReadEvent = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (sendReadEvent)\n\t\t\t\t\t{\n\t\t\t\t\t\tconfig.context.readMessage(entry.target.dataset.messageId);\n\t\t\t\t\t\tconfig.context.observers[config.type].unobserve(entry.target);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t\tobserverOptions = {\n\t\t\t\troot: config.context.$refs.body,\n\t\t\t\tthreshold: new Array(101).fill(0).map((zero, index) => index * 0.01)\n\t\t\t};\n\t\t}\n\t\telse\n\t\t{\n\t\t\tobserverCallback = function (entries, observer)\n\t\t\t{\n\t\t\t\tentries.forEach(function(entry)\n\t\t\t\t{\n\t\t\t\t\tif (entry.isIntersecting && entry.intersectionRatio > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (config.type == ObserverType.unread)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfig.context.requestUnreadDelayed();\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconfig.context.requestHistoryDelayed();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t\tobserverOptions = {\n\t\t\t\troot: config.context.$refs.body,\n\t\t\t\tthreshold: [0, 0.01, 0.99, 1]\n\t\t\t};\n\t\t}\n\n\t\treturn new IntersectionObserver(observerCallback, observerOptions);\n\t}\n};\n\nconst Blocks = {\n\tgetDelimiter(id = 0)\n\t{\n\t\treturn {\n\t\t\ttemplateId: 'delimiter'+id,\n\t\t\ttemplateType: TemplateType.delimiter\n\t\t};\n\t},\n\tgetGroup(id = 0, text = '')\n\t{\n\t\treturn {\n\t\t\ttemplateId: 'group'+id,\n\t\t\ttemplateType: TemplateType.group,\n\t\t\ttext: text\n\t\t};\n\t},\n\tgetHistoryLoader()\n\t{\n\t\treturn {\n\t\t\ttemplateId: 'historyLoader',\n\t\t\ttemplateType: TemplateType.historyLoader,\n\t\t};\n\t},\n\tgetUnreadLoader()\n\t{\n\t\treturn {\n\t\t\ttemplateId: 'unreadLoader',\n\t\t\ttemplateType: TemplateType.unreadLoader,\n\t\t};\n\t},\n\tgetLoadButton(id = 0, text = '', type = LoadButtonTypes.before)\n\t{\n\t\treturn {\n\t\t\ttemplateId: 'loadButton'+id+type,\n\t\t\ttemplateType: TemplateType.button,\n\t\t\ttext: text,\n\t\t\ttype: type,\n\t\t\tmessageId: id\n\t\t};\n\t}\n};\n"],"names":["TemplateType","Object","freeze","message","delimiter","group","historyLoader","unreadLoader","button","ObserverType","history","unread","read","none","MessengerStore","messages","BX","Messenger","Model","Messages","getName","dialogues","Dialogues","LoadButtonTypes","before","after","ReferenceClassName","listItem","listItemBody","listUnreadLoader","Vue","component","props","userId","default","dialogId","chatId","listenEventScrollToBottom","listenEventRequestHistory","listenEventRequestUnread","messageLimit","enableEmotions","enableDateActions","enableCreateContent","showMessageAvatar","showMessageMenu","data","showScrollButton","messageShowCount","messageExtraCount","unreadLoaderShow","unreadLoaderBlocked","historyLoaderBlocked","historyLoaderShow","startMessageLimit","created","scrollIsChanged","scrollBlocked","scrollButtonDiff","scrollButtonShowTimeout","scrollPosition","scrollPositionChangeTime","Date","getTime","observers","requestHistoryInterval","requestUnreadInterval","lastAuthorId","firstMessageId","firstUnreadMessageId","lastMessageId","dateFormatFunction","cacheGroupTitle","waitLoadHistory","waitLoadUnread","readMessageQueue","dialog","counter","event","$on","onScrollToBottom","$root","onRequestHistoryAnswer","onRequestUnreadAnswer","window","addEventListener","onWindowFocus","onWindowBlur","beforeDestroy","clearTimeout","clearInterval","$off","removeEventListener","mounted","body","$refs","unreadId","Utils","scrollToFirstUnreadMessage","collection","scrollTop","scrollHeight","offsetHeight","windowFocused","document","hasFocus","beforeUpdate","unreadCounter","updated","$nextTick","scrollTo","computed","localize","getFilteredPhrases","$bitrixMessages","$store","state","elementsWithLimit","start","length","groupNode","slicedCollection","slice","id","forEach","element","_groupTitle","date","push","Blocks","getGroup","title","authorId","getDelimiter","unreadLastId","statusWriting","writingList","users","map","userName","IM_MESSENGER_DIALOG_WRITES_MESSAGE","replace","join","statusReaded","methods","onDialogClick","testNode","target","className","onCommandClick","$emit","value","dataset","entity","nextSibling","innerHTML","command","type","onScroll","setTimeout","scrollToBottom","force","scrollToMessageId","params","callback","end","increment","duration","diff","currentPosition","easeInOutQuad","current","requestFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","animateScroll","messageId","requestReadMessage","requestHistoryDelayed","Logger","log","requestHistory","setInterval","getElementsByClassName","scrollToElementAfterLoadHistory","lastId","requestUnreadDelayed","requestUnread","error","count","scrollIntoView","scrollToElementAfterLoadUnread","readMessage","onClickByUserName","onClickByMessageMenu","onClickByMessageRetry","_getDateFormat","create","Main","_getMessage","phrase","getDateFormat","dateFormat","getDateFormatType","Const","groupTitle","format","directives","inserted","bindings","vnode","context","getMessageLoaderObserver","observe","unbind","unobserve","template","toJSON","index","offsetTop","elementBody","previousOffsetTop","config","IntersectionObserver","observerCallback","observerOptions","entries","observer","entry","sendReadEvent","isIntersecting","intersectionRatio","rootBounds","height","boundingClientRect","intersectionRect","root","threshold","Array","fill","zero","templateId","templateType","text","getHistoryLoader","getUnreadLoader","getLoadButton"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.8 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка