UNPKG

dext5upload-react

Version:

React component for DEXT5 Upload

936 lines (924 loc) 40.4 kB
/** * @license Copyright (c) 2003-2022, RAONWIZ DevTeam. All rights reserved. */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var raonwizIntegrationsCommon = require('raonwiz-integrations-common'); var PropTypes = require('prop-types'); function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n["default"] = e; return Object.freeze(n); } var React__namespace = /*#__PURE__*/_interopNamespace(React); var PropTypes__namespace = /*#__PURE__*/_interopNamespace(PropTypes); var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __spreadArray(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); } typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { var e = new Error(message); return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; }; var events = [ 'loaded', 'creationComplete', 'destroy', 'beforeAddItem', 'afterAddItem', 'afterAddItemEndTime', 'beforeDeleteItem', 'deleteItemEndTime', 'transferStart', 'transferComplete', 'beforeFileDownload', 'beforeFileViewOrOpen', 'afterDownload', 'finishDownloaded', 'onError', 'uploadingCancel', 'selectItem', 'deselectItem', 'customAction', 'alert' ]; var namespaceEvents = ['beforeLoad', 'namespaceLoaded']; var defaultEvents = __spreadArray(__spreadArray([], events, true), namespaceEvents, true); var EVENT_PREFIX = '__RDU__'; function prefixEventName(evtName) { return "".concat(EVENT_PREFIX).concat(evtName); } function stripPrefix(prefixedEventName) { return prefixedEventName.substr(EVENT_PREFIX.length); } function eventNameToHandlerName(evtName) { var cap = evtName.substr(0, 1).toUpperCase() + evtName.substr(1); return "on".concat(cap); } function handlerNameToEventName(handlerName) { return handlerName.substr(2, 1).toLowerCase() + handlerName.substr(3); } var ComponentEventAction = __spreadArray(__spreadArray([], events, true), namespaceEvents, true).reduce(function (acc, evtName) { var _a; return __assign(__assign({}, acc), (_a = {}, _a[evtName] = prefixEventName(evtName), _a)); }, {}); function uniqueName() { return Math.random() .toString(36) .replace(/[^a-z]+/g, '') .substr(0, 5); } function registerComponentEventHandler(_a) { var debug = _a.debug, component = _a.component, evtName = _a.evtName, handler = _a.handler; var handlerId = debug && uniqueName(); var _handler = handler; if (debug) { _handler = function (args) { console.log({ logType: "RAONWIZ Log - invoke", operation: 'invoke', component: component, componentName: component.object.ID, evtName: evtName, handlerId: handlerId, eventInfo: args.eventInfo }); return handler(args); }; } if (debug) { console.log({ logType: "RAONWIZ Log - register", operation: 'register', component: component, componentName: component.object.ID, evtName: evtName, handlerId: handlerId }); } DEXT5UPLOAD._ExternalAttachEvents(component.object, evtName, _handler); return function () { if (debug) { console.log({ logType: "RAONWIZ Log - unregister", operation: 'unregister', component: component, componentName: component.object.ID, evtName: evtName, handlerId: handlerId }); } }; } var useEffect$1 = React__namespace.useEffect, useReducer = React__namespace.useReducer, useRef$1 = React__namespace.useRef; var defComponentType = "DEXT5UPLOAD"; var defComponentUrl = "/dext5upload/js/dext5upload.js"; var defConfig = {}; function useDEXT5Upload(_a) { var debug = _a.debug, element = _a.element, config = _a.config, componentUrl = _a.componentUrl, createMode = _a.createMode, dispatchEvent = _a.dispatchEvent, _b = _a.subscribeTo, subscribeTo = _b === void 0 ? defaultEvents : _b; var componentUrlRef = useRef$1(componentUrl || defComponentUrl); var createModeRef = useRef$1(createMode); var subscribeToRef = useRef$1(subscribeTo !== null && subscribeTo !== void 0 ? subscribeTo : defaultEvents); var debugRef = useRef$1(debug); var dispatchEventRef = useRef$1(dispatchEvent); var configRef = useRef$1(config || defConfig); var _c = useReducer(reducer, { component: undefined, hookStatus: "init", }), _d = _c[0], component = _d.component, hookStatus = _d.hookStatus, dispatch = _c[1]; useEffect$1(function () { if (element && !component) { dispatch({ type: "loading" }); var onNamespaceLoaded = function (namespace) { var _a; if (subscribeToRef.current.indexOf("namespaceLoaded") !== -1) { (_a = dispatchEventRef.current) === null || _a === void 0 ? void 0 : _a.call(dispatchEventRef, { type: ComponentEventAction.namespaceLoaded, payload: namespace, }); } }; var initComponent = function (namespace) { var _a; if (subscribeToRef.current.indexOf("beforeLoad") !== -1) { (_a = dispatchEventRef.current) === null || _a === void 0 ? void 0 : _a.call(dispatchEventRef, { type: ComponentEventAction.beforeLoad, payload: namespace, }); } if (typeof namespace["_ExternalMakeComponent"] === "undefined") { _ExternalMakeComponent(namespace); } if (typeof namespace["_ExternalSetDestroyEvent"] === "undefined") { _ExternalSetDestroyEvent(namespace); } if (typeof namespace["_ExternalAttachEvents"] === "undefined") { _ExternalAttachEvents(namespace); } if (debug) { console.log({ logType: "RAONWIZ Log - initComponent", operation: "makeComponent config", configRef: configRef.current, componentName: element.id, }); } var component = namespace["_ExternalMakeComponent"](element, configRef.current, createModeRef.current); var subscribedComponentEvents = subscribeToRef.current.filter(function (evtName) { return namespaceEvents.indexOf(evtName) === -1; }); subscribedComponentEvents.forEach(function (evtName) { registerComponentEventHandler({ debug: debugRef.current, component: component, evtName: evtName, handler: function (payload) { var _a; return (_a = dispatchEventRef.current) === null || _a === void 0 ? void 0 : _a.call(dispatchEventRef, { type: "".concat(EVENT_PREFIX).concat(evtName), payload: payload, }); }, }); }); registerComponentEventHandler({ debug: debugRef.current, component: component, evtName: "loaded", handler: function () { dispatch({ type: "loaded" }); }, }); registerComponentEventHandler({ debug: debugRef.current, component: component, evtName: "creationComplete", handler: function (_a) { _a.component; dispatch({ type: "ready" }); }, }); registerComponentEventHandler({ debug: debugRef.current, component: component, evtName: "destroy", handler: function () { dispatch({ type: "destroyed" }); }, }); dispatch({ type: "unloaded", payload: component, }); }; raonwizIntegrationsCommon.getRaonwizComponentNamespace(defComponentType, componentUrlRef.current, onNamespaceLoaded) .then(initComponent) .catch(function (error) { if (process.env.NODE_ENV !== "test") { console.error(error); } dispatch({ type: "error" }); }); } return function () { if (component && component.object && component.object.ID && document.getElementById(component.object.ID) === null && DEXT5UPLOAD) { if (DEXT5UPLOAD._ExternalLoadedEventMap.has(component.object.ID)) { DEXT5UPLOAD._ExternalLoadedEventMap.delete(component.object.ID); } if (DEXT5UPLOAD._ExternalCreationCompleteEventMap.has(component.object.ID)) { DEXT5UPLOAD._ExternalCreationCompleteEventMap.delete(component.object.ID); } if (DEXT5UPLOAD._ExternalDestroyEventMap.has(component.object.ID)) { DEXT5UPLOAD._ExternalDestroyEventMap.delete(component.object.ID); } DEXT5UPLOAD.Destroy(component.object.ID, true); } }; }, [component, element]); return { component: component, status: component === null || component === void 0 ? void 0 : component.status, error: hookStatus === "error", loading: hookStatus === "loading", }; } function reducer(state, action) { switch (action.type) { case "init": return __assign(__assign({}, state), { hookStatus: "init" }); case "loading": return __assign(__assign({}, state), { hookStatus: "loading" }); case "unloaded": return { component: action.payload, hookStatus: "unloaded", }; case "loaded": return __assign(__assign({}, state), { hookStatus: "loaded" }); case "ready": return __assign(__assign({}, state), { hookStatus: "ready" }); case "destroyed": return { component: undefined, hookStatus: "destroyed", }; case "error": return { component: undefined, hookStatus: "error", }; default: return state; } } function _ExternalMakeComponent(namespace) { namespace["_ExternalMakeComponent"] = function (element, options, createMode) { if (typeof DEXT5UPLOAD._ExternalLoadedEventMap === "undefined") { DEXT5UPLOAD._ExternalLoadedEventMap = new Map(); } if (typeof DEXT5UPLOAD._ExternalCreationCompleteEventMap === "undefined") { DEXT5UPLOAD._ExternalCreationCompleteEventMap = new Map(); } if (typeof DEXT5UPLOAD._ExternalDestroyEventMap === "undefined") { DEXT5UPLOAD._ExternalDestroyEventMap = new Map(); } DEXT5UPLOAD._ExternalLoadedEventMap.set(element.id, []); DEXT5UPLOAD._ExternalCreationCompleteEventMap.set(element.id, []); DEXT5UPLOAD._ExternalDestroyEventMap.set(element.id, []); namespace._ExternalDestroy = true; var _compConfig = { UploadHolder: element.id, Id: element.id }; _compConfig = namespace.util.objectExtend(true, options, _compConfig); if (createMode && createMode.toLowerCase() == "object") { var _componentObject = new Dext5Upload(_compConfig); return { object: _componentObject, status: 'ready' }; } else { for (var _i = 0, _a = Object.entries(_compConfig); _i < _a.length; _i++) { var _b = _a[_i], key = _b[0], value = _b[1]; DEXT5UPLOAD.config[key] = value; } var _componentObject = new Dext5Upload(element.id); return { object: _componentObject, status: 'ready' }; } }; } function _ExternalAttachEvents(namespace) { namespace["_ExternalAttachEvents"] = function (componentObj, eventName, callbackFn) { var _componentConfig = componentObj._config; var _callbackFn = callbackFn; switch (eventName) { case "loaded": var _tempExternalLoadedEventListHT = DEXT5UPLOAD._ExternalLoadedEventMap.get(componentObj.ID); _tempExternalLoadedEventListHT.push(_callbackFn); DEXT5UPLOAD._ExternalLoadedEventMap.set(componentObj.ID, _tempExternalLoadedEventListHT); break; case "creationComplete": if (typeof _componentConfig.event[eventName] == "function") { break; } var _tempExternalCreationCompleteEventListHT = DEXT5UPLOAD._ExternalCreationCompleteEventMap.get(componentObj.ID); _tempExternalCreationCompleteEventListHT.push(_callbackFn); DEXT5UPLOAD._ExternalCreationCompleteEventMap.set(componentObj.ID, _tempExternalCreationCompleteEventListHT); var _dummyFn1 = function (componentName, paramObj) { var _tempLoaded = DEXT5UPLOAD._ExternalLoadedEventMap.get(componentObj.ID); for (var _idx = 0, _len = _tempLoaded.length; _idx < _len; _idx++) { try { _tempLoaded[_idx]({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } var _tempCreationComplete = DEXT5UPLOAD._ExternalCreationCompleteEventMap.get(componentObj.ID); for (var _idx = 0, _len = _tempCreationComplete.length; _idx < _len; _idx++) { try { _tempCreationComplete[_idx]({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } namespace._ExternalSetDestroyEvent(componentObj.ID); }; _componentConfig.event[eventName] = _dummyFn1; break; case "destroy": var _tempExternalDestroyEventListHT = DEXT5UPLOAD._ExternalDestroyEventMap.get(componentObj.ID); _tempExternalDestroyEventListHT.push(_callbackFn); DEXT5UPLOAD._ExternalDestroyEventMap.set(componentObj.ID, _tempExternalDestroyEventListHT); break; case "afterAddItem": _componentConfig.event[eventName] = function (componentName, strFileName, nFileSize, nAddItemIndex, objFile) { if (_callbackFn) { var paramObj = { uploadID: componentName, strFileName: strFileName, nFileSize: nFileSize, nAddItemIndex: nAddItemIndex, objFile: objFile }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "afterAddItemEndTime": _componentConfig.event[eventName] = function (componentName) { if (_callbackFn) { var paramObj = { uploadID: componentName }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "afterDownload": _componentConfig.event[eventName] = function (componentName, strDownloadPath, nViewOrSave) { if (_callbackFn) { var paramObj = { uploadID: componentName, strDownloadPath: strDownloadPath, nViewOrSave: nViewOrSave }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "beforeAddItem": _componentConfig.event[eventName] = function (componentName, strFileName, nFileSize, nAddItemIndex, strFileLocalPath, objFile) { if (_callbackFn) { var paramObj = { uploadID: componentName, strFileName: strFileName, nFileSize: nFileSize, nAddItemIndex: nAddItemIndex, strFileLocalPath: strFileLocalPath, objFile: objFile }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "beforeDeleteItem": _componentConfig.event[eventName] = function (componentName, strWebFile, strItemKey, strItemUrlOrPath, nDeleteItemIndex) { if (_callbackFn) { var paramObj = { uploadID: componentName, strWebFile: strWebFile, strItemKey: strItemKey, strItemUrlOrPath: strItemUrlOrPath, nDeleteItemIndex: nDeleteItemIndex }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "beforeFileDownload": _componentConfig.event[eventName] = function (componentName, nWebFile, strItemKey, strItemOrgName, strItemUrlOrPath, largeFiles, isLastEvent) { if (_callbackFn) { var paramObj = { uploadID: componentName, nWebFile: nWebFile, strItemKey: strItemKey, strItemOrgName: strItemOrgName, strItemUrlOrPath: strItemUrlOrPath, largeFiles: largeFiles, isLastEvent: isLastEvent, }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "beforeFileViewOrOpen": _componentConfig.event[eventName] = function (componentName, strWebFile, strItemKey, strItemOrgName, strItemUrlOrPath, strLargeFile) { if (_callbackFn) { var paramObj = { uploadID: componentName, strWebFile: strWebFile, strItemKey: strItemKey, strItemOrgName: strItemOrgName, strItemUrlOrPath: strItemUrlOrPath, strLargeFile: strLargeFile }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "customAction": _componentConfig.event[eventName] = function (componentName, strCmmand) { if (_callbackFn) { var paramObj = { uploadID: componentName, strCmmand: strCmmand }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "deleteItemEndTime": _componentConfig.event[eventName] = function (componentName, nDeleteItemCount) { if (_callbackFn) { var paramObj = { uploadID: componentName, nDeleteItemCount: nDeleteItemCount }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "dropZoneAddItem": _componentConfig.event[eventName] = function (objFile, strFilePath, objDropZoneId) { if (_callbackFn) { var paramObj = { objFile: objFile, strFilePath: strFilePath, objDropZoneId: objDropZoneId }; try { return _callbackFn({ eventInfo: { paramObj: paramObj }, }); } catch (e) { } } }; break; case "excuteFileDownload": _componentConfig.event[eventName] = function (componentName, openUrl) { if (_callbackFn) { var paramObj = { uploadID: componentName, openUrl: openUrl }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "finishDownloaded": _componentConfig.event[eventName] = function (componentName, nDownloadItemCount) { if (_callbackFn) { var paramObj = { uploadID: componentName, nDownloadItemCount: nDownloadItemCount }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "initAddAllFile": _componentConfig.event[eventName] = function (componentName, evtDataObj) { if (_callbackFn) { var paramObj = { uploadID: componentName, evtDataObj: evtDataObj }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "onAddFileProcessing": _componentConfig.event[eventName] = function (componentName, time) { if (_callbackFn) { var paramObj = { uploadID: componentName, time: time }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "onError": _componentConfig.event[eventName] = function (componentName, code, message, uploadedFileListObj) { if (_callbackFn) { var paramObj = { uploadID: componentName, code: code, message: message, uploadedFileListObj: uploadedFileListObj }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "onLanguageDefinition": _componentConfig.event[eventName] = function (componentName, objLang) { if (_callbackFn) { var paramObj = { uploadID: componentName, objLang: objLang }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "selectItem": _componentConfig.event[eventName] = function (componentName, itemInfo) { if (_callbackFn) { var paramObj = { uploadID: componentName, itemInfo: itemInfo }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "transferComplete": _componentConfig.event[eventName] = function (componentName) { if (_callbackFn) { var paramObj = { uploadID: componentName }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "transferStart": _componentConfig.event[eventName] = function (componentName) { if (_callbackFn) { var paramObj = { uploadID: componentName }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; case "uploadingCancel": _componentConfig.event[eventName] = function (componentName, transferStart) { if (_callbackFn) { var paramObj = { uploadID: componentName, transferStart: transferStart }; try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; break; default: var _dummyFn2 = function (componentName, paramObj) { if (_callbackFn) { try { return _callbackFn({ eventInfo: { componentName: componentName, paramObj: paramObj }, }); } catch (e) { } } }; _componentConfig.event[eventName] = _dummyFn2; } }; } function _ExternalSetDestroyEvent(namespace) { namespace["_ExternalSetDestroyEvent"] = function (componentName) { var _domNodeRemovedTargetNode; var _targetElem; if (typeof MutationObserver === "function") { _targetElem = document.getElementById("dext5uploader_holder_" + componentName); if (_targetElem) { _domNodeRemovedTargetNode = _targetElem; } else { _domNodeRemovedTargetNode = document.getElementById("dext5uploader_frame_" + componentName); } if (_domNodeRemovedTargetNode) { new MutationObserver(function () { var _tempDestroy = DEXT5UPLOAD._ExternalDestroyEventMap.get(componentName); var uploader = DEXT5UPLOAD.GetUploadByName(componentName); if (typeof _tempDestroy !== "undefined" && _tempDestroy.length > 0) { for (var _idx = 0, _len = _tempDestroy.length; _idx < _len; _idx++) { try { _tempDestroy[_idx]({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } } else if ( !!uploader && typeof uploader._config !== "undefined" && typeof uploader._config.event.destroy === "function") { try { uploader._config.event.destroy({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } else if (typeof UPLOADTOP.UPLOADWIN.DEXT5UPLOAD_Destroy === "function") { try { UPLOADTOP.UPLOADWIN.DEXT5UPLOAD_Destroy({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } }).observe(_domNodeRemovedTargetNode, { childList: true }); } } else { _targetElem = document.getElementById("dext5uploader_frame_" + componentName); if (_targetElem) { _domNodeRemovedTargetNode = _targetElem; } if (_domNodeRemovedTargetNode) { _domNodeRemovedTargetNode.addEventListener("DOMNodeRemoved", function (e) { var _tempDestroy = DEXT5UPLOAD._ExternalDestroyEventMap.get(componentName); if (typeof _tempDestroy !== "undefined" && _tempDestroy.length > 0) { for (var _idx = 0, _len = _tempDestroy.length; _idx < _len; _idx++) { try { _tempDestroy[_idx]({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } } else if ( !!UPLOADTOP.G_CURRUPLOADER && typeof UPLOADTOP.G_CURRUPLOADER._config !== "undefined" && typeof UPLOADTOP.G_CURRUPLOADER._config.event.destroy === "function") { try { UPLOADTOP.G_CURRUPLOADER._config.event.destroy({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } else if (typeof UPLOADTOP.UPLOADWIN.DEXT5UPLOAD_Destroy === "function") { try { UPLOADTOP.UPLOADWIN.DEXT5UPLOAD_Destroy({ eventInfo: { componentName: componentName, paramObj: undefined, }, }); } catch (e) { } } }, false); } } }; } var useEffect = React__namespace.useEffect, useRef = React__namespace.useRef, useState = React__namespace.useState; function getComponentUniqueName() { return 'dext5upload_' + Math.random() .toString(36) .replace(/[^a-z]+/g, '') .substr(0, 5); } function DEXT5Upload(_a) { var debug = _a.debug, _b = _a.id, id = _b === void 0 ? getComponentUniqueName() : _b, _c = _a.config, config = _c === void 0 ? {} : _c, componentUrl = _a.componentUrl, createMode = _a.createMode, mode = _a.mode, handlers = __rest(_a, ["debug", "id", "config", "componentUrl", "createMode", "mode"]); var _d = useState(null), element = _d[0], setElement = _d[1]; var refs = useRef(handlers); var dispatchEvent = function (_a) { var type = _a.type, payload = _a.payload; var handlerName = eventNameToHandlerName(stripPrefix(type)); var handler = refs.current[handlerName]; if (handler) { return handler(payload); } }; if (config && typeof mode === 'string') { config.Mode = mode; } var _e = useDEXT5Upload({ debug: debug, element: element, config: config, componentUrl: componentUrl, createMode: createMode, dispatchEvent: dispatchEvent, subscribeTo: Object.keys(handlers) .filter(function (key) { return key.indexOf('on') === 0; }) .map(handlerNameToEventName) }), component = _e.component, status = _e.status; useEffect(function () { if (component && status === 'ready' && typeof mode === 'string') { var _isLoadedComponent = DEXT5UPLOAD.IsLoadedUploadEx(component.object.ID); if (debug) { console.log({ logType: 'RAONWIZ Log - useEffect', operation: 'useEffect', component: component, componentName: component.object.ID, mode: mode, status: status, IsLoadedComponentEx: _isLoadedComponent }); } (_isLoadedComponent) && (DEXT5UPLOAD.SetUploadMode(mode, component.object.ID)); } }, [component, status, mode]); return (React__namespace.createElement("div", { id: id !== null && id !== void 0 ? id : undefined, ref: setElement })); } var propTypes = __assign({ config: PropTypes__namespace.object, debug: PropTypes__namespace.bool, componentUrl: PropTypes__namespace.string, createMode: PropTypes__namespace.string, id: PropTypes__namespace.string, mode: PropTypes__namespace.oneOf(['edit', 'view']) }, defaultEvents.reduce(function (acc, key) { var _a; return __assign(__assign({}, acc), (_a = {}, _a[eventNameToHandlerName(key)] = PropTypes__namespace.func, _a)); }, {})); DEXT5Upload.propTypes = propTypes; exports.ComponentEventAction = ComponentEventAction; exports.DEXT5Upload = DEXT5Upload; exports.prefixEventName = prefixEventName; exports.registerComponentEventHandler = registerComponentEventHandler; exports.stripPrefix = stripPrefix; exports.useDEXT5Upload = useDEXT5Upload;