File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/im/install/js/im/lib/uploader/dist/uploader.bundle.js.map
Back
{"version":3,"file":"uploader.bundle.js","sources":["../src/filesender.js","../src/uploader.js"],"sourcesContent":["import { Uploader } from './uploader';\nimport { UploaderTask } from './uploader-task';\n\nexport class FileSender\n{\n\ttoken: string = null;\n\tnextDataChunkToSend: number = null;\n\treadOffset: number = 0;\n\n\tconstructor(task: UploaderTask, options = {})\n\t{\n\t\tthis.diskFolderId = task.diskFolderId;\n\t\tthis.listener = task.listener;\n\t\tthis.status = task.status;\n\n\t\tthis.taskId = task.taskId;\n\t\tthis.fileData = task.fileData;\n\t\tthis.fileName = task.fileName || this.fileData.name;\n\t\tthis.generateUniqueName = task.generateUniqueName;\n\t\tthis.chunkSizeInBytes = task.chunkSize;\n\t\tthis.previewBlob = task.previewBlob || null;\n\t\tthis.requestToDelete = false;\n\n\t\tthis.listener('onStartUpload', {\n\t\t\tid: this.taskId,\n\t\t\tfile: this.fileData,\n\t\t\tpreviewData: this.previewBlob\n\t\t});\n\n\t\tthis.host = options.host || null;\n\t\tthis.actionUploadChunk = options.actionUploadChunk || 'disk.api.content.upload';\n\t\tthis.actionCommitFile = options.actionCommitFile || 'disk.api.file.createByContent';\n\t\tthis.actionRollbackUpload = options.actionRollbackUpload || 'disk.api.content.rollbackUpload';\n\t\tthis.customHeaders = options.customHeaders || null;\n\t}\n\n\tuploadContent(): void\n\t{\n\t\tif (this.status === Uploader.STATUSES.CANCELLED)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.status = Uploader.STATUSES.PROGRESS;\n\t\tthis.readNext();\n\n\t\tconst url = `${this.host ? this.host : \"\"}\n\t\t\t/bitrix/services/main/ajax.php?action=${this.actionUploadChunk}\n\t\t\t&filename=${this.fileName}\n\t\t\t${this.token ? \"&token=\" + this.token : \"\"}`;\n\n\t\tconst contentRangeHeader = \"bytes \" + this.readOffset + \"-\" + (this.readOffset + this.chunkSizeInBytes - 1)\n\t\t\t+ \"/\" + this.fileData.size;\n\n\t\tthis.calculateProgress();\n\n\t\tconst headers ={\n\t\t\t\"Content-Type\": this.fileData.type,\n\t\t\t\"Content-Range\": contentRangeHeader,\n\t\t};\n\n\t\tif (!this.customHeaders)\n\t\t{\n\t\t\theaders['X-Bitrix-Csrf-Token'] = BX.bitrix_sessid();\n\t\t}\n\t\telse //if (this.customHeaders)\n\t\t{\n\t\t\tfor (const customHeader in this.customHeaders)\n\t\t\t{\n\t\t\t\tif (this.customHeaders.hasOwnProperty(customHeader))\n\t\t\t\t{\n\t\t\t\t\theaders[customHeader] = this.customHeaders[customHeader];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfetch(url, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: headers,\n\t\t\tcredentials: \"include\",\n\t\t\tbody: this.nextDataChunkToSend\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(result => {\n\t\t\t\tif (result.errors.length > 0)\n\t\t\t\t{\n\t\t\t\t\tthis.status = Uploader.STATUSES.FAILED;\n\t\t\t\t\tthis.listener('onUploadFileError', {id: this.taskId, result: result});\n\t\t\t\t\tconsole.error(result.errors[0].message)\n\t\t\t\t}\n\t\t\t\telse if(result.data.token)\n\t\t\t\t{\n\t\t\t\t\tthis.token = result.data.token;\n\t\t\t\t\tthis.readOffset = this.readOffset + this.chunkSizeInBytes;\n\t\t\t\t\tif (!this.isEndOfFile())\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.uploadContent();\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.createFileFromUploadedChunks();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}).catch(err => {\n\t\t\t\tthis.status = Uploader.STATUSES.FAILED;\n\t\t\t\tthis.listener('onUploadFileError', {id: this.taskId, result: err});\n\t\t\t}\n\t\t);\n\t}\n\n\tdeleteContent(): void\n\t{\n\t\tthis.status = Uploader.STATUSES.CANCELLED;\n\t\tthis.requestToDelete = true;\n\n\t\tif (!this.token)\n\t\t{\n\t\t\tconsole.error('Empty token.')\n\t\t\treturn;\n\t\t}\n\n\t\tconst url = `${this.host ? this.host : \"\"}/bitrix/services/main/ajax.php?\n\t\taction=${this.actionRollbackUpload}&token=${this.token}`;\n\n\t\tconst headers = {};\n\t\tif (!this.customHeaders)\n\t\t{\n\t\t\theaders['X-Bitrix-Csrf-Token'] = BX.bitrix_sessid();\n\t\t}\n\t\telse //if (this.customHeaders)\n\t\t{\n\t\t\tfor (const customHeader in this.customHeaders)\n\t\t\t{\n\t\t\t\tif (this.customHeaders.hasOwnProperty(customHeader))\n\t\t\t\t{\n\t\t\t\t\theaders[customHeader] = this.customHeaders[customHeader];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfetch(url, {\n\t\t\tmethod: 'POST',\n\t\t\tcredentials: \"include\",\n\t\t\theaders: headers\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(result => console.log(result))\n\t\t\t.catch(err => console.error(err))\n\t}\n\n\tcreateFileFromUploadedChunks(): void\n\t{\n\t\tif (!this.token)\n\t\t{\n\t\t\tconsole.error('Empty token.')\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.requestToDelete)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst url = `${this.host ? this.host : \"\"}/bitrix/services/main/ajax.php?action=${this.actionCommitFile}&filename=${this.fileName}`\n\t\t\t+ \"&folderId=\" + this.diskFolderId\n\t\t\t+ \"&contentId=\" + this.token\n\t\t\t+ (this.generateUniqueName ? \"&generateUniqueName=true\" : \"\");\n\n\t\tconst headers = {\n\t\t\t\"X-Upload-Content-Type\": this.fileData.type,\n\t\t};\n\n\t\tif (!this.customHeaders)\n\t\t{\n\t\t\theaders['X-Bitrix-Csrf-Token'] = BX.bitrix_sessid();\n\t\t}\n\t\telse //if (this.customHeaders)\n\t\t{\n\t\t\tfor (const customHeader in this.customHeaders)\n\t\t\t{\n\t\t\t\tif (this.customHeaders.hasOwnProperty(customHeader))\n\t\t\t\t{\n\t\t\t\t\theaders[customHeader] = this.customHeaders[customHeader];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst formData = new FormData();\n\t\tif (this.previewBlob)\n\t\t{\n\t\t\tformData.append(\"previewFile\", this.previewBlob, \"preview_\" + this.fileName + \".jpg\");\n\t\t}\n\n\t\tfetch(url, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: headers,\n\t\t\tcredentials: \"include\",\n\t\t\tbody: formData\n\t\t})\n\t\t\t.then(response => response.json())\n\t\t\t.then(result => {\n\t\t\t\tthis.uploadResult = result;\n\t\t\t\tif (result.errors.length > 0)\n\t\t\t\t{\n\t\t\t\t\tthis.status = Uploader.STATUSES.FAILED;\n\t\t\t\t\tthis.listener('onCreateFileError', {id: this.taskId, result: result});\n\t\t\t\t\tconsole.error(result.errors[0].message)\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.calculateProgress();\n\t\t\t\t\tthis.status = Uploader.STATUSES.DONE;\n\t\t\t\t\tthis.listener('onComplete', {id: this.taskId, result: result});\n\t\t\t\t}\n\t\t\t}).catch(err => {\n\t\t\t\tthis.status = Uploader.STATUSES.FAILED;\n\t\t\t\tthis.listener('onCreateFileError', {id: this.taskId, result: err});\n\t\t\t}\n\t\t);\n\t}\n\n\tcalculateProgress(): void\n\t{\n\t\tthis.progress = Math.round((this.readOffset * 100) / this.fileData.size);\n\n\t\tthis.listener('onProgress', {\n\t\t\tid: this.taskId,\n\t\t\tprogress: this.progress,\n\t\t\treadOffset: this.readOffset,\n\t\t\tfileSize: this.fileData.size,\n\t\t});\n\t}\n\n\treadNext(): void\n\t{\n\t\tif ((this.readOffset + this.chunkSizeInBytes) > this.fileData.size)\n\t\t{\n\t\t\tthis.chunkSizeInBytes = this.fileData.size - this.readOffset;\n\t\t}\n\n\t\tthis.nextDataChunkToSend = this.fileData.slice(this.readOffset, this.readOffset + this.chunkSizeInBytes);\n\t}\n\n\tisEndOfFile(): boolean\n\t{\n\t\treturn (this.readOffset >= this.fileData.size);\n\t}\n}","import { FileSender } from './filesender';\nimport { EventEmitter } from \"main.core.events\";\nimport type { UploaderTask } from './uploader-task';\nimport type { UploaderResultTask } from \"./uploader-result-task\";\n\nexport class Uploader extends EventEmitter\n{\n\tqueue: Array<UploaderTask> = [];\n\tisCloud: string = BX.message.isCloud;\n\tphpUploadMaxFilesize: number = BX.message.phpUploadMaxFilesize;\n\tphpPostMaxSize: number = BX.message.phpPostMaxSize;\n\n\tstatic STATUSES: Object = {\n\t\tPENDING: 0,\n\t\tPROGRESS: 1,\n\t\tDONE: 2,\n\t\tCANCELLED: 3,\n\t\tFAILED: 4,\n\t};\n\tstatic BOX_MIN_CHUNK_SIZE = 1024 * 1024; //1Mb\n\tstatic CLOUD_MIN_CHUNK_SIZE = 1024 * 1024 * 5; //5Mb\n\tstatic CLOUD_MAX_CHUNK_SIZE = 1024 * 1024 * 100; //100Mb\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Messenger.Lib.Uploader');\n\t\tthis.generatePreview = options.generatePreview || false;\n\n\t\tif (options)\n\t\t{\n\t\t\tthis.inputNode = options.inputNode || null;\n\t\t\tthis.dropNode = options.dropNode || null;\n\n\t\t\tthis.fileMaxSize = options.fileMaxSize || null;\n\t\t\tthis.fileMaxWidth = options.fileMaxWidth || null;\n\t\t\tthis.fileMaxHeight = options.fileMaxHeight || null;\n\n\t\t\tif (options.sender)\n\t\t\t{\n\t\t\t\tthis.senderOptions = {\n\t\t\t\t\thost: options.sender.host,\n\t\t\t\t\tactionUploadChunk: options.sender.actionUploadChunk,\n\t\t\t\t\tactionCommitFile: options.sender.actionCommitFile,\n\t\t\t\t\tactionRollbackUpload: options.sender.actionRollbackUpload,\n\t\t\t\t\tcustomHeaders: options.sender.customHeaders || null,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.assignInput();\n\t\t\tthis.assignDrop();\n\t\t}\n\t}\n\n\tsetInputNode(node)\n\t{\n\t\tif (node instanceof HTMLInputElement || Array.isArray(node))\n\t\t{\n\t\t\tthis.inputNode = node;\n\t\t\tthis.assignInput();\n\t\t}\n\t}\n\n\taddFilesFromEvent(event)\n\t{\n\t\tArray.from(event.target.files).forEach(file => {\n\t\t\tthis.emitSelectedFile(file);\n\t\t});\n\t}\n\n\tgetPreview(file: File): Promise\n\t{\n\t\treturn new Promise((resolve, reject) =>\n\t\t{\n\t\t\tif (!this.generatePreview)\n\t\t\t{\n\t\t\t\tresolve();\n\t\t\t}\n\n\t\t\tif (file instanceof File)\n\t\t\t{\n\t\t\t\tif (file.type.startsWith('video'))\n\t\t\t\t{\n\t\t\t\t\tUploader.getVideoPreviewBlob(file, 10)\n\t\t\t\t\t\t.then(blob => this.getImageDimensions(blob))\n\t\t\t\t\t\t.then(result => resolve(result))\n\t\t\t\t\t\t.catch(reason => reject(reason));\n\t\t\t\t}\n\t\t\t\telse if (file.type.startsWith('image'))\n\t\t\t\t{\n\t\t\t\t\tconst blob = new Blob([file],{type: file.type});\n\t\t\t\t\tthis.getImageDimensions(blob).then(result => resolve(result));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treject(\"Parameter 'file' is not instance of 'File'\");\n\t\t\t}\n\t\t})\n\t}\n\n\taddTask(task: UploaderTask): void\n\t{\n\t\tif (!this.isModernBrowser())\n\t\t{\n\t\t\tconsole.warn('Unsupported browser!')\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.checkTaskParams(task))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\ttask.chunkSize = this.calculateChunkSize(task.chunkSize);\n\n\t\ttask.listener = (event, data) => (this.onUploadEvent(event, data));\n\t\ttask.status = Uploader.STATUSES.PENDING;\n\n\t\tconst fileSender = new FileSender(task, this.senderOptions);\n\t\tthis.queue.push(fileSender);\n\t\tthis.checkUploadQueue();\n\t}\n\n\tdeleteTask(taskId: string): void\n\t{\n\t\tif (!taskId)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.queue = this.queue.filter(queueItem => {\n\t\t\tif (queueItem.taskId === taskId)\n\t\t\t{\n\t\t\t\tqueueItem.deleteContent();\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tgetTask(taskId: string): UploaderResultTask\n\t{\n\t\tconst task = this.queue.find(queueItem => queueItem.taskId === taskId);\n\t\tif (task)\n\t\t{\n\t\t\treturn {\n\t\t\t\tid: task.id,\n\t\t\t\tdiskFolderId: task.diskFolderId,\n\t\t\t\tfileData: task.fileData,\n\t\t\t\tfileName: task.fileName,\n\t\t\t\tprogress: task.progress,\n\t\t\t\treadOffset: task.readOffset,\n\t\t\t\tstatus: task.status,\n\t\t\t\ttoken: task.token,\n\t\t\t\tuploadResult: task.uploadResult,\n\t\t\t};\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstatic getVideoPreviewBlob(file: File, seekTime: number = 0): Promise\n\t{\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst videoPlayer = document.createElement('video');\n\t\t\tvideoPlayer.setAttribute('src', URL.createObjectURL(file));\n\t\t\tvideoPlayer.load();\n\t\t\tvideoPlayer.addEventListener('error', (error) => {\n\t\t\t\treject(\"Error while loading video file\", error);\n\t\t\t});\n\t\t\tvideoPlayer.addEventListener('loadedmetadata', () => {\n\t\t\t\tif (videoPlayer.duration < seekTime)\n\t\t\t\t{\n\t\t\t\t\tseekTime = 0;\n\t\t\t\t\t// reject(\"Too big seekTime for the video.\");\n\t\t\t\t\t// return;\n\t\t\t\t}\n\t\t\t\tvideoPlayer.currentTime = seekTime;\n\t\t\t\tvideoPlayer.addEventListener('seeked', () => {\n\t\t\t\t\tconst canvas = document.createElement(\"canvas\");\n\t\t\t\t\tcanvas.width = videoPlayer.videoWidth;\n\t\t\t\t\tcanvas.height = videoPlayer.videoHeight;\n\t\t\t\t\tconst context = canvas.getContext(\"2d\");\n\t\t\t\t\tcontext.drawImage(videoPlayer, 0, 0, canvas.width, canvas.height);\n\t\t\t\t\tcontext.canvas.toBlob(\n\t\t\t\t\t\tblob => resolve(blob),\n\t\t\t\t\t\t\"image/jpeg\",\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tcheckUploadQueue(): void\n\t{\n\t\tif (this.queue.length > 0)\n\t\t{\n\t\t\tconst inProgressTasks = this.queue.filter(queueTask => queueTask.status === Uploader.STATUSES.PENDING);\n\t\t\tif (inProgressTasks.length > 0)\n\t\t\t{\n\t\t\t\tinProgressTasks[0].uploadContent();\n\t\t\t}\n\t\t}\n\t}\n\n\tonUploadEvent(event: string, data: Object)\n\t{\n\t\tthis.emit(event, data);\n\t\tthis.checkUploadQueue();\n\t}\n\n\tcheckTaskParams(task: UploaderTask)\n\t{\n\t\tif (!task.taskId)\n\t\t{\n\t\t\tconsole.error('Empty Task ID.')\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!task.fileData)\n\t\t{\n\t\t\tconsole.error('Empty file data.')\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!task.diskFolderId)\n\t\t{\n\t\t\tconsole.error('Empty disk folder ID.')\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.fileMaxSize && this.fileMaxSize < task.fileData.size)\n\t\t{\n\t\t\tconst data = {\n\t\t\t\tmaxFileSizeLimit: this.fileMaxSize,\n\t\t\t\tfile: task.fileData,\n\t\t\t};\n\t\t\tthis.emit('onFileMaxSizeExceeded', data);\n\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tcalculateChunkSize(taskChunkSize: number): number\n\t{\n\t\tlet chunk = 0;\n\t\tif (taskChunkSize)\n\t\t{\n\t\t\tchunk = taskChunkSize;\n\t\t}\n\n\t\tif (this.isCloud === 'Y')\n\t\t{\n\t\t\tchunk = (chunk < Uploader.CLOUD_MIN_CHUNK_SIZE) ? Uploader.CLOUD_MIN_CHUNK_SIZE : chunk;\n\t\t\tchunk = (chunk > Uploader.CLOUD_MAX_CHUNK_SIZE) ? Uploader.CLOUD_MAX_CHUNK_SIZE : chunk;\n\t\t}\n\t\telse //if(this.isCloud === 'N')\n\t\t{\n\t\t\tconst maxBoxChunkSize = Math.min(this.phpPostMaxSize, this.phpUploadMaxFilesize);\n\n\t\t\tchunk = (chunk < Uploader.BOX_MIN_CHUNK_SIZE) ? Uploader.BOX_MIN_CHUNK_SIZE : chunk;\n\t\t\tchunk = (chunk > maxBoxChunkSize) ? maxBoxChunkSize : chunk;\n\t\t}\n\n\t\treturn chunk;\n\t}\n\n\tisModernBrowser(): boolean\n\t{\n\t\treturn typeof (fetch) !== 'undefined';\n\t}\n\n\tassignInput()\n\t{\n\t\tif (this.inputNode instanceof HTMLInputElement)\n\t\t{\n\t\t\tthis.setOnChangeEventListener(this.inputNode);\n\t\t}\n\t\telse if (Array.isArray(this.inputNode))\n\t\t{\n\t\t\tthis.inputNode.forEach(node => {\n\t\t\t\tif (node instanceof HTMLInputElement)\n\t\t\t\t{\n\t\t\t\t\tthis.setOnChangeEventListener(node);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tsetOnChangeEventListener(inputNode: HTMLInputElement)\n\t{\n\t\tinputNode.addEventListener('change', (event) => {\n\t\t\tthis.addFilesFromEvent(event);\n\t\t}, false);\n\t}\n\n\tassignDrop()\n\t{\n\t\tif (this.dropNode instanceof HTMLElement)\n\t\t{\n\t\t\tthis.setDropEventListener(this.dropNode);\n\t\t}\n\t\telse if (Array.isArray(this.dropNode))\n\t\t{\n\t\t\tthis.dropNode.forEach(node => {\n\t\t\t\tif (node instanceof HTMLElement)\n\t\t\t\t{\n\t\t\t\t\tthis.setDropEventListener(node);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tsetDropEventListener(dropNode: HTMLElement)\n\t{\n\t\tdropNode.addEventListener('drop', (event) => {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tArray.from(event.dataTransfer.files).forEach(file => {\n\t\t\t\tthis.emitSelectedFile(file);\n\t\t\t});\n\t\t}, false);\n\t}\n\n\temitSelectedFile(file: File)\n\t{\n\t\tconst data = { file: file };\n\t\tthis.getPreview(file).then(previewData => {\n\t\t\tif (previewData)\n\t\t\t{\n\t\t\t\tdata['previewData'] = previewData.blob;\n\t\t\t\tdata['previewDataWidth'] = previewData.width;\n\t\t\t\tdata['previewDataHeight'] = previewData.height;\n\n\t\t\t\tif (this.fileMaxWidth || this.fileMaxHeight)\n\t\t\t\t{\n\t\t\t\t\tconst isMaxWidthExceeded = (this.fileMaxWidth === null ? false : this.fileMaxWidth < data['previewDataWidth']);\n\t\t\t\t\tconst isMaxHeightExceeded = (this.fileMaxHeight === null ? false : this.fileMaxHeight < data['previewDataHeight']);\n\t\t\t\t\tif (isMaxWidthExceeded || isMaxHeightExceeded)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst eventData = {\n\t\t\t\t\t\t\tmaxWidth: this.fileMaxWidth,\n\t\t\t\t\t\t\tmaxHeight: this.fileMaxHeight,\n\t\t\t\t\t\t\tfileWidth: data['previewDataWidth'],\n\t\t\t\t\t\t\tfileHeight: data['previewDataHeight'],\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.emit('onFileMaxResolutionExceeded', eventData);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.emit('onSelectFile', data);\n\t\t}).catch(err => {\n\t\t\tconsole.warn(`Couldn't get preview for file ${file.name}. Error: ${err}`);\n\t\t\tthis.emit('onSelectFile', data);\n\t\t});\n\t}\n\n\tgetImageDimensions(fileBlob: Blob)\n\t{\n\t\treturn new Promise ((resolved, rejected) => {\n\t\t\tif (!fileBlob)\n\t\t\t{\n\t\t\t\trejected('getImageDimensions: fileBlob can\\'t be empty');\n\t\t\t}\n\n\t\t\tconst img = new Image();\n\t\t\timg.onload = () => {\n\t\t\t\tresolved({\n\t\t\t\t\tblob: fileBlob,\n\t\t\t\t\twidth: img.width,\n\t\t\t\t\theight: img.height\n\t\t\t\t})\n\t\t\t};\n\t\t\timg.onerror = () => {\n\t\t\t\trejected();\n\t\t\t};\n\t\t\timg.src = URL.createObjectURL(fileBlob);\n\t\t})\n\t}\n}\n"],"names":["FileSender","task","options","diskFolderId","listener","status","taskId","fileData","fileName","name","generateUniqueName","chunkSizeInBytes","chunkSize","previewBlob","requestToDelete","id","file","previewData","host","actionUploadChunk","actionCommitFile","actionRollbackUpload","customHeaders","Uploader","STATUSES","CANCELLED","PROGRESS","readNext","url","token","contentRangeHeader","readOffset","size","calculateProgress","headers","type","BX","bitrix_sessid","customHeader","hasOwnProperty","fetch","method","credentials","body","nextDataChunkToSend","then","response","json","result","errors","length","FAILED","console","error","message","data","isEndOfFile","uploadContent","createFileFromUploadedChunks","err","log","formData","FormData","append","uploadResult","DONE","progress","Math","round","fileSize","slice","isCloud","phpUploadMaxFilesize","phpPostMaxSize","setEventNamespace","generatePreview","inputNode","dropNode","fileMaxSize","fileMaxWidth","fileMaxHeight","sender","senderOptions","assignInput","assignDrop","node","HTMLInputElement","Array","isArray","event","from","target","files","forEach","emitSelectedFile","Promise","resolve","reject","File","startsWith","getVideoPreviewBlob","blob","getImageDimensions","reason","Blob","isModernBrowser","warn","checkTaskParams","calculateChunkSize","onUploadEvent","PENDING","fileSender","queue","push","checkUploadQueue","filter","queueItem","deleteContent","find","inProgressTasks","queueTask","emit","maxFileSizeLimit","taskChunkSize","chunk","CLOUD_MIN_CHUNK_SIZE","CLOUD_MAX_CHUNK_SIZE","maxBoxChunkSize","min","BOX_MIN_CHUNK_SIZE","setOnChangeEventListener","addEventListener","addFilesFromEvent","HTMLElement","setDropEventListener","preventDefault","stopPropagation","dataTransfer","getPreview","width","height","isMaxWidthExceeded","isMaxHeightExceeded","eventData","maxWidth","maxHeight","fileWidth","fileHeight","fileBlob","resolved","rejected","img","Image","onload","onerror","src","URL","createObjectURL","seekTime","videoPlayer","document","createElement","setAttribute","load","duration","currentTime","canvas","videoWidth","videoHeight","context","getContext","drawImage","toBlob","EventEmitter"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.28 |
proxy
|
phpinfo
|
Settings