Файловый менеджер - Редактировать - /var/www/axolotl/data/www/axolotls.ru/www/bitrix/js/messenger/component/dialog/messenger.component.dialog.bundle.min.js
Назад
(function(t){"use strict";var e=Object.freeze({message:"message",delimiter:"delimiter",group:"group",historyLoader:"historyLoader",unreadLoader:"unreadLoader",button:"button"});var s=Object.freeze({history:"history",unread:"unread",read:"read",none:"none"});var o=Object.freeze({messages:BX.Messenger.Model.Messages.getName(),dialogues:BX.Messenger.Model.Dialogues.getName()});var i=Object.freeze({before:"before",after:"after"});var r=Object.freeze({listItem:"bx-im-dialog-list-item-reference",listItemBody:"bx-im-dialog-list-item-content-reference",listUnreadLoader:"bx-im-dialog-list-unread-loader-reference"});BX.Vue.component("bx-messenger-dialog",{props:{userId:{default:0},dialogId:{default:0},chatId:{default:0},listenEventScrollToBottom:{default:""},listenEventRequestHistory:{default:""},listenEventRequestUnread:{default:""},messageLimit:{default:20},enableEmotions:{default:true},enableDateActions:{default:true},enableCreateContent:{default:true},showMessageAvatar:{default:true},showMessageMenu:{default:true}},data:function t(){return{showScrollButton:false,messageShowCount:0,messageExtraCount:0,unreadLoaderShow:false,unreadLoaderBlocked:false,historyLoaderBlocked:false,historyLoaderShow:false,startMessageLimit:0,TemplateType:e,ObserverType:s,ReferenceClassName:r}},created:function t(){this.scrollIsChanged=false;this.scrollBlocked=false;this.scrollButtonDiff=30;this.scrollButtonShowTimeout=null;this.scrollPosition=0;this.scrollPositionChangeTime=(new Date).getTime();this.observers={};this.requestHistoryInterval=null;this.requestUnreadInterval=null;this.lastAuthorId=0;this.firstMessageId=null;this.firstUnreadMessageId=null;this.lastMessageId=null;this.dateFormatFunction=null;this.cacheGroupTitle={};this.waitLoadHistory=false;this.waitLoadUnread=false;this.readMessageQueue=[];this.unreadLoaderBlocked=this.dialog.counter===0;this.startMessageLimit=this.messageLimit;if(this.listenEventScrollToBottom){BX.Vue.event.$on(this.listenEventScrollToBottom,this.onScrollToBottom);this.$root.$on(this.listenEventScrollToBottom,this.onScrollToBottom)}if(this.listenEventRequestHistory){this.$root.$on(this.listenEventRequestHistory,this.onRequestHistoryAnswer)}if(this.listenEventRequestUnread){this.$root.$on(this.listenEventRequestUnread,this.onRequestUnreadAnswer)}window.addEventListener("focus",this.onWindowFocus);window.addEventListener("blur",this.onWindowBlur)},beforeDestroy:function t(){this.observers={};clearTimeout(this.scrollButtonShowTimeout);clearInterval(this.requestHistoryInterval);clearInterval(this.requestUnreadInterval);if(this.listenEventScrollToBottom){BX.Vue.event.$off(this.listenEventScrollToBottom,this.onScrollToBottom);this.$root.$off(this.listenEventScrollToBottom,this.onScrollToBottom)}if(this.listenEventRequestHistory){this.$root.$off(this.listenEventRequestHistory,this.onRequestHistoryAnswer)}if(this.listenEventRequestUnread){this.$root.$off(this.listenEventRequestUnread,this.onRequestUnreadAnswer)}window.removeEventListener("focus",this.onWindowFocus);window.removeEventListener("blur",this.onWindowBlur)},mounted:function t(){var e=this.$refs.body;var s=this.dialog.unreadId;if(s){n.scrollToFirstUnreadMessage(this,this.collection,s,true)}else{e.scrollTop=e.scrollHeight-e.offsetHeight}this.windowFocused=document.hasFocus()},beforeUpdate:function t(){var e=this.$refs.body;if(this.scrollBlocked){this.scrollIsChanged=false}else{this.scrollIsChanged=e.scrollTop+this.scrollButtonDiff>=e.scrollHeight-e.offsetHeight;if(!this.scrollIsChanged&&!this.showScrollButton&&this.unreadCounter>1){this.showScrollButton=true}}},updated:function t(){var e=this;if(!this.scrollIsChanged){return}this.$nextTick(function(){var t=e.$refs.body;if(e.scrollIsChanged){if(!e.windowFocused&&e.unreadCounter>0&&!e.showScrollButton){n.scrollToFirstUnreadMessage(e,e.collection,e.firstUnreadMessageId);return}e.scrollTo(function(){clearTimeout(e.scrollButtonShowTimeout);if(e.showScrollButton&&e.windowFocused){e.showScrollButton=false}})}})},computed:{localize:function t(){return BX.Vue.getFilteredPhrases("IM_MESSENGER_DIALOG_",this.$root.$bitrixMessages)},dialog:function t(){var t=this.$store.state[o.dialogues].collection[this.dialogId];return t?t:{}},collection:function t(){var t=this.$store.state[o.messages].collection[this.chatId];return t?t:[]},elementsWithLimit:function t(){var e=this;var s=this.collection.length-(this.messageExtraCount+this.messageLimit);if(!this.historyLoaderShow||s<0){s=0}var o=[];var i=0;var r={};var n=s==0?this.collection:this.collection.slice(s,this.collection.length);this.messageShowCount=n.length;if(this.messageShowCount>0){this.firstMessageId=n[0].id;this.lastMessageId=n[n.length-1].id}if(this.collection.length>=this.messageLimit&&this.collection.length>=this.messageShowCount&&this.historyLoaderBlocked===false){this.historyLoaderShow=true}else{this.historyLoaderShow=false}this.firstUnreadMessageId=0;n.forEach(function(t){var s=e._groupTitle(t.date);if(!r[s.id]){r[s.id]=true;o.push(a.getGroup(s.id,s.title))}else if(i!=t.authorId){o.push(a.getDelimiter(t.id))}o.push(t);i=t.authorId;if(t.unread){if(!e.firstUnreadMessageId){e.firstUnreadMessageId=t.id}}});if(this.dialog.unreadLastId>this.lastMessageId&&this.unreadLoaderBlocked===false){this.unreadLoaderShow=true}else{this.unreadLoaderShow=false}return o},statusWriting:function t(){if(this.dialog.writingList.length==0)return"";var e=this.dialog.writingList.map(function(t){return t.userName});return this.localize.IM_MESSENGER_DIALOG_WRITES_MESSAGE.replace("#USER#",e.join(", "))},statusReaded:function t(){return false},unreadCounter:function t(){return this.dialog.counter>999?999:this.dialog.counter}},methods:{onDialogClick:function t(e){if(BX.Vue.testNode(e.target,{className:"bx-im-message-command"})){this.onCommandClick(e)}this.windowFocused=true;this.$emit("click",{event:e})},onCommandClick:function t(e){var s="";if(e.target.dataset.entity==="send"||e.target.dataset.entity==="put"){s=e.target.nextSibling.innerHTML}else if(e.target.dataset.entity==="call"){s=e.target.dataset.command}this.$emit("clickByCommand",{type:e.target.dataset.entity,value:s,event:e})},onScroll:function t(e){var s=this;this.scrollPosition=e.target.scrollTop;this.scrollPositionChangeTime=(new Date).getTime();clearTimeout(this.scrollButtonShowTimeout);this.scrollButtonShowTimeout=setTimeout(function(){if(e.target.scrollTop+s.scrollButtonDiff>=e.target.scrollHeight-e.target.offsetHeight){if(s.showScrollButton&&!s.unreadLoaderShow&&s.windowFocused){s.showScrollButton=false}}else{if(!s.showScrollButton){s.showScrollButton=true}}},200);if(e.target.scrollTop==e.target.scrollHeight-e.target.offsetHeight){clearTimeout(this.scrollButtonShowTimeout);if(this.showScrollButton&&!this.unreadLoaderShow&&this.windowFocused){this.showScrollButton=false}}},scrollToBottom:function t(){var e=this;var s=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var o=this.$refs.body;if(this.dialog.counter>0){var i=this.dialog.counter>1?this.firstUnreadMessageId:this.lastMessageId;n.scrollToFirstUnreadMessage(this,this.collection,i);if(this.dialog.counter<this.startMessageLimit){this.messageExtraCount=0;this.historyLoaderShow=true;this.historyLoaderBlocked=false}return true}this.showScrollButton=false;if(s){o.scrollTop=o.scrollHeight-o.offsetHeight;this.messageExtraCount=0;this.historyLoaderShow=true;this.historyLoaderBlocked=false}else{this.scrollTo(function(){e.messageExtraCount=0;e.historyLoaderShow=true;e.historyLoaderBlocked=false})}},scrollTo:function t(e){var s=this;var o=this.$refs.body;if(typeof e==="function"){e={callback:e}}if(!o){if(e.callback&&typeof e.callback==="function"){e.callback()}return true}var i=e,r=i.start,n=r===void 0?o.scrollTop:r,a=i.end,l=a===void 0?o.scrollHeight-o.offsetHeight:a,d=i.increment,u=d===void 0?20:d,c=i.callback,h=i.duration,f=h===void 0?300:h;var g=l-n;var m=0;var v=function t(e,s,o,i){e/=i/2;if(e<1){return o/2*e*e+s}e--;return-o/2*(e*(e-2)-1)+s};var y=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)};var p=function t(){m+=u;s.$refs.body.scrollTop=v(m,n,g,f);if(m<f){y(t)}else{if(c&&typeof c==="function"){c()}}};p()},onScrollToBottom:function t(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};e.force=e.force===true;this.scrollToBottom(e.force);return true},onWindowFocus:function t(){var e=this;this.windowFocused=true;this.readMessageQueue=this.readMessageQueue.map(function(t){e.requestReadMessage(t);return false})},onWindowBlur:function t(){this.windowFocused=false},requestHistoryDelayed:function t(){var e=this;if(this.requestHistoryInterval){BX.Messenger.Logger.log("bx-messenger-dialog.methods.requestHistoryDelayed: skipped");return false}if(this.scrollPositionChangeTime+100<(new Date).getTime()&&this.$refs.body.scrollTop>=0){clearInterval(this.requestHistoryInterval);this.requestHistoryInterval=null;this.requestHistory();return true}clearInterval(this.requestHistoryInterval);this.requestHistoryInterval=setInterval(function(){if(e.scrollPositionChangeTime+100<(new Date).getTime()&&e.$refs.body.scrollTop>=0){clearInterval(e.requestHistoryInterval);e.requestHistoryInterval=null;e.requestHistory();return true}},50);return true},requestHistory:function t(){if(this.waitLoadHistory){BX.Messenger.Logger.log("bx-messenger-dialog.methods.requestHistory: waitLoadHistory not empty");return false}this.waitLoadHistory=true;var e=this.collection.length;var s=this.messageShowCount;if(e>s){var o=this.$refs.body.getElementsByClassName(r.listItem)[0];this.messageExtraCount+=this.messageLimit;n.scrollToElementAfterLoadHistory(this,o);return true}this.$emit("requestHistory",{lastId:this.firstMessageId})},requestUnreadDelayed:function t(){var e=this;if(this.requestUnreadInterval){BX.Messenger.Logger.log("bx-messenger-dialog.methods.requestUnreadDelayed: skipped");return false}var s=this.$refs.body;if(this.scrollPositionChangeTime+100<(new Date).getTime()&&s.scrollTop<=s.scrollHeight-s.offsetHeight){clearInterval(this.requestUnreadInterval);this.requestUnreadInterval=null;this.requestUnread();return true}clearInterval(this.requestUnreadInterval);this.requestUnreadInterval=setInterval(function(){if(e.scrollPositionChangeTime+100<(new Date).getTime()&&s.scrollTop<=s.scrollHeight-s.offsetHeight){clearInterval(e.requestUnreadInterval);e.requestUnreadInterval=null;e.requestUnread();return true}},50);return true},onRequestHistoryAnswer:function t(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(e.error){this.historyLoaderBlocked=false}else{this.historyLoaderBlocked=e.count<this.startMessageLimit;this.messageExtraCount+=e.count}if(this.historyLoaderBlocked){this.historyLoaderShow=false}var s=this.$refs.body.getElementsByClassName(r.listItem)[0];if(e.count>0){n.scrollToElementAfterLoadHistory(this,s)}else if(e.error){s.scrollIntoView(true);this.waitLoadHistory=false}else{this.$refs.body.scrollTop=0;this.waitLoadHistory=false}return true},requestUnread:function t(){if(this.waitLoadUnread){BX.Messenger.Logger.log("bx-messenger-dialog.methods.requestUnread: waitLoadUnread not empty");return false}this.waitLoadUnread=true;this.$emit("requestUnread",{lastId:this.lastMessageId})},onRequestUnreadAnswer:function t(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(e.error){this.historyLoaderBlocked=false}else{this.unreadLoaderBlocked=e.count<this.startMessageLimit;this.messageExtraCount+=e.count}if(this.unreadLoaderBlocked){this.unreadLoaderShow=false}if(e.count>0){n.scrollToElementAfterLoadUnread(this)}else if(e.error){var s=this.$refs.body.getElementsByClassName(r.listUnreadLoader)[0];var o=this.$refs.body;o.scrollTop=o.scrollTop-s.offsetHeight*2;this.waitLoadUnread=false}else{var i=this.$refs.body;i.scrollTop=i.scrollHeight-i.offsetHeight;this.waitLoadUnread=false}return true},readMessage:function t(e){if(this.windowFocused){this.$emit("readMessage",{id:e})}else{this.readMessageQueue.push(e)}},requestReadMessage:function t(e){this.$emit("readMessage",{id:e})},onClickByUserName:function t(e){this.$emit("clickByUserName",e)},onClickByMessageMenu:function t(e){this.$emit("clickByMessageMenu",e)},onClickByMessageRetry:function t(e){this.$emit("clickByMessageRetry",e)},_getDateFormat:function t(){var e=this;if(this.dateFormatFunction){return this.dateFormatFunction}this.dateFormatFunction=Object.create(BX.Main.Date);if(this.$root.$bitrixMessages){this.dateFormatFunction._getMessage=function(t){return e.$root.$bitrixMessages[t]}}return this.dateFormatFunction},_groupTitle:function t(e){var s=n.getDateFormat(e);if(this.cacheGroupTitle[s]){return{id:s,title:this.cacheGroupTitle[s]}}var o=BX.Messenger.Utils.getDateFormatType(BX.Messenger.Const.dateFormat.groupTitle,this.$root.$bitrixMessages);this.cacheGroupTitle[s]=this._getDateFormat().format(o,e);return{id:s,title:this.cacheGroupTitle[s]}}},directives:{"bx-messenger-dialog-observer":{inserted:function t(e,o,i){if(o.value==s.none){return false}if(!i.context.observers[o.value]){i.context.observers[o.value]=n.getMessageLoaderObserver({type:o.value,context:i.context})}i.context.observers[o.value].observe(e);return true},unbind:function t(e,o,i){if(o.value==s.none){return true}if(i.context.observers[o.value]){i.context.observers[o.value].unobserve(e)}return true}}},template:'\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'});var n={getDateFormat:function t(e){return e.toJSON().slice(0,10)},scrollToFirstUnreadMessage:function t(e,s){var o=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var n=e.$refs.body;var a=false;if(o!==null){a=n.getElementsByClassName(r.listItem+"-"+o)[0]}if(!a){for(var l=s.length-1;l>=0;l--){if(!s[l].unread){break}o=s[l].id}a=n.getElementsByClassName(r.listItem+"-"+o)[0]}var d=0;if(a){d=a.offsetTop-20}else{d=n.scrollHeight-n.offsetHeight}if(i){n.scrollTop=d}else{e.scrollTo({end:d})}},scrollToElementAfterLoadHistory:function t(e,s){if(!s){e.waitLoadHistory=false;return false}var o=s.getElementsByClassName(r.listItemBody)[0];if(o){s=o}var i=s.offsetTop;e.$nextTick(function(){if(!s){return false}e.$refs.body.scrollTop=s.offsetTop-i;e.waitLoadHistory=false})},scrollToElementAfterLoadUnread:function t(e){e.scrollBlocked=true;e.showScrollButton=true;e.$nextTick(function(){e.scrollBlocked=false;e.waitLoadUnread=false})},getMessageLoaderObserver:function t(e){if(typeof window.IntersectionObserver==="undefined"||e.value==s.none){return{observe:function t(){},unobserve:function t(){}}}var o,i;if(e.type==s.read){o=function t(s,o){s.forEach(function(t){var s=false;if(t.isIntersecting){if(t.intersectionRatio>=1){s=true}else if(t.intersectionRatio>0&&t.rootBounds.height<t.boundingClientRect.height+20&&t.intersectionRect.height>t.rootBounds.height-20){s=true}}if(s){e.context.readMessage(t.target.dataset.messageId);e.context.observers[e.type].unobserve(t.target)}})};i={root:e.context.$refs.body,threshold:new Array(101).fill(0).map(function(t,e){return e*.01})}}else{o=function t(o,i){o.forEach(function(t){if(t.isIntersecting&&t.intersectionRatio>0){if(e.type==s.unread){e.context.requestUnreadDelayed()}else{e.context.requestHistoryDelayed()}}})};i={root:e.context.$refs.body,threshold:[0,.01,.99,1]}}return new IntersectionObserver(o,i)}};var a={getDelimiter:function t(){var s=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;return{templateId:"delimiter"+s,templateType:e.delimiter}},getGroup:function t(){var s=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var o=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";return{templateId:"group"+s,templateType:e.group,text:o}},getHistoryLoader:function t(){return{templateId:"historyLoader",templateType:e.historyLoader}},getUnreadLoader:function t(){return{templateId:"unreadLoader",templateType:e.unreadLoader}},getLoadButton:function t(){var s=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var o=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:i.before;return{templateId:"loadButton"+s+r,templateType:e.button,text:o,type:r,messageId:s}}}})(this.window=this.window||{}); //# sourceMappingURL=messenger.component.dialog.bundle.map.js
| ver. 1.4 |
Github
|
.
| PHP 7.4.8 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка