%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.118.2.68 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.ui.grid/templates/.default/js/ |
Upload File : |
;(function() { 'use strict'; BX.Reflection.namespace('BX.Grid'); BX.Grid.ImageField = function(parent, options) { this.parent = parent; this.options = options; this.cache = new BX.Cache.MemoryCache(); }; BX.Grid.ImageField.prototype = { getPreview: function() { return this.cache.remember('preview', function() { return BX.create('img', { props: { className: 'main-grid-image-editor-preview' }, attrs: { src: this.options.VALUE } }); }.bind(this)); }, getFileInput: function() { return this.cache.remember('fileInput', function() { return BX.create("input", { props: { className: "main-grid-image-editor-file-input" }, attrs: { type: "file", accept: "image/*", name: this.options.NAME }, events: { change: function(event) { var reader = new FileReader(); reader.onload = function(event) { this.getPreview().src = event.currentTarget.result; }.bind(this); reader.readAsDataURL(event.target.files[0]); BX.Dom.remove(this.getFakeField()); BX.Dom.append(this.getFileInput(), this.getLayout()); BX.Dom.removeClass(this.getRemoveButton(), 'ui-btn-disabled'); BX.Dom.style(this.getPreview(), null); }.bind(this) } }) }.bind(this)); }, getUploadButton: function() { return this.cache.remember('uploadButton', function() { return BX.create('button', { props: { className: "ui-btn ui-btn-xs" }, text: this.parent.getParam("MAIN_UI_GRID_IMAGE_EDITOR_BUTTON_EDIT"), events: { click: function(event) { event.preventDefault(); this.getFileInput().click(); }.bind(this) } }); }.bind(this)); }, getRemoveButton: function() { return this.cache.remember('removeButton', function() { return BX.create('button', { props: { className: "ui-btn ui-btn-xs ui-btn-danger" }, events: { click: function(event) { event.preventDefault(); BX.Dom.append(this.getFakeField(), this.getLayout()); BX.Dom.remove(this.getFileInput()); BX.Dom.addClass(this.getRemoveButton(), 'ui-btn-disabled'); BX.Dom.style(this.getPreview(), { opacity: .4 }); }.bind(this) }, text: this.parent.getParam('MAIN_UI_GRID_IMAGE_EDITOR_BUTTON_REMOVE') }); }.bind(this)); }, getFakeField: function() { return this.cache.remember('deleted', function() { return BX.create("input", { props: { className: "main-grid-image-editor-fake-file-input" }, attrs: { type: "hidden", name: this.options.NAME, value: 'null' } }); }.bind(this)); }, getLayout: function() { return this.cache.remember('layout', function() { return BX.create("div", { props: { className: "main-grid-image-editor main-grid-editor" }, attrs: { name: this.options.NAME }, children: [ BX.create("div", { props: { className: "main-grid-image-editor-left" }, children: [ this.getPreview() ] }), BX.create("div", { props: { className: "main-grid-image-editor-right" }, children: [ this.getUploadButton(), this.getRemoveButton() ] }), this.getFileInput() ] }); }.bind(this)); } }; })();