File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/im/view/textarea/dist/textarea.bundle.js.map
Back
{"version":3,"file":"textarea.bundle.js","sources":["../src/textarea.js"],"sourcesContent":["/**\n * Bitrix Messenger\n * Textarea Vue component\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2019 Bitrix\n */\n\nimport './textarea.css';\nimport {Vue} from \"ui.vue\";\nimport {LocalStorage} from \"im.lib.localstorage\";\nimport {Utils} from \"im.lib.utils\";\nimport {Browser} from 'main.core';\n\nVue.component('bx-im-view-textarea',\n{\n\t/**\n\t * @emits 'send' {text: string}\n\t * @emits 'edit' {}\n\t * @emits 'writes' {text: string}\n\t * @emits 'focus' {event: object} -- 'event' - focus event\n\t * @emits 'blur' {event: object} -- 'event' - blur event\n\t * @emits 'keyup' {event: object} -- 'event' - keyup event\n\t * @emits 'keydown' {event: object} -- 'event' - keydown event\n\t * @emits 'appButtonClick' {appId: string, event: object} -- 'appId' - application name, 'event' - event click\n\t * @emits 'fileSelected' {fileInput: domNode} -- 'fileInput' - dom node element\n\t */\n\n\t/**\n\t * @listens props.listenEventInsertText {text: string, breakline: boolean, position: string, cursor: string, focus: boolean} (global|application) -- insert text to textarea, see more in methods.insertText()\n\t * @listens props.listenEventFocus {} (global|application) -- set focus on textarea\n\t * @listens props.listenEventBlur {} (global|application) -- clear focus on textarea\n\t */\n\n\tprops:\n\t{\n\t\tsiteId: { default: 'default' },\n\t\tuserId: { default: 0 },\n\t\tdialogId: { default: 0 },\n\t\tenableCommand: { default: true },\n\t\tenableMention: { default: true },\n\t\tdesktopMode: { default: false },\n\t\tenableEdit: { default: false },\n\t\tenableFile: { default: false },\n\t\tsendByEnter: { default: true },\n\t\tautoFocus: { default: null },\n\t\twritesEventLetter: { default: 0 },\n\t\tstyles: {\n\t\t\ttype: Object,\n\t\t\tdefault: function () {\n\t\t\t\treturn {}\n\t\t\t}\n\t\t},\n\t\tlistenEventInsertText: { default: '' },\n\t\tlistenEventFocus: { default: '' },\n\t\tlistenEventBlur: { default: '' },\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tplaceholderMessage: '',\n\t\t\tcurrentMessage: '',\n\t\t\tpreviousMessage: '',\n\t\t\tcommandListen: false,\n\t\t\tmentionListen: false,\n\t\t\tstylesDefault: Object.freeze({button: { backgroundColor: null, iconColor: null }})\n\t\t}\n\t},\n\tcreated()\n\t{\n\t\tif (this.listenEventInsertText)\n\t\t{\n\t\t\tVue.event.$on(this.listenEventInsertText, this.onInsertText);\n\t\t\tthis.$root.$on(this.listenEventInsertText, this.onInsertText);\n\t\t}\n\t\tif (this.listenEventFocus)\n\t\t{\n\t\t\tVue.event.$on(this.listenEventFocus, this.onFocusSet);\n\t\t\tthis.$root.$on(this.listenEventFocus, this.onFocusSet);\n\t\t}\n\t\tif (this.listenEventBlur)\n\t\t{\n\t\t\tVue.event.$on(this.listenEventBlur, this.onFocusClear);\n\t\t\tthis.$root.$on(this.listenEventBlur, this.onFocusClear);\n\t\t}\n\n\t\tthis.localStorage = LocalStorage;\n\n\t\tthis.textareaHistory = this.localStorage.get(this.siteId, this.userId, 'textarea-history', {});\n\t\tthis.currentMessage = this.textareaHistory[this.dialogId] || '';\n\t\tthis.placeholderMessage = this.currentMessage;\n\t},\n\tbeforeDestroy()\n\t{\n\t\tif (this.listenEventInsertText)\n\t\t{\n\t\t\tVue.event.$off(this.listenEventInsertText, this.onInsertText);\n\t\t\tthis.$root.$off(this.listenEventInsertText, this.onInsertText);\n\t\t}\n\t\tif (this.listenEventFocus)\n\t\t{\n\t\t\tVue.event.$off(this.listenEventFocus, this.onFocusSet);\n\t\t\tthis.$root.$off(this.listenEventFocus, this.onFocusSet);\n\t\t}\n\t\tif (this.listenEventBlur)\n\t\t{\n\t\t\tVue.event.$off(this.listenEventBlur, this.onFocusClear);\n\t\t\tthis.$root.$off(this.listenEventBlur, this.onFocusClear);\n\t\t}\n\t\tclearTimeout(this.messageStoreTimeout);\n\t\tthis.localStorage.set(this.siteId, this.userId, 'textarea-history', this.textareaHistory);\n\t\tthis.localStorage = null;\n\t},\n\tcomputed:\n\t{\n\t\ttextareaClassName()\n\t\t{\n\t\t\treturn 'bx-im-textarea' + (Utils.device.isMobile()? ' bx-im-textarea-mobile': '');\n\t\t},\n\n\t\tbuttonStyle()\n\t\t{\n\t\t\tlet styles = Object.assign({}, this.stylesDefault, this.styles);\n\n\t\t\tlet isIconDark = false;\n\t\t\tif (styles.button.iconColor)\n\t\t\t{\n\t\t\t\tisIconDark = Utils.isDarkColor(styles.button.iconColor);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tisIconDark = !Utils.isDarkColor(styles.button.backgroundColor);\n\t\t\t}\n\n\t\t\tstyles.button.className = isIconDark? 'bx-im-textarea-send-button': 'bx-im-textarea-send-button bx-im-textarea-send-button-bright-arrow';\n\t\t\tstyles.button.style = styles.button.backgroundColor? 'background-color: '+styles.button.backgroundColor+';': '';\n\n\t\t\treturn styles;\n\t\t},\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('BX_MESSENGER_TEXTAREA_', this.$root.$bitrixMessages)\n\t\t},\n\t\tisIE11()\n\t\t{\n\t\t\treturn Browser.isIE11();\n\t\t},\n\t},\n\tdirectives: {\n\t\t'bx-im-focus':\n\t\t{\n\t\t\tinserted(element, params)\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\tparams.value === true\n\t\t\t\t\t|| params.value === null && !Utils.device.isMobile()\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\telement.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tmethods:\n\t{\n\t\t/**\n\t\t *\n\t\t * @param text\n\t\t * @param breakline - true/false (default)\n\t\t * @param position - start, current (default), end\n\t\t * @param cursor - start, before, after (default), end\n\t\t * @param focus - set focus on textarea\n\t\t */\n\t\tinsertText(text, breakline = false, position = 'current', cursor = 'after', focus = true)\n\t\t{\n\t\t\tlet textarea = this.$refs.textarea;\n\t\t\tlet selectionStart = textarea.selectionStart;\n\t\t\tlet selectionEnd = textarea.selectionEnd;\n\n\t\t\tif (position == 'start')\n\t\t\t{\n\t\t\t\tif (breakline)\n\t\t\t\t{\n\t\t\t\t\ttext = text+\"\\n\";\n\t\t\t\t}\n\t\t\t\ttextarea.value = text + textarea.value;\n\n\t\t\t\tif (focus)\n\t\t\t\t{\n\t\t\t\t\tif (cursor == 'after')\n\t\t\t\t\t{\n\t\t\t\t\t\ttextarea.selectionStart = text.length;\n\t\t\t\t\t\ttextarea.selectionEnd = textarea.selectionStart;\n\t\t\t\t\t}\n\t\t\t\t\telse if (cursor == 'before')\n\t\t\t\t\t{\n\t\t\t\t\t\ttextarea.selectionStart = 0;\n\t\t\t\t\t\ttextarea.selectionEnd = textarea.selectionStart;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (position == 'current')\n\t\t\t{\n\t\t\t\tif (breakline)\n\t\t\t\t{\n\t\t\t\t\tif (textarea.value.substring(0, selectionStart).trim().length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = \"\\n\"+text;\n\t\t\t\t\t}\n\t\t\t\t\ttext = text+\"\\n\";\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (textarea.value && !textarea.value.endsWith(' '))\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = ' '+text;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ttextarea.value = textarea.value.substring(0, selectionStart) + text + textarea.value.substring(selectionEnd, textarea.value.length);\n\n\t\t\t\tif (focus)\n\t\t\t\t{\n\t\t\t\t\tif (cursor == 'after')\n\t\t\t\t\t{\n\t\t\t\t\t\ttextarea.selectionStart = selectionStart+text.length;\n\t\t\t\t\t\ttextarea.selectionEnd = textarea.selectionStart;\n\t\t\t\t\t}\n\t\t\t\t\telse if (cursor == 'before')\n\t\t\t\t\t{\n\t\t\t\t\t\ttextarea.selectionStart = selectionStart;\n\t\t\t\t\t\ttextarea.selectionEnd = textarea.selectionStart;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (position == 'end')\n\t\t\t{\n\t\t\t\tif (breakline)\n\t\t\t\t{\n\t\t\t\t\tif (textarea.value.substring(0, selectionStart).trim().length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = \"\\n\"+text;\n\t\t\t\t\t}\n\t\t\t\t\ttext = text+\"\\n\";\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (textarea.value && !textarea.value.endsWith(' '))\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = ' '+text;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ttextarea.value = textarea.value+text;\n\n\t\t\t\tif (focus)\n\t\t\t\t{\n\t\t\t\t\tif (cursor == 'after')\n\t\t\t\t\t{\n\t\t\t\t\t\ttextarea.selectionStart = textarea.value.length;\n\t\t\t\t\t\ttextarea.selectionEnd = textarea.selectionStart;\n\t\t\t\t\t}\n\t\t\t\t\telse if (cursor == 'before')\n\t\t\t\t\t{\n\t\t\t\t\t\ttextarea.selectionStart = textarea.value.length-text.length;\n\t\t\t\t\t\ttextarea.selectionEnd = textarea.selectionStart;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (focus)\n\t\t\t{\n\t\t\t\tif (cursor == 'start')\n\t\t\t\t{\n\t\t\t\t\ttextarea.selectionStart = 0;\n\t\t\t\t\ttextarea.selectionEnd = 0;\n\t\t\t\t}\n\t\t\t\telse if (cursor == 'end')\n\t\t\t\t{\n\t\t\t\t\ttextarea.selectionStart = textarea.value.length;\n\t\t\t\t\ttextarea.selectionEnd = textarea.selectionStart;\n\t\t\t\t}\n\n\t\t\t\ttextarea.focus();\n\t\t\t}\n\n\t\t\tthis.textChangeEvent();\n\t\t},\n\n\t\tsendMessage(event)\n\t\t{\n\t\t\tevent.preventDefault();\n\n\t\t\tthis.$emit('send', {text: this.currentMessage.trim()});\n\n\t\t\tlet textarea = this.$refs.textarea;\n\t\t\tif (textarea)\n\t\t\t{\n\t\t\t\ttextarea.value = '';\n\t\t\t}\n\n\t\t\tif (this.autoFocus === null || this.autoFocus)\n\t\t\t{\n\t\t\t\ttextarea.focus();\n\t\t\t}\n\n\t\t\tthis.textChangeEvent();\n\t\t},\n\n\t\ttextChangeEvent()\n\t\t{\n\t\t\tlet textarea = this.$refs.textarea;\n\t\t\tif (!textarea)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet text = textarea.value.trim();\n\t\t\tif (this.currentMessage === text)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.writesEventLetter <= text.length)\n\t\t\t{\n\t\t\t\tthis.$emit('writes', {text});\n\t\t\t}\n\n\t\t\tthis.previousMessage = this.currentMessage;\n\t\t\tthis.previousSelectionStart = textarea.selectionStart;\n\t\t\tthis.previousSelectionEnd = this.previousSelectionStart;\n\t\t\tthis.currentMessage = text;\n\n\t\t\tif (text.toString().length > 0)\n\t\t\t{\n\t\t\t\tthis.textareaHistory[this.dialogId] = text;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdelete this.textareaHistory[this.dialogId];\n\t\t\t}\n\n\t\t\tclearTimeout(this.messageStoreTimeout);\n\t\t\tthis.messageStoreTimeout = setTimeout(() => {\n\t\t\t\tthis.localStorage.set(this.siteId, this.userId, 'textarea-history', this.textareaHistory, this.userId? 0: 10);\n\t\t\t}, 500);\n\t\t},\n\n\t\tonKeyDown(event)\n\t\t{\n\t\t\tthis.$emit('keydown', event);\n\n\t\t\tlet textarea = event.target;\n\t\t\tlet text = textarea.value.trim();\n\t\t\tlet isMac = Utils.platform.isMac();\n\t\t\tlet isCtrlTEnable = Utils.platform.isBitrixDesktop() || !Utils.browser.isChrome();\n\n\t\t\t// TODO see more im/install/js/im/im.js:12324\n\t\t\tif (this.commandListen)\n\t\t\t{\n\t\t\t}\n\t\t\telse if (this.mentionListen)\n\t\t\t{\n\t\t\t}\n\t\t\telse if (!(event.altKey && event.ctrlKey))\n\t\t\t{\n\t\t\t\tif (this.enableMention && (event.shiftKey && (event.keyCode == 61 || event.keyCode == 50 || event.keyCode == 187 || event.keyCode == 187)) || event.keyCode == 107)\n\t\t\t\t{\n\t\t\t\t\t// mention case\n\t\t\t\t}\n\t\t\t\telse if (this.enableCommand && (event.keyCode == 191 || event.keyCode == 111 || event.keyCode == 220))\n\t\t\t\t{\n\t\t\t\t\t// command case\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (event.keyCode == 27)\n\t\t\t{\n\t\t\t\tif (textarea.value != '' && textarea === document.activeElement)\n\t\t\t\t{\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t\tif (event.shiftKey)\n\t\t\t\t{\n\t\t\t\t\ttextarea.value = '';\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (event.metaKey || event.ctrlKey)\n\t\t\t{\n\t\t\t\t// TODO translit messages\n\t\t\t\tif (\n\t\t\t\t\tisCtrlTEnable && event.key === 't'\n\t\t\t\t\t|| !isCtrlTEnable && event.key === 'e'\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\t// translit case\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\telse if (['b','s','i','u'].includes(event.key))\n\t\t\t\t{\n\t\t\t\t\tlet selectionStart = textarea.selectionStart;\n\t\t\t\t\tlet selectionEnd = textarea.selectionEnd;\n\n\t\t\t\t\tlet tagStart = '['+event.key.toLowerCase()+']';\n\t\t\t\t\tlet tagEnd = '[/'+event.key.toLowerCase()+']';\n\t\t\t\t\tlet selected = textarea.value.substring(selectionStart, selectionEnd);\n\n\t\t\t\t\tif (selected.startsWith(tagStart) && selected.endsWith(tagEnd))\n\t\t\t\t\t{\n\t\t\t\t\t\tselected = selected.substring(tagStart.length, selected.indexOf(tagEnd));\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tselected = tagStart + selected + tagEnd;\n\t\t\t\t\t}\n\n\t\t\t\t\ttextarea.value = textarea.value.substring(0, selectionStart) + selected + textarea.value.substring(selectionEnd, textarea.value.length);\n\n\t\t\t\t\ttextarea.selectionStart = selectionStart;\n\t\t\t\t\ttextarea.selectionEnd = selectionStart + selected.length;\n\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (event.keyCode == 9)\n\t\t\t{\n\t\t\t\tthis.insertText(\"\\t\");\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t\telse if (this.enableEdit && event.keyCode == 38 && text.length <= 0)\n\t\t\t{\n\t\t\t\tthis.$emit('edit', {});\n\t\t\t}\n\t\t\telse if (event.keyCode == 13)\n\t\t\t{\n\t\t\t\tif (Utils.device.isMobile())\n\t\t\t\t{\n\t\t\t\t}\n\t\t\t\telse if (this.sendByEnter == true)\n\t\t\t\t{\n\t\t\t\t\tif (event.ctrlKey || event.altKey || event.shiftKey)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!event.shiftKey)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.insertText(\"\\n\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (text.length <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.sendMessage(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (event.ctrlKey == true)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.sendMessage(event);\n\t\t\t\t\t}\n\t\t\t\t\telse if (isMac && (event.metaKey == true || event.altKey == true))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.sendMessage(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if ((event.ctrlKey || event.metaKey) && event.key == 'z')\n\t\t\t{\n\t\t\t\tif (this.previousMessage)\n\t\t\t\t{\n\t\t\t\t\ttextarea.value = this.previousMessage;\n\t\t\t\t\ttextarea.selectionStart = this.previousSelectionStart;\n\t\t\t\t\ttextarea.selectionEnd = this.previousSelectionEnd;\n\n\t\t\t\t\tthis.previousMessage = '';\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonKeyUp(event)\n\t\t{\n\t\t\tthis.$emit('keyup', {event, text: this.currentMessage});\n\t\t\tthis.textChangeEvent();\n\t\t},\n\t\tonPaste(event)\n\t\t{\n\t\t\tthis.$nextTick(this.textChangeEvent);\n\t\t},\n\t\tonInput(event)\n\t\t{\n\t\t\tthis.textChangeEvent();\n\t\t},\n\t\tonFocus(event)\n\t\t{\n\t\t\tthis.$emit('focus', event);\n\t\t},\n\t\tonBlur(event)\n\t\t{\n\t\t\tthis.$emit('blur', event);\n\t\t},\n\t\tonAppButtonClick(appId, event)\n\t\t{\n\t\t\tthis.$emit('appButtonClick', {appId, event});\n\t\t},\n\t\tonInsertText(event = {})\n\t\t{\n\t\t\tif (!event.text)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.insertText(event.text, event.breakline, event.position, event.cursor, event.focus);\n\n\t\t\tthis.$emit('keyup', {event, text: this.currentMessage});\n\n\t\t\treturn true;\n\t\t},\n\t\tonFocusSet()\n\t\t{\n\t\t\tthis.$refs.textarea.focus();\n\n\t\t\treturn true;\n\t\t},\n\t\tonFocusClear()\n\t\t{\n\t\t\tthis.$refs.textarea.blur();\n\n\t\t\treturn true;\n\t\t},\n\t\tonFileClick(event)\n\t\t{\n\t\t\tevent.target.value = \"\";\n\t\t},\n\t\tonFileSelect(event)\n\t\t{\n\t\t\tthis.$emit('fileSelected', {\n\t\t\t\tfileChangeEvent: event,\n\t\t\t\tfileInput: event.target\n\t\t\t});\n\t\t},\n\t\tlog(text, skip, event)\n\t\t{\n\t\t\tconsole.warn(text);\n\t\t\tif (skip == 1)\n\t\t\t{\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\tpreventDefault(event)\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t}\n\t},\n\ttemplate: `\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`\n});"],"names":["Vue","component","props","siteId","default","userId","dialogId","enableCommand","enableMention","desktopMode","enableEdit","enableFile","sendByEnter","autoFocus","writesEventLetter","styles","type","Object","listenEventInsertText","listenEventFocus","listenEventBlur","data","placeholderMessage","currentMessage","previousMessage","commandListen","mentionListen","stylesDefault","freeze","button","backgroundColor","iconColor","created","event","$on","onInsertText","$root","onFocusSet","onFocusClear","localStorage","LocalStorage","textareaHistory","get","beforeDestroy","$off","clearTimeout","messageStoreTimeout","set","computed","textareaClassName","Utils","device","isMobile","buttonStyle","assign","isIconDark","isDarkColor","className","style","localize","getFilteredPhrases","$bitrixMessages","isIE11","Browser","directives","inserted","element","params","value","focus","methods","insertText","text","breakline","position","cursor","textarea","$refs","selectionStart","selectionEnd","length","substring","trim","endsWith","textChangeEvent","sendMessage","preventDefault","$emit","previousSelectionStart","previousSelectionEnd","toString","setTimeout","onKeyDown","target","isMac","platform","isCtrlTEnable","isBitrixDesktop","browser","isChrome","altKey","ctrlKey","shiftKey","keyCode","document","activeElement","stopPropagation","metaKey","key","includes","tagStart","toLowerCase","tagEnd","selected","startsWith","indexOf","onKeyUp","onPaste","$nextTick","onInput","onFocus","onBlur","onAppButtonClick","appId","blur","onFileClick","onFileSelect","fileChangeEvent","fileInput","log","skip","console","warn","template"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings