dext5upload-vue3
Version:
Vue3 + TypeScript component for DEXT5 Upload
121 lines (120 loc) • 5.72 kB
JavaScript
/**
* @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 };