File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/im/install/js/im/view/message/body/dist/body.bundle.js.map
Back
{"version":3,"file":"body.bundle.js","sources":["../src/body.js"],"sourcesContent":["/**\n * Bitrix Messenger\n * Message Vue component\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2019 Bitrix\n */\n\nimport './body.css';\nimport 'im.view.element.media';\nimport 'im.view.element.attach';\nimport 'im.view.element.keyboard';\nimport 'im.view.element.chatteaser';\nimport 'ui.vue.components.reaction';\n\nimport {BitrixVue} from \"ui.vue\";\nimport {Vuex} from \"ui.vue.vuex\";\nimport {DialoguesModel, FilesModel, MessagesModel, UsersModel} from 'im.model';\nimport {DialogType, MessageType} from \"im.const\";\nimport {Utils} from \"im.lib.utils\";\n\nimport {Text} from 'main.core';\n\nconst BX = window.BX;\n\nconst ContentType = Object.freeze({\n\tdefault: 'default',\n\tprogress: 'progress',\n\timage: 'image',\n\taudio: 'audio',\n\tvideo: 'video',\n\trichLink: 'richLink',\n});\n\nBitrixVue.component('bx-im-view-message-body',\n{\n\t/**\n\t * @emits 'clickByUserName' {user: object, event: MouseEvent}\n\t * @emits 'clickByUploadCancel' {file: object, event: MouseEvent}\n\t * @emits 'clickByChatTeaser' {params: object, event: MouseEvent}\n\t * @emits 'clickByKeyboardButton' {message: object, action: string, params: Object}\n\t * @emits 'setReaction' {message: object, reaction: object}\n\t * @emits 'openReactionList' {message: object, values: object}\n\t */\n\tprops:\n\t{\n\t\tuserId: { default: 0 },\n\t\tdialogId: { default: '0' },\n\t\tchatId: { default: 0 },\n\t\tmessageType: { default: MessageType.self },\n\t\tmessage: {\n\t\t\ttype: Object,\n\t\t\tdefault: MessagesModel.create().getElementState\n\t\t},\n\t\tenableReactions: { default: true },\n\t\tshowName: { default: true },\n\t\tshowAvatar: { default: true },\n\t\treferenceContentBodyClassName: { default: ''},\n\t\treferenceContentNameClassName: { default: ''},\n\t},\n\tcreated()\n\t{\n\t\tthis.dateFormatFunction = null;\n\t\tthis.cacheFormatDate = {};\n\t},\n\tmethods:\n\t{\n\t\tclickByUserName(event)\n\t\t{\n\t\t\tthis.$emit('clickByUserName', event)\n\t\t},\n\t\tclickByUploadCancel(event)\n\t\t{\n\t\t\tthis.$emit('clickByUploadCancel', event)\n\t\t},\n\t\tclickByChatTeaser(event)\n\t\t{\n\t\t\tthis.$emit('clickByChatTeaser', {message: event.message, event});\n\t\t},\n\t\tclickByKeyboardButton(event)\n\t\t{\n\t\t\tthis.$emit('clickByKeyboardButton', {message: event.message, ...event.event});\n\t\t},\n\t\tsetReaction(event)\n\t\t{\n\t\t\tthis.$emit('setReaction', event)\n\t\t},\n\t\topenReactionList(event)\n\t\t{\n\t\t\tthis.$emit('openReactionList', event)\n\t\t},\n\t\tformatDate(date)\n\t\t{\n\t\t\tconst id = date.toJSON().slice(0, 10);\n\n\t\t\tif (this.cacheFormatDate[id])\n\t\t\t{\n\t\t\t\treturn this.cacheFormatDate[id];\n\t\t\t}\n\n\t\t\tlet dateFormat = Utils.date.getFormatType(\n\t\t\t\tBX.Messenger.Const.DateFormat.message,\n\t\t\t\tthis.$Bitrix.Loc.getMessages()\n\t\t\t);\n\n\t\t\tthis.cacheFormatDate[id] = this._getDateFormat().format(dateFormat, date);\n\n\t\t\treturn this.cacheFormatDate[id];\n\t\t},\n\t\t_getDateFormat()\n\t\t{\n\t\t\tif (this.dateFormatFunction)\n\t\t\t{\n\t\t\t\treturn this.dateFormatFunction;\n\t\t\t}\n\n\t\t\tthis.dateFormatFunction = Object.create(BX.Main.Date);\n\t\t\tthis.dateFormatFunction._getMessage = (phrase) => this.$Bitrix.Loc.getMessage(phrase);\n\n\t\t\treturn this.dateFormatFunction;\n\t\t},\n\t\tisDesktop()\n\t\t{\n\t\t\treturn Utils.platform.isBitrixDesktop();\n\t\t},\n\t\tgetDesktopVersion()\n\t\t{\n\t\t\treturn Utils.platform.getDesktopVersion();\n\t\t},\n\t\tisMobile()\n\t\t{\n\t\t\treturn Utils.platform.isBitrixMobile();\n\t\t}\n\t},\n\tcomputed:\n\t{\n\t\tMessageType: () => MessageType,\n\t\tContentType: () => ContentType,\n\n\t\tcontentType()\n\t\t{\n\t\t\tif (this.filesData.length > 0)\n\t\t\t{\n\t\t\t\tlet onlyImage = false;\n\t\t\t\tlet onlyVideo = false;\n\t\t\t\tlet onlyAudio = false;\n\t\t\t\tlet inProgress = false;\n\n\t\t\t\tfor (let file of this.filesData)\n\t\t\t\t{\n\t\t\t\t\tif (file.progress < 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tinProgress = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse if (file.type === 'audio')\n\t\t\t\t\t{\n\t\t\t\t\t\tif (onlyVideo || onlyImage)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tonlyImage = false;\n\t\t\t\t\t\t\tonlyVideo = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonlyAudio = true;\n\t\t\t\t\t}\n\t\t\t\t\telse if (file.type === 'image' && file.image)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (onlyVideo || onlyAudio)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tonlyAudio = false;\n\t\t\t\t\t\t\tonlyVideo = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonlyImage = true;\n\t\t\t\t\t}\n\t\t\t\t\telse if (file.type === 'video')\n\t\t\t\t\t{\n\t\t\t\t\t\tif (onlyImage || onlyAudio)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tonlyAudio = false;\n\t\t\t\t\t\t\tonlyImage = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonlyVideo = true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tonlyAudio = false;\n\t\t\t\t\t\tonlyImage = false;\n\t\t\t\t\t\tonlyVideo = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (inProgress)\n\t\t\t\t{\n\t\t\t\t\treturn ContentType.progress;\n\t\t\t\t}\n\t\t\t\telse if (onlyImage)\n\t\t\t\t{\n\t\t\t\t\treturn ContentType.image;\n\t\t\t\t}\n\t\t\t\telse if (onlyAudio)\n\t\t\t\t{\n\t\t\t\t\treturn ContentType.audio;\n\t\t\t\t}\n\t\t\t\telse if (onlyVideo)\n\t\t\t\t{\n\t\t\t\t\treturn ContentType.video;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ContentType.default;\n\t\t},\n\n\t\tformattedDate()\n\t\t{\n\t\t\treturn this.formatDate(this.message.date);\n\t\t},\n\n\t\tmessageText()\n\t\t{\n\t\t\tif (this.isDeleted)\n\t\t\t{\n\t\t\t\treturn this.$Bitrix.Loc.getMessage('IM_MESSENGER_MESSAGE_DELETED');\n\t\t\t}\n\n\t\t\tlet message = this.message.textConverted;\n\t\t\tlet messageParams = this.message.params;\n\n\t\t\tlet replacement = [];\n\t\t\tmessage = message.replace(/<!--IM_COMMAND_START-->([\\0-\\uFFFF]+?)<!--IM_COMMAND_END-->/ig, function(whole, text) {\n\t\t\t\tlet id = replacement.length;\n\t\t\t\treplacement.push(text);\n\t\t\t\treturn '####REPLACEMENT_'+id+'####';\n\t\t\t});\n\n\t\t\tmessage = message.replace(/\\[USER=([0-9]{1,})\\](.*?)\\[\\/USER\\]/ig, (whole, userId, userName) => {\n\t\t\t\tif (!userName)\n\t\t\t\t{\n\t\t\t\t\tconst user = this.$store.getters['users/get'](userId);\n\t\t\t\t\tuserName = user? Utils.text.htmlspecialchars(user.name): 'User '+userId;\n\t\t\t\t}\n\t\t\t\treturn '<span class=\"bx-im-mention\" data-type=\"USER\" data-value=\"'+userId+'\">'+userName+'</span>'\n\t\t\t});\n\n\t\t\treplacement.forEach((value, index) => {\n\t\t\t\tmessage = message.replace('####REPLACEMENT_'+index+'####', value);\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\ttypeof messageParams.LINK_ACTIVE !== 'undefined'\n\t\t\t\t&& messageParams.LINK_ACTIVE.length > 0\n\t\t\t\t&& !messageParams.LINK_ACTIVE.includes(this.userId)\n\t\t\t)\n\t\t\t{\n\t\t\t\tmessage = message.replace(/<a.*?href=\"([^\"]*)\".*?>(.*?)<\\/a>/ig, '$2');\n\t\t\t}\n\n\t\t\treturn message;\n\t\t},\n\n\t\tmessageAttach()\n\t\t{\n\t\t\treturn this.message.params.ATTACH;\n\t\t},\n\n\t\tmessageReactions()\n\t\t{\n\t\t\treturn this.message.params.REACTION || {};\n\t\t},\n\n\t\tisEdited()\n\t\t{\n\t\t\treturn this.message.params.IS_EDITED === 'Y';\n\t\t},\n\n\t\tisDeleted()\n\t\t{\n\t\t\treturn this.message.params.IS_DELETED === 'Y';\n\t\t},\n\n\t\tchatColor()\n\t\t{\n\t\t\treturn this.dialog.type !== DialogType.private? this.dialog.color: this.user.color;\n\t\t},\n\t\tdialog()\n\t\t{\n\t\t\tconst dialog = this.$store.getters['dialogues/get'](this.dialogId);\n\n\t\t\treturn dialog? dialog: this.$store.getters['dialogues/getBlank']();\n\t\t},\n\t\tuser()\n\t\t{\n\t\t\treturn this.$store.getters['users/get'](this.message.authorId, true);\n\t\t},\n\t\tfilesData()\n\t\t{\n\t\t\tlet files = [];\n\n\t\t\tif (!this.message.params.FILE_ID || this.message.params.FILE_ID.length <= 0)\n\t\t\t{\n\t\t\t\treturn files;\n\t\t\t}\n\n\t\t\tthis.message.params.FILE_ID.forEach(fileId => {\n\t\t\t\tif (!fileId)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tlet file = this.$store.getters['files/get'](this.chatId, fileId, true);\n\t\t\t\tif (!file)\n\t\t\t\t{\n\t\t\t\t\tthis.$store.commit('files/set', {data: [\n\t\t\t\t\t\tthis.$store.getters['files/getBlank']({id: fileId, chatId: this.chatId})\n\t\t\t\t\t]});\n\t\t\t\t\tfile = this.$store.getters['files/get'](this.chatId, fileId, true);\n\t\t\t\t}\n\t\t\t\tif (file)\n\t\t\t\t{\n\t\t\t\t\tfiles.push(file);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn files;\n\t\t},\n\n\t\tkeyboardButtons()\n\t\t{\n\t\t\tlet result = false;\n\n\t\t\tif (!this.message.params.KEYBOARD || this.message.params.KEYBOARD === 'N')\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\treturn this.message.params.KEYBOARD;\n\t\t},\n\t\tchatTeaser()\n\t\t{\n\t\t\tif (\n\t\t\t\ttypeof this.message.params.CHAT_ID === 'undefined'\n\t\t\t\t|| typeof this.message.params.CHAT_LAST_DATE === 'undefined'\n\t\t\t\t|| typeof this.message.params.CHAT_MESSAGE === 'undefined'\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tmessageCounter: this.message.params.CHAT_MESSAGE,\n\t\t\t\tmessageLastDate: this.message.params.CHAT_LAST_DATE,\n\t\t\t\tlanguageId: this.application.common.languageId\n\t\t\t};\n\t\t},\n\n\t\tuserName()\n\t\t{\n\t\t\tif (this.message.params.NAME)\n\t\t\t{\n\t\t\t\treturn Text.decode(this.message.params.NAME);\n\t\t\t}\n\n\t\t\tif (!this.showAvatar)\n\t\t\t{\n\t\t\t\treturn this.user.name;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn this.user.firstName ? this.user.firstName : this.user.name;\n\t\t\t}\n\t\t},\n\n\t\tuserColor()\n\t\t{\n\t\t\tif (this.user.extranet)\n\t\t\t{\n\t\t\t\treturn \"#CA7B00\";\n\t\t\t}\n\n\t\t\treturn this.user.color;\n\t\t},\n\n\t\t...Vuex.mapState({\n\t\t\tapplication: state => state.application,\n\t\t})\n\t},\n\ttemplate: `\n\t\t<div class=\"bx-im-message-content-wrap\">\n\t\t\t<template v-if=\"contentType == ContentType.default || contentType == ContentType.audio || contentType == ContentType.progress || (contentType !== ContentType.image && isDesktop() && getDesktopVersion() < 47)\">\n\t\t\t\t<div class=\"bx-im-message-content\">\n\t\t\t\t\t<span class=\"bx-im-message-content-box\">\n\t\t\t\t\t\t<div class=\"bx-im-message-content-name-wrap\">\n\t\t\t\t\t\t\t<template v-if=\"showName && user.extranet && messageType == MessageType.opponent\">\n\t\t\t\t\t\t\t\t<div class=\"bx-im-message-extranet-icon\"></div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-if=\"showName && messageType == MessageType.opponent\">\n\t\t\t\t\t\t\t\t<div :class=\"['bx-im-message-content-name', referenceContentNameClassName]\" :style=\"{color: userColor}\" @click=\"clickByUserName({user: user, event: $event})\">{{userName}}</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div :class=\"['bx-im-message-content-body', referenceContentBodyClassName]\">\n\t\t\t\t\t\t\t<template v-if=\"(contentType == ContentType.audio) && (!isDesktop() || (isDesktop() && getDesktopVersion() > 43))\">\n\t\t\t\t\t\t\t\t<bx-im-view-element-file-audio v-for=\"file in filesData\" :messageType=\"messageType\" :file=\"file\" :key=\"file.templateId\" @uploadCancel=\"clickByUploadCancel\"/>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t<bx-im-view-element-file v-for=\"file in filesData\" :messageType=\"messageType\" :file=\"file\" :key=\"file.templateId\" @uploadCancel=\"clickByUploadCancel\"/>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<div :class=\"['bx-im-message-content-body-wrap', {\n\t\t\t\t\t\t\t\t'bx-im-message-content-body-with-text': messageText.length > 0,\n\t\t\t\t\t\t\t\t'bx-im-message-content-body-without-text': messageText.length <= 0,\n\t\t\t\t\t\t\t}]\">\n\t\t\t\t\t\t\t\t<template v-if=\"messageText\">\n\t\t\t\t\t\t\t\t\t<span class=\"bx-im-message-content-text\" v-html=\"messageText\"></span>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<template v-for=\"(config, id) in messageAttach\">\n\t\t\t\t\t\t\t\t\t<bx-im-view-element-attach :baseColor=\"chatColor\" :config=\"config\" :key=\"id\"/>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<span class=\"bx-im-message-content-params\">\n\t\t\t\t\t\t\t\t\t<span class=\"bx-im-message-content-date\">{{formattedDate}}</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div v-if=\"!message.push && enableReactions && message.authorId\" class=\"bx-im-message-content-reaction\">\n\t\t\t\t\t\t<bx-reaction :values=\"messageReactions\" :userId=\"userId\" :openList=\"false\" @set=\"setReaction({message: message, reaction: $event})\" @list=\"openReactionList({message: message, values: $event.values})\"/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template v-else-if=\"contentType == ContentType.richLink\">\n\t\t\t\t<!-- richLink type markup -->\n\t\t\t</template>\n\t\t\t<template v-else-if=\"contentType == ContentType.image || contentType == ContentType.video\">\n\t\t\t\t<div class=\"bx-im-message-content bx-im-message-content-fit\">\n\t\t\t\t\t<span class=\"bx-im-message-content-box\">\n\t\t\t\t\t\t<template v-if=\"showName && messageType == MessageType.opponent\">\n\t\t\t\t\t\t\t<div :class=\"['bx-im-message-content-name', referenceContentNameClassName]\" :style=\"{color: user.color}\" @click=\"clickByUserName({user: user, event: $event})\">{{!showAvatar? user.name: (user.firstName? user.firstName: user.name)}}</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<div :class=\"['bx-im-message-content-body', referenceContentBodyClassName]\">\n\t\t\t\t\t\t\t<template v-if=\"contentType == ContentType.image\">\n\t\t\t\t\t\t\t\t<bx-im-view-element-file-image v-for=\"file in filesData\" :messageType=\"messageType\" :file=\"file\" :key=\"file.templateId\" @uploadCancel=\"clickByUploadCancel\"/>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<template v-else-if=\"contentType == ContentType.video\">\n\t\t\t\t\t\t\t\t<bx-im-view-element-file-video v-for=\"file in filesData\" :messageType=\"messageType\" :file=\"file\" :key=\"file.templateId\" @uploadCancel=\"clickByUploadCancel\"/>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<div :class=\"['bx-im-message-content-body-wrap', {\n\t\t\t\t\t\t\t\t'bx-im-message-content-body-with-text': messageText.length > 0,\n\t\t\t\t\t\t\t\t'bx-im-message-content-body-without-text': messageText.length <= 0,\n\t\t\t\t\t\t\t}]\">\n\t\t\t\t\t\t\t\t<template v-if=\"messageText\">\n\t\t\t\t\t\t\t\t\t<span class=\"bx-im-message-content-text\" v-html=\"messageText\"></span>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<span class=\"bx-im-message-content-params\">\n\t\t\t\t\t\t\t\t\t<span class=\"bx-im-message-content-date\">{{formattedDate}}</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</span>\n\t\t\t\t\t<div v-if=\"!message.push && enableReactions && message.authorId\" class=\"bx-im-message-content-reaction\">\n\t\t\t\t\t\t<bx-reaction :values=\"messageReactions\" :userId=\"userId\" :openList=\"false\" @set=\"setReaction({message: message, reaction: $event})\" @list=\"openReactionList({message: message, values: $event.values})\"/>\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=\"keyboardButtons\">\n\t\t\t\t<bx-im-view-element-keyboard :buttons=\"keyboardButtons\" :messageId=\"message.id\" :userId=\"userId\" :dialogId=\"dialogId\" @click=\"clickByKeyboardButton({message: message, event: $event})\"/>\n\t\t\t</template>\n\t\t\t<template v-if=\"chatTeaser\">\n\t\t\t\t<bx-im-view-element-chat-teaser :messageCounter=\"chatTeaser.messageCounter\" :messageLastDate=\"chatTeaser.messageLastDate\" :languageId=\"chatTeaser.languageId\" @click=\"clickByChatTeaser({message: message, event: $event})\"/>\n\t\t\t</template>\n\t\t</div>\n\t`\n});"],"names":["BX","window","ContentType","Object","freeze","progress","image","audio","video","richLink","BitrixVue","component","props","userId","dialogId","chatId","messageType","MessageType","self","message","type","MessagesModel","create","getElementState","enableReactions","showName","showAvatar","referenceContentBodyClassName","referenceContentNameClassName","created","dateFormatFunction","cacheFormatDate","methods","clickByUserName","event","$emit","clickByUploadCancel","clickByChatTeaser","clickByKeyboardButton","setReaction","openReactionList","formatDate","date","id","toJSON","slice","dateFormat","Utils","getFormatType","Messenger","Const","DateFormat","$Bitrix","Loc","getMessages","_getDateFormat","format","Main","Date","_getMessage","phrase","getMessage","isDesktop","platform","isBitrixDesktop","getDesktopVersion","isMobile","isBitrixMobile","computed","contentType","filesData","length","onlyImage","onlyVideo","onlyAudio","inProgress","file","formattedDate","messageText","isDeleted","textConverted","messageParams","params","replacement","replace","whole","text","push","userName","user","$store","getters","htmlspecialchars","name","forEach","value","index","LINK_ACTIVE","includes","messageAttach","ATTACH","messageReactions","REACTION","isEdited","IS_EDITED","IS_DELETED","chatColor","dialog","DialogType","color","authorId","files","FILE_ID","fileId","commit","data","keyboardButtons","result","KEYBOARD","chatTeaser","CHAT_ID","CHAT_LAST_DATE","CHAT_MESSAGE","messageCounter","messageLastDate","languageId","application","common","NAME","Text","decode","firstName","userColor","extranet","Vuex","mapState","state","template"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings