@rpldy/shared-ui
Advanced tools
Comparing version 1.3.1 to 1.4.0-rc.0
@@ -7,7 +7,4 @@ "use strict"; | ||
exports.default = exports.ERROR_MSG = exports.DIFFERENT_VERSION_ERROR_MSG = void 0; | ||
var _shared = require("@rpldy/shared"); | ||
var _uploadyVersion = require("./uploadyVersion"); | ||
const ERROR_MSG = "Uploady - Valid UploadyContext not found. Make sure you render inside <Uploady>"; | ||
@@ -18,3 +15,2 @@ exports.ERROR_MSG = ERROR_MSG; | ||
exports.DIFFERENT_VERSION_ERROR_MSG = DIFFERENT_VERSION_ERROR_MSG; | ||
const assertContext = context => { | ||
@@ -25,4 +21,3 @@ (0, _shared.invariant)(!(0, _uploadyVersion.getIsVersionRegisteredAndDifferent)(), DIFFERENT_VERSION_ERROR_MSG, (0, _uploadyVersion.getRegisteredVersion)()); | ||
}; | ||
var _default = assertContext; | ||
exports.default = _default; |
@@ -7,15 +7,8 @@ "use strict"; | ||
exports.createRequestUpdateHoc = void 0; | ||
var _react = _interopRequireWildcard(require("react")); | ||
var _useUploadyContext = _interopRequireDefault(require("../hooks/useUploadyContext")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
const createRequestUpdateHoc = _ref => { | ||
@@ -35,4 +28,5 @@ let { | ||
id | ||
} = props; //need layout effect to register to event in time (block) | ||
} = props; | ||
//need layout effect to register to event in time (block) | ||
(0, _react.useLayoutEffect)(() => { | ||
@@ -43,4 +37,4 @@ const handleEvent = function () { | ||
} | ||
return getIsValidEventData(id, ...params) === true ? //returning a promise to event dispatcher so it will await until its resolved by user-land code | ||
return getIsValidEventData(id, ...params) === true ? | ||
//returning a promise to event dispatcher so it will await until its resolved by user-land code | ||
new Promise(resolve => { | ||
@@ -55,10 +49,9 @@ setUpdater({ | ||
}); | ||
}) : //returning false for invalid data will cancel the request so must return undefined! | ||
}) : | ||
//returning false for invalid data will cancel the request so must return undefined! | ||
undefined; | ||
}; | ||
if (id) { | ||
context.on(eventType, handleEvent); | ||
} | ||
return () => { | ||
@@ -73,3 +66,2 @@ if (id) { | ||
}; | ||
exports.createRequestUpdateHoc = createRequestUpdateHoc; |
@@ -7,7 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _uploader = require("@rpldy/uploader"); | ||
var _createRequestUpdateHoc = require("./createRequestUpdateHoc"); | ||
const withBatchStartUpdate = (0, _createRequestUpdateHoc.createRequestUpdateHoc)({ | ||
@@ -14,0 +11,0 @@ eventType: _uploader.UPLOADER_EVENTS.BATCH_START, |
@@ -7,7 +7,4 @@ "use strict"; | ||
exports.default = void 0; | ||
var _uploader = require("@rpldy/uploader"); | ||
var _createRequestUpdateHoc = require("./createRequestUpdateHoc"); | ||
const withRequestPreSendUpdate = (0, _createRequestUpdateHoc.createRequestUpdateHoc)({ | ||
@@ -14,0 +11,0 @@ eventType: _uploader.UPLOADER_EVENTS.REQUEST_PRE_SEND, |
@@ -7,7 +7,4 @@ "use strict"; | ||
exports.useRequestPreSend = exports.useItemStartListener = exports.useItemProgressListener = exports.useItemFinishListener = exports.useItemFinalizeListener = exports.useItemErrorListener = exports.useItemCancelListener = exports.useItemAbortListener = exports.useBatchStartListener = exports.useBatchProgressListener = exports.useBatchFinishListener = exports.useBatchFinalizeListener = exports.useBatchErrorListener = exports.useBatchCancelledListener = exports.useBatchAddListener = exports.useBatchAbortListener = exports.useAllAbortListener = void 0; | ||
var _uploader = require("@rpldy/uploader"); | ||
var _hooksUtils = require("./hooksUtils"); | ||
const useBatchAddListener = (0, _hooksUtils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.BATCH_ADD, false); | ||
@@ -27,3 +24,4 @@ exports.useBatchAddListener = useBatchAddListener; | ||
exports.useBatchAbortListener = useBatchAbortListener; | ||
const useBatchProgressListener = (0, _hooksUtils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.BATCH_PROGRESS, batch => ({ ...batch | ||
const useBatchProgressListener = (0, _hooksUtils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.BATCH_PROGRESS, batch => ({ | ||
...batch | ||
})); | ||
@@ -43,3 +41,4 @@ exports.useBatchProgressListener = useBatchProgressListener; | ||
exports.useItemFinalizeListener = useItemFinalizeListener; | ||
const useItemProgressListener = (0, _hooksUtils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.ITEM_PROGRESS, item => ({ ...item | ||
const useItemProgressListener = (0, _hooksUtils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.ITEM_PROGRESS, item => ({ | ||
...item | ||
})); | ||
@@ -46,0 +45,0 @@ exports.useItemProgressListener = useItemProgressListener; |
@@ -7,11 +7,6 @@ "use strict"; | ||
exports.generateUploaderEventHookWithState = exports.generateUploaderEventHook = void 0; | ||
var _react = require("react"); | ||
var _shared = require("@rpldy/shared"); | ||
var _useUploadyContext = _interopRequireDefault(require("./useUploadyContext")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const useEventEffect = (event, fn) => { | ||
@@ -30,30 +25,25 @@ const context = (0, _useUploadyContext.default)(); | ||
}; | ||
const generateUploaderEventHookWithState = (event, stateCalculator) => (fn, id) => { | ||
const [eventState, setEventState] = (0, _react.useState)(null); | ||
let cbFn = fn; | ||
let usedId = id; | ||
if (fn && !(0, _shared.isFunction)(fn)) { | ||
id = fn; | ||
fn = undefined; | ||
usedId = fn; | ||
cbFn = undefined; | ||
} | ||
const eventCallback = (0, _react.useCallback)(function (eventObj) { | ||
if (!id || eventObj.id === id) { | ||
if (!usedId || eventObj.id === usedId) { | ||
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
args[_key - 1] = arguments[_key]; | ||
} | ||
setEventState(stateCalculator(eventObj, ...args)); | ||
if ((0, _shared.isFunction)(fn)) { | ||
fn(eventObj, ...args); | ||
if ((0, _shared.isFunction)(cbFn)) { | ||
cbFn(eventObj, ...args); | ||
} | ||
} | ||
}, [fn, id]); | ||
}, [cbFn, usedId]); | ||
useEventEffect(event, eventCallback); | ||
return eventState; | ||
}; | ||
exports.generateUploaderEventHookWithState = generateUploaderEventHookWithState; | ||
const generateUploaderEventHook = function (event) { | ||
@@ -66,3 +56,2 @@ let canScope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; | ||
} | ||
return fn && (!canScope || !id || eventObj.id === id) ? fn(eventObj, ...args) : undefined; | ||
@@ -73,3 +62,2 @@ }, [fn, id]); | ||
}; | ||
exports.generateUploaderEventHook = generateUploaderEventHook; |
@@ -7,9 +7,5 @@ "use strict"; | ||
exports.default = void 0; | ||
var _react = require("react"); | ||
var _useUploadyContext = _interopRequireDefault(require("./useUploadyContext")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const useAbortAll = () => { | ||
@@ -19,4 +15,3 @@ const context = (0, _useUploadyContext.default)(); | ||
}; | ||
var _default = useAbortAll; | ||
exports.default = _default; |
@@ -7,9 +7,5 @@ "use strict"; | ||
exports.default = void 0; | ||
var _react = require("react"); | ||
var _useUploadyContext = _interopRequireDefault(require("./useUploadyContext")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const useAbortBatch = () => { | ||
@@ -19,4 +15,3 @@ const context = (0, _useUploadyContext.default)(); | ||
}; | ||
var _default = useAbortBatch; | ||
exports.default = _default; |
@@ -7,9 +7,5 @@ "use strict"; | ||
exports.default = void 0; | ||
var _react = require("react"); | ||
var _useUploadyContext = _interopRequireDefault(require("./useUploadyContext")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const useAbortItem = () => { | ||
@@ -19,4 +15,3 @@ const context = (0, _useUploadyContext.default)(); | ||
}; | ||
var _default = useAbortItem; | ||
exports.default = _default; |
@@ -7,11 +7,6 @@ "use strict"; | ||
exports.default = void 0; | ||
var _react = require("react"); | ||
var _shared = require("@rpldy/shared"); | ||
var _uploader = _interopRequireDefault(require("@rpldy/uploader")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const useUploader = (options, listeners) => { | ||
@@ -21,8 +16,9 @@ //avoid creating new instance of uploader (unless enhancer method changed) | ||
_shared.logger.debugLog("Uploady creating a new uploader instance", options); | ||
return (0, _uploader.default)(options); | ||
}, //dont recreate the uploader when options changed - we do update later | ||
}, | ||
//dont recreate the uploader when options changed - we do update later | ||
//eslint-disable-next-line react-hooks/exhaustive-deps | ||
[options.enhancer]); //Forgoing any kind of memoization. Probably not worth the comparison work to save on the options merge | ||
[options.enhancer]); | ||
//Forgoing any kind of memoization. Probably not worth the comparison work to save on the options merge | ||
uploader.update(options); | ||
@@ -32,3 +28,2 @@ (0, _react.useEffect)(() => { | ||
_shared.logger.debugLog("Uploady setting event listeners", listeners); | ||
Object.entries(listeners).forEach(_ref => { | ||
@@ -39,7 +34,5 @@ let [name, m] = _ref; | ||
} | ||
return () => { | ||
if (listeners) { | ||
_shared.logger.debugLog("Uploady removing event listeners", listeners); | ||
Object.entries(listeners).forEach(_ref2 => { | ||
@@ -54,4 +47,3 @@ let [name, m] = _ref2; | ||
}; | ||
var _default = useUploader; | ||
exports.default = _default; |
@@ -7,18 +7,12 @@ "use strict"; | ||
exports.default = void 0; | ||
var _useUploadyContext = _interopRequireDefault(require("./useUploadyContext")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const useUploadOptions = options => { | ||
const context = (0, _useUploadyContext.default)(); | ||
if (options) { | ||
context.setOptions(options); | ||
} | ||
return context.getOptions(); | ||
}; | ||
var _default = useUploadOptions; | ||
exports.default = _default; |
@@ -7,14 +7,8 @@ "use strict"; | ||
exports.default = void 0; | ||
var _react = require("react"); | ||
var _UploadyContext = _interopRequireDefault(require("../UploadyContext")); | ||
var _assertContext = _interopRequireDefault(require("../assertContext")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const useUploadyContext = () => (0, _assertContext.default)((0, _react.useContext)(_UploadyContext.default)); | ||
var _default = useUploadyContext; | ||
exports.default = _default; |
@@ -216,35 +216,18 @@ "use strict"; | ||
}); | ||
var _eventListenerHooks = require("./hooks/eventListenerHooks"); | ||
var _utils = require("./utils"); | ||
var _hooksUtils = require("./hooks/hooksUtils"); | ||
var _uploadyVersion = require("./uploadyVersion"); | ||
var _NoDomUploady = _interopRequireDefault(require("./NoDomUploady")); | ||
var _assertContext = _interopRequireDefault(require("./assertContext")); | ||
var _UploadyContext = _interopRequireWildcard(require("./UploadyContext")); | ||
var _useUploadOptions = _interopRequireDefault(require("./hooks/useUploadOptions")); | ||
var _useAbortItem = _interopRequireDefault(require("./hooks/useAbortItem")); | ||
var _useAbortBatch = _interopRequireDefault(require("./hooks/useAbortBatch")); | ||
var _useAbortAll = _interopRequireDefault(require("./hooks/useAbortAll")); | ||
var _useUploadyContext = _interopRequireDefault(require("./hooks/useUploadyContext")); | ||
var _withRequestPreSendUpdate = _interopRequireDefault(require("./hocs/withRequestPreSendUpdate")); | ||
var _withBatchStartUpdate = _interopRequireDefault(require("./hocs/withBatchStartUpdate")); | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
@@ -7,17 +7,9 @@ "use strict"; | ||
exports.default = void 0; | ||
var _react = _interopRequireWildcard(require("react")); | ||
var _shared = require("@rpldy/shared"); | ||
var _UploadyContext = _interopRequireWildcard(require("./UploadyContext")); | ||
var _useUploader = _interopRequireDefault(require("./hooks/useUploader")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
const NoDomUploady = props => { | ||
@@ -31,7 +23,4 @@ const { | ||
} = props; | ||
_shared.logger.setDebug(!!debug); | ||
_shared.logger.debugLog("@@@@@@ Uploady Rendering @@@@@@", props); | ||
const uploader = (0, _useUploader.default)(uploadOptions, listeners); | ||
@@ -43,4 +32,3 @@ const api = (0, _react.useMemo)(() => (0, _UploadyContext.createContextApi)(uploader, inputRef), [uploader, inputRef]); | ||
}; | ||
var _default = NoDomUploady; | ||
exports.default = _default; |
@@ -7,19 +7,11 @@ "use strict"; | ||
exports.default = exports.createContextApi = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _shared = require("@rpldy/shared"); | ||
var _uploadyVersion = require("./uploadyVersion"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const UploadyContext = /*#__PURE__*/_react.default.createContext(null); | ||
const NO_INPUT_ERROR_MSG = "Uploady - Context. File input isn't available"; | ||
const createContextApi = (uploader, internalInputRef) => { | ||
let fileInputRef, showFileUploadOptions; | ||
let isUsingExternalInput = false; | ||
if (internalInputRef) { | ||
@@ -30,9 +22,6 @@ fileInputRef = internalInputRef; | ||
} | ||
const getInputField = () => { | ||
var _fileInputRef; | ||
return (_fileInputRef = fileInputRef) === null || _fileInputRef === void 0 ? void 0 : _fileInputRef.current; | ||
}; | ||
const getInternalFileInput = () => { | ||
@@ -43,8 +32,5 @@ //retrieving the internal file input in userland means Uploady considers the input as custom from now on | ||
} | ||
return fileInputRef; | ||
}; | ||
const getIsUsingExternalInput = () => isUsingExternalInput; | ||
const onFileInputChange = () => { | ||
@@ -58,7 +44,5 @@ const input = getInputField(); | ||
}; | ||
const upload = (files, addOptions) => { | ||
uploader.add(files, addOptions); | ||
}; | ||
//We register the version on the global object to be able to warn devs when they're using packages from different uploady versions | ||
@@ -77,8 +61,10 @@ //causing the context not to be available | ||
const input = getInputField(); | ||
(0, _shared.invariant)(input, NO_INPUT_ERROR_MSG); //allow components like upload button to override options | ||
(0, _shared.invariant)(input, NO_INPUT_ERROR_MSG); | ||
//allow components like upload button to override options | ||
showFileUploadOptions = addOptions; | ||
input.removeEventListener("change", onFileInputChange); | ||
input.addEventListener("change", onFileInputChange); //clear the input value so same file can be uploaded again | ||
input.addEventListener("change", onFileInputChange); | ||
//clear the input value so same file can be uploaded again | ||
input.value = ""; | ||
@@ -120,5 +106,4 @@ input.click(); | ||
}; | ||
exports.createContextApi = createContextApi; | ||
var _default = UploadyContext; | ||
exports.default = _default; |
@@ -7,29 +7,20 @@ "use strict"; | ||
exports.registerUploadyContextVersion = exports.getVersion = exports.getRegisteredVersion = exports.getIsVersionRegisteredAndDifferent = exports.GLOBAL_VERSION_SYM = void 0; | ||
var _shared = require("@rpldy/shared"); | ||
const GLOBAL_VERSION_SYM = Symbol.for("_rpldy-version_"); | ||
exports.GLOBAL_VERSION_SYM = GLOBAL_VERSION_SYM; | ||
const getVersion = () => "1.3.1" || ""; | ||
const getVersion = () => "1.4.0-rc.0" || ""; | ||
exports.getVersion = getVersion; | ||
const getRegisteredVersion = () => { | ||
/* istanbul ignore next */ | ||
const global = (0, _shared.hasWindow)() ? window : process; // $FlowIgnore | ||
const global = (0, _shared.hasWindow)() ? window : process; | ||
// $FlowIgnore | ||
return global[GLOBAL_VERSION_SYM]; | ||
}; | ||
exports.getRegisteredVersion = getRegisteredVersion; | ||
const registerUploadyContextVersion = () => { | ||
const global = (0, _shared.hasWindow)() ? window : process; //$FlowIgnore | ||
const global = (0, _shared.hasWindow)() ? window : process; | ||
//$FlowIgnore | ||
global[GLOBAL_VERSION_SYM] = getVersion(); | ||
}; | ||
exports.registerUploadyContextVersion = registerUploadyContextVersion; | ||
const getIsVersionRegisteredAndDifferent = () => { | ||
@@ -39,3 +30,2 @@ const registeredVersion = getRegisteredVersion(); | ||
}; | ||
exports.getIsVersionRegisteredAndDifferent = getIsVersionRegisteredAndDifferent; |
@@ -7,7 +7,4 @@ "use strict"; | ||
exports.markAsUploadOptionsComponent = exports.logWarning = exports.getIsUploadOptionsComponent = void 0; | ||
var _shared = require("@rpldy/shared"); | ||
var _consts = require("./consts"); | ||
const logWarning = (condition, msg) => { | ||
@@ -19,17 +16,11 @@ if (!(0, _shared.isProduction)() && !condition) { | ||
}; | ||
exports.logWarning = logWarning; | ||
const markAsUploadOptionsComponent = Component => { | ||
Component[_consts.UPLOAD_OPTIONS_COMP] = true; | ||
}; | ||
exports.markAsUploadOptionsComponent = markAsUploadOptionsComponent; | ||
const getIsUploadOptionsComponent = Component => { | ||
var _Component$target, _Component$render; | ||
return Component[_consts.UPLOAD_OPTIONS_COMP] === true || ((_Component$target = Component.target) === null || _Component$target === void 0 ? void 0 : _Component$target[_consts.UPLOAD_OPTIONS_COMP]) === true || ((_Component$render = Component.render) === null || _Component$render === void 0 ? void 0 : _Component$render[_consts.UPLOAD_OPTIONS_COMP]) === true; | ||
}; | ||
exports.getIsUploadOptionsComponent = getIsUploadOptionsComponent; |
@@ -6,3 +6,2 @@ import { invariant } from "@rpldy/shared"; | ||
You may be using packages of different Uploady versions. <Uploady> and all other packages using the context provider must be of the same version: %s`; | ||
const assertContext = context => { | ||
@@ -13,3 +12,2 @@ invariant(!getIsVersionRegisteredAndDifferent(), DIFFERENT_VERSION_ERROR_MSG, getRegisteredVersion()); | ||
}; | ||
export default assertContext; |
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
import React, { useLayoutEffect, useState } from "react"; | ||
import useUploadyContext from "../hooks/useUploadyContext"; | ||
const createRequestUpdateHoc = _ref => { | ||
@@ -20,4 +18,5 @@ let { | ||
id | ||
} = props; //need layout effect to register to event in time (block) | ||
} = props; | ||
//need layout effect to register to event in time (block) | ||
useLayoutEffect(() => { | ||
@@ -28,4 +27,4 @@ const handleEvent = function () { | ||
} | ||
return getIsValidEventData(id, ...params) === true ? //returning a promise to event dispatcher so it will await until its resolved by user-land code | ||
return getIsValidEventData(id, ...params) === true ? | ||
//returning a promise to event dispatcher so it will await until its resolved by user-land code | ||
new Promise(resolve => { | ||
@@ -40,10 +39,9 @@ setUpdater({ | ||
}); | ||
}) : //returning false for invalid data will cancel the request so must return undefined! | ||
}) : | ||
//returning false for invalid data will cancel the request so must return undefined! | ||
undefined; | ||
}; | ||
if (id) { | ||
context.on(eventType, handleEvent); | ||
} | ||
return () => { | ||
@@ -58,3 +56,2 @@ if (id) { | ||
}; | ||
export { createRequestUpdateHoc }; |
@@ -10,3 +10,4 @@ import { UPLOADER_EVENTS } from "@rpldy/uploader"; | ||
const useBatchAbortListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_ABORT); | ||
const useBatchProgressListener = generateUploaderEventHookWithState(UPLOADER_EVENTS.BATCH_PROGRESS, batch => ({ ...batch | ||
const useBatchProgressListener = generateUploaderEventHookWithState(UPLOADER_EVENTS.BATCH_PROGRESS, batch => ({ | ||
...batch | ||
})); | ||
@@ -19,3 +20,4 @@ const useItemStartListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_START); | ||
const useItemFinalizeListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_FINALIZE); | ||
const useItemProgressListener = generateUploaderEventHookWithState(UPLOADER_EVENTS.ITEM_PROGRESS, item => ({ ...item | ||
const useItemProgressListener = generateUploaderEventHookWithState(UPLOADER_EVENTS.ITEM_PROGRESS, item => ({ | ||
...item | ||
})); | ||
@@ -22,0 +24,0 @@ const useRequestPreSend = generateUploaderEventHook(UPLOADER_EVENTS.REQUEST_PRE_SEND, false); |
import { useState, useCallback, useEffect } from "react"; | ||
import { isFunction } from "@rpldy/shared"; | ||
import useUploadyContext from "./useUploadyContext"; | ||
const useEventEffect = (event, fn) => { | ||
@@ -18,28 +17,24 @@ const context = useUploadyContext(); | ||
}; | ||
const generateUploaderEventHookWithState = (event, stateCalculator) => (fn, id) => { | ||
const [eventState, setEventState] = useState(null); | ||
let cbFn = fn; | ||
let usedId = id; | ||
if (fn && !isFunction(fn)) { | ||
id = fn; | ||
fn = undefined; | ||
usedId = fn; | ||
cbFn = undefined; | ||
} | ||
const eventCallback = useCallback(function (eventObj) { | ||
if (!id || eventObj.id === id) { | ||
if (!usedId || eventObj.id === usedId) { | ||
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
args[_key - 1] = arguments[_key]; | ||
} | ||
setEventState(stateCalculator(eventObj, ...args)); | ||
if (isFunction(fn)) { | ||
fn(eventObj, ...args); | ||
if (isFunction(cbFn)) { | ||
cbFn(eventObj, ...args); | ||
} | ||
} | ||
}, [fn, id]); | ||
}, [cbFn, usedId]); | ||
useEventEffect(event, eventCallback); | ||
return eventState; | ||
}; | ||
const generateUploaderEventHook = function (event) { | ||
@@ -52,3 +47,2 @@ let canScope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; | ||
} | ||
return fn && (!canScope || !id || eventObj.id === id) ? fn(eventObj, ...args) : undefined; | ||
@@ -59,3 +53,2 @@ }, [fn, id]); | ||
}; | ||
export { generateUploaderEventHook, generateUploaderEventHookWithState }; |
import { useCallback } from "react"; | ||
import useUploadyContext from "./useUploadyContext"; | ||
const useAbortAll = () => { | ||
@@ -8,3 +7,2 @@ const context = useUploadyContext(); | ||
}; | ||
export default useAbortAll; |
import { useCallback } from "react"; | ||
import useUploadyContext from "./useUploadyContext"; | ||
const useAbortBatch = () => { | ||
@@ -8,3 +7,2 @@ const context = useUploadyContext(); | ||
}; | ||
export default useAbortBatch; |
import { useCallback } from "react"; | ||
import useUploadyContext from "./useUploadyContext"; | ||
const useAbortItem = () => { | ||
@@ -8,3 +7,2 @@ const context = useUploadyContext(); | ||
}; | ||
export default useAbortItem; |
import { useEffect, useMemo } from "react"; | ||
import { logger } from "@rpldy/shared"; | ||
import createUploader from "@rpldy/uploader"; | ||
const useUploader = (options, listeners) => { | ||
@@ -10,6 +9,8 @@ //avoid creating new instance of uploader (unless enhancer method changed) | ||
return createUploader(options); | ||
}, //dont recreate the uploader when options changed - we do update later | ||
}, | ||
//dont recreate the uploader when options changed - we do update later | ||
//eslint-disable-next-line react-hooks/exhaustive-deps | ||
[options.enhancer]); //Forgoing any kind of memoization. Probably not worth the comparison work to save on the options merge | ||
[options.enhancer]); | ||
//Forgoing any kind of memoization. Probably not worth the comparison work to save on the options merge | ||
uploader.update(options); | ||
@@ -24,3 +25,2 @@ useEffect(() => { | ||
} | ||
return () => { | ||
@@ -38,3 +38,2 @@ if (listeners) { | ||
}; | ||
export default useUploader; |
import useUploadyContext from "./useUploadyContext"; | ||
const useUploadOptions = options => { | ||
const context = useUploadyContext(); | ||
if (options) { | ||
context.setOptions(options); | ||
} | ||
return context.getOptions(); | ||
}; | ||
export default useUploadOptions; |
import { useContext } from "react"; | ||
import UploadyContext from "../UploadyContext"; | ||
import assertContext from "../assertContext"; | ||
const useUploadyContext = () => assertContext(useContext(UploadyContext)); | ||
export default useUploadyContext; |
@@ -5,3 +5,2 @@ import React, { useMemo } from "react"; | ||
import useUploader from "./hooks/useUploader"; | ||
const NoDomUploady = props => { | ||
@@ -23,3 +22,2 @@ const { | ||
}; | ||
export default NoDomUploady; |
@@ -9,3 +9,2 @@ import React from "react"; | ||
let isUsingExternalInput = false; | ||
if (internalInputRef) { | ||
@@ -16,9 +15,6 @@ fileInputRef = internalInputRef; | ||
} | ||
const getInputField = () => { | ||
var _fileInputRef; | ||
return (_fileInputRef = fileInputRef) === null || _fileInputRef === void 0 ? void 0 : _fileInputRef.current; | ||
}; | ||
const getInternalFileInput = () => { | ||
@@ -29,8 +25,5 @@ //retrieving the internal file input in userland means Uploady considers the input as custom from now on | ||
} | ||
return fileInputRef; | ||
}; | ||
const getIsUsingExternalInput = () => isUsingExternalInput; | ||
const onFileInputChange = () => { | ||
@@ -44,7 +37,5 @@ const input = getInputField(); | ||
}; | ||
const upload = (files, addOptions) => { | ||
uploader.add(files, addOptions); | ||
}; | ||
//We register the version on the global object to be able to warn devs when they're using packages from different uploady versions | ||
@@ -63,8 +54,10 @@ //causing the context not to be available | ||
const input = getInputField(); | ||
invariant(input, NO_INPUT_ERROR_MSG); //allow components like upload button to override options | ||
invariant(input, NO_INPUT_ERROR_MSG); | ||
//allow components like upload button to override options | ||
showFileUploadOptions = addOptions; | ||
input.removeEventListener("change", onFileInputChange); | ||
input.addEventListener("change", onFileInputChange); //clear the input value so same file can be uploaded again | ||
input.addEventListener("change", onFileInputChange); | ||
//clear the input value so same file can be uploaded again | ||
input.value = ""; | ||
@@ -71,0 +64,0 @@ input.click(); |
import { hasWindow } from "@rpldy/shared"; | ||
export const GLOBAL_VERSION_SYM = Symbol.for("_rpldy-version_"); | ||
const getVersion = () => "1.3.1" || ""; | ||
const getVersion = () => "1.4.0-rc.0" || ""; | ||
const getRegisteredVersion = () => { | ||
/* istanbul ignore next */ | ||
const global = hasWindow() ? window : process; // $FlowIgnore | ||
const global = hasWindow() ? window : process; | ||
// $FlowIgnore | ||
return global[GLOBAL_VERSION_SYM]; | ||
}; | ||
const registerUploadyContextVersion = () => { | ||
const global = hasWindow() ? window : process; //$FlowIgnore | ||
const global = hasWindow() ? window : process; | ||
//$FlowIgnore | ||
global[GLOBAL_VERSION_SYM] = getVersion(); | ||
}; | ||
const getIsVersionRegisteredAndDifferent = () => { | ||
@@ -23,3 +19,2 @@ const registeredVersion = getRegisteredVersion(); | ||
}; | ||
export { getVersion, getRegisteredVersion, registerUploadyContextVersion, getIsVersionRegisteredAndDifferent }; |
import { isProduction } from "@rpldy/shared"; | ||
import { UPLOAD_OPTIONS_COMP } from "./consts"; | ||
const logWarning = (condition, msg) => { | ||
@@ -10,13 +9,9 @@ if (!isProduction() && !condition) { | ||
}; | ||
const markAsUploadOptionsComponent = Component => { | ||
Component[UPLOAD_OPTIONS_COMP] = true; | ||
}; | ||
const getIsUploadOptionsComponent = Component => { | ||
var _Component$target, _Component$render; | ||
return Component[UPLOAD_OPTIONS_COMP] === true || ((_Component$target = Component.target) === null || _Component$target === void 0 ? void 0 : _Component$target[UPLOAD_OPTIONS_COMP]) === true || ((_Component$render = Component.render) === null || _Component$render === void 0 ? void 0 : _Component$render[UPLOAD_OPTIONS_COMP]) === true; | ||
}; | ||
export { logWarning, markAsUploadOptionsComponent, getIsUploadOptionsComponent }; |
{ | ||
"version": "1.3.1", | ||
"version": "1.4.0-rc.0", | ||
"name": "@rpldy/shared-ui", | ||
@@ -26,7 +26,7 @@ "description": "internal set of utils+types for react-uploady UI", | ||
"dependencies": { | ||
"@rpldy/shared": "^1.3.1", | ||
"@rpldy/uploader": "^1.3.1" | ||
"@rpldy/shared": "^1.4.0-rc.0", | ||
"@rpldy/uploader": "^1.4.0-rc.0" | ||
}, | ||
"devDependencies": { | ||
"flow-bin": "^0.182.0" | ||
"flow-bin": "^0.199.1" | ||
}, | ||
@@ -40,3 +40,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "8a2473ae6d9521c5f16f5ae525466075ac02fd1f" | ||
"gitHead": "96a9141aa17e74962f1606d836f8f9f5c4b7aef0" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
64975
1481
1
Updated@rpldy/shared@^1.4.0-rc.0
Updated@rpldy/uploader@^1.4.0-rc.0