File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/im/component/conference/conference-public/dist/conference-public.bundle.min.js
Back
this.BX=this.BX||{};(function(t,e,n,i,r,o,s,a,c,l,u,d,m,p,h,f,v,b,g,C,_,x){"use strict";var O=function(t){babelHelpers.inherits(e,t);function e(t){var n;babelHelpers.classCallCheck(this,e);n=babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(e).call(this,t));babelHelpers.defineProperty(babelHelpers.assertThisInitialized(n),"application",null);n.application=t.Application.get();return n}babelHelpers.createClass(e,[{key:"onAppButtonClick",value:function t(e){var n=e.data;if(n.appId==="smile"){this.application.toggleSmiles()}}}]);return e}(i.TextareaHandler);var M=function(t){babelHelpers.inherits(e,t);function e(){babelHelpers.classCallCheck(this,e);return babelHelpers.possibleConstructorReturn(this,babelHelpers.getPrototypeOf(e).apply(this,arguments))}babelHelpers.createClass(e,[{key:"addMessageWithFile",value:function t(e){var n=this;var i=e.getData();if(!this.getDiskFolderId()){this.requestDiskFolderId(i.chatId).then((function(){n.addMessageWithFile(e)}))["catch"]((function(t){h.Logger.error("addMessageWithFile error",t);return false}));return false}i.chatId=this.getChatId();this.setUploaderCustomHeaders();this.uploader.addTask({taskId:i.file.id,fileData:i.file.source.file,fileName:i.file.source.file.name,generateUniqueName:true,diskFolderId:this.getDiskFolderId(),previewBlob:i.file.previewBlob})}},{key:"setUploaderCustomHeaders",value:function t(){if(!this.uploader.senderOptions.customHeaders){this.uploader.senderOptions.customHeaders={}}this.uploader.senderOptions.customHeaders["Call-Auth-Id"]=this.getUserHash();this.uploader.senderOptions.customHeaders["Call-Chat-Id"]=this.getChatId()}},{key:"getUserHash",value:function t(){return this.controller.store.state.conference.user.hash}},{key:"getActionCommitFile",value:function t(){return"im.call.disk.commit"}},{key:"getActionUploadChunk",value:function t(){return"im.call.disk.upload"}}]);return e}(i.TextareaUploadHandler);var E={methods:{onSelectSmile:function t(e){this.$emit("selectSmile",e)},onSelectSet:function t(e){this.$emit("selectSet",e)},hideSmiles:function t(){b.EventEmitter.emit(v.EventType.conference.hideSmiles)}},template:'\n\t\t<div class="bx-im-component-smiles-box">\n\t\t\t<div class="bx-im-component-smiles-box-close" @click="hideSmiles"></div>\n\t\t\t<div class="bx-im-component-smiles-box-list">\n\t\t\t\t<bx-smiles\n\t\t\t\t\t@selectSmile="onSelectSmile"\n\t\t\t\t\t@selectSet="onSelectSet"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t'};var L={props:["localStream"],data:function t(){return{bars:[],barDisabledColor:"rgba(255,255,255,0.42)",barEnabledColor:"#B3E600"}},watch:{localStream:function t(e){if(!c.Type.isNil(e)){this.startAudioCheck()}}},mounted:function t(){this.bars=babelHelpers.toConsumableArray(document.querySelectorAll(".bx-im-component-call-check-devices-micro-level-item"))},computed:{localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_CHECK_DEVICES_")}},methods:{startAudioCheck:function t(){this.audioContext=new(window.AudioContext||window.webkitAudioContext);this.analyser=this.audioContext.createAnalyser();this.microphone=this.audioContext.createMediaStreamSource(this.localStream);this.scriptNode=this.audioContext.createScriptProcessor(2048,1,1);this.analyser.smoothingTimeConstant=.8;this.analyser.fftSize=1024;this.microphone.connect(this.analyser);this.analyser.connect(this.scriptNode);this.scriptNode.connect(this.audioContext.destination);this.scriptNode.onaudioprocess=this.processVolume},processVolume:function t(){var e=this;var n=new Uint8Array(this.analyser.frequencyBinCount);this.analyser.getByteFrequencyData(n);var i=0;for(var r=0;r<n.length;r++){i+=n[r]}var o=i/n.length;var s=100/this.bars.length;var a=Math.round(o/s);var c=this.bars.slice(0,a);this.bars.forEach((function(t){t.style.backgroundColor=e.barDisabledColor}));c.forEach((function(t){t.style.backgroundColor=e.barEnabledColor}))}},template:'\n\t\t<div class="bx-im-component-call-check-devices-row">\n\t\t\t<div class="bx-im-component-call-check-devices-micro-icon"></div>\n\t\t\t<div class="bx-im-component-call-check-devices-micro-level">\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t\t<div class="bx-im-component-call-check-devices-micro-level-item"></div>\n\t\t\t</div>\n\t\t</div>\n\t'};var P={data:function t(){return{noVideo:true,selectedCamera:null,selectedMic:null,mediaStream:null,showMic:true,userDisabledCamera:false,gettingVideo:false,isFlippedVideo:BX.Call.Hardware.enableMirroring}},created:function t(){var e=this;this.$root.$on("setCameraState",(function(t){e.onCameraStateChange(t)}));this.$root.$on("setMicState",(function(t){e.onMicStateChange(t)}));this.$root.$on("callLocalMediaReceived",(function(){e.stopLocalVideo()}));this.$root.$on("cameraSelected",(function(t){e.onCameraSelected(t)}));this.$root.$on("micSelected",(function(t){e.onMicSelected(t)}));this.getApplication().initHardware().then((function(){e.getDefaultDevices()}))["catch"]((function(){x.MessageBox.show({message:e.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_HARDWARE_ERROR"),modal:true,buttons:x.MessageBoxButtons.OK})}))},destroyed:function t(){this.mediaStream=null},computed:{noVideoText:function t(){if(this.gettingVideo){return this.localize["BX_IM_COMPONENT_CALL_CHECK_DEVICES_GETTING_CAMERA"]}if(this.userDisabledCamera){return this.localize["BX_IM_COMPONENT_CALL_CHECK_DEVICES_DISABLED_CAMERA"]}return this.localize["BX_IM_COMPONENT_CALL_CHECK_DEVICES_NO_VIDEO"]},localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_CHECK_DEVICES_")},cameraVideoClasses:function t(){return{"bx-im-component-call-check-devices-camera-video":true,"bx-im-component-call-check-devices-camera-video-flipped":this.isFlippedVideo}}},methods:{getDefaultDevices:function t(){var e=this;this.gettingVideo=true;var n={audio:true,video:true};if(!f.Utils.device.isMobile()){n.video={};n.video.width={ideal:1280};n.video.height={ideal:720}}if(BX.Call.Hardware.defaultCamera){this.selectedCamera=BX.Call.Hardware.defaultCamera;n.video={deviceId:{exact:this.selectedCamera}}}else if(Object.keys(BX.Call.Hardware.cameraList).length===0){n.video=false}if(BX.Call.Hardware.defaultMicrophone){this.selectedMic=BX.Call.Hardware.defaultMicrophone;n.audio={deviceId:{exact:this.selectedMic}}}navigator.mediaDevices.getUserMedia(n).then((function(t){e.gettingVideo=false;e.setLocalStream(t);if(t.getVideoTracks().length>0){if(!e.selectedCamera){e.selectedCamera=t.getVideoTracks()[0].getSettings().deviceId}e.noVideo=false;e.playLocalVideo();e.getApplication().setSelectedCamera(e.selectedCamera)}if(t.getAudioTracks().length>0){if(!e.selectedMic){e.selectedMic=t.getAudioTracks()[0].getSettings().deviceId}e.getApplication().setSelectedMic(e.selectedMic)}}))["catch"]((function(t){e.gettingVideo=false;h.Logger.warn("Error getting default media stream",t)}))},getLocalStream:function t(){var e=this;this.gettingVideo=true;if(c.Type.isNil(this.selectedCamera)&&c.Type.isNil(this.selectedMic)){return false}var n={video:false,audio:false};if(this.selectedCamera&&!this.noVideo){n.video={deviceId:{exact:this.selectedCamera}};if(!f.Utils.device.isMobile()){n.video.width={ideal:1280};n.video.height={ideal:720}}}if(this.selectedMic){n.audio={deviceId:{exact:this.selectedMic}}}navigator.mediaDevices.getUserMedia(n).then((function(t){e.gettingVideo=false;e.setLocalStream(t);if(t.getVideoTracks().length>0){e.playLocalVideo()}}))["catch"]((function(t){e.gettingVideo=false;h.Logger.warn("Getting video from camera error",t);e.noVideo=true;e.getApplication().setCameraState(false)}))},setLocalStream:function t(e){this.mediaStream=e;this.getApplication().setLocalVideoStream(this.mediaStream)},playLocalVideo:function t(){h.Logger.warn("playing local video");this.noVideo=false;this.userDisabledCamera=false;this.getApplication().setCameraState(true);this.$refs["video"].volume=0;this.$refs["video"].srcObject=this.mediaStream;this.$refs["video"].play()},stopLocalVideo:function t(){if(!this.mediaStream){return}this.mediaStream.getTracks().forEach((function(t){return t.stop()}));this.mediaStream=null;this.getApplication().stopLocalVideoStream()},onCameraSelected:function t(e){this.stopLocalVideo();this.selectedCamera=e;this.getLocalStream()},onMicSelected:function t(e){},onCameraStateChange:function t(e){if(e){this.noVideo=false;this.getLocalStream()}else{this.stopLocalVideo();this.userDisabledCamera=true;this.noVideo=true;this.getApplication().setCameraState(false)}},onMicStateChange:function t(e){if(e){this.getLocalStream()}this.showMic=e},isMobile:function t(){return f.Utils.device.isMobile()},getApplication:function t(){return this.$Bitrix.Application.get()}},components:{MicLevel:L},template:'\n\t<div class="bx-im-component-call-device-check-container">\n\t\t<div class="bx-im-component-call-check-devices">\n\t\t\t<div v-show="noVideo">\n\t\t\t\t<div class="bx-im-component-call-check-devices-camera-no-video">\n\t\t\t\t\t<div class="bx-im-component-call-check-devices-camera-no-video-icon"></div>\n\t\t\t\t\t<div class="bx-im-component-call-check-devices-camera-no-video-text">{{ noVideoText }}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-show="!noVideo">\n\t\t\t\t<div class="bx-im-component-call-check-devices-camera-video-container">\n\t\t\t\t\t<video :class="cameraVideoClasses" ref="video" muted autoplay playsinline></video>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<template v-if="!isMobile()">\n\t\t\t\t<mic-level v-show="showMic" :localStream="mediaStream"/>\n\t\t\t</template>\n\t\t</div>\n\t</div>\n\t'};function S(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function N(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?S(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var I={data:function t(){return{downloadAppArticleCode:11387752,callFeedbackSent:false}},computed:N({errorCode:function t(){return this.conference.common.error},bitrix24only:function t(){return this.errorCode===v.ConferenceErrorCode.bitrix24only},detectIntranetUser:function t(){return this.errorCode===v.ConferenceErrorCode.detectIntranetUser},userLimitReached:function t(){return this.errorCode===v.ConferenceErrorCode.userLimitReached},kickedFromCall:function t(){return this.errorCode===v.ConferenceErrorCode.kickedFromCall},wrongAlias:function t(){return this.errorCode===v.ConferenceErrorCode.wrongAlias},conferenceFinished:function t(){return this.errorCode===v.ConferenceErrorCode.finished},unsupportedBrowser:function t(){return this.errorCode===v.ConferenceErrorCode.unsupportedBrowser},missingMicrophone:function t(){return this.errorCode===v.ConferenceErrorCode.missingMicrophone},unsafeConnection:function t(){return this.errorCode===v.ConferenceErrorCode.unsafeConnection},noSignalFromCamera:function t(){return this.errorCode===v.ConferenceErrorCode.noSignalFromCamera},userLeftCall:function t(){return this.errorCode===v.ConferenceErrorCode.userLeftCall},showFeedback:function t(){console.warn("this.$Bitrix.Application.get()",this.$Bitrix.Application.get());console.warn("this.$Bitrix.Application.get().showFeedback",this.$Bitrix.Application.get().showFeedback);return this.$Bitrix.Application.get().showFeedback},callDetails:function t(){console.warn("this.$Bitrix.Application.get().callDetails",this.$Bitrix.Application.get().callDetails);return this.$Bitrix.Application.get().callDetails},localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")}},g.Vuex.mapState({conference:function t(e){return e.conference}})),methods:{reloadPage:function t(){location.reload()},redirectToAuthorize:function t(){location.href=location.origin+"/auth/?backurl="+location.pathname},continueAsGuest:function t(){u.Cookie.set(null,"VIDEOCONF_GUEST_".concat(this.conference.common.alias),"",{path:"/"});location.reload(true)},getBxLink:function t(){return"bx://videoconf/code/".concat(this.$Bitrix.Application.get().getAlias())},openHelpArticle:function t(){if(BX.Helper){BX.Helper.show("redirect=detail&code="+this.downloadAppArticleCode)}},isMobile:function t(){return f.Utils.device.isMobile()},onFeedbackSent:function t(){var e=this;setTimeout((function(){e.callFeedbackSent=true}),1500)}},template:'\n\t\t<div class="bx-im-component-call-error-wrap">\n\t\t\t<template v-if="bitrix24only">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-b24only"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_MESSAGE_B24_ONLY\'] }}</div>\n\t\t\t\t\t\t<template v-if="!isMobile()">\n\t\t\t\t\t\t\t<a @click.prevent="openHelpArticle" class="bx-im-component-call-error-more-link">{{ localize[\'BX_IM_COMPONENT_CALL_BUTTON_CREATE_OWN\'] }}</a>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="detectIntranetUser">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-intranet"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_MESSAGE_PLEASE_LOG_IN\'] }}</div>\n\t\t\t\t\t\t<div class="bx-im-component-call-error-buttons">\n\t\t\t\t\t\t\t<button @click="redirectToAuthorize" class="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-error-button-authorize">{{ this.localize[\'BX_IM_COMPONENT_CALL_BUTTON_AUTHORIZE\'] }}</button>\n\t\t\t\t\t\t\t<button @click="continueAsGuest" class="ui-btn ui-btn-sm bx-im-component-call-error-button-as-guest">{{ this.localize[\'BX_IM_COMPONENT_CALL_BUTTON_AS_GUEST\'] }}</button>\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-if="userLimitReached">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-full"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_MESSAGE_USER_LIMIT\'] }}</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-if="kickedFromCall">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-kicked"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_MESSAGE_KICKED\'] }}</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-if="wrongAlias || conferenceFinished">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-finished"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_FINISHED\'] }}</div>\n\t\t\t\t\t\t<template v-if="!isMobile()">\n\t\t\t\t\t\t\t<a @click.prevent="openHelpArticle" class="bx-im-component-call-error-more-link">{{ localize[\'BX_IM_COMPONENT_CALL_BUTTON_CREATE_OWN\'] }}</a>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="unsupportedBrowser">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-browser"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_UNSUPPORTED_BROWSER\'] }}</div>\n\t\t\t\t\t\t<template v-if="!isMobile()">\n\t\t\t\t\t\t\t<a @click.prevent="openHelpArticle" class="bx-im-component-call-error-more-link">{{ localize[\'BX_IM_COMPONENT_CALL_BUTTON_DETAILS\'] }}</a>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-if="missingMicrophone">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_NO_MIC\'] }}</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-if="unsafeConnection">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-icon bx-im-component-call-error-icon-https"></div>\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_NO_HTTPS\'] }}</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-if="noSignalFromCamera">\n\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_NO_SIGNAL_FROM_CAMERA\'] }}</div>\n\t\t\t\t\t\t<div class="bx-im-component-call-error-buttons">\n\t\t\t\t\t\t\t<button @click="reloadPage" class="ui-btn ui-btn-sm ui-btn-no-caps">{{ localize[\'BX_IM_COMPONENT_CALL_BUTTON_RELOAD\'] }}</button>\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-if="userLeftCall">\n\t\t\t\t<template v-if="!callFeedbackSent && showFeedback">\n\t\t\t\t\t<bx-im-component-call-feedback @feedbackSent="onFeedbackSent" :callDetails="callDetails" :darkMode="true"/>\n\t\t\t\t</template>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<div class="bx-im-component-call-error-container">\n\t\t\t\t\t\t<div class="bx-im-component-call-error-content">\n\t\t\t\t\t\t\t<div class="bx-im-component-call-error-text">{{ localize[\'BX_IM_COMPONENT_CALL_ERROR_USER_LEFT_THE_CALL\'] }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</template>\n\t\t</div>\n\t'};var T={template:'\n\t\t<div class="bx-im-component-call-orientation-disabled-wrap">\n\t\t\t<div class="bx-im-component-call-orientation-disabled-icon"></div>\n\t\t\t<div class="bx-im-component-call-orientation-disabled-text">\n\t\t\t\t{{ $Bitrix.Loc.getMessage(\'BX_IM_COMPONENT_CALL_ROTATE_DEVICE\') }}\n\t\t\t</div>\n\t\t</div>\n\t'};function A(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function B(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?A(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var y={data:function t(){return{password:"",checkingPassword:"",wrongPassword:""}},created:function t(){b.EventEmitter.subscribe(v.EventType.conference.setPasswordFocus,this.onSetPasswordFocus)},beforeDestroy:function t(){b.EventEmitter.unsubscribe(v.EventType.conference.setPasswordFocus,this.onSetPasswordFocus)},computed:B({conferenceTitle:function t(){return this.conference.common.conferenceTitle},localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")}},g.Vuex.mapState({conference:function t(e){return e.conference}})),methods:{onSetPasswordFocus:function t(){this.$refs["passwordInput"].focus()},checkPassword:function t(){var e=this;if(!this.password||this.checkingPassword){this.wrongPassword=true;return false}this.checkingPassword=true;this.wrongPassword=false;this.getApplication().checkPassword(this.password)["catch"]((function(){e.wrongPassword=true}))["finally"]((function(){e.checkingPassword=false}))},getApplication:function t(){return this.$Bitrix.Application.get()}},template:'\n\t\t<div>\n\t\t\t<div class="bx-im-component-call-info-container">\n\t\t\t\t<div class="bx-im-component-call-info-logo"></div>\n\t\t\t\t<div class="bx-im-component-call-info-title">{{ conferenceTitle }}</div>\n\t\t\t</div>\n\t\t\t<div class="bx-im-component-call-password-container">\n\t\t\t\t<template v-if="wrongPassword">\n\t\t\t\t\t<div class="bx-im-component-call-password-error">\n\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_PASSWORD_WRONG\'] }}\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-else>\n\t\t\t\t\t<div class="bx-im-component-call-password-title">\n\t\t\t\t\t\t<div class="bx-im-component-call-password-title-logo"></div>\n\t\t\t\t\t\t<div class="bx-im-component-call-password-title-text">\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_PASSWORD_TITLE\'] }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<input\n\t\t\t\t\t@keyup.enter="checkPassword"\n\t\t\t\t\ttype="text"\n\t\t\t\t\tv-model="password"\n\t\t\t\t\tclass="bx-im-component-call-password-input"\n\t\t\t\t\t:placeholder="localize[\'BX_IM_COMPONENT_CALL_PASSWORD_PLACEHOLDER\']"\n\t\t\t\t\tref="passwordInput"\n\t\t\t\t/>\n\t\t\t\t<button @click="checkPassword" class="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-password-button">\n\t\t\t \t\t{{ localize[\'BX_IM_COMPONENT_CALL_PASSWORD_JOIN\'] }}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t'};var w={computed:{localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")}},template:'\n\t\t<div class="bx-im-component-call-loading">\n\t\t\t<div class="bx-im-component-call-loading-text">{{ localize[\'BX_IM_COMPONENT_CALL_LOADING\'] }}</div>\n\t\t</div>\n\t'};var k="NotAllowedError";var R="NotFoundError";var D={props:{skipRequest:{type:Boolean,required:false,default:false}},created:function t(){b.EventEmitter.subscribe(v.EventType.conference.requestPermissions,this.onRequestPermissions)},beforeDestroy:function t(){b.EventEmitter.unsubscribe(v.EventType.conference.requestPermissions,this.onRequestPermissions)},computed:{localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")}},methods:{onRequestPermissions:function t(){this.requestPermissions()},requestPermissions:function t(){var e=this;this.getApplication().initHardware().then((function(){return navigator.mediaDevices.getUserMedia({audio:true,video:true})})).then((function(){e.setPermissionsRequestedFlag()}))["catch"]((function(t){if(t.name===k){e.showMessageBox(e.localize["BX_IM_COMPONENT_CALL_NOT_ALLOWED_ERROR"]);return false}else if(t.name===R){return navigator.mediaDevices.getUserMedia({audio:true,video:false}).then((function(){e.setPermissionsRequestedFlag()}))["catch"]((function(t){if(t.name===k){e.showMessageBox(e.localize["BX_IM_COMPONENT_CALL_NOT_ALLOWED_ERROR"]);return false}}))}e.showMessageBox(e.localize["BX_IM_COMPONENT_CALL_HARDWARE_ERROR"])}))},setPermissionsRequestedFlag:function t(){var e=this;this.$nextTick((function(){return e.$store.dispatch("conference/setPermissionsRequested",{status:true})}))},showMessageBox:function t(e){x.MessageBox.show({message:e,modal:true,buttons:x.MessageBoxButtons.OK})},getApplication:function t(){return this.$Bitrix.Application.get()}},template:'\n\t\t<div class="bx-im-component-call-permissions-container">\n\t\t\t<template v-if="!skipRequest">\n\t\t\t\t<div class="bx-im-component-call-permissions-text">{{ localize[\'BX_IM_COMPONENT_CALL_PERMISSIONS_TEXT\'] }}</div>\n\t\t\t\t<button @click="requestPermissions" class="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-permissions-button">\n\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_ENABLE_DEVICES_BUTTON\'] }}\n\t\t\t\t</button>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t\t<template v-else>\n\t\t\t\t<div class="bx-im-component-call-permissions-text">{{ localize[\'BX_IM_COMPONENT_CALL_PERMISSIONS_LOADING\'] }}</div>\n\t\t\t\t<button class="ui-btn ui-btn-sm ui-btn-wait bx-im-component-call-permissions-button">\n\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_PERMISSIONS_BUTTON\'] }}\n\t\t\t\t</button>\n\t\t\t</template>\n\t\t</div>\n\t'};function U(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function j(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?U(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var X={computed:j({dialogCounter:function t(){if(this.dialog){return this.dialog.counter}},userCounter:function t(){return this.conference.common.userCount},localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")}},g.Vuex.mapState({dialog:function t(e){return e.dialogues.collection[e.application.dialog.dialogId]},conference:function t(e){return e.conference}})),methods:{openChat:function t(){this.getApplication().toggleChat()},openUserList:function t(){this.getApplication().toggleUserList()},getApplication:function t(){return this.$Bitrix.Application.get()}},template:'\n\t\t<div class="bx-im-component-call-open-chat-button-container">\n\t\t\t<div @click="openChat" class="ui-btn ui-btn-sm ui-btn-icon-chat bx-im-component-call-open-chat-button">\n\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_OPEN_CHAT\'] }}\n\t\t\t\t<div v-if="dialogCounter > 0" class="bx-im-component-call-open-chat-button-counter">{{ dialogCounter }}</div>\n\t\t\t</div>\n\t\t\t\n\t\t\t<div @click="openUserList" class="ui-btn ui-btn-sm ui-btn-icon-chat bx-im-component-call-open-user-list-button">\n\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_OPEN_USER_LIST\'] }}\n\t\t\t\t<div class="bx-im-component-call-open-chat-button-counter">{{ userCounter }}</div>\n\t\t\t</div>\n\t\t</div>\n\t'};function H(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function $(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?H(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):H(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var F={props:{compactMode:{type:Boolean,required:false,default:false}},data:function t(){return{conferenceDuration:"",durationInterval:null}},created:function t(){var e=this;if(this.conferenceStarted){this.updateConferenceDuration();this.durationInterval=setInterval((function(){e.updateConferenceDuration()}),1e3)}},beforeDestroy:function t(){clearInterval(this.durationInterval)},computed:$({conferenceStarted:function t(){return this.conference.common.conferenceStarted},conferenceStartDate:function t(){return this.conference.common.conferenceStartDate},conferenceTitle:function t(){return this.conference.common.conferenceTitle},userId:function t(){return this.application.common.userId},isBroadcast:function t(){return this.conference.common.isBroadcast},presentersList:function t(){return this.conference.common.presenters},presentersInfo:function t(){return this.$store.getters["users/getList"](this.presentersList)},formattedPresentersList:function t(){var e=this.presentersList.length;var n=e>1?this.localize["BX_IM_COMPONENT_CALL_SPEAKERS_MULTIPLE"]:this.localize["BX_IM_COMPONENT_CALL_SPEAKER"];var i=this.presentersInfo.map((function(t){return t.name})).join(", ");return"".concat(n,": ").concat(i)},isCurrentUserPresenter:function t(){return this.presentersList.includes(this.userId)},conferenceStatusText:function t(){if(this.conferenceStarted===true){return"".concat(this.localize["BX_IM_COMPONENT_CALL_STATUS_STARTED"],", ").concat(this.conferenceDuration)}else if(this.conferenceStarted===false){return this.localize["BX_IM_COMPONENT_CALL_STATUS_NOT_STARTED"]}else if(this.conferenceStarted===null){return this.localize["BX_IM_COMPONENT_CALL_STATUS_LOADING"]}},conferenceStatusClasses:function t(){return["bx-im-component-call-info-status",this.conferenceStarted?"bx-im-component-call-info-status-active":"bx-im-component-call-info-status-not-active"]},containerClasses:function t(){return[this.compactMode?"bx-im-component-call-info-container-compact":"bx-im-component-call-info-container"]},localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")}},g.Vuex.mapState({conference:function t(e){return e.conference}})),watch:{conferenceStarted:function t(e){var n=this;if(e===true){this.durationInterval=setInterval((function(){n.updateConferenceDuration()}),1e3)}this.updateConferenceDuration()}},methods:{updateConferenceDuration:function t(){if(!this.conferenceStartDate){return false}var e=this.conferenceStartDate;var n=new Date;var i=Math.floor((n-e)/1e3);var r=0;if(i>60){r=Math.floor(i/60);if(r<10){r="0"+r}}var o=i-r*60;if(o<10){o="0"+o}this.conferenceDuration="".concat(r,":").concat(o);return true}},template:'\n\t\t<div :class="containerClasses">\n\t\t\t<template v-if="compactMode">\n\t\t\t\t<div class="bx-im-component-call-info-title-container">\n\t\t\t\t\t<div class="bx-im-component-call-info-logo"></div>\n\t\t\t\t\t<div class="bx-im-component-call-info-title">{{ conferenceTitle }}</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if="isBroadcast" class="bx-im-component-call-info-speakers">{{ formattedPresentersList }}</div>\n\t\t\t</template>\n\t\t\t<template v-else>\n\t\t\t\t<div class="bx-im-component-call-info-logo"></div>\n\t\t\t\t<div class="bx-im-component-call-info-title">{{ conferenceTitle }}</div>\n\t\t\t \t<div v-if="isBroadcast" class="bx-im-component-call-info-speakers">{{ formattedPresentersList }}</div>\t\n\t\t\t</template>\n\t\t\t<div :class="conferenceStatusClasses">{{ conferenceStatusText }}</div>\n\t\t</div>\n\t'};function V(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function z(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?V(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):V(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var q={data:function t(){return{userNewName:""}},computed:z({conferenceStarted:function t(){return this.conference.common.conferenceStarted},userHasRealName:function t(){if(this.user){return this.user.name!==this.localize["BX_IM_COMPONENT_CALL_DEFAULT_USER_NAME"]}return false},intranetAvatarStyle:function t(){if(this.user&&!this.user.extranet&&this.user.avatar){return{backgroundImage:"url('".concat(this.user.avatar,"')")}}return""},logoutLink:function t(){return"".concat(this.publicLink,"?logout=yes&sessid=").concat(BX.bitrix_sessid())},publicLink:function t(){if(this.dialog){return this.dialog["public"].link}},userId:function t(){return this.application.common.userId},isBroadcast:function t(){return this.conference.common.isBroadcast},presentersList:function t(){return this.conference.common.presenters},isCurrentUserPresenter:function t(){return this.presentersList.includes(this.userId)},localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")},videoModeButtonClasses:function t(){var e=["ui-btn","ui-btn-sm","ui-btn-primary","bx-im-component-call-join-video"];if(!this.getApplication().hardwareInited){e.push("ui-btn-disabled")}return e},audioModeButtonClasses:function t(){var e=["ui-btn","ui-btn-sm","bx-im-component-call-join-audio"];if(!this.getApplication().hardwareInited){e.push("ui-btn-disabled")}return e}},g.Vuex.mapState({user:function t(e){return e.users.collection[e.application.common.userId]},application:function t(e){return e.application},conference:function t(e){return e.conference}})),methods:{startConference:function t(e){var n=e.video;this.getApplication().startCall(n)},joinConference:function t(e){var n=e.video;if(this.user.extranet&&!this.userHasRealName){this.setNewName()}if(!this.conferenceStarted){b.EventEmitter.emit(v.EventType.conference.waitForStart);this.getApplication().setUserReadyToJoin();this.getApplication().setJoinType(n)}else{var i=this.isBroadcast&&!this.isCurrentUserPresenter;h.Logger.warn("ready to join call",n,i);if(i){this.getApplication().joinCall(this.getApplication().preCall.id,{joinAsViewer:true})}else{this.getApplication().startCall(n)}}},setNewName:function t(){if(this.userNewName.length>0){this.getApplication().renameGuest(this.userNewName.trim())}},getApplication:function t(){return this.$Bitrix.Application.get()},isDesktop:function t(){return f.Utils.platform.isBitrixDesktop()}},template:'\n\t\t<div class="bx-im-component-call-form">\n\t\t\t<template v-if="user && userHasRealName">\n\t\t\t\t<template v-if="!user.extranet">\n\t\t\t\t\t<div class="bx-im-component-call-intranet-name-container">\n\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-title">\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_INTRANET_NAME_TITLE\'] }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-content">\n\t\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-content-left">\n\t\t\t\t\t\t\t\t<div :style="intranetAvatarStyle" class="bx-im-component-call-intranet-name-avatar"></div>\n\t\t\t\t\t\t\t\t<div class="bx-im-component-call-intranet-name-text">{{ user.name }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<template v-if="!isDesktop()">\n\t\t\t\t\t\t\t\t<a :href="logoutLink" class="bx-im-component-call-intranet-name-logout">\n\t\t\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_INTRANET_LOGOUT\'] }}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-else-if="user.extranet">\n\t\t\t\t\t<div class="bx-im-component-call-guest-name-container">\n\t\t\t\t\t\t<div class="bx-im-component-call-guest-name-text">{{ user.name }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</template>\n\t\t\t\x3c!-- New guest, need to specify name --\x3e\n\t\t\t<template v-else-if="user && !userHasRealName">\n\t\t\t\t<input\n\t\t\t\t\tv-model="userNewName"\n\t\t\t\t\ttype="text"\n\t\t\t\t\t:placeholder="localize[\'BX_IM_COMPONENT_CALL_NAME_PLACEHOLDER\']"\n\t\t\t\t\tclass="bx-im-component-call-name-input"\n\t\t\t\t\tref="nameInput"\n\t\t\t\t/>\n\t\t\t</template>\n\t\t\t\x3c!-- Buttons --\x3e\n\t\t\t<template v-if="user">\n\t\t\t\t\x3c!-- Broadcast mode --\x3e\n\t\t\t\t<template v-if="isBroadcast">\n\t\t\t\t\t\x3c!-- Speaker can start conference --\x3e\n\t\t\t\t\t<template v-if="isCurrentUserPresenter && !conferenceStarted">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="startConference({video: true})"\n\t\t\t\t\t\t\t:class="videoModeButtonClasses"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_START_WITH_VIDEO\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="startConference({video: false})"\n\t\t\t\t\t\t\t:class="audioModeButtonClasses"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_START_WITH_AUDIO\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</template>\n\t\t\t\t\t\x3c!-- Speakers can join with audio/video --\x3e\n\t\t\t\t\t<template v-else-if="conferenceStarted && isCurrentUserPresenter">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="joinConference({video: true})"\n\t\t\t\t\t\t\t:class="videoModeButtonClasses"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_JOIN_WITH_VIDEO\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="joinConference({video: false})"\n\t\t\t\t\t\t\t:class="audioModeButtonClasses"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_JOIN_WITH_AUDIO\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</template>\n\t\t\t\t\t\x3c!-- Others can join as viewers --\x3e\n\t\t\t\t\t<template v-else-if="!isCurrentUserPresenter">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="joinConference({video: false})"\n\t\t\t\t\t\t\tclass="ui-btn ui-btn-sm ui-btn-primary bx-im-component-call-join-video"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_JOIN\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</template>\n\t\t\t\t</template>\n\t\t\t\t\x3c!-- End broadcast mode --\x3e\n\t\t\t\t<template v-else-if="!isBroadcast">\n\t\t\t\t\t\x3c!-- Intranet user can start conference --\x3e\n\t\t\t\t\t<template v-if="!user.extranet && !conferenceStarted">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="startConference({video: true})"\n\t\t\t\t\t\t\t:class="videoModeButtonClasses"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_START_WITH_VIDEO\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="startConference({video: false})"\n\t\t\t\t\t\t\t:class="audioModeButtonClasses"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_START_WITH_AUDIO\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</template>\n\t\t\t\t\t\x3c!-- Others can join --\x3e\n\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="joinConference({video: true})"\n\t\t\t\t\t\t\t:class="videoModeButtonClasses"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_JOIN_WITH_VIDEO\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t@click="joinConference({video: false})"\n\t\t\t\t\t\t\t:class="audioModeButtonClasses"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_JOIN_WITH_AUDIO\'] }}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</template>\n\t\t\t\t</template>\n\t\t\t</template>\n\t\t\t\x3c!--End normal (not broadcast) mode--\x3e\n\t\t</div>\n\t'};function W(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function K(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?W(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var G={created:function t(){this.desktop=new m.Desktop},computed:K({showTotalCounter:function t(){return f.Utils.platform.isBitrixDesktop()&&(this.desktop.getApiVersion()>=60||!f.Utils.platform.isWindows())&&!this.getApplication().isExternalUser()&&this.messageCount>0},messageCount:function t(){return this.conference.common.messageCount},formattedCounter:function t(){return this.messageCount>99?"99+":this.messageCount},localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")}},g.Vuex.mapState({conference:function t(e){return e.conference}})),methods:{onCloseChat:function t(){this.getApplication().toggleChat()},onTotalCounterClick:function t(){if(opener&&opener.BXDesktopWindow){opener.BXDesktopWindow.ExecuteCommand("show.active")}},getApplication:function t(){return this.$Bitrix.Application.get()}},template:'\n\t\t<div class="bx-im-component-call-right-header">\n\t\t\t<div class="bx-im-component-call-right-header-left">\n\t\t\t\t<div @click="onCloseChat" class="bx-im-component-call-right-header-close" :title="localize[\'BX_IM_COMPONENT_CALL_CHAT_CLOSE_TITLE\']"></div>\n\t\t\t\t<div class="bx-im-component-call-right-header-title">{{ localize[\'BX_IM_COMPONENT_CALL_CHAT_TITLE\'] }}</div>\n\t\t\t</div>\n\t\t\t<template v-if="showTotalCounter">\n\t\t\t\t<div @click="onTotalCounterClick" class="bx-im-component-call-right-header-right bx-im-component-call-right-header-all-chats">\n\t\t\t\t\t<div class="bx-im-component-call-right-header-all-chats-title">{{ localize[\'BX_IM_COMPONENT_CALL_ALL_CHATS\'] }}</div>\n\t\t\t\t\t<div class="bx-im-component-call-right-header-all-chats-counter">{{ messageCount }}</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</div>\n\t'};function J(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Y(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?J(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var Z={computed:Y({userCounter:function t(){return this.dialog.userCounter},localize:function t(){return p.BitrixVue.getFilteredPhrases("BX_IM_COMPONENT_CALL_")}},g.Vuex.mapState({conference:function t(e){return e.conference},dialog:function t(e){return e.dialogues.collection[e.application.dialog.dialogId]}})),template:'\n\t\t<div class="bx-im-component-call-wait-container">\n\t\t\t<div class="bx-im-component-call-wait-logo"></div>\n\t\t\t<div class="bx-im-component-call-wait-title">{{ localize[\'BX_IM_COMPONENT_CALL_WAIT_START_TITLE\'] }}</div>\n\t\t\t<div class="bx-im-component-call-wait-user-counter">\n\t\t\t\t{{ localize[\'BX_IM_COMPONENT_CALL_WAIT_START_USER_COUNT\'] }} {{ userCounter }}\n\t\t\t</div>\n\t\t\t<slot></slot>\n\t\t</div>\n\t'};function Q(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function tt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Q(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Q(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var et={props:{userId:{type:Number,required:true}},data:function t(){return{renameMode:false,newName:"",renameRequested:false,menuId:"bx-messenger-context-popup-external-data",onlineStates:[v.ConferenceUserState.Ready,v.ConferenceUserState.Connected]}},computed:tt({user:function t(){return this.$store.getters["users/get"](this.userId,true)},currentUser:function t(){return this.application.common.userId},chatOwner:function t(){if(!this.dialog){return 0}return this.dialog.ownerId},isCurrentUserOwner:function t(){return this.chatOwner===this.currentUser},isCurrentUserExternal:function t(){return!!this.conference.user.hash},isMobile:function t(){return f.Utils.device.isMobile()},isDesktop:function t(){return f.Utils.platform.isBitrixDesktop()},isGuestWithDefaultName:function t(){var e=this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_DEFAULT_USER_NAME");return this.user.id===this.currentUser&&this.user.extranet&&this.user.name===e},userCallStatus:function t(){return this.$store.getters["call/getUser"](this.user.id)},isUserInCall:function t(){return this.onlineStates.includes(this.userCallStatus.state)},userInCallCount:function t(){var e=this;var n=Object.values(this.call.users).filter((function(t){return e.onlineStates.includes(t.state)}));return n.length},isBroadcast:function t(){return this.conference.common.isBroadcast},presentersList:function t(){return this.conference.common.presenters},isUserPresenter:function t(){return this.presentersList.includes(this.user.id)},formattedSubtitle:function t(){var e=[];if(this.user.id===this.chatOwner){e.push(this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_STATUS_OWNER"))}if(this.user.id===this.currentUser){e.push(this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_STATUS_CURRENT_USER"))}return e.join(", ")},isMenuNeeded:function t(){return this.getMenuItems.length>0},menuItems:function t(){var e=this;var n=[];if(this.user.id===this.currentUser){if(this.isCurrentUserExternal){n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_RENAME_SELF"),onclick:function t(){e.closeMenu();e.onRenameStart()}})}if(this.isDesktop){n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_CHANGE_BACKGROUND"),onclick:function t(){e.closeMenu();e.$emit("userChangeBackground")}})}}else{if(this.isCurrentUserOwner&&this.user.externalAuthId==="call"){n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_RENAME"),onclick:function t(){e.closeMenu();e.onRenameStart()}})}if(this.isCurrentUserOwner&&!this.isUserPresenter){n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_KICK"),onclick:function t(){e.closeMenu();e.$emit("userKick",{user:e.user})}})}if(this.isUserInCall&&this.userCallStatus.cameraState&&this.userInCallCount>2){if(!this.userCallStatus.pinned){n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_PIN"),onclick:function t(){e.closeMenu();e.$emit("userPin",{user:e.user})}})}else{n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_UNPIN"),onclick:function t(){e.closeMenu();e.$emit("userUnpin")}})}}if(this.isDesktop&&!this.user.extranet){n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_OPEN_CHAT"),onclick:function t(){e.closeMenu();e.$emit("userOpenChat",{user:e.user})}});n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_OPEN_PROFILE"),onclick:function t(){e.closeMenu();e.$emit("userOpenProfile",{user:e.user})}})}n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_MENU_INSERT_NAME"),onclick:function t(){e.closeMenu();e.$emit("userInsertName",{user:e.user})}})}return n},avatarWrapClasses:function t(){var e=["bx-im-component-call-user-list-item-avatar-wrap"];if(this.userCallStatus.talking){e.push("bx-im-component-call-user-list-item-avatar-wrap-talking")}return e},avatarClasses:function t(){var e=["bx-im-component-call-user-list-item-avatar"];if(!this.user.avatar&&this.user.extranet){e.push("bx-im-component-call-user-list-item-avatar-extranet")}else if(!this.user.avatar&&!this.user.extranet){e.push("bx-im-component-call-user-list-item-avatar-default")}return e},avatarStyle:function t(){var e={};if(this.user.avatar){e.backgroundImage="url('".concat(this.user.avatar,"')")}else if(!this.user.avatar&&!this.user.extranet){e.backgroundColor=this.user.color}return e},isCallStatusPanelNeeded:function t(){if(this.isBroadcast){return this.conference.common.state===v.ConferenceStateType.call&&this.isUserInCall&&this.isUserPresenter}else{return this.conference.common.state===v.ConferenceStateType.call&&this.isUserInCall}},callLeftIconClasses:function t(){var e=["bx-im-component-call-user-list-item-icons-icon bx-im-component-call-user-list-item-icons-left"];if(this.userCallStatus.floorRequestState){e.push("bx-im-component-call-user-list-item-icons-floor-request")}else if(this.userCallStatus.screenState){e.push("bx-im-component-call-user-list-item-icons-screen")}return e},callCenterIconClasses:function t(){var e=["bx-im-component-call-user-list-item-icons-icon bx-im-component-call-user-list-item-icons-center"];if(this.userCallStatus.microphoneState){e.push("bx-im-component-call-user-list-item-icons-mic-on")}else{e.push("bx-im-component-call-user-list-item-icons-mic-off")}return e},callRightIconClasses:function t(){var e=["bx-im-component-call-user-list-item-icons-icon bx-im-component-call-user-list-item-icons-right"];if(this.userCallStatus.cameraState){e.push("bx-im-component-call-user-list-item-icons-camera-on")}else{e.push("bx-im-component-call-user-list-item-icons-camera-off")}return e},bodyClasses:function t(){var e=["bx-im-component-call-user-list-item-body"];if(!this.isUserInCall){e.push("bx-im-component-call-user-list-item-body-offline")}return e}},g.Vuex.mapState({application:function t(e){return e.application},conference:function t(e){return e.conference},call:function t(e){return e.call},dialog:function t(e){return e.dialogues.collection[e.application.dialog.dialogId]}})),methods:{openMenu:function t(){var e=this;if(this.menuPopup){this.closeMenu();return false}var n=C.MenuManager.getMenuById(this.menuId);if(n){n.destroy()}this.menuPopup=C.MenuManager.create({id:this.menuId,bindElement:this.$refs["user-menu"],items:this.menuItems,events:{onPopupClose:function t(){return e.menuPopup.destroy()},onPopupDestroy:function t(){return e.menuPopup=null}}});this.menuPopup.show()},closeMenu:function t(){this.menuPopup.destroy();this.menuPopup=null},onRenameStart:function t(){var e=this;this.newName=this.user.name;this.renameMode=true;this.$nextTick((function(){e.$refs["rename-input"].focus();e.$refs["rename-input"].select()}))},onRenameKeyDown:function t(e){if(e.keyCode===13){this.changeName()}else if(e.keyCode===27){this.renameMode=false}},changeName:function t(){var e=this;if(this.user.name===this.newName.trim()||this.newName===""){this.renameMode=false;return false}this.$emit("userChangeName",{user:this.user,newName:this.newName});this.$nextTick((function(){e.renameMode=false}))},onFocus:function t(e){b.EventEmitter.emit(v.EventType.conference.userRenameFocus,e)},onBlur:function t(e){b.EventEmitter.emit(v.EventType.conference.userRenameBlur,e)}},template:'\n\t\t<div class="bx-im-component-call-user-list-item">\n\t\t\t\x3c!-- Avatar --\x3e\n\t\t\t<div :class="avatarWrapClasses">\n\t\t\t\t<div :class="avatarClasses" :style="avatarStyle"></div>\n\t\t\t</div>\n\t\t\t\x3c!-- Body --\x3e\n\t\t\t<div :class="bodyClasses">\n\t\t\t\t\x3c!-- Introduce yourself blinking mode --\x3e\n\t\t\t\t<template v-if="!renameMode && isGuestWithDefaultName">\n\t\t\t\t\t<div class="bx-im-component-call-user-list-item-body-left">\n\t\t\t\t\t\t<div @click="onRenameStart" class="bx-im-component-call-user-list-introduce-yourself">\n\t\t\t\t\t\t\t<div class="bx-im-component-call-user-list-introduce-yourself-text">{{ $Bitrix.Loc.getMessage(\'BX_IM_COMPONENT_CALL_USER_LIST_INTRODUCE_YOURSELF\') }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t\x3c!-- Rename mode --\x3e\n\t\t\t\t<template v-else-if="renameMode">\n\t\t\t\t\t<div class="bx-im-component-call-user-list-item-body-left">\n\t\t\t\t\t\t<div class="bx-im-component-call-user-list-change-name-container">\n\t\t\t\t\t\t\t<div @click="renameMode = false" class="bx-im-component-call-user-list-change-name-cancel"></div>\n\t\t\t\t\t\t\t<input @keydown="onRenameKeyDown" @focus="onFocus" @blur="onBlur" v-model="newName" :ref="\'rename-input\'" type="text" class="bx-im-component-call-user-list-change-name-input">\n\t\t\t\t\t\t\t<div v-if="!renameRequested" @click="changeName" class="bx-im-component-call-user-list-change-name-confirm"></div>\n\t\t\t\t\t\t\t<div v-else class="bx-im-component-call-user-list-change-name-loader">\n\t\t\t\t\t\t\t\t<div class="bx-im-component-call-user-list-change-name-loader-icon"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-if="!renameMode && !isGuestWithDefaultName">\n\t\t\t\t\t<div class="bx-im-component-call-user-list-item-body-left">\n\t\t\t\t\t\t<div class="bx-im-component-call-user-list-item-name-wrap">\n\t\t\t\t\t\t\t\x3c!-- Name --\x3e\n\t\t\t\t\t\t\t<div class="bx-im-component-call-user-list-item-name">{{ user.name }}</div>\n\t\t\t\t\t\t\t\x3c!-- Status subtitle --\x3e\n\t\t\t\t\t\t\t<div v-if="formattedSubtitle !== \'\'" class="bx-im-component-call-user-list-item-name-subtitle">{{ formattedSubtitle }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\x3c!-- Context menu icon --\x3e\n\t\t\t\t\t\t<div v-if="menuItems.length > 0 && !isMobile" @click="openMenu" ref="user-menu" class="bx-im-component-call-user-list-item-menu"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-if="isCallStatusPanelNeeded">\n\t\t\t\t\t<div class="bx-im-component-call-user-list-item-icons">\n\t\t\t\t\t\t<div :class="callLeftIconClasses"></div>\n\t\t\t\t\t\t<div :class="callCenterIconClasses"></div>\n\t\t\t\t\t\t<div :class="callRightIconClasses"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</div>\n\t\t</div>\n\t'};function nt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function it(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?nt(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):nt(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var rt={components:{UserListItem:et},data:function t(){return{usersPerPage:50,firstPageLoaded:false,pagesLoaded:0,hasMoreToLoad:true,rename:{user:0,newName:"",renameRequested:false}}},created:function t(){h.Logger.warn("Conference: user list created");this.requestUsers({firstPage:true})},beforeDestroy:function t(){this.loaderObserver=null},computed:it({userId:function t(){return this.application.common.userId},isBroadcast:function t(){return this.conference.common.isBroadcast},usersList:function t(){var e=this;var n=this.conference.common.users.filter((function(t){return!e.presentersList.includes(t)}));return babelHelpers.toConsumableArray(n).sort(this.userSortFunction)},presentersList:function t(){return babelHelpers.toConsumableArray(this.conference.common.presenters).sort(this.userSortFunction)},rightPanelMode:function t(){return this.conference.common.rightPanelMode}},g.Vuex.mapState({user:function t(e){return e.users.collection[e.application.common.userId]},application:function t(e){return e.application},conference:function t(e){return e.conference},call:function t(e){return e.call},dialog:function t(e){return e.dialogues.collection[e.application.dialog.dialogId]}})),methods:{requestUsers:function t(){var e=this;var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},i=n.firstPage,r=i===void 0?false:i;this.$Bitrix.RestClient.get().callMethod("im.dialog.users.list",{DIALOG_ID:this.application.dialog.dialogId,LIMIT:this.usersPerPage,OFFSET:r?0:this.pagesLoaded*this.usersPerPage}).then((function(t){h.Logger.warn("Conference: getting next user list result",t.data());var n=t.data();e.pagesLoaded++;if(n.length<e.usersPerPage){e.hasMoreToLoad=false}e.$store.dispatch("users/set",n);var i=n.map((function(t){return t.id}));return e.$store.dispatch("conference/setUsers",{users:i})})).then((function(){if(r){e.firstPageLoaded=true}}))["catch"]((function(t){h.Logger.warn("Conference: error getting users list",t.error().ex)}))},onUserMenuKick:function t(e){var n=e.user;this.showUserKickConfirm(n)},showUserKickConfirm:function t(e){var n=this;if(this.userKickConfirm){this.userKickConfirm.close()}var i=this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_KICK_INTRANET_USER_CONFIRM_TEXT");if(e.extranet){i=this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_KICK_GUEST_USER_CONFIRM_TEXT")}this.userKickConfirm=x.MessageBox.create({message:i,modal:true,buttons:x.MessageBoxButtons.OK_CANCEL,onOk:function t(){n.kickUser(e);n.userKickConfirm.close()},onCancel:function t(){n.userKickConfirm.close()}});this.userKickConfirm.show()},kickUser:function t(e){var n=this;this.$store.dispatch("conference/removeUsers",{users:[e.id]});this.$Bitrix.RestClient.get().callMethod("im.chat.user.delete",{user_id:e.id,chat_id:this.application.dialog.chatId})["catch"]((function(t){h.Logger.error("Conference: removing user from chat error",t);n.$store.dispatch("conference/setUsers",{users:[e.id]})}))},onUserMenuInsertName:function t(e){var n=e.user;if(this.rightPanelMode===v.ConferenceRightPanelMode.hidden||this.rightPanelMode===v.ConferenceRightPanelMode.users){this.getApplication().toggleChat()}this.$nextTick((function(){b.EventEmitter.emit(v.EventType.textarea.insertText,{text:"".concat(n.name,", "),focus:true})}))},onUserChangeName:function t(e){var n=this;var i=e.user,r=e.newName;var o=i.id===this.userId?"im.call.user.update":"im.call.user.force.rename";var s=i.name;this.$store.dispatch("users/update",{id:i.id,fields:{name:r,lastActivityDate:new Date}});this.$Bitrix.RestClient.get().callMethod(o,{name:r,chat_id:this.application.dialog.chatId,user_id:i.id}).then((function(){h.Logger.warn("Conference: rename completed",i.id,r);if(s===n.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_DEFAULT_USER_NAME")){n.getApplication().setUserWasRenamed()}}))["catch"]((function(t){h.Logger.error("Conference: renaming error",t);n.$store.dispatch("users/update",{id:i.id,fields:{name:s,lastActivityDate:new Date}})}))},onUserMenuPin:function t(e){var n=e.user;this.getApplication().pinUser(n)},onUserMenuUnpin:function t(){this.getApplication().unpinUser()},onUserMenuChangeBackground:function t(){this.getApplication().changeBackground()},onUserMenuOpenChat:function t(e){var n=e.user;this.getApplication().openChat(n)},onUserMenuOpenProfile:function t(e){var n=e.user;this.getApplication().openProfile(n)},getLoaderObserver:function t(){var e=this;var n={root:document.querySelector(".bx-im-component-call-right-users"),threshold:.01};var i=function t(n,i){n.forEach((function(t){if(t.isIntersecting&&t.intersectionRatio>.01){h.Logger.warn("Conference: UserList: I see loader! Load next page!");e.requestUsers()}}))};return new IntersectionObserver(i,n)},userSortFunction:function t(e,n){if(e===this.userId){return-1}if(n===this.userId){return 1}if(this.call.users[e]&&(this.call.users[e].floorRequestState||this.call.users[e].screenState)){return-1}if(this.call.users[n]&&(this.call.users[n].floorRequestState||this.call.users[n].screenState)){return 1}if(this.call.users[e]&&[v.ConferenceUserState.Ready,v.ConferenceUserState.Connected].includes(this.call.users[e].state)){return-1}if(this.call.users[n]&&[v.ConferenceUserState.Ready,v.ConferenceUserState.Connected].includes(this.call.users[n].state)){return 1}return 0},getApplication:function t(){return this.$Bitrix.Application.get()}},directives:{"bx-im-directive-user-list-observer":{inserted:function t(e,n,i){i.context.loaderObserver=i.context.getLoaderObserver();i.context.loaderObserver.observe(e);return true},unbind:function t(e,n,i){if(i.context.loaderObserver){i.context.loaderObserver.unobserve(e)}return true}}},template:'\n\t\t<div class="bx-im-component-call-user-list">\n\t\t\t\x3c!-- Loading first page --\x3e\n\t\t\t<div v-if="!firstPageLoaded" class="bx-im-component-call-user-list-loader">\n\t\t\t\t<div class="bx-im-component-call-user-list-loader-icon"></div>\n\t\t\t\t<div class="bx-im-component-call-user-list-loader-text">\n\t\t\t\t\t{{ $Bitrix.Loc.getMessage(\'BX_IM_COMPONENT_CALL_USER_LIST_LOADING_USERS\') }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t\x3c!-- Loading completed --\x3e\n\t\t\t<template v-else>\n\t\t\t\t\x3c!-- Speakers list section (if broadcast) --\x3e\n\t\t\t\t<template v-if="isBroadcast">\n\t\t\t\t\t\x3c!-- Speakers category title --\x3e\n\t\t\t\t\t<div class="bx-im-component-call-user-list-category">\n\t\t\t\t\t\t<div class="bx-im-component-call-user-list-category-text">\n\t\t\t\t\t\t\t{{ $Bitrix.Loc.getMessage(\'BX_IM_COMPONENT_CALL_USER_LIST_CATEGORY_PRESENTERS\') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="bx-im-component-call-user-list-category-counter">\n\t\t\t\t\t\t\t{{ presentersList.length }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\x3c!-- Speakers list --\x3e\n\t\t\t\t\t<div class="bx-im-component-call-user-list-items">\n\t\t\t\t\t\t<template v-for="presenter in presentersList">\n\t\t\t\t\t\t\t<UserListItem\n\t\t\t\t\t\t\t\t@userChangeName="onUserChangeName"\n\t\t\t\t\t\t\t\t@userKick="onUserMenuKick"\n\t\t\t\t\t\t\t\t@userInsertName="onUserMenuInsertName"\n\t\t\t\t\t\t\t\t@userPin="onUserMenuPin"\n\t\t\t\t\t\t\t\t@userUnpin="onUserMenuUnpin"\n\t\t\t\t\t\t\t\t@userChangeBackground="onUserMenuChangeBackground"\n\t\t\t\t\t\t\t\t@userOpenChat="onUserMenuOpenChat"\n\t\t\t\t\t\t\t\t@userOpenProfile="onUserMenuOpenProfile"\n\t\t\t\t\t\t\t\t:userId="presenter"\n\t\t\t\t\t\t\t\t:key="presenter"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t\x3c!-- Participants list section (if there are any users) --\x3e\n\t\t\t\t<template v-if="usersList.length > 0">\n\t\t\t\t\t\x3c!-- Show participants category title if broadcast --\x3e\n\t\t\t\t\t<div v-if="isBroadcast" class="bx-im-component-call-user-list-category bx-im-component-call-user-list-category-participants">\n\t\t\t\t\t\t<div class="bx-im-component-call-user-list-category-text">\n\t\t\t\t\t\t\t{{ $Bitrix.Loc.getMessage(\'BX_IM_COMPONENT_CALL_USER_LIST_CATEGORY_PARTICIPANTS\') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="bx-im-component-call-user-list-category-counter">\n\t\t\t\t\t\t\t{{ usersList.length }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\x3c!-- Participants list --\x3e\n\t\t\t\t\t<div class="bx-im-component-call-user-list-items">\n\t\t\t\t\t\t<template v-for="user in usersList">\n\t\t\t\t\t\t\t<UserListItem\n\t\t\t\t\t\t\t\t@userChangeName="onUserChangeName"\n\t\t\t\t\t\t\t\t@userKick="onUserMenuKick"\n\t\t\t\t\t\t\t\t@userInsertName="onUserMenuInsertName" \n\t\t\t\t\t\t\t\t@userPin="onUserMenuPin"\n\t\t\t\t\t\t\t\t@userUnpin="onUserMenuUnpin"\n\t\t\t\t\t\t\t\t@userChangeBackground="onUserMenuChangeBackground"\n\t\t\t\t\t\t\t\t@userOpenChat="onUserMenuOpenChat"\n\t\t\t\t\t\t\t\t@userOpenProfile="onUserMenuOpenProfile"\n\t\t\t\t\t\t\t\t:userId="user"\n\t\t\t\t\t\t\t\t:key="user" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t\x3c!-- Next page loader --\x3e\n\t\t\t\t<div v-if="hasMoreToLoad" v-bx-im-directive-user-list-observer class="bx-im-component-call-user-list-loader">\n\t\t\t\t\t<div class="bx-im-component-call-user-list-loader-icon"></div>\n\t\t\t\t\t<div class="bx-im-component-call-user-list-loader-text">\n\t\t\t\t\t\t{{ $Bitrix.Loc.getMessage(\'BX_IM_COMPONENT_CALL_USER_LIST_LOADING_USERS\') }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\t\n\t\t</div>\n\t'};function ot(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function st(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ot(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ot(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var at={computed:st({userId:function t(){return this.application.common.userId},isCurrentUserOwner:function t(){if(!this.dialog){return false}return this.dialog.ownerId===this.userId}},g.Vuex.mapState({user:function t(e){return e.users.collection[e.application.common.userId]},application:function t(e){return e.application},conference:function t(e){return e.conference},dialog:function t(e){return e.dialogues.collection[e.application.dialog.dialogId]}})),methods:{onCloseUsers:function t(){this.getApplication().toggleUserList()},openMenu:function t(){var e=this;if(this.menuPopup){this.closeMenu();return false}this.menuPopup=C.MenuManager.create({id:"bx-im-component-call-user-list-header-popup",bindElement:this.$refs["user-list-header-menu"],items:this.getMenuItems(),events:{onPopupClose:function t(){return e.menuPopup.destroy()},onPopupDestroy:function t(){return e.menuPopup=null}}});this.menuPopup.show()},closeMenu:function t(){this.menuPopup.destroy();this.menuPopup=null},getMenuItems:function t(){var e=this;var n=[{text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_HEADER_MENU_COPY_LINK"),onclick:function t(){e.closeMenu();e.onMenuCopyLink()}}];if(this.isCurrentUserOwner){n.push({text:this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_USER_LIST_HEADER_MENU_CHANGE_LINK"),onclick:function t(){e.closeMenu();e.onMenuChangeLink()}})}return n},onMenuCopyLink:function t(){var e=this.dialog["public"].link;_.Clipboard.copy(e);var n=this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_LINK_COPIED");BX.UI.Notification.Center.notify({content:n,autoHideDelay:4e3})},onMenuChangeLink:function t(){var e=this;var n=this.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_CHANGE_LINK_CONFIRM_TEXT");this.changeLinkConfirm=x.MessageBox.create({message:n,modal:true,buttons:x.MessageBoxButtons.OK_CANCEL,onOk:function t(){e.changeLink();e.changeLinkConfirm.getPopupWindow().destroy()},onCancel:function t(){e.changeLinkConfirm.getPopupWindow().destroy()}});this.changeLinkConfirm.show()},changeLink:function t(){var e=this;this.getApplication().changeLink().then((function(){var t=e.$Bitrix.Loc.getMessage("BX_IM_COMPONENT_CALL_LINK_CHANGED");BX.UI.Notification.Center.notify({content:t,autoHideDelay:4e3})}))["catch"]((function(t){console.error("Conference: change link error",t)}))},getApplication:function t(){return this.$Bitrix.Application.get()}},template:'\n\t\t<div class="bx-im-component-call-right-header">\n\t\t\t<div class="bx-im-component-call-right-header-left">\n\t\t\t\t<div @click="onCloseUsers" class="bx-im-component-call-right-header-close" :title="$Bitrix.Loc.getMessage[\'BX_IM_COMPONENT_CALL_CHAT_CLOSE_TITLE\']"></div>\n\t\t\t<div class="bx-im-component-call-right-header-title">{{ $Bitrix.Loc.getMessage(\'BX_IM_COMPONENT_CALL_USERS_LIST_TITLE\') }}</div>\n\t\t\t</div>\n\t\t\t<div class="bx-im-component-call-right-header-right">\n\t\t\t\t<div @click="openMenu" class="bx-im-component-call-user-list-header-more" ref="user-list-header-menu"></div>\t\n\t\t\t</div>\n\t\t</div>\n\t'};function ct(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function lt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ct(Object(n),!0).forEach((function(e){babelHelpers.defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ct(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var ut=Object.freeze({preparation:"preparation"});p.BitrixVue.component("bx-im-component-conference-public",{components:{Error:I,CheckDevices:P,OrientationDisabled:T,PasswordCheck:y,LoadingStatus:w,RequestPermissions:D,MobileChatButton:X,ConferenceInfo:F,UserForm:q,ChatHeader:G,WaitingForStart:Z,UserList:rt,UserListHeader:at,ConferenceSmiles:E},props:{dialogId:{type:String,default:"0"}},data:function t(){return{waitingForStart:false,popupMode:ut.preparation,viewPortMetaNode:null,chatDrag:false,rightPanelSplitMode:{usersHeight:50,chatHeight:50,chatMinHeight:30,chatMaxHeight:80}}},created:function t(){this.initEventHandlers();b.EventEmitter.subscribe(v.EventType.conference.waitForStart,this.onWaitForStart);b.EventEmitter.subscribe(v.EventType.conference.hideSmiles,this.onHideSmiles);if(this.isMobile()){this.setMobileMeta()}else{document.body.classList.add("bx-im-application-call-desktop-state")}if(!this.isDesktop()){window.addEventListener("beforeunload",this.onBeforeUnload.bind(this))}},mounted:function t(){if(!this.isHttps()){this.getApplication().setError(v.ConferenceErrorCode.unsafeConnection)}if(!this.passwordChecked){b.EventEmitter.emit(v.EventType.conference.setPasswordFocus)}},beforeDestroy:function t(){this.destroyHandlers();b.EventEmitter.unsubscribe(v.EventType.conference.waitForStart,this.onWaitForStart);b.EventEmitter.unsubscribe(v.EventType.conference.hideSmiles,this.onHideSmiles);clearInterval(this.durationInterval)},computed:lt({EventType:function t(){return v.EventType},RightPanelMode:function t(){return v.ConferenceRightPanelMode},userId:function t(){return this.application.common.userId},dialogInited:function t(){if(this.dialog){return this.dialog.init}},conferenceStarted:function t(){return this.conference.common.conferenceStarted},userInited:function t(){return this.conference.common.inited},userHasRealName:function t(){if(this.user){return this.user.name!==this.localize["BX_IM_COMPONENT_CALL_DEFAULT_USER_NAME"]}return false},rightPanelMode:function t(){return this.conference.common.rightPanelMode},userListClasses:function t(){var e=[];if(this.rightPanelMode==="split"){e.push("bx-im-component-call-right-top")}else if(this.rightPanelMode==="users"){e.push("bx-im-component-call-right-full")}return e},userListStyles:function t(){if(this.rightPanelMode!==v.ConferenceRightPanelMode.split){return{}}return{height:"".concat(this.rightPanelSplitMode.usersHeight,"%")}},chatClasses:function t(){var e=[];if(this.rightPanelMode==="split"){e.push("bx-im-component-call-right-bottom")}else if(this.rightPanelMode==="chat"){e.push("bx-im-component-call-right-full")}return e},chatStyles:function t(){if(this.rightPanelMode!==v.ConferenceRightPanelMode.split){return{}}return{height:"".concat(this.rightPanelSplitMode.chatHeight,"%")}},isChatShowed:function t(){return this.conference.common.showChat},isPreparationStep:function t(){return this.conference.common.state===v.ConferenceStateType.preparation},isBroadcast:function t(){return this.conference.common.isBroadcast},presentersList:function t(){return this.conference.common.presenters},isCurrentUserPresenter:function t(){return this.presentersList.includes(this.userId)},errorCode:function t(){return this.conference.common.error},passwordChecked:function t(){return this.conference.common.passChecked},permissionsRequested:function t(){return this.conference.common.permissionsRequested},callContainerClasses:function t(){return[this.conference.common.callEnded?"with-clouds":""]},wrapClasses:function t(){var e=["bx-im-component-call-wrap"];if(this.isMobile()&&this.isBroadcast&&!this.isCurrentUserPresenter&&this.isPreparationStep){e.push("bx-im-component-call-mobile-viewer-mode")}return e},chatId:function t(){if(this.application){return this.application.dialog.chatId}return 0},localize:function t(){return p.BitrixVue.getFilteredPhrases(["BX_IM_COMPONENT_CALL_","IM_DIALOG_CLIPBOARD_"])}},g.Vuex.mapState({conference:function t(e){return e.conference},application:function t(e){return e.application},user:function t(e){return e.users.collection[e.application.common.userId]},dialog:function t(e){return e.dialogues.collection[e.application.dialog.dialogId]}})),watch:{isChatShowed:function t(e){var n=this;if(this.isMobile()){return false}if(e===true){this.$nextTick((function(){b.EventEmitter.emit(v.EventType.dialog.scrollOnStart,{chatId:n.chatId});b.EventEmitter.emit(v.EventType.textarea.setFocus)}))}},rightPanelMode:function t(e){var n=this;if(e===v.ConferenceRightPanelMode.chat||e===v.ConferenceRightPanelMode.split){this.$nextTick((function(){b.EventEmitter.emit(v.EventType.dialog.scrollOnStart,{chatId:n.chatId});b.EventEmitter.emit(v.EventType.textarea.setFocus)}))}},dialogInited:function t(e){if(e===true){this.getApplication().setDialogInited()}},userInited:function t(e){if(e===true&&this.isDesktop()&&this.passwordChecked){this.$nextTick((function(){b.EventEmitter.emit(v.EventType.conference.requestPermissions)}))}},user:function t(){if(this.user&&this.userHasRealName){this.getApplication().setUserWasRenamed()}}},methods:{initEventHandlers:function t(){this.sendMessageHandler=new i.SendMessageHandler(this.$Bitrix);this.textareaHandler=new O(this.$Bitrix);this.readingHandler=new i.ReadingHandler(this.$Bitrix);this.reactionHandler=new i.ReactionHandler(this.$Bitrix);this.textareaUploadHandler=new M(this.$Bitrix)},destroyHandlers:function t(){this.sendMessageHandler.destroy();this.textareaHandler.destroy();this.readingHandler.destroy();this.reactionHandler.destroy();this.textareaUploadHandler.destroy()},onHideSmiles:function t(){this.getApplication().toggleSmiles()},onBeforeUnload:function t(e){if(!this.getApplication().callView){return}if(!this.isPreparationStep){e.preventDefault();e.returnValue=""}},onSmilesSelectSmile:function t(e){b.EventEmitter.emit(v.EventType.textarea.insertText,{text:e.text})},onSmilesSelectSet:function t(){b.EventEmitter.emit(v.EventType.textarea.setFocus)},onWaitForStart:function t(){this.waitingForStart=true},onChatStartDrag:function t(e){if(this.chatDrag){return}this.chatDrag=true;this.chatDragStartPoint=e.clientY;this.chatDragStartHeight=this.rightPanelSplitMode.chatHeight;this.addChatDragEvents()},onChatContinueDrag:function t(e){if(!this.chatDrag){return}this.chatDragControlPoint=e.clientY;var n=document.body.clientHeight;var i=n*(this.rightPanelSplitMode.chatMaxHeight/100);var r=n*(this.rightPanelSplitMode.chatMinHeight/100);var o=n*(this.chatDragStartHeight/100);var s=Math.max(Math.min(o+this.chatDragStartPoint-this.chatDragControlPoint,i),r);var a=s/n*100;if(this.rightPanelSplitMode.chatHeight!==a){this.rightPanelSplitMode.chatHeight=a;this.rightPanelSplitMode.usersHeight=100-a}},onChatStopDrag:function t(e){if(!this.chatDrag){return}this.chatDrag=false;this.removeChatDragEvents();b.EventEmitter.emit(v.EventType.dialog.scrollToBottom,{chatId:this.chatId,force:true})},addChatDragEvents:function t(){document.addEventListener("mousemove",this.onChatContinueDrag);document.addEventListener("mouseup",this.onChatStopDrag);document.addEventListener("mouseleave",this.onChatStopDrag)},removeChatDragEvents:function t(){document.removeEventListener("mousemove",this.onChatContinueDrag);document.removeEventListener("mouseup",this.onChatStopDrag);document.removeEventListener("mouseleave",this.onChatStopDrag)},isMobile:function t(){return f.Utils.device.isMobile()},isDesktop:function t(){return f.Utils.platform.isBitrixDesktop()},setMobileMeta:function t(){if(!this.viewPortMetaNode){this.viewPortMetaNode=document.createElement("meta");this.viewPortMetaNode.setAttribute("name","viewport");this.viewPortMetaNode.setAttribute("content","width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0");document.head.appendChild(this.viewPortMetaNode)}document.body.classList.add("bx-im-application-call-mobile-state");if(f.Utils.browser.isSafariBased()){document.body.classList.add("bx-im-application-call-mobile-safari-based")}},isHttps:function t(){return location.protocol==="https:"},getUserHash:function t(){return this.conference.user.hash},getApplication:function t(){return this.$Bitrix.Application.get()}},template:'\n\t<div :class="wrapClasses">\n\t\t<div class="bx-im-component-call">\n\t\t\t<div class="bx-im-component-call-left">\n\t\t\t\t<div id="bx-im-component-call-container" :class="callContainerClasses"></div>\n\t\t\t\t<div v-if="isPreparationStep" class="bx-im-component-call-left-preparation">\n\t\t\t\t\t\x3c!-- Step 1: Errors page --\x3e\n\t\t\t\t\t<Error v-if="errorCode"/>\n\t\t\t\t\t\x3c!-- Step 2: Password page --\x3e\n\t\t\t\t\t<PasswordCheck v-else-if="!passwordChecked"/>\n\t\t\t\t\t<template v-else-if="!errorCode && passwordChecked">\n\t\t\t\t\t\t\x3c!-- Step 3: Loading page --\x3e\n\t\t\t\t\t\t<LoadingStatus v-if="!userInited"/>\n\t\t\t\t\t\t<template v-else-if="userInited">\n\t\t\t\t\t\t\t\x3c!-- BROADCAST MODE --\x3e\n\t\t\t\t\t\t \t<template v-if="isBroadcast">\n\t\t\t\t\t\t \t\t<template v-if="!isDesktop() && !permissionsRequested && isCurrentUserPresenter">\n\t\t\t\t\t\t\t\t\t<ConferenceInfo/>\n\t\t\t\t\t\t\t\t\t<RequestPermissions>\n\t\t\t\t\t\t\t\t\t\t<template v-if="isMobile()">\n\t\t\t\t\t\t\t\t\t\t\t<MobileChatButton/>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</RequestPermissions>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\x3c!-- Skip permissions request for desktop and show button with loader --\x3e\n\t\t\t\t\t\t\t\t<template v-if="isDesktop() && (!permissionsRequested || !user) && isCurrentUserPresenter">\n\t\t\t\t\t\t\t\t\t<ConferenceInfo/>\n\t\t\t\t\t\t\t\t\t<RequestPermissions :skipRequest="true"/>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\x3c!-- Step 5: Page with video and mic check --\x3e\n\t\t\t\t\t\t\t\t<div v-if="permissionsRequested || !isCurrentUserPresenter" class="bx-im-component-call-video-step-container">\n\t\t\t\t\t\t\t\t\t\x3c!-- Compact conference info --\x3e\n\t\t\t\t\t\t\t\t\t<ConferenceInfo :compactMode="true"/>\n\t\t\t\t\t\t\t\t\t<CheckDevices v-if="isCurrentUserPresenter" />\n\t\t\t\t\t\t\t\t\t\x3c!-- Bottom part of interface --\x3e\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-bottom-container">\n\t\t\t\t\t\t\t\t\t\t<UserForm v-if="!waitingForStart"/>\n\t\t\t\t\t\t\t\t\t\t<WaitingForStart v-else>\n\t\t\t\t\t\t\t\t\t\t\t<template v-if="isMobile()">\n\t\t\t\t\t\t\t\t\t\t\t\t<MobileChatButton/>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</WaitingForStart>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\x3c!-- END BROADCAST MODE --\x3e\n\t\t\t\t\t\t\t\x3c!-- NORMAL MODE (NOT BROADCAST) --\x3e\n\t\t\t\t\t\t \t<template v-else-if="!isBroadcast">\n\t\t\t\t\t\t\t\t\x3c!-- Step 4: Permissions page --\x3e\n\t\t\t\t\t\t\t\t<template v-if="!isDesktop() && !permissionsRequested">\n\t\t\t\t\t\t\t\t\t<ConferenceInfo/>\n\t\t\t\t\t\t\t\t\t<RequestPermissions>\n\t\t\t\t\t\t\t\t\t\t<template v-if="isMobile()">\n\t\t\t\t\t\t\t\t\t\t\t<MobileChatButton/>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</RequestPermissions>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\x3c!-- Skip permissions request for desktop and show button with loader --\x3e\n\t\t\t\t\t\t\t\t<template v-if="isDesktop() && (!permissionsRequested || !user)">\n\t\t\t\t\t\t\t\t\t<ConferenceInfo/>\n\t\t\t\t\t\t\t\t\t<RequestPermissions :skipRequest="true"/>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\x3c!-- Step 5: Page with video and mic check --\x3e\n\t\t\t\t\t\t\t\t<div v-else-if="permissionsRequested" class="bx-im-component-call-video-step-container">\n\t\t\t\t\t\t\t\t\t\x3c!-- Compact conference info --\x3e\n\t\t\t\t\t\t\t\t\t<ConferenceInfo :compactMode="true"/>\n\t\t\t\t\t\t\t\t\t<CheckDevices/>\n\t\t\t\t\t\t\t\t\t\x3c!-- Bottom part of interface --\x3e\n\t\t\t\t\t\t\t\t\t<div class="bx-im-component-call-bottom-container">\n\t\t\t\t\t\t\t\t\t\t<UserForm v-if="!waitingForStart"/>\n\t\t\t\t\t\t\t\t\t\t<WaitingForStart v-else>\n\t\t\t\t\t\t\t\t\t\t\t<template v-if="isMobile()">\n\t\t\t\t\t\t\t\t\t\t\t\t<MobileChatButton/>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</WaitingForStart>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\x3c!-- END NORMAL MODE (NOT BROADCAST) --\x3e\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<template v-if="userInited && !errorCode">\n\t\t\t\t<transition :name="!isMobile()? \'videoconf-chat-slide\': \'\'">\n\t\t\t\t\t<div v-show="rightPanelMode !== RightPanelMode.hidden" class="bx-im-component-call-right">\n\t\t\t\t\t\t\x3c!-- Start users list --\x3e\n\t\t\t\t\t\t<div v-show="rightPanelMode === RightPanelMode.split || rightPanelMode === RightPanelMode.users" :class="userListClasses" :style="userListStyles">\n\t\t\t\t\t\t\t<UserListHeader />\n\t\t\t\t\t\t\t<div class="bx-im-component-call-right-users">\n\t\t\t\t\t\t\t\t<UserList />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\x3c!-- End users list --\x3e\n\t\t\t\t\t\t\x3c!-- Start chat --\x3e\n\t\t\t\t\t\t<div v-show="rightPanelMode === RightPanelMode.split || rightPanelMode === RightPanelMode.chat" :class="chatClasses" :style="chatStyles">\n\t\t\t\t\t\t\t\x3c!-- Resize handler --\x3e\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-if="rightPanelMode === RightPanelMode.split"\n\t\t\t\t\t\t\t\t@mousedown="onChatStartDrag"\n\t\t\t\t\t\t\t\tclass="bx-im-component-call-right-bottom-resize-handle"\n\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t<ChatHeader />\n\t\t\t\t\t\t\t<div class="bx-im-component-call-right-chat">\n\t\t\t\t\t\t\t\t<bx-im-component-dialog\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/>\n\t\t\t\t\t\t\t\t<keep-alive include="bx-im-component-call-smiles">\n\t\t\t\t\t\t\t\t\t<ConferenceSmiles\n\t\t\t\t\t\t\t\t\t\tv-if="conference.common.showSmiles"\n\t\t\t\t\t\t\t\t\t\t@selectSmile="onSmilesSelectSmile"\n\t\t\t\t\t\t\t\t\t\t@selectSet="onSmilesSelectSet"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</keep-alive>\n\t\t\t\t\t\t\t\t<div v-if="user" class="bx-im-component-call-textarea">\n\t\t\t\t\t\t\t\t\t<bx-im-component-textarea\n\t\t\t\t\t\t\t\t\t\t:userId="userId"\n\t\t\t\t\t\t\t\t\t\t:dialogId="dialogId"\n\t\t\t\t\t\t\t\t\t\t:writesEventLetter="3"\n\t\t\t\t\t\t\t\t\t\t:enableFile="true"\n\t\t\t\t\t\t\t\t\t\t:enableEdit="true"\n\t\t\t\t\t\t\t\t\t\t:enableCommand="false"\n\t\t\t\t\t\t\t\t\t\t:enableMention="false"\n\t\t\t\t\t\t\t\t\t\t:autoFocus="true"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\x3c!-- End chat --\x3e\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</transition>\n\t\t\t</template>\n\t\t</div>\n\t</div>\n\t'})})(this.BX.Messenger=this.BX.Messenger||{},BX,BX,BX.Messenger,BX.Messenger,window,BX,window,BX,BX,BX.Messenger.Lib,BX.Messenger,BX.Messenger.Lib,BX,BX.Messenger.Lib,BX.Messenger.Lib,BX.Messenger.Const,BX.Event,BX,BX.Main,BX.Messenger.Lib,BX.UI.Dialogs); //# sourceMappingURL=conference-public.bundle.map.js
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.24 |
proxy
|
phpinfo
|
Settings