Current Path : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/ |
Current File : /var/www/axolotl/data/www/arhangelsk.axolotls.ru/a537b/element.tar |
file/config.php 0000664 00000000576 14774457154 0007475 0 ustar 00 <? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die(); } return [ 'js' => [ '/bitrix/js/im/component/element/file/dist/file.bundle.js', ], 'css' => [ '/bitrix/js/im/component/element/file/dist/file.bundle.css', ], 'rel' => [ 'main.polyfill.core', 'ui.vue.directives.lazyload', 'ui.icons', 'ui.vue', 'im.model', ], 'skip_core' => true, ]; file/bundle.config.js 0000664 00000000120 14774457154 0010553 0 ustar 00 module.exports = { input: './src/file.js', output: './dist/file.bundle.js', }; file/src/file.css 0000664 00000010075 14774457154 0007732 0 ustar 00 .bx-im-element-file { display: flex; flex-wrap: nowrap; overflow: hidden; margin-left: -4px; cursor: pointer; min-width: 135px; } .bx-im-message-content-name + .bx-im-message-content-body .bx-im-element-file:first-child { margin-top: 5px; } .bx-im-dialog-list-item + .bx-im-dialog-list-item .bx-im-element-file:first-child { margin-top: 0; } .bx-im-element-file + .bx-im-message-content-body-with-text { display: block; margin-top:7px } .bx-im-element-file + .bx-im-message-content-body-without-text .bx-im-message-content-params { margin-top: -21px; } .bx-im-element-file + .bx-im-element-file { margin-top: 10px; } .bx-im-element-file-icon { display: flex; flex-shrink: 0; padding-right: 7px; } .bx-im-element-file-block { overflow: hidden; } .bx-im-element-file-name { display: flex; flex-wrap: nowrap; } .bx-im-element-file-name-left { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .bx-im-element-file-name-right { flex-shrink: 0; } .bx-im-element-file-size { color: #717171; font-size: 12px; } .bx-im-element-file-image { display: flex; cursor: pointer; align-items: center; justify-content: center; overflow: hidden; min-width: 100px; min-height: 100px; } .bx-im-element-file-image-source { display: inline-block; } .bx-im-element-file-image-source-text { display: inline-block; width: 100%; max-height: 280px; } .bx-im-element-file-image-source.bx-lazyload-loading, .bx-im-element-file-image-source.bx-lazyload-hidden { background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2275%22%20height%3D%2298%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23E5E8EB%22%20d%3D%22M0%200h54l21%2022.227V98H0z%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23B9BEC4%22%20fill-rule%3D%22nonzero%22%20d%3D%22M63.14%2032.0863H10.008v54.4566h55V32.0873H63.14v-.001zm-.132%2052.4754h-51V34.0665h51v50.4952z%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23535C69%22%20d%3D%22M54%200l21%2022.227H54z%22%20opacity%3D%22.3%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23B9BEC4%22%20d%3D%22M60.008%2081.591v-2.97l-12-11.881-6%205.94-15-14.851-12%2011.881v11.881z%22/%3E%0A%20%20%20%20%3Cellipse%20cx%3D%2251.712%22%20cy%3D%2246.785%22%20fill%3D%22%23B9BEC4%22%20rx%3D%225.231%22%20ry%3D%225.172%22/%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A'); background-repeat: no-repeat; background-position: center; background-size: inherit; } .bx-im-element-file-image-source.bx-lazyload-error { background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2275%22%20height%3D%2298%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23E5E8EB%22%20d%3D%22M0%200h54l21%2022.227V98H0z%22/%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23B9BEC4%22%3E%0A%20%20%20%20%20%20%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M7%2034.897l7.515%2053.474%2023.219-3.263-.676-34.282-6.84-19.191%202.611-.367L7%2034.897zM36.367%2083.28l-21.14%202.97L8.27%2036.739l21.139-2.97%206.227%2017.258.732%2032.255z%22/%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M37.529%2079.675l-.147-15.915-9.094-6.782-10.23%2013.435%201.654%2011.766z%22/%3E%0A%20%20%20%20%3C/g%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23535C69%22%20d%3D%22M54%200l21%2022.227H54z%22%20opacity%3D%22.3%22/%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23B9BEC4%22%20transform%3D%22rotate%285%20-359.005%20511.676%29%22%3E%0A%20%20%20%20%20%20%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M.316.001l3.638%2019.956L1%2054h24V.001H.316zM24%2052H2.353l1.601-16.033%201.621-16.01L2%202h22v50z%22/%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M20.008%2049.591v-2.97l-12-11.881L1.96%2049.591z%22/%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2211.712%22%20cy%3D%2214.785%22%20rx%3D%225.231%22%20ry%3D%225.172%22/%3E%0A%20%20%20%20%3C/g%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A'); background-repeat: no-repeat; background-position: center; background-size: inherit; } .bx-im-element-file-image + .bx-im-message-content-body-without-text .bx-im-message-content-params { margin-top: -21px; } file/src/file.js 0000664 00000006516 14774457154 0007563 0 ustar 00 /** * Bitrix Messenger * File element Vue component * * @package bitrix * @subpackage im * @copyright 2001-2019 Bitrix */ import './file.css'; import 'ui.vue.directives.lazyload'; import 'ui.icons'; import {Vue} from 'ui.vue'; import {FilesModel} from 'im.model'; Vue.component('bx-messenger-element-file', { props: { userId: { default: 0 }, file: { type: Object, default: FilesModel.create().getElementStore }, }, methods: { download(file, event) { if (file.image && file.urlShow) { window.open(file.urlShow, '_blank'); } else if (file.video && file.urlShow) { window.open(file.urlShow, '_blank'); } else if (file.urlDownload) { window.open(file.urlDownload, '_self'); } else { window.open(file.urlShow, '_blank'); } }, }, computed: { localize() { return Vue.getFilteredPhrases('IM_MESSENGER_ELEMENT_FILE_', this.$root.$bitrixMessages); }, fileNameLeft() { let end = this.file.name.length - this.fileNameRight.length; return this.file.name.substring(0, end); }, fileNameRight() { let cutLength = this.file.extension.length+1; if (this.file.name.length > 30) { cutLength = cutLength+5; } let start = this.file.name.length-1 - cutLength; return this.file.name.substring(start); }, fileSize() { let size = this.file.size; let sizes = ["BYTE", "KB", "MB", "GB", "TB"]; let position = 0; while (size >= 1024 && position < 4) { size /= 1024; position++; } return Math.round(size) + " " + this.localize['IM_MESSENGER_ELEMENT_FILE_SIZE_'+sizes[position]]; } }, template: ` <div class="bx-im-element-file" @click="download(file, $event)"> <div class="bx-im-element-file-icon"> <div :class="['ui-icon', 'ui-icon-file-'+file.icon]"><i></i></div> </div> <div class="bx-im-element-file-block"> <div class="bx-im-element-file-name" :title="file.name"> <span class="bx-im-element-file-name-left">{{fileNameLeft}}</span><span class="bx-im-element-file-name-right">{{fileNameRight}}</span> </div> <div class="bx-im-element-file-size">{{fileSize}}</div> </div> </div> ` }); Vue.cloneComponent('bx-messenger-element-file-image', 'bx-messenger-element-file', { methods: { getImageSize(width, height, maxWidth) { let aspectRatio; if (width > maxWidth) { aspectRatio = maxWidth / width; } else { aspectRatio = 1; } return { width: width * aspectRatio, height: height * aspectRatio }; } }, computed: { styleFileSizes() { let sizes = this.getImageSize(this.file.image.width, this.file.image.height, 280); return { width: sizes.width+'px', height: sizes.height+'px', backgroundSize: sizes.width < 100 || sizes.height < 100? 'contain': 'initial' } }, styleBoxSizes() { if (parseInt(this.styleFileSizes.height) <= 280) { return {}; } return { height: '280px' } }, fileSource() { return this.file.urlPreview; } }, template: ` <div class="bx-im-element-file-image" @click="download(file, $event)" :style="styleBoxSizes"> <img v-bx-lazyload class="bx-im-element-file-image-source" :data-lazyload-src="fileSource" :title="localize.IM_MESSENGER_ELEMENT_FILE_SHOW_TITLE.replace('#NAME#', file.name).replace('#SIZE#', fileSize)" :style="styleFileSizes" /> </div> ` }); file/dist/file.bundle.min.css 0000664 00000010275 14774457154 0012142 0 ustar 00 .bx-im-element-file{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;margin-left:-4px;cursor:pointer;min-width:135px}.bx-im-message-content-name+.bx-im-message-content-body .bx-im-element-file:first-child{margin-top:5px}.bx-im-dialog-list-item+.bx-im-dialog-list-item .bx-im-element-file:first-child{margin-top:0}.bx-im-element-file+.bx-im-message-content-body-with-text{display:block;margin-top:7px}.bx-im-element-file+.bx-im-message-content-body-without-text .bx-im-message-content-params{margin-top:-21px}.bx-im-element-file+.bx-im-element-file{margin-top:10px}.bx-im-element-file-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;padding-right:7px}.bx-im-element-file-block{overflow:hidden}.bx-im-element-file-name{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.bx-im-element-file-name-left{white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}.bx-im-element-file-name-right{-ms-flex-negative:0;flex-shrink:0}.bx-im-element-file-size{color:#717171;font-size:12px}.bx-im-element-file-image{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden;min-width:100px;min-height:100px}.bx-im-element-file-image-source{display:inline-block}.bx-im-element-file-image-source-text{display:inline-block;width:100%;max-height:280px}.bx-im-element-file-image-source.bx-lazyload-loading,.bx-im-element-file-image-source.bx-lazyload-hidden{background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2275%22%20height%3D%2298%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23E5E8EB%22%20d%3D%22M0%200h54l21%2022.227V98H0z%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23B9BEC4%22%20fill-rule%3D%22nonzero%22%20d%3D%22M63.14%2032.0863H10.008v54.4566h55V32.0873H63.14v-.001zm-.132%2052.4754h-51V34.0665h51v50.4952z%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23535C69%22%20d%3D%22M54%200l21%2022.227H54z%22%20opacity%3D%22.3%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23B9BEC4%22%20d%3D%22M60.008%2081.591v-2.97l-12-11.881-6%205.94-15-14.851-12%2011.881v11.881z%22/%3E%0A%20%20%20%20%3Cellipse%20cx%3D%2251.712%22%20cy%3D%2246.785%22%20fill%3D%22%23B9BEC4%22%20rx%3D%225.231%22%20ry%3D%225.172%22/%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A');background-repeat:no-repeat;background-position:center;background-size:inherit}.bx-im-element-file-image-source.bx-lazyload-error{background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2275%22%20height%3D%2298%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23E5E8EB%22%20d%3D%22M0%200h54l21%2022.227V98H0z%22/%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23B9BEC4%22%3E%0A%20%20%20%20%20%20%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M7%2034.897l7.515%2053.474%2023.219-3.263-.676-34.282-6.84-19.191%202.611-.367L7%2034.897zM36.367%2083.28l-21.14%202.97L8.27%2036.739l21.139-2.97%206.227%2017.258.732%2032.255z%22/%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M37.529%2079.675l-.147-15.915-9.094-6.782-10.23%2013.435%201.654%2011.766z%22/%3E%0A%20%20%20%20%3C/g%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23535C69%22%20d%3D%22M54%200l21%2022.227H54z%22%20opacity%3D%22.3%22/%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23B9BEC4%22%20transform%3D%22rotate%285%20-359.005%20511.676%29%22%3E%0A%20%20%20%20%20%20%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M.316.001l3.638%2019.956L1%2054h24V.001H.316zM24%2052H2.353l1.601-16.033%201.621-16.01L2%202h22v50z%22/%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M20.008%2049.591v-2.97l-12-11.881L1.96%2049.591z%22/%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2211.712%22%20cy%3D%2214.785%22%20rx%3D%225.231%22%20ry%3D%225.172%22/%3E%0A%20%20%20%20%3C/g%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A');background-repeat:no-repeat;background-position:center;background-size:inherit}.bx-im-element-file-image+.bx-im-message-content-body-without-text .bx-im-message-content-params{margin-top:-21px} file/dist/file.bundle.js 0000664 00000007772 14774457154 0011214 0 ustar 00 (function (exports,ui_vue_directives_lazyload,ui_icons,ui_vue,im_model) { 'use strict'; /** * Bitrix Messenger * File element Vue component * * @package bitrix * @subpackage im * @copyright 2001-2019 Bitrix */ ui_vue.Vue.component('bx-messenger-element-file', { props: { userId: { default: 0 }, file: { type: Object, default: im_model.FilesModel.create().getElementStore } }, methods: { download: function download(file, event) { if (file.image && file.urlShow) { window.open(file.urlShow, '_blank'); } else if (file.video && file.urlShow) { window.open(file.urlShow, '_blank'); } else if (file.urlDownload) { window.open(file.urlDownload, '_self'); } else { window.open(file.urlShow, '_blank'); } } }, computed: { localize: function localize() { return ui_vue.Vue.getFilteredPhrases('IM_MESSENGER_ELEMENT_FILE_', this.$root.$bitrixMessages); }, fileNameLeft: function fileNameLeft() { var end = this.file.name.length - this.fileNameRight.length; return this.file.name.substring(0, end); }, fileNameRight: function fileNameRight() { var cutLength = this.file.extension.length + 1; if (this.file.name.length > 30) { cutLength = cutLength + 5; } var start = this.file.name.length - 1 - cutLength; return this.file.name.substring(start); }, fileSize: function fileSize() { var size = this.file.size; var sizes = ["BYTE", "KB", "MB", "GB", "TB"]; var position = 0; while (size >= 1024 && position < 4) { size /= 1024; position++; } return Math.round(size) + " " + this.localize['IM_MESSENGER_ELEMENT_FILE_SIZE_' + sizes[position]]; } }, template: "\n\t\t<div class=\"bx-im-element-file\" @click=\"download(file, $event)\">\n\t\t\t<div class=\"bx-im-element-file-icon\">\n\t\t\t\t<div :class=\"['ui-icon', 'ui-icon-file-'+file.icon]\"><i></i></div>\n\t\t\t</div>\n\t\t\t<div class=\"bx-im-element-file-block\">\n\t\t\t\t<div class=\"bx-im-element-file-name\" :title=\"file.name\">\n\t\t\t\t\t<span class=\"bx-im-element-file-name-left\">{{fileNameLeft}}</span><span class=\"bx-im-element-file-name-right\">{{fileNameRight}}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bx-im-element-file-size\">{{fileSize}}</div>\n\t\t\t</div>\n\t\t</div>\n\t" }); ui_vue.Vue.cloneComponent('bx-messenger-element-file-image', 'bx-messenger-element-file', { methods: { getImageSize: function getImageSize(width, height, maxWidth) { var aspectRatio; if (width > maxWidth) { aspectRatio = maxWidth / width; } else { aspectRatio = 1; } return { width: width * aspectRatio, height: height * aspectRatio }; } }, computed: { styleFileSizes: function styleFileSizes() { var sizes = this.getImageSize(this.file.image.width, this.file.image.height, 280); return { width: sizes.width + 'px', height: sizes.height + 'px', backgroundSize: sizes.width < 100 || sizes.height < 100 ? 'contain' : 'initial' }; }, styleBoxSizes: function styleBoxSizes() { if (parseInt(this.styleFileSizes.height) <= 280) { return {}; } return { height: '280px' }; }, fileSource: function fileSource() { return this.file.urlPreview; } }, template: "\n\t\t<div class=\"bx-im-element-file-image\" @click=\"download(file, $event)\" :style=\"styleBoxSizes\">\n\t\t\t<img v-bx-lazyload\n\t\t\t\tclass=\"bx-im-element-file-image-source\"\n\t\t\t\t:data-lazyload-src=\"fileSource\"\n\t\t\t\t:title=\"localize.IM_MESSENGER_ELEMENT_FILE_SHOW_TITLE.replace('#NAME#', file.name).replace('#SIZE#', fileSize)\"\n\t\t\t\t:style=\"styleFileSizes\"\n\t\t\t/>\n\t\t</div>\n\t" }); }((this.window = this.window || {}),window,BX,BX,BX.Messenger.Model)); //# sourceMappingURL=file.bundle.js.map file/dist/file.bundle.css 0000664 00000011014 14774457154 0011350 0 ustar 00 .bx-im-element-file { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; overflow: hidden; margin-left: -4px; cursor: pointer; min-width: 135px; } .bx-im-message-content-name + .bx-im-message-content-body .bx-im-element-file:first-child { margin-top: 5px; } .bx-im-dialog-list-item + .bx-im-dialog-list-item .bx-im-element-file:first-child { margin-top: 0; } .bx-im-element-file + .bx-im-message-content-body-with-text { display: block; margin-top:7px } .bx-im-element-file + .bx-im-message-content-body-without-text .bx-im-message-content-params { margin-top: -21px; } .bx-im-element-file + .bx-im-element-file { margin-top: 10px; } .bx-im-element-file-icon { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-negative: 0; flex-shrink: 0; padding-right: 7px; } .bx-im-element-file-block { overflow: hidden; } .bx-im-element-file-name { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .bx-im-element-file-name-left { white-space: nowrap; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; } .bx-im-element-file-name-right { -ms-flex-negative: 0; flex-shrink: 0; } .bx-im-element-file-size { color: #717171; font-size: 12px; } .bx-im-element-file-image { display: -webkit-box; display: -ms-flexbox; display: flex; cursor: pointer; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; overflow: hidden; min-width: 100px; min-height: 100px; } .bx-im-element-file-image-source { display: inline-block; } .bx-im-element-file-image-source-text { display: inline-block; width: 100%; max-height: 280px; } .bx-im-element-file-image-source.bx-lazyload-loading, .bx-im-element-file-image-source.bx-lazyload-hidden { background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2275%22%20height%3D%2298%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23E5E8EB%22%20d%3D%22M0%200h54l21%2022.227V98H0z%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23B9BEC4%22%20fill-rule%3D%22nonzero%22%20d%3D%22M63.14%2032.0863H10.008v54.4566h55V32.0873H63.14v-.001zm-.132%2052.4754h-51V34.0665h51v50.4952z%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23535C69%22%20d%3D%22M54%200l21%2022.227H54z%22%20opacity%3D%22.3%22/%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23B9BEC4%22%20d%3D%22M60.008%2081.591v-2.97l-12-11.881-6%205.94-15-14.851-12%2011.881v11.881z%22/%3E%0A%20%20%20%20%3Cellipse%20cx%3D%2251.712%22%20cy%3D%2246.785%22%20fill%3D%22%23B9BEC4%22%20rx%3D%225.231%22%20ry%3D%225.172%22/%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A'); background-repeat: no-repeat; background-position: center; background-size: inherit; } .bx-im-element-file-image-source.bx-lazyload-error { background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2275%22%20height%3D%2298%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23E5E8EB%22%20d%3D%22M0%200h54l21%2022.227V98H0z%22/%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23B9BEC4%22%3E%0A%20%20%20%20%20%20%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M7%2034.897l7.515%2053.474%2023.219-3.263-.676-34.282-6.84-19.191%202.611-.367L7%2034.897zM36.367%2083.28l-21.14%202.97L8.27%2036.739l21.139-2.97%206.227%2017.258.732%2032.255z%22/%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M37.529%2079.675l-.147-15.915-9.094-6.782-10.23%2013.435%201.654%2011.766z%22/%3E%0A%20%20%20%20%3C/g%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23535C69%22%20d%3D%22M54%200l21%2022.227H54z%22%20opacity%3D%22.3%22/%3E%0A%20%20%20%20%3Cg%20fill%3D%22%23B9BEC4%22%20transform%3D%22rotate%285%20-359.005%20511.676%29%22%3E%0A%20%20%20%20%20%20%3Cpath%20fill-rule%3D%22nonzero%22%20d%3D%22M.316.001l3.638%2019.956L1%2054h24V.001H.316zM24%2052H2.353l1.601-16.033%201.621-16.01L2%202h22v50z%22/%3E%0A%20%20%20%20%20%20%3Cpath%20d%3D%22M20.008%2049.591v-2.97l-12-11.881L1.96%2049.591z%22/%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2211.712%22%20cy%3D%2214.785%22%20rx%3D%225.231%22%20ry%3D%225.172%22/%3E%0A%20%20%20%20%3C/g%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A'); background-repeat: no-repeat; background-position: center; background-size: inherit; } .bx-im-element-file-image + .bx-im-message-content-body-without-text .bx-im-message-content-params { margin-top: -21px; } file/dist/file.bundle.map.js 0000664 00000004557 14774457154 0011766 0 ustar 00 {"version":3,"sources":["file.bundle.js"],"names":["exports","ui_vue_directives_lazyload","ui_icons","ui_vue","im_model","Vue","component","props","userId","default","file","type","Object","FilesModel","create","getElementStore","methods","download","event","image","urlShow","window","open","video","urlDownload","computed","localize","getFilteredPhrases","this","$root","$bitrixMessages","fileNameLeft","end","name","length","fileNameRight","substring","cutLength","extension","start","fileSize","size","sizes","position","Math","round","template","cloneComponent","getImageSize","width","height","maxWidth","aspectRatio","styleFileSizes","backgroundSize","styleBoxSizes","parseInt","fileSource","urlPreview","BX","Messenger","Model"],"mappings":"CAAC,SAAUA,EAAQC,EAA2BC,EAASC,EAAOC,GAC7D,aAUAD,EAAOE,IAAIC,UAAU,6BACnBC,OACEC,QACEC,QAAS,GAEXC,MACEC,KAAMC,OACNH,QAASL,EAASS,WAAWC,SAASC,kBAG1CC,SACEC,SAAU,SAASA,EAASP,EAAMQ,GAChC,GAAIR,EAAKS,OAAST,EAAKU,QAAS,CAC9BC,OAAOC,KAAKZ,EAAKU,QAAS,eACrB,GAAIV,EAAKa,OAASb,EAAKU,QAAS,CACrCC,OAAOC,KAAKZ,EAAKU,QAAS,eACrB,GAAIV,EAAKc,YAAa,CAC3BH,OAAOC,KAAKZ,EAAKc,YAAa,aACzB,CACLH,OAAOC,KAAKZ,EAAKU,QAAS,aAIhCK,UACEC,SAAU,SAASA,IACjB,OAAOvB,EAAOE,IAAIsB,mBAAmB,6BAA8BC,KAAKC,MAAMC,kBAEhFC,aAAc,SAASA,IACrB,IAAIC,EAAMJ,KAAKlB,KAAKuB,KAAKC,OAASN,KAAKO,cAAcD,OACrD,OAAON,KAAKlB,KAAKuB,KAAKG,UAAU,EAAGJ,IAErCG,cAAe,SAASA,IACtB,IAAIE,EAAYT,KAAKlB,KAAK4B,UAAUJ,OAAS,EAE7C,GAAIN,KAAKlB,KAAKuB,KAAKC,OAAS,GAAI,CAC9BG,EAAYA,EAAY,EAG1B,IAAIE,EAAQX,KAAKlB,KAAKuB,KAAKC,OAAS,EAAIG,EACxC,OAAOT,KAAKlB,KAAKuB,KAAKG,UAAUG,IAElCC,SAAU,SAASA,IACjB,IAAIC,EAAOb,KAAKlB,KAAK+B,KACrB,IAAIC,GAAS,OAAQ,KAAM,KAAM,KAAM,MACvC,IAAIC,EAAW,EAEf,MAAOF,GAAQ,MAAQE,EAAW,EAAG,CACnCF,GAAQ,KACRE,IAGF,OAAOC,KAAKC,MAAMJ,GAAQ,IAAMb,KAAKF,SAAS,kCAAoCgB,EAAMC,MAG5FG,SAAU,ukBAEZ3C,EAAOE,IAAI0C,eAAe,kCAAmC,6BAC3D/B,SACEgC,aAAc,SAASA,EAAaC,EAAOC,EAAQC,GACjD,IAAIC,EAEJ,GAAIH,EAAQE,EAAU,CACpBC,EAAcD,EAAWF,MACpB,CACLG,EAAc,EAGhB,OACEH,MAAOA,EAAQG,EACfF,OAAQA,EAASE,KAIvB3B,UACE4B,eAAgB,SAASA,IACvB,IAAIX,EAAQd,KAAKoB,aAAapB,KAAKlB,KAAKS,MAAM8B,MAAOrB,KAAKlB,KAAKS,MAAM+B,OAAQ,KAC7E,OACED,MAAOP,EAAMO,MAAQ,KACrBC,OAAQR,EAAMQ,OAAS,KACvBI,eAAgBZ,EAAMO,MAAQ,KAAOP,EAAMQ,OAAS,IAAM,UAAY,YAG1EK,cAAe,SAASA,IACtB,GAAIC,SAAS5B,KAAKyB,eAAeH,SAAW,IAAK,CAC/C,SAGF,OACEA,OAAQ,UAGZO,WAAY,SAASA,IACnB,OAAO7B,KAAKlB,KAAKgD,aAGrBZ,SAAU,qZA1Gb,CA6GGlB,KAAKP,OAASO,KAAKP,WAAcA,OAAOsC,GAAGA,GAAGA,GAAGC,UAAUC","file":"file.bundle.map.js"} file/dist/file.bundle.min.js 0000664 00000005210 14774457154 0011757 0 ustar 00 (function(e,t,i,l,n){"use strict";l.Vue.component("bx-messenger-element-file",{props:{userId:{default:0},file:{type:Object,default:n.FilesModel.create().getElementStore}},methods:{download:function e(t,i){if(t.image&&t.urlShow){window.open(t.urlShow,"_blank")}else if(t.video&&t.urlShow){window.open(t.urlShow,"_blank")}else if(t.urlDownload){window.open(t.urlDownload,"_self")}else{window.open(t.urlShow,"_blank")}}},computed:{localize:function e(){return l.Vue.getFilteredPhrases("IM_MESSENGER_ELEMENT_FILE_",this.$root.$bitrixMessages)},fileNameLeft:function e(){var t=this.file.name.length-this.fileNameRight.length;return this.file.name.substring(0,t)},fileNameRight:function e(){var t=this.file.extension.length+1;if(this.file.name.length>30){t=t+5}var i=this.file.name.length-1-t;return this.file.name.substring(i)},fileSize:function e(){var t=this.file.size;var i=["BYTE","KB","MB","GB","TB"];var l=0;while(t>=1024&&l<4){t/=1024;l++}return Math.round(t)+" "+this.localize["IM_MESSENGER_ELEMENT_FILE_SIZE_"+i[l]]}},template:'\n\t\t<div class="bx-im-element-file" @click="download(file, $event)">\n\t\t\t<div class="bx-im-element-file-icon">\n\t\t\t\t<div :class="[\'ui-icon\', \'ui-icon-file-\'+file.icon]"><i></i></div>\n\t\t\t</div>\n\t\t\t<div class="bx-im-element-file-block">\n\t\t\t\t<div class="bx-im-element-file-name" :title="file.name">\n\t\t\t\t\t<span class="bx-im-element-file-name-left">{{fileNameLeft}}</span><span class="bx-im-element-file-name-right">{{fileNameRight}}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class="bx-im-element-file-size">{{fileSize}}</div>\n\t\t\t</div>\n\t\t</div>\n\t'});l.Vue.cloneComponent("bx-messenger-element-file-image","bx-messenger-element-file",{methods:{getImageSize:function e(t,i,l){var n;if(t>l){n=l/t}else{n=1}return{width:t*n,height:i*n}}},computed:{styleFileSizes:function e(){var t=this.getImageSize(this.file.image.width,this.file.image.height,280);return{width:t.width+"px",height:t.height+"px",backgroundSize:t.width<100||t.height<100?"contain":"initial"}},styleBoxSizes:function e(){if(parseInt(this.styleFileSizes.height)<=280){return{}}return{height:"280px"}},fileSource:function e(){return this.file.urlPreview}},template:'\n\t\t<div class="bx-im-element-file-image" @click="download(file, $event)" :style="styleBoxSizes">\n\t\t\t<img v-bx-lazyload\n\t\t\t\tclass="bx-im-element-file-image-source"\n\t\t\t\t:data-lazyload-src="fileSource"\n\t\t\t\t:title="localize.IM_MESSENGER_ELEMENT_FILE_SHOW_TITLE.replace(\'#NAME#\', file.name).replace(\'#SIZE#\', fileSize)"\n\t\t\t\t:style="styleFileSizes"\n\t\t\t/>\n\t\t</div>\n\t'})})(this.window=this.window||{},window,BX,BX,BX.Messenger.Model); //# sourceMappingURL=file.bundle.map.js file/dist/file.bundle.js.map 0000664 00000016704 14774457154 0011763 0 ustar 00 {"version":3,"file":"file.bundle.js","sources":["../src/file.js"],"sourcesContent":["/**\n * Bitrix Messenger\n * File element Vue component\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2019 Bitrix\n */\n\nimport './file.css';\nimport 'ui.vue.directives.lazyload';\nimport 'ui.icons';\n\nimport {Vue} from 'ui.vue';\nimport {FilesModel} from 'im.model';\n\nVue.component('bx-messenger-element-file',\n{\n\tprops:\n\t{\n\t\tuserId: { default: 0 },\n\t\tfile: {\n\t\t\ttype: Object,\n\t\t\tdefault: FilesModel.create().getElementStore\n\t\t},\n\t},\n\tmethods:\n\t{\n\t\tdownload(file, event)\n\t\t{\n\t\t\tif (file.image && file.urlShow)\n\t\t\t{\n\t\t\t\twindow.open(file.urlShow, '_blank');\n\t\t\t}\n\t\t\telse if (file.video && file.urlShow)\n\t\t\t{\n\t\t\t\twindow.open(file.urlShow, '_blank');\n\t\t\t}\n\t\t\telse if (file.urlDownload)\n\t\t\t{\n\t\t\t\twindow.open(file.urlDownload, '_self');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\twindow.open(file.urlShow, '_blank');\n\t\t\t}\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('IM_MESSENGER_ELEMENT_FILE_', this.$root.$bitrixMessages);\n\t\t},\n\t\tfileNameLeft()\n\t\t{\n\t\t\tlet end = this.file.name.length - this.fileNameRight.length;\n\n\t\t\treturn this.file.name.substring(0, end);\n\t\t},\n\t\tfileNameRight()\n\t\t{\n\t\t\tlet cutLength = this.file.extension.length+1;\n\t\t\tif (this.file.name.length > 30)\n\t\t\t{\n\t\t\t\tcutLength = cutLength+5;\n\t\t\t}\n\n\t\t\tlet start = this.file.name.length-1 - cutLength;\n\n\t\t\treturn this.file.name.substring(start);\n\t\t},\n\t\tfileSize()\n\t\t{\n\t\t\tlet size = this.file.size;\n\n\t\t\tlet sizes = [\"BYTE\", \"KB\", \"MB\", \"GB\", \"TB\"];\n\t\t\tlet position = 0;\n\n\t\t\twhile (size >= 1024 && position < 4)\n\t\t\t{\n\t\t\t\tsize /= 1024;\n\t\t\t\tposition++;\n\t\t\t}\n\n\t\t\treturn Math.round(size) + \" \" + this.localize['IM_MESSENGER_ELEMENT_FILE_SIZE_'+sizes[position]];\n\t\t}\n\t},\n\ttemplate: `\n\t\t<div class=\"bx-im-element-file\" @click=\"download(file, $event)\">\n\t\t\t<div class=\"bx-im-element-file-icon\">\n\t\t\t\t<div :class=\"['ui-icon', 'ui-icon-file-'+file.icon]\"><i></i></div>\n\t\t\t</div>\n\t\t\t<div class=\"bx-im-element-file-block\">\n\t\t\t\t<div class=\"bx-im-element-file-name\" :title=\"file.name\">\n\t\t\t\t\t<span class=\"bx-im-element-file-name-left\">{{fileNameLeft}}</span><span class=\"bx-im-element-file-name-right\">{{fileNameRight}}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bx-im-element-file-size\">{{fileSize}}</div>\n\t\t\t</div>\n\t\t</div>\n\t`\n});\n\nVue.cloneComponent('bx-messenger-element-file-image', 'bx-messenger-element-file',\n{\n\tmethods:\n\t{\n\t\tgetImageSize(width, height, maxWidth)\n\t\t{\n\t\t\tlet aspectRatio;\n\n\t\t\tif (width > maxWidth)\n\t\t\t{\n\t\t\t\taspectRatio = maxWidth / width;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\taspectRatio = 1;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\twidth: width * aspectRatio,\n\t\t\t\theight: height * aspectRatio\n\t\t\t};\n\t\t}\n\t},\n\tcomputed:\n\t{\n\t\tstyleFileSizes()\n\t\t{\n\t\t\tlet sizes = this.getImageSize(this.file.image.width, this.file.image.height, 280);\n\n\t\t\treturn {\n\t\t\t\twidth: sizes.width+'px',\n\t\t\t\theight: sizes.height+'px',\n\t\t\t\tbackgroundSize: sizes.width < 100 || sizes.height < 100? 'contain': 'initial'\n\t\t\t}\n\t\t},\n\t\tstyleBoxSizes()\n\t\t{\n\t\t\tif (parseInt(this.styleFileSizes.height) <= 280)\n\t\t\t{\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\theight: '280px'\n\t\t\t}\n\t\t},\n\t\tfileSource()\n\t\t{\n\t\t\treturn this.file.urlPreview;\n\t\t}\n\t},\n\ttemplate: `\n\t\t<div class=\"bx-im-element-file-image\" @click=\"download(file, $event)\" :style=\"styleBoxSizes\">\n\t\t\t<img v-bx-lazyload\n\t\t\t\tclass=\"bx-im-element-file-image-source\"\n\t\t\t\t:data-lazyload-src=\"fileSource\"\n\t\t\t\t:title=\"localize.IM_MESSENGER_ELEMENT_FILE_SHOW_TITLE.replace('#NAME#', file.name).replace('#SIZE#', fileSize)\"\n\t\t\t\t:style=\"styleFileSizes\"\n\t\t\t/>\n\t\t</div>\n\t`\n});"],"names":["Vue","component","props","userId","default","file","type","Object","FilesModel","create","getElementStore","methods","download","event","image","urlShow","window","open","video","urlDownload","computed","localize","getFilteredPhrases","$root","$bitrixMessages","fileNameLeft","end","name","length","fileNameRight","substring","cutLength","extension","start","fileSize","size","sizes","position","Math","round","template","cloneComponent","getImageSize","width","height","maxWidth","aspectRatio","styleFileSizes","backgroundSize","styleBoxSizes","parseInt","fileSource","urlPreview"],"mappings":"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"} file/lang/ua/config.php 0000664 00000000730 14774457154 0011013 0 ustar 00 <? $MESS["IM_MESSENGER_ELEMENT_FILE_DOWNLOAD_TITLE"] = "Скачати: #NAME# (#SIZE#)"; $MESS["IM_MESSENGER_ELEMENT_FILE_SHOW_TITLE"] = "Відкрити повну версію: #NAME# (#SIZE#)"; $MESS["IM_MESSENGER_ELEMENT_FILE_SIZE_BYTE"] = "байт"; $MESS["IM_MESSENGER_ELEMENT_FILE_SIZE_KB"] = "Кб"; $MESS["IM_MESSENGER_ELEMENT_FILE_SIZE_MB"] = "Мб"; $MESS["IM_MESSENGER_ELEMENT_FILE_SIZE_GB"] = "Гб"; $MESS["IM_MESSENGER_ELEMENT_FILE_SIZE_TB"] = "Тб"; ?>