UNPKG

dext5upload-vue3

Version:

Vue3 + TypeScript component for DEXT5 Upload

121 lines (120 loc) 5.72 kB
/** * @license Copyright (c) 2003-2022, RAONWIZ DevTeam. All rights reserved. */ var validEvents = [ 'onCreationComplete', 'onTransferComplete', 'onOnError', 'onUploadingCancel', 'onDeleteItemEndTime', 'onBeforeAddItem', 'onAfterAddItem', 'onAfterAddItemEndTime', 'onBeforeDeleteItem', 'onTransferStart', 'onSelectItem', 'onBeforeFileViewOrOpen', 'onBeforeFileDownload', 'onAfterDownload', 'onFinishDownloaded', 'onDropZoneAddItem', 'onCustomAction', 'onOnAddFileProcessing', 'onOnLanguageDefinition' ]; var isValidKey = function (key) { return validEvents.map(function (event) { return event.toLowerCase(); }).indexOf(key.toLowerCase()) !== -1; }; var bindHandlers = function (uploadId, listeners) { Object.keys(listeners) .filter(isValidKey) .forEach(function (key) { var handler = listeners[key]; if (typeof handler === 'function') { if (DEXT5UPLOAD.config.Event[key.substring(2)] == null) { DEXT5UPLOAD.config.Event[key.substring(2)] = function (param1, param2, param3, param4, param5, param6, param7) { var _componentName = param1; var _paramObj; switch (key) { case 'onCreationComplete': _paramObj = { uploadId: param1 }; break; case 'onTransferComplete': _paramObj = { uploadId: param1 }; break; case 'onOnError': _paramObj = { uploadId: param1, errorCode: param2, errorMessage: param3, uploadedFileListObj: param4 }; break; case 'onUploadingCancel': _paramObj = { uploadId: param1, uploadedFileListObj: param2 }; break; case 'onDeleteItemEndTime': _paramObj = { uploadId: param1, deleteItemCount: param2 }; break; case 'onBeforeAddItem': _paramObj = { uploadId: param1, fileName: param2, fileSize: param3, addItemIndex: param4, strFileLocalPath: param5, objFile: param6 }; break; case 'onAfterAddItem': _paramObj = { uploadId: param1, fileName: param2, fileSize: param3, addItemIndex: param4, objFile: param5 }; break; case 'onAfterAddItemEndTime': _paramObj = { uploadId: param1 }; break; case 'onBeforeDeleteItem': _paramObj = { uploadId: param1, webFile: param2, itemKey: param3, itemUrlOrPath: param4, deleteItemIndex: param5 }; break; case 'onTransferStart': _paramObj = { uploadId: param1 }; break; case 'onSelectItem': _paramObj = { uploadId: param1, itemInfo: param2 }; break; case 'onBeforeFileViewOrOpen': _paramObj = { uploadId: param1, webFile: param2, itemKey: param3, itemOrgNmae: param4, itemUrlOrPath: param5, largeFile: param6 }; break; case 'onBeforeFileDownload': _paramObj = { uploadId: param1, webFile: param2, itemKey: param3, itemOrgNmae: param4, itemUrlOrPath: param5, largeFile: param6, lastEvent: param7 }; break; case 'onAfterDownload': _paramObj = { uploadId: param1, downloadPath: param2, viewOrSave: param3 }; break; case 'onFinishDownloaded': _paramObj = { uploadId: param1, downloadItemCount: param2 }; break; case 'onDropZoneAddItem': _paramObj = { uploadId: param1, filePath: param2, dropZoneId: param3 }; break; case 'onCustomAction': _paramObj = { uploadId: param1, cmmand: param2 }; break; case 'onOnAddFileProcessing': _paramObj = { uploadId: param1, time: param2 }; break; case 'onOnLanguageDefinition': _paramObj = { uploadId: param1, lang: param2 }; break; } if (DEXT5UPLOAD._EventHashMap.has(_componentName)) { var _ctx = DEXT5UPLOAD._EventHashMap.get(_componentName); var handler_1 = _ctx.attrs[key]; return handler_1({ componentName: _componentName, paramObj: _paramObj }); } }; } } }); }; var setUpComponentEvents = function (uploadId, ctx) { bindHandlers(uploadId, ctx.attrs); }; var unique = 0; var uuid = function (prefix) { var time = Date.now(); var random = Math.floor(Math.random() * 1000000000); unique++; return prefix + '_' + random + unique + String(time); }; var isNullOrUndefined = function (value) { return value === null || value === undefined; }; export { bindHandlers, setUpComponentEvents, isValidKey, uuid, isNullOrUndefined };