Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/cvetdv.ru/bitrix/js/im/component/recent/dist/ |
Upload File : |
this.BX=this.BX||{};(function(t,e,i,n,r,s,a){"use strict";var o=s.BitrixVue.localComponent("bx-im-component-recent-item",{props:["itemData"],methods:{onClick:function t(e){this.$emit("click",{id:this.item.id,$event:e})},onRightClick:function t(e){this.$emit("rightClick",{id:this.item.id,$event:e})},formatDate:function t(e){var i=[this.localize["IM_RECENT_WEEKDAY_0"],this.localize["IM_RECENT_WEEKDAY_1"],this.localize["IM_RECENT_WEEKDAY_2"],this.localize["IM_RECENT_WEEKDAY_3"],this.localize["IM_RECENT_WEEKDAY_4"],this.localize["IM_RECENT_WEEKDAY_5"],this.localize["IM_RECENT_WEEKDAY_6"]];e=e?new Date(e):new Date;var r=new Date;var s=e.getDay()-(e.getDay()===0?-6:1);var a=r.getDay()-(r.getDay()===0?-6:1);var o=r.getDate()-a;var l=new Date(new Date((new Date).setDate(o)).setHours(0,0,0)).getTime();if(e.getFullYear()===r.getFullYear()&&e.getMonth()===r.getMonth()&&e.getDate()===r.getDate()){return n.Utils.date.format(e,"H:i")}else if(e.getTime()>l){return i[s]}else if(e.getFullYear()===r.getFullYear()){return n.Utils.date.format(e,"d.m")}else{return n.Utils.date.format(e,"d.m.Y")}},getTypingUsers:function t(){if(this.isChat&&this.dialogData&&this.isSomeoneTyping){return this.dialogData.writingList}if(this.isUser&&this.isSomeoneTyping){var e=this.getUserDialog(this.rawItem.userId);return e.writingList}return false},getUserDialog:function t(e){return this.$root.$store.getters["dialogues/get"](e)}},computed:{ItemTypes:function t(){return r.TemplateTypes},rawItem:function t(){return this.itemData},item:function t(){return{id:this.rawItem.id,template:this.rawItem.template,type:this.rawItem.chatType,sectionCode:this.rawItem.sectionCode,title:{leftIcon:this.titleLeftIcon,value:this.titleValue,rightIcon:this.titleRightIcon},subtitle:{leftIcon:this.subtitleLeftIcon,value:this.subtitleValue},avatar:{url:this.avatarUrl,bottomRightIcon:this.avatarBottomRightIcon},message:this.rawItem.message,date:{leftIcon:this.dateLeftIcon,value:this.formatDate(this.rawItem.message?this.rawItem.message.date:0)},counter:{value:this.rawItem.counter,leftIcon:this.counterLeftIcon},notification:false}},listItemStyle:function t(){if(this.rawItem.sectionCode===r.RecentSection.pinned){return{backgroundColor:"#f7f7f7"}}return{}},imageStyle:function t(){var e="";if(!this.item.avatar.url){e=this.imageColor}return{backgroundColor:e}},imageColor:function t(){if(this.isUser&&this.userData){return this.userData.color}if(this.isChat&&this.dialogData){return this.dialogData.color}if(this.isNotificationChat){return this.rawItem.color}},imageClass:function t(){var e="bx-im-recent-item-image ";if(this.isGeneralChat){e+="bx-im-recent-item-image-general"}return e},avatarText:function t(){var e=this.item.title.value.replace(/[\.\,\'\"]/g,"");var i=e.split(" ");if(i.length>1){return i[0].charAt(0)+i[1].charAt(0)}else if(i.length===1){return i[0].charAt(0)}},avatarUrl:function t(){if(this.isGeneralChat){return"/bitrix/js/im/images/blank.gif"}if(this.isUser&&this.userData){return this.userData.avatar}if(this.isChat&&this.dialogData){return this.dialogData.avatar}},avatarBottomRightIcon:function t(){if(this.isUser&&!this.isBot){if(this.isSomeoneTyping){return"typing"}else if(this.userData){if(this.userData.isMobileOnline){return"mobile-online"}else if(this.userData.isOnline){return this.userData.status}else{return"offline"}}}return"none"},titleLeftIcon:function t(){if(this.isUser){if(this.isBot){return"bot"}else if(this.isExtranet){return"extranet"}else if(this.isNetwork){return"network"}else if(this.userData){if(this.userData.isAbsent){return"absent"}else if(this.userData.isBirthday){return"birthday"}}return""}if(this.isChat){return this.rawItem.chatType}},titleValue:function t(){if(this.isUser&&this.userData){return this.userData.name}if(this.isChat&&this.dialogData){return this.dialogData.name}if(this.isNotificationChat){return this.rawItem.title}return this.rawItem.title},titleRightIcon:function t(){return this.isChatMuted?"muted":""},subtitleLeftIcon:function t(){if(this.isLastMessageAuthor){return"author"}return""},subtitleValue:function t(){if(this.isSomeoneTyping&&this.isUser){return this.localize["IM_RECENT_USER_TYPING"]}else if(this.isSomeoneTyping&&this.isChat){var e=this.getTypingUsers();if(e.length===1){var i=e[0].userName.split(" ");return"".concat(i[0]," ").concat(this.localize["IM_RECENT_USER_TYPING"])}else if(e.length>1){return"".concat(this.localize["IM_RECENT_USERS_TYPING"])}}if(!this.rawItem.message||!this.rawItem.message.text){return this.userData.workPosition}return this.rawItem.message.text},dateLeftIcon:function t(){if(!this.isLastMessageAuthor||this.isBot||this.isNotificationChat){return""}if(!this.rawItem.message){return""}if(this.rawItem.message.status===r.MessageStatus.error){return"error"}var e=this.rawItem.message.status===r.MessageStatus.delivered;if(e){return"read"}return"unread"},counterLeftIcon:function t(){return this.rawItem.pinned?"pinned":""},counterClasses:function t(){var e=["bx-im-recent-item-bottom-counter-value"];if(this.isChatMuted){e.push("bx-im-recent-item-bottom-counter-value-muted")}return e},formattedCounter:function t(){return this.item.counter.value>99?"99+":this.item.counter.value},userData:function t(){return this.$root.$store.getters["users/get"](this.rawItem.userId,true)},dialogData:function t(){return this.$root.$store.getters["dialogues/getByChatId"](this.rawItem.chatId)},currentUserId:function t(){return this.$root.$store.state.application.common.userId},isChat:function t(){return[r.ChatTypes.chat,r.ChatTypes.open].includes(this.rawItem.chatType)},isUser:function t(){return this.rawItem.chatType===r.ChatTypes.user},isExtranet:function t(){if(this.isUser&&this.userData){return this.userData.extranet}return false},isNetwork:function t(){if(this.isUser&&this.userData){return this.userData.network}return false},isBot:function t(){if(this.isUser&&this.userData){return this.userData.bot}return false},isNotificationChat:function t(){return this.rawItem.id==="notify"},isGeneralChat:function t(){return this.rawItem.id==="chat1"},isSomeoneTyping:function t(){if(this.isUser){var e=this.getUserDialog(this.rawItem.userId);if(!e){return false}return Object.keys(e.writingList).length>0}else if(this.isChat&&this.dialogData){return Object.keys(this.dialogData.writingList).length>0}return false},isLastMessageAuthor:function t(){if(!this.rawItem.message){return false}return this.currentUserId===this.rawItem.message.senderId},isChatMuted:function t(){var e=this;if(this.isChat&&this.dialogData){var i=this.dialogData.muteList.find((function(t){return t===e.currentUserId}));return!!i}return false},localize:function t(){return s.BitrixVue.getFilteredPhrases("IM_RECENT_",this)}},template:'\n\t\t<div class="bx-im-recent-item" :style="listItemStyle" @click="onClick" @click.right="onRightClick">\n\t\t\t<template v-if="item.template !== ItemTypes.placeholder">\n\t\t\t\t<div v-if="item.avatar" class="bx-im-recent-item-image-wrap">\n\t\t\t\t\t<img v-if="item.avatar.url" :src="item.avatar.url" :style="imageStyle" :class="imageClass" alt="">\n\t\t\t\t\t<div v-else-if="!item.avatar.url" :style="imageStyle" class="bx-im-recent-item-image-text">{{ avatarText }}</div>\t\n\t\t\t\t\t<div v-if="item.avatar.topLeftIcon" :class="\'bx-im-recent-icon-avatar-top-left bx-im-recent-avatar-top-left-\' + item.avatar.topLeftIcon"></div>\n\t\t\t\t\t<div v-if="item.avatar.bottomRightIcon" :class="\'bx-im-recent-icon-avatar-bottom-right bx-im-recent-avatar-bottom-right-\' + item.avatar.bottomRightIcon"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class="bx-im-recent-item-content">\n\t\t\t\t\t<div class="bx-im-recent-item-content-header">\n\t\t\t\t\t\t<div v-if="item.title" class="bx-im-recent-item-header-title">\n\t\t\t\t\t\t\t<div v-if="item.title.leftIcon" :class="\'bx-im-recent-icon-title-left bx-im-recent-icon-title-left-\' + item.title.leftIcon"></div>\n\t\t\t\t\t\t\t<span class="bx-im-recent-item-header-title-text">{{ item.title.value }}</span>\n\t\t\t\t\t\t\t<div v-if="item.title.rightIcon" :class="\'bx-im-recent-icon-title-right bx-im-recent-icon-title-right-\' + item.title.rightIcon"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if="item.date" class="bx-im-recent-item-header-date">\n\t\t\t\t\t\t\t<div v-if="item.date.leftIcon" :class="\'bx-im-recent-icon-date-left bx-im-recent-icon-date-left-\' + item.date.leftIcon"></div>\n\t\t\t\t\t\t\t{{ item.date.value }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="bx-im-recent-item-content-bottom">\n\t\t\t\t\t\t<div v-if="item.subtitle" class="bx-im-recent-item-bottom-subtitle">\n\t\t\t\t\t\t\t<div v-if="item.subtitle.leftIcon" :class="\'bx-im-recent-icon-subtitle-left bx-im-recent-icon-subtitle-left-\' + item.subtitle.leftIcon"></div>\n\t\t\t\t\t\t\t<span class="bx-im-recent-item-bottom-subtitle-text">{{ item.subtitle.value }}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="bx-im-recent-item-bottom-counter">\n\t\t\t\t\t\t\t<div v-if="item.counter.leftIcon" :class="\'bx-im-recent-icon-counter-left bx-im-recent-icon-counter-left-\' + item.counter.leftIcon"></div>\n\t\t\t\t\t\t\t<div v-if="item.counter.value > 0" :class="counterClasses">{{ formattedCounter }}</div>\n\t\t\t\t\t\t\t<div v-else-if="item.notification" class="bx-im-recent-item-bottom-counter-notification"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-else-if="item.template === ItemTypes.placeholder">\n\t\t\t\t<div class="bx-im-recent-item-image-wrap">\n\t\t\t\t\t<div class="bx-im-recent-item-image bx-im-recent-item-placeholder-image"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class="bx-im-recent-item-content">\n\t\t\t\t\t<div class="bx-im-recent-item-content-header">\n\t\t\t\t\t\t<div class="bx-im-recent-item-placeholder-title"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="bx-im-recent-item-content-bottom">\n\t\t\t\t\t\t<div class="bx-im-recent-item-bottom-subtitle">\n\t\t\t\t\t\t\t<div class="bx-im-recent-item-placeholder-subtitle"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</div>\n\t'});function l(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function c(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?l(Object(i),!0).forEach((function(e){babelHelpers.defineProperty(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):l(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}s.BitrixVue.component("bx-im-component-recent",{components:{RecentItem:o},props:{hasDialog:false},data:function t(){return{paginationCount:50,loadingMore:false,hasMoreToLoad:true,placeholderCount:0,lastMessageDate:null}},created:function t(){},mounted:function t(){this.drawPlaceholders().then(this.getFirstPage);this.initObserver()},computed:c({pinnedItems:function t(){return this.collection.filter((function(t){return t.pinned===true}))},generalItems:function t(){return this.collection.filter((function(t){return t.pinned===false}))}},e.Vuex.mapState({collection:function t(e){return e.recent.collection}})),methods:{onScroll:function t(e){if(this.oneScreenRemaining(e)){this.loadNextPage()}},onClick:function t(e){a.EventEmitter.emit(r.EventType.dialog.open,e)},onRightClick:function t(e){this.openOldContextMenu(e)},generatePlaceholders:function t(e){var i=[];for(var n=0;n<e;n++){i.push({id:"placeholder"+this.placeholderCount,templateId:"placeholder"+this.placeholderCount,template:r.TemplateTypes.placeholder,sectionCode:r.RecentSection.general});this.placeholderCount++}return i},drawPlaceholders:function t(){var e=this.generatePlaceholders(this.paginationCount);return this.$store.dispatch("recent/addPlaceholders",e)},getFirstPage:function t(){var e=this;var i={SKIP_OPENLINES:"Y",LIMIT:this.paginationCount};this.getRestClient().callMethod(r.RestMethod.imRecentList,i).then((function(t){e.lastMessageDate=e.getLastMessageDate(t.data().items);if(!t.data().hasMore){e.hasMoreToLoad=false}e.$store.dispatch("recent/clearPlaceholders");e.getController().executeRestAnswer(r.RestMethodHandler.imRecentList,t)}))},loadNextPage:function t(){var e=this;if(this.loadingMore||!this.hasMoreToLoad){return false}this.loadingMore=true;this.firstPlaceholderToUpdate=this.placeholderCount;this.drawPlaceholders().then((function(){e.getNextPage()}))},getNextPage:function t(){var e=this;var i={SKIP_OPENLINES:"Y",LIMIT:this.paginationCount,LAST_MESSAGE_DATE:this.lastMessageDate};this.getRestClient().callMethod(r.RestMethod.imRecentList,i).then((function(t){var i=t.data().items;if(!i||i.length===0){e.$store.dispatch("recent/clearPlaceholders");return false}if(!t.data().hasMore){e.hasMoreToLoad=false}e.lastMessageDate=e.getLastMessageDate(i);e.updateModels(i).then((function(){e.loadingMore=false;if(!e.hasMoreToLoad){e.$store.dispatch("recent/clearPlaceholders")}}))}))},getLastMessageDate:function t(e){return e.slice(-1)[0].message.date},updateModels:function t(e){var i=this.prepareDataForModels(e);var n=this.$store.dispatch("users/set",i.users);var r=this.$store.dispatch("dialogues/set",i.dialogues);var s=this.$store.dispatch("recent/updatePlaceholders",{items:i.recent,firstMessage:this.firstPlaceholderToUpdate});return Promise.all([n,r,s])},prepareDataForModels:function t(e){var i={users:[],dialogues:[],recent:[]};e.forEach((function(t){var e=0;var n=0;if(t.user&&t.user.id>0){e=t.user.id;i.users.push(t.user)}if(t.chat){n=t.chat.id;i.dialogues.push(Object.assign(t.chat,{dialogId:t.id}))}else{i.dialogues.push(Object.assign({},{dialogId:t.id}))}i.recent.push(c(c({},t),{},{avatar:t.avatar.url,color:t.avatar.color,userId:e,chatId:n}))}));return i},openOldDialog:function t(e){if(e.id!=="notify"){BXIM.openMessenger(e.id)}else{BXIM.openNotify()}},openOldContextMenu:function t(e){e.$event.preventDefault();var i=this.$store.getters["recent/get"](e.id);if(!i){return false}var n={userId:e.id,userIsChat:e.id.toString().startsWith("chat"),dialogIsPinned:i.element.pinned};BXIM.messenger.openPopupMenu(e.$event.target,"contactList",undefined,n)},getController:function t(){return this.$Bitrix.Data.get("controller")},getRestClient:function t(){return this.$Bitrix.RestClient.get()},oneScreenRemaining:function t(e){return e.target.scrollTop+e.target.clientHeight>=e.target.scrollHeight-e.target.clientHeight},initObserver:function t(){this.observer=new IntersectionObserver((function(t){t.forEach((function(t){if(t.isIntersecting&&t.intersectionRatio===1);}))}),{threshold:[0,1]})}},directives:{"recent-list-observer":{inserted:function t(e,i,n){n.context.observer.observe(e)}}},template:'\n\t\t\t<div class="bx-messenger-recent">\n\t\t\t\t<div class="bx-messenger-recent-list" @scroll="onScroll">\n\t\t\t\t\t<template v-for="item in pinnedItems">\n\t\t\t\t\t\t<recent-item\n\t\t\t\t\t\t\t:itemData="item"\n\t\t\t\t\t\t\t:key="item.id"\n\t\t\t\t\t\t\t:data-id="item.id"\n\t\t\t\t\t\t\tv-recent-list-observer\n\t\t\t\t\t\t\t@click="onClick"\n\t\t\t\t\t\t\t@rightClick="onRightClick"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</template>\n\t\t\t\t\t<template v-for="item in generalItems">\n\t\t\t\t\t\t<recent-item\n\t\t\t\t\t\t\t:itemData="item"\n\t\t\t\t\t\t\t:key="item.id"\n\t\t\t\t\t\t\t:data-id="item.id"\n\t\t\t\t\t\t\tv-recent-list-observer\n\t\t\t\t\t\t\t@click="onClick"\n\t\t\t\t\t\t\t@rightClick="onRightClick"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t'})})(this.BX.Messenger=this.BX.Messenger||{},BX,BX,BX.Messenger.Lib,BX.Messenger.Const,BX,BX.Event); //# sourceMappingURL=recent.bundle.map.js