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/textarea/dist/ |
Upload File : |
(function(e,t,n,i,s,a,r,o,l){"use strict";function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){babelHelpers.defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}n.BitrixVue.component("bx-im-component-textarea",{props:{siteId:{default:"default"},userId:{default:0},dialogId:{default:0},enableCommand:{default:true},enableMention:{default:true},desktopMode:{default:false},enableEdit:{default:false},enableFile:{default:false},sendByEnter:{default:true},autoFocus:{default:null},writesEventLetter:{default:0},styles:{type:Object,default:function e(){return{}}}},data:function e(){return{placeholderMessage:"",currentMessage:"",previousMessage:"",commandListen:false,mentionListen:false,stylesDefault:Object.freeze({button:{backgroundColor:null,iconColor:null}})}},created:function e(){o.EventEmitter.subscribe(l.EventType.textarea.insertText,this.onInsertText);o.EventEmitter.subscribe(l.EventType.textarea.setFocus,this.onFocusSet);o.EventEmitter.subscribe(l.EventType.textarea.setBlur,this.onFocusClear);this.localStorage=i.LocalStorage;this.textareaHistory=this.localStorage.get(this.siteId,this.userId,"textarea-history",{});this.currentMessage=this.textareaHistory[this.dialogId]||"";this.placeholderMessage=this.currentMessage},beforeDestroy:function e(){o.EventEmitter.unsubscribe(l.EventType.textarea.insertText,this.onInsertText);o.EventEmitter.unsubscribe(l.EventType.textarea.setFocus,this.onFocusSet);o.EventEmitter.unsubscribe(l.EventType.textarea.setBlur,this.onFocusClear);clearTimeout(this.messageStoreTimeout);this.localStorage.set(this.siteId,this.userId,"textarea-history",this.textareaHistory);this.localStorage=null},computed:c({textareaClassName:function e(){return["bx-im-textarea",{"bx-im-textarea-dark-background":this.isDarkBackground,"bx-im-textarea-mobile":this.isMobile}]},buttonStyle:function e(){var t=Object.assign({},this.stylesDefault,this.styles);var n=false;if(t.button.iconColor){n=s.Utils.isDarkColor(t.button.iconColor)}else{n=!s.Utils.isDarkColor(t.button.backgroundColor)}t.button.className=n?"bx-im-textarea-send-button":"bx-im-textarea-send-button bx-im-textarea-send-button-bright-arrow";t.button.style=t.button.backgroundColor?"background-color: "+t.button.backgroundColor+";":"";return t},isDarkBackground:function e(){return this.application.options.darkBackground},isMobile:function e(){return this.application.device.type===l.DeviceType.mobile},localize:function e(){return n.BitrixVue.getFilteredPhrases("BX_MESSENGER_TEXTAREA_",this)},isIE11:function e(){return a.Browser.isIE11()}},r.Vuex.mapState({application:function e(t){return t.application}})),directives:{"bx-im-focus":{inserted:function e(t,n){if(n.value===true||n.value===null&&!this.isMobile){t.focus()}}}},methods:{insertText:function e(t){var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"current";var s=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"after";var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var r=this.$refs.textarea;var o=r.selectionStart;var l=r.selectionEnd;if(i=="start"){if(n){t=t+"\n"}r.value=t+r.value;if(a){if(s=="after"){r.selectionStart=t.length;r.selectionEnd=r.selectionStart}else if(s=="before"){r.selectionStart=0;r.selectionEnd=r.selectionStart}}}else if(i=="current"){if(n){if(r.value.substring(0,o).trim().length>0){t="\n"+t}t=t+"\n"}else{if(r.value&&!r.value.endsWith(" ")){t=" "+t}}r.value=r.value.substring(0,o)+t+r.value.substring(l,r.value.length);if(a){if(s=="after"){r.selectionStart=o+t.length;r.selectionEnd=r.selectionStart}else if(s=="before"){r.selectionStart=o;r.selectionEnd=r.selectionStart}}}else if(i=="end"){if(n){if(r.value.substring(0,o).trim().length>0){t="\n"+t}t=t+"\n"}else{if(r.value&&!r.value.endsWith(" ")){t=" "+t}}r.value=r.value+t;if(a){if(s=="after"){r.selectionStart=r.value.length;r.selectionEnd=r.selectionStart}else if(s=="before"){r.selectionStart=r.value.length-t.length;r.selectionEnd=r.selectionStart}}}if(a){if(s=="start"){r.selectionStart=0;r.selectionEnd=0}else if(s=="end"){r.selectionStart=r.value.length;r.selectionEnd=r.selectionStart}r.focus()}this.textChangeEvent()},sendMessage:function e(t){t.preventDefault();o.EventEmitter.emit(l.EventType.textarea.sendMessage,{text:this.currentMessage.trim()});var n=this.$refs.textarea;if(n){n.value=""}if(this.autoFocus===null||this.autoFocus){n.focus()}this.textChangeEvent()},textChangeEvent:function e(){var t=this;var n=this.$refs.textarea;if(!n){return}var i=n.value.trim();if(this.currentMessage===i){return}if(this.writesEventLetter<=i.length){o.EventEmitter.emit(l.EventType.textarea.startWriting,{text:i})}this.previousMessage=this.currentMessage;this.previousSelectionStart=n.selectionStart;this.previousSelectionEnd=this.previousSelectionStart;this.currentMessage=i;if(i.toString().length>0){this.textareaHistory[this.dialogId]=i}else{delete this.textareaHistory[this.dialogId]}clearTimeout(this.messageStoreTimeout);this.messageStoreTimeout=setTimeout((function(){t.localStorage.set(t.siteId,t.userId,"textarea-history",t.textareaHistory,t.userId?0:10)}),500)},onKeyDown:function e(t){this.$emit("keydown",t);var n=t.target;var i=n.value.trim();var a=s.Utils.platform.isMac();var r=s.Utils.platform.isBitrixDesktop()||!s.Utils.browser.isChrome();if(this.commandListen);else if(this.mentionListen);else if(!(t.altKey&&t.ctrlKey)){if(this.enableMention&&t.shiftKey&&(t.keyCode==61||t.keyCode==50||t.keyCode==187||t.keyCode==187)||t.keyCode==107);else if(this.enableCommand&&(t.keyCode==191||t.keyCode==111||t.keyCode==220));}if(t.keyCode==27){if(n.value!=""&&n===document.activeElement){t.preventDefault();t.stopPropagation()}if(t.shiftKey){n.value=""}}else if(t.metaKey||t.ctrlKey){if(r&&t.key==="t"||!r&&t.key==="e"){t.preventDefault()}else if(["b","s","i","u"].includes(t.key)){var u=n.selectionStart;var c=n.selectionEnd;var f="["+t.key.toLowerCase()+"]";var v="[/"+t.key.toLowerCase()+"]";var d=n.value.substring(u,c);if(d.startsWith(f)&&d.endsWith(v)){d=d.substring(f.length,d.indexOf(v))}else{d=f+d+v}n.value=n.value.substring(0,u)+d+n.value.substring(c,n.value.length);n.selectionStart=u;n.selectionEnd=u+d.length;t.preventDefault()}}if(t.keyCode==9){this.insertText("\t");t.preventDefault()}else if(this.enableEdit&&t.keyCode==38&&i.length<=0){o.EventEmitter.emit(l.EventType.textarea.edit,{})}else if(t.keyCode==13){if(this.isMobile);else if(this.sendByEnter==true){if(t.ctrlKey||t.altKey||t.shiftKey){if(!t.shiftKey){this.insertText("\n")}}else if(i.length<=0){t.preventDefault()}else{this.sendMessage(t)}}else{if(t.ctrlKey==true){this.sendMessage(t)}else if(a&&(t.metaKey==true||t.altKey==true)){this.sendMessage(t)}}}else if((t.ctrlKey||t.metaKey)&&t.key=="z"){if(this.previousMessage){n.value=this.previousMessage;n.selectionStart=this.previousSelectionStart;n.selectionEnd=this.previousSelectionEnd;this.previousMessage="";t.preventDefault()}}},onKeyUp:function e(t){o.EventEmitter.emit(l.EventType.textarea.keyUp,{event:t,text:this.currentMessage});this.textChangeEvent()},onPaste:function e(t){this.$nextTick(this.textChangeEvent)},onInput:function e(t){this.textChangeEvent()},onFocus:function e(t){o.EventEmitter.emit(l.EventType.textarea.focus,t)},onBlur:function e(t){o.EventEmitter.emit(l.EventType.textarea.blur,t)},onAppButtonClick:function e(t,n){o.EventEmitter.emit(l.EventType.textarea.appButtonClick,{appId:t,event:n})},onInsertText:function e(t){var n=t.data,i=n===void 0?{}:n;if(!i.text){return false}this.insertText(i.text,i.breakline,i.position,i.cursor,i.focus);o.EventEmitter.emit(l.EventType.textarea.keyUp,{event:i,text:this.currentMessage});return true},onFocusSet:function e(){this.$refs.textarea.focus();return true},onFocusClear:function e(){this.$refs.textarea.blur();return true},onFileClick:function e(t){t.target.value=""},onFileSelect:function e(t){o.EventEmitter.emit(l.EventType.textarea.fileSelected,{fileChangeEvent:t,fileInput:t.target})},log:function e(t,n,i){console.warn(t);if(n==1){i.preventDefault()}},preventDefault:function e(t){t.preventDefault()}},template:'\n\t\t<div :class="textareaClassName">\n\t\t\t<div class="bx-im-textarea-box">\n\t\t\t\t<textarea ref="textarea" class="bx-im-textarea-input" @keydown="onKeyDown" @keyup="onKeyUp" @paste="onPaste" @input="onInput" @focus="onFocus" @blur="onBlur" v-bx-im-focus="autoFocus" :placeholder="localize.BX_MESSENGER_TEXTAREA_PLACEHOLDER">{{placeholderMessage}}</textarea>\n\t\t\t\t<transition enter-active-class="bx-im-textarea-send-button-show" leave-active-class="bx-im-textarea-send-button-hide">\n\t\t\t\t\t<button \n\t\t\t\t\t\tv-if="currentMessage" \n\t\t\t\t\t\t:class="buttonStyle.button.className" \n\t\t\t\t\t\t:style="buttonStyle.button.style" \n\t\t\t\t\t\t:title="localize.BX_MESSENGER_TEXTAREA_BUTTON_SEND"\n\t\t\t\t\t\t@click="sendMessage" \n\t\t\t\t\t\t@touchend="sendMessage" \n\t\t\t\t\t\t@mousedown="preventDefault" \n\t\t\t\t\t\t@touchstart="preventDefault" \n\t\t\t\t\t/>\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t\t<div class="bx-im-textarea-app-box">\n\t\t\t\t<label v-if="enableFile && !isIE11" class="bx-im-textarea-app-button bx-im-textarea-app-file" :title="localize.BX_MESSENGER_TEXTAREA_FILE">\n\t\t\t\t\t<input type="file" @click="onFileClick($event)" @change="onFileSelect($event)" multiple>\n\t\t\t\t</label>\n\t\t\t\t<button class="bx-im-textarea-app-button bx-im-textarea-app-smile" :title="localize.BX_MESSENGER_TEXTAREA_SMILE" @click="onAppButtonClick(\'smile\', $event)"></button>\n\t\t\t\t<button v-if="false" class="bx-im-textarea-app-button bx-im-textarea-app-gif" :title="localize.BX_MESSENGER_TEXTAREA_GIPHY" @click="onAppButtonClick(\'giphy\', $event)"></button>\n\t\t\t</div>\n\t\t</div>\n\t'})})(this.window=this.window||{},BX,BX,BX.Messenger.Lib,BX.Messenger.Lib,BX,BX,BX.Event,BX.Messenger.Const); //# sourceMappingURL=textarea.bundle.map.js