![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-full/dist/js/ |
Upload File : |
/*** module: node_modules/absol-acomp/js/DropZone.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("../css/dropzone.css"); var _ACore = _interopRequireDefault(require("../ACore")); var _AElement = _interopRequireDefault(require("absol/src/HTML5/AElement")); var _EventEmitter = require("absol/src/HTML5/EventEmitter"); var _ = _ACore.default._; var $ = _ACore.default.$; /*** * @extends AElement * @constructor */ function DropZone() { this.defineEvent(['fileenter', 'fileleave', 'filedrop']); this.addClass('as-drop-zone'); this.on('dragover', this.eventHandler.dragZoneFileOver).on('drop', this.eventHandler.dropZoneFileDrop); this._fileOverTimeout = -1; } DropZone.tag = 'dropzone'; DropZone.render = function () { return _('div'); }; DropZone.eventHandler = {}; DropZone.eventHandler.dragZoneFileOver = function (event) { event.preventDefault(); if (this._fileOverTimeout > 0) { clearTimeout(this._fileOverTimeout); } else { this.addClass('as-drag-over'); this.emit('fileenter', event, this); } this._fileOverTimeout = setTimeout(this.eventHandler.dragZoneFileOverEnd, 200); }; /*** * * @param {DragEvent} event */ DropZone.eventHandler.dropZoneFileDrop = function (event) { if (this._fileOverTimeout > 0) { clearTimeout(this._fileOverTimeout); this._fileOverTimeout = -1; } event.preventDefault(); this.removeClass('as-drag-over'); event._files = null; if (!event.hasOwnProperty('files')) Object.defineProperty(event, 'files', { get: function () { if (this._files) return this._files; var files = []; var file; if (event.dataTransfer.items) { for (var i = 0; i < event.dataTransfer.items.length; i++) { if (event.dataTransfer.items[i].kind === 'file') { file = event.dataTransfer.items[i].getAsFile(); files.push(file); } } } else { // Use DataTransfer interface to access the file(s) for (var i = 0; i < event.dataTransfer.files.length; i++) { files.push(event.dataTransfer.files[i]); } } this._files = files; return this._files; } }); this.emit('filedrop', event, this); }; DropZone.eventHandler.dragZoneFileOverEnd = function () { this._fileOverTimeout = -1; this.removeClass('as-drag-over'); this.emit('fileleave', { type: 'fileleave' }, this); }; _ACore.default.install(DropZone); var _default = DropZone; exports.default = _default;