@rpldy/shared-ui
Advanced tools
Comparing version 0.1.4 to 0.1.5
@@ -6,9 +6,13 @@ "use strict"; | ||
}); | ||
exports["default"] = void 0; | ||
exports["default"] = exports.ERROR_MSG = void 0; | ||
var _invariant = _interopRequireDefault(require("invariant")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var ERROR_MSG = "Uploady - valid UploadyContext not found. Make sure you render inside <Uploady>"; | ||
exports.ERROR_MSG = ERROR_MSG; | ||
var _default = function _default(context) { | ||
if (!context || !context.uploader) { | ||
throw new Error("Uploady - valid UploadyContext not found. Make sure you render inside <Uploady>"); | ||
} | ||
(0, _invariant["default"])(context && context.hasUploader(), ERROR_MSG); | ||
return context; | ||
@@ -15,0 +19,0 @@ }; |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.useFileErrorListener = exports.useFileCancelListener = exports.useFileProgressListener = exports.useFileFinishListener = exports.useFileStartListener = exports.useBatchCancelledListener = exports.useBatchFinishListener = exports.useBatchStartListener = void 0; | ||
exports.useRequestPreSend = exports.useItemErrorListener = exports.useItemCancelListener = exports.useItemProgressListener = exports.useItemFinishListener = exports.useItemStartListener = exports.useBatchProgressListener = exports.useBatchAbortListener = exports.useBatchCancelledListener = exports.useBatchFinishListener = exports.useBatchStartListener = exports.useBatchAddListener = void 0; | ||
@@ -19,2 +19,4 @@ var _uploader = require("@rpldy/uploader"); | ||
var useBatchAddListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.BATCH_ADD); | ||
exports.useBatchAddListener = useBatchAddListener; | ||
var useBatchStartListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.BATCH_START); | ||
@@ -26,13 +28,21 @@ exports.useBatchStartListener = useBatchStartListener; | ||
exports.useBatchCancelledListener = useBatchCancelledListener; | ||
var useFileStartListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.FILE_START); | ||
exports.useFileStartListener = useFileStartListener; | ||
var useFileFinishListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.FILE_FINISH); | ||
exports.useFileFinishListener = useFileFinishListener; | ||
var useFileProgressListener = (0, _utils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.FILE_PROGRESS, function (item) { | ||
var useBatchAbortListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.BATCH_ABORT); | ||
exports.useBatchAbortListener = useBatchAbortListener; | ||
var useBatchProgressListener = (0, _utils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.BATCH_PROGRESS, function (batch) { | ||
return _objectSpread({}, batch); | ||
}); | ||
exports.useBatchProgressListener = useBatchProgressListener; | ||
var useItemStartListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.ITEM_START); | ||
exports.useItemStartListener = useItemStartListener; | ||
var useItemFinishListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.ITEM_FINISH); | ||
exports.useItemFinishListener = useItemFinishListener; | ||
var useItemCancelListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.ITEM_CANCEL); | ||
exports.useItemCancelListener = useItemCancelListener; | ||
var useItemErrorListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.ITEM_ERROR); | ||
exports.useItemErrorListener = useItemErrorListener; | ||
var useItemProgressListener = (0, _utils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.ITEM_PROGRESS, function (item) { | ||
return _objectSpread({}, item); | ||
}); | ||
exports.useFileProgressListener = useFileProgressListener; | ||
var useFileCancelListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.FILE_CANCEL); | ||
exports.useFileCancelListener = useFileCancelListener; | ||
var useFileErrorListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.FILE_ERROR); | ||
exports.useFileErrorListener = useFileErrorListener; | ||
exports.useItemProgressListener = useItemProgressListener; | ||
var useRequestPreSend = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.REQUEST_PRE_SEND); | ||
exports.useRequestPreSend = useRequestPreSend; |
@@ -20,2 +20,26 @@ "use strict"; | ||
}); | ||
Object.defineProperty(exports, "useWithForwardRef", { | ||
enumerable: true, | ||
get: function get() { | ||
return _useWithForwardRef["default"]; | ||
} | ||
}); | ||
Object.defineProperty(exports, "assertContext", { | ||
enumerable: true, | ||
get: function get() { | ||
return _assertContext["default"]; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useUploadOptions", { | ||
enumerable: true, | ||
get: function get() { | ||
return _useUploadOptions["default"]; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useBatchAddListener", { | ||
enumerable: true, | ||
get: function get() { | ||
return _eventListenerHooks.useBatchAddListener; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useBatchStartListener", { | ||
@@ -27,2 +51,8 @@ enumerable: true, | ||
}); | ||
Object.defineProperty(exports, "useBatchProgressListener", { | ||
enumerable: true, | ||
get: function get() { | ||
return _eventListenerHooks.useBatchProgressListener; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useBatchFinishListener", { | ||
@@ -40,45 +70,55 @@ enumerable: true, | ||
}); | ||
Object.defineProperty(exports, "useFileStartListener", { | ||
Object.defineProperty(exports, "useBatchAbortListener", { | ||
enumerable: true, | ||
get: function get() { | ||
return _eventListenerHooks.useFileStartListener; | ||
return _eventListenerHooks.useBatchAbortListener; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useFileFinishListener", { | ||
Object.defineProperty(exports, "useItemStartListener", { | ||
enumerable: true, | ||
get: function get() { | ||
return _eventListenerHooks.useFileFinishListener; | ||
return _eventListenerHooks.useItemStartListener; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useFileProgressListener", { | ||
Object.defineProperty(exports, "useItemFinishListener", { | ||
enumerable: true, | ||
get: function get() { | ||
return _eventListenerHooks.useFileProgressListener; | ||
return _eventListenerHooks.useItemFinishListener; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useFileCancelListener", { | ||
Object.defineProperty(exports, "useItemProgressListener", { | ||
enumerable: true, | ||
get: function get() { | ||
return _eventListenerHooks.useFileCancelListener; | ||
return _eventListenerHooks.useItemProgressListener; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useFileErrorListener", { | ||
Object.defineProperty(exports, "useItemCancelListener", { | ||
enumerable: true, | ||
get: function get() { | ||
return _eventListenerHooks.useFileErrorListener; | ||
return _eventListenerHooks.useItemCancelListener; | ||
} | ||
}); | ||
Object.defineProperty(exports, "assertContext", { | ||
Object.defineProperty(exports, "useItemErrorListener", { | ||
enumerable: true, | ||
get: function get() { | ||
return _assertContext["default"]; | ||
return _eventListenerHooks.useItemErrorListener; | ||
} | ||
}); | ||
Object.defineProperty(exports, "useRequestPreSend", { | ||
enumerable: true, | ||
get: function get() { | ||
return _eventListenerHooks.useRequestPreSend; | ||
} | ||
}); | ||
var _UploadyContext = _interopRequireWildcard(require("./UploadyContext")); | ||
var _eventListenerHooks = require("./eventListenerHooks"); | ||
var _useWithForwardRef = _interopRequireDefault(require("./useWithForwardRef")); | ||
var _assertContext = _interopRequireDefault(require("./assertContext")); | ||
var _useUploadOptions = _interopRequireDefault(require("./useUploadOptions")); | ||
var _eventListenerHooks = require("./eventListenerHooks"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
@@ -85,0 +125,0 @@ |
@@ -6,6 +6,10 @@ "use strict"; | ||
}); | ||
exports.createContextApi = exports["default"] = void 0; | ||
exports["default"] = exports.createContextApi = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _invariant = _interopRequireDefault(require("invariant")); | ||
var _shared = require("@rpldy/shared"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
@@ -15,15 +19,44 @@ | ||
var createContextApi = function createContextApi(uploader, inputRef) { | ||
var NO_INPUT_ERROR_MSG = "Uploady - Context. File input isn't available"; | ||
var createContextApi = function createContextApi(uploader, internalInputRef) { | ||
var fileInputRef, showFileUploadOptions; | ||
if (internalInputRef) { | ||
fileInputRef = internalInputRef; | ||
} else { | ||
_shared.logger.debugLog("Uploady context - didn't receive input field ref - waiting for external ref"); | ||
} | ||
var getInputField = function getInputField() { | ||
return inputRef.current; | ||
var _fileInputRef; | ||
return (_fileInputRef = fileInputRef) === null || _fileInputRef === void 0 ? void 0 : _fileInputRef.current; | ||
}; | ||
var showFileUpload = function showFileUpload() { | ||
var setExternalFileInput = function setExternalFileInput(extRef) { | ||
fileInputRef = extRef; | ||
}; | ||
var showFileUpload = function showFileUpload(addOptions) { | ||
var input = getInputField(); | ||
(0, _invariant["default"])(input, NO_INPUT_ERROR_MSG); //allow components like upload button to override options | ||
if (input) { | ||
input.click(); | ||
} | ||
showFileUploadOptions = addOptions; | ||
input.removeEventListener("change", onFileInputChange); | ||
input.addEventListener("change", onFileInputChange); //clear the input value so same file can be uploaded again | ||
input.value = ""; | ||
input.click(); | ||
}; | ||
var onFileInputChange = function onFileInputChange() { | ||
var input = getInputField(); | ||
(0, _invariant["default"])(input, NO_INPUT_ERROR_MSG); | ||
input.removeEventListener("change", onFileInputChange); | ||
var addOptions = showFileUploadOptions; | ||
showFileUploadOptions = null; | ||
upload(input.files, addOptions); | ||
}; | ||
var upload = function upload(files, addOptions) { | ||
@@ -33,7 +66,46 @@ uploader.add(files, addOptions); | ||
var setOptions = function setOptions(options) { | ||
uploader.update(options); | ||
}; | ||
var getOptions = function getOptions() { | ||
return uploader.getOptions(); | ||
}; | ||
var abort = function abort(itemId) { | ||
uploader.abort(itemId); | ||
}; | ||
var abortBatch = function abortBatch(batchId) { | ||
uploader.abortBatch(batchId); | ||
}; | ||
var on = function on(name, cb) { | ||
return uploader.on(name, cb); | ||
}; | ||
var once = function once(name, cb) { | ||
return uploader.once(name, cb); | ||
}; | ||
var off = function off(name, cb) { | ||
return uploader.off(name, cb); | ||
}; | ||
var hasUploader = function hasUploader() { | ||
return !!uploader; | ||
}; | ||
return { | ||
uploader: uploader, | ||
getInputField: getInputField, | ||
hasUploader: hasUploader, | ||
setExternalFileInput: setExternalFileInput, | ||
showFileUpload: showFileUpload, | ||
upload: upload | ||
upload: upload, | ||
setOptions: setOptions, | ||
getOptions: getOptions, | ||
abort: abort, | ||
abortBatch: abortBatch, | ||
on: on, | ||
once: once, | ||
off: off | ||
}; | ||
@@ -40,0 +112,0 @@ }; |
@@ -26,9 +26,10 @@ "use strict"; | ||
var context = (0, _assertContext["default"])((0, _react.useContext)(_uploady.UploadyContext)); | ||
var uploader = context.uploader; | ||
var on = context.on, | ||
off = context.off; | ||
(0, _react.useEffect)(function () { | ||
uploader.on(event, fn); | ||
on(event, fn); | ||
return function () { | ||
uploader.off(event, fn); | ||
off(event, fn); | ||
}; | ||
}, [event, fn, uploader]); | ||
}, [event, fn, on, off]); | ||
}; | ||
@@ -35,0 +36,0 @@ |
{ | ||
"version": "0.1.4", | ||
"name": "@rpldy/shared-ui", | ||
"description": "", | ||
"author": "yoav niran (https://github.com/yoavniran", | ||
"main": "lib/index.js", | ||
"module": "src/index.js", | ||
"license": "MIT", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/yoavniran/react-uploady.git", | ||
"directory": "packages/ui/shared" | ||
}, | ||
"scripts": { | ||
"build": "node ../../../scripts/build.js" | ||
}, | ||
"dependencies": { | ||
"@rpldy/shared": "^0.1.4", | ||
"@rpldy/uploader": "^0.1.4" | ||
}, | ||
"peerDependencies": { | ||
"react": ">=16.8", | ||
"react-dom": ">=16.8" | ||
}, | ||
"publishConfig": { | ||
"access": "public" | ||
}, | ||
"gitHead": "ee693c1d4f8c2f7cb7809ed848d8c8b780459a2a" | ||
"version": "0.1.5", | ||
"name": "@rpldy/shared-ui", | ||
"description": "", | ||
"author": "yoav niran (https://github.com/yoavniran)", | ||
"main": "lib/index.js", | ||
"module": "src/index.js", | ||
"license": "MIT", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/yoavniran/react-uploady.git", | ||
"directory": "packages/ui/shared" | ||
}, | ||
"scripts": { | ||
"build": "node ../../../scripts/build.js", | ||
"flow:copy": "flow-copy-source ./src ./lib; cp src/types.js lib/types.js" | ||
}, | ||
"dependencies": { | ||
"@rpldy/shared": "^0.1.5", | ||
"@rpldy/uploader": "^0.1.5", | ||
"invariant": "^2.2.4", | ||
"lodash": "^4.17.15" | ||
}, | ||
"devDependencies": { | ||
"flow-bin": "^0.119.1" | ||
}, | ||
"peerDependencies": { | ||
"react": ">=16.8", | ||
"react-dom": ">=16.8" | ||
}, | ||
"publishConfig": { | ||
"access": "public" | ||
}, | ||
"gitHead": "0974c6250a302c0a59132e161237bebb9a135c41" | ||
} |
// @flow | ||
import invariant from "invariant"; | ||
import type { UploadyContextType } from "@rpldy/uploady"; | ||
export default (context: ?UploadyContextType) : UploadyContextType => { | ||
if (!context || !context.uploader) { | ||
throw new Error("Uploady - valid UploadyContext not found. Make sure you render inside <Uploady>"); | ||
} | ||
export const ERROR_MSG = "Uploady - valid UploadyContext not found. Make sure you render inside <Uploady>"; | ||
return context; | ||
}; | ||
export default (context: ?UploadyContextType): UploadyContextType => { | ||
invariant( | ||
context && context.hasUploader(), | ||
ERROR_MSG | ||
); | ||
return context; | ||
}; |
// @flow | ||
import { UPLOADER_EVENTS } from "@rpldy/uploader"; | ||
import { | ||
generateUploaderEventHook, | ||
generateUploaderEventHookWithState | ||
generateUploaderEventHook, | ||
generateUploaderEventHookWithState | ||
} from "./utils"; | ||
import type { BatchItem } from "@rpldy/shared"; | ||
import type { Batch, BatchItem } from "@rpldy/shared"; | ||
const useBatchAddListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_ADD); | ||
const useBatchStartListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_START); | ||
const useBatchFinishListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_FINISH); | ||
const useBatchCancelledListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_CANCEL); | ||
const useBatchAbortListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_ABORT); | ||
const useFileStartListener = generateUploaderEventHook(UPLOADER_EVENTS.FILE_START); | ||
const useFileFinishListener = generateUploaderEventHook(UPLOADER_EVENTS.FILE_FINISH); | ||
const useFileProgressListener = generateUploaderEventHookWithState( | ||
UPLOADER_EVENTS.FILE_PROGRESS, | ||
(item: BatchItem) => ({ ...item })); | ||
const useBatchProgressListener = generateUploaderEventHookWithState( | ||
UPLOADER_EVENTS.BATCH_PROGRESS, | ||
(batch: Batch) => ({ ...batch })); | ||
const useFileCancelListener = generateUploaderEventHook(UPLOADER_EVENTS.FILE_CANCEL); | ||
const useFileErrorListener = generateUploaderEventHook(UPLOADER_EVENTS.FILE_ERROR); | ||
const useItemStartListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_START); | ||
const useItemFinishListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_FINISH); | ||
const useItemCancelListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_CANCEL); | ||
const useItemErrorListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_ERROR); | ||
const useItemProgressListener = generateUploaderEventHookWithState( | ||
UPLOADER_EVENTS.ITEM_PROGRESS, | ||
(item: BatchItem) => ({ ...item })); | ||
const useRequestPreSend = generateUploaderEventHook(UPLOADER_EVENTS.REQUEST_PRE_SEND); | ||
export { | ||
useBatchStartListener, | ||
useBatchFinishListener, | ||
useBatchCancelledListener, | ||
useBatchAddListener, | ||
useBatchStartListener, | ||
useBatchFinishListener, | ||
useBatchCancelledListener, | ||
useBatchAbortListener, | ||
useBatchProgressListener, | ||
useFileStartListener, | ||
useFileFinishListener, | ||
useFileProgressListener, | ||
useFileCancelListener, | ||
useFileErrorListener, | ||
}; | ||
useItemStartListener, | ||
useItemFinishListener, | ||
useItemProgressListener, | ||
useItemCancelListener, | ||
useItemErrorListener, | ||
useRequestPreSend, | ||
}; |
// @flow | ||
import UploadyContext, { createContextApi } from "./UploadyContext"; | ||
import { | ||
useBatchStartListener, | ||
useBatchFinishListener, | ||
useBatchCancelledListener, | ||
useFileStartListener, | ||
useFileFinishListener, | ||
useFileProgressListener, | ||
useFileCancelListener, | ||
useFileErrorListener, | ||
} from "./eventListenerHooks"; | ||
import useWithForwardRef from "./useWithForwardRef"; | ||
import assertContext from "./assertContext"; | ||
import useUploadOptions from "./useUploadOptions"; | ||
import type { UploadyContextType } from "./types"; | ||
export type { | ||
UploadyContextType, | ||
}; | ||
InputRef, | ||
UploadyContextType, | ||
} from "./types"; | ||
export { | ||
UploadyContext, | ||
createContextApi, | ||
useBatchAddListener, | ||
useBatchStartListener, | ||
useBatchProgressListener, | ||
useBatchFinishListener, | ||
useBatchCancelledListener, | ||
useBatchAbortListener, | ||
assertContext, | ||
useItemStartListener, | ||
useItemFinishListener, | ||
useItemProgressListener, | ||
useItemCancelListener, | ||
useItemErrorListener, | ||
useBatchStartListener, | ||
useBatchFinishListener, | ||
useBatchCancelledListener, | ||
useRequestPreSend, | ||
} from "./eventListenerHooks"; | ||
useFileStartListener, | ||
useFileFinishListener, | ||
useFileProgressListener, | ||
useFileCancelListener, | ||
useFileErrorListener, | ||
}; | ||
export { | ||
UploadyContext, | ||
createContextApi, | ||
useUploadOptions, | ||
assertContext, | ||
useWithForwardRef, | ||
}; |
// @flow | ||
import type { UploaderType } from "@rpldy/uploader"; | ||
import type { UploadInfo, UploadOptions } from "@rpldy/shared"; | ||
import type { CreateOptions, UploadInfo, UploadOptions } from "@rpldy/shared"; | ||
import type { OnAndOnceMethod, OffMethod } from "@rpldy/life-events"; | ||
export type AddUploadFunction = (files: UploadInfo | UploadInfo[], addOptions: UploadOptions) => void; | ||
export type AddUploadFunction = (files: UploadInfo | UploadInfo[], addOptions: ?UploadOptions) => void; | ||
export type InputRef = { current: ?HTMLInputElement }; | ||
export type UploadyContextType = { | ||
uploader: UploaderType, | ||
getInputField: () => ?HTMLInputElement, | ||
showFileUpload: () => void, | ||
setExternalFileInput: (InputRef) => void, | ||
hasUploader: () => boolean, | ||
showFileUpload: (?UploadOptions) => void, | ||
upload: AddUploadFunction, | ||
}; | ||
setOptions: (CreateOptions) => void, | ||
getOptions: () => CreateOptions, | ||
on: OnAndOnceMethod, | ||
once: OnAndOnceMethod, | ||
off: OffMethod, | ||
abort: (id?: string) => void, | ||
abortBatch: (id: string) => void, | ||
}; |
// @flow | ||
import React from "react"; | ||
import invariant from "invariant"; | ||
import { logger } from "@rpldy/shared"; | ||
import type { UploaderType } from "@rpldy/uploader"; | ||
import type { UploadyContextType } from "./types"; | ||
import type { UploadInfo, UploadOptions } from "@rpldy/shared"; | ||
import type { UploadInfo, UploadOptions, GetExact, CreateOptions } from "@rpldy/shared"; | ||
import type { EventCallback } from "@rpldy/life-events"; | ||
import type { UploadyContextType, InputRef } from "./types"; | ||
const UploadyContext = React.createContext<?UploadyContextType>(null); | ||
const createContextApi = (uploader: UploaderType, inputRef: { current: ?HTMLInputElement }): UploadyContextType => { | ||
const NO_INPUT_ERROR_MSG = "Uploady - Context. File input isn't available"; | ||
const getInputField = () => inputRef.current; | ||
export const createContextApi = | ||
(uploader: UploaderType, internalInputRef: ?InputRef): UploadyContextType => { | ||
let fileInputRef, showFileUploadOptions; | ||
const showFileUpload = () => { | ||
const input = getInputField(); | ||
if (input) { | ||
input.click(); | ||
} | ||
}; | ||
if (internalInputRef) { | ||
fileInputRef = internalInputRef; | ||
} else { | ||
logger.debugLog("Uploady context - didn't receive input field ref - waiting for external ref"); | ||
} | ||
const upload = (files: UploadInfo | UploadInfo[], addOptions: UploadOptions) => { | ||
uploader.add(files, addOptions); | ||
}; | ||
const getInputField = () => fileInputRef?.current; | ||
return { | ||
uploader, | ||
getInputField, | ||
showFileUpload, | ||
upload, | ||
}; | ||
}; | ||
const setExternalFileInput = (extRef: InputRef) => { | ||
fileInputRef = extRef; | ||
}; | ||
const showFileUpload = (addOptions?: ?GetExact<UploadOptions>) => { | ||
const input: ?HTMLInputElement = getInputField(); | ||
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.value = ""; | ||
input.click(); | ||
}; | ||
const onFileInputChange = () => { | ||
const input: ?HTMLInputElement = getInputField(); | ||
invariant( | ||
input, | ||
NO_INPUT_ERROR_MSG | ||
); | ||
input.removeEventListener("change", onFileInputChange); | ||
const addOptions = showFileUploadOptions; | ||
showFileUploadOptions = null; | ||
upload(input.files, addOptions); | ||
}; | ||
const upload = (files: UploadInfo | UploadInfo[], addOptions?: ?UploadOptions) => { | ||
uploader.add(files, addOptions); | ||
}; | ||
const setOptions = (options: CreateOptions) => { | ||
uploader.update(options); | ||
}; | ||
const getOptions = () => { | ||
return uploader.getOptions(); | ||
}; | ||
const abort = (itemId?: string) => { | ||
uploader.abort(itemId); | ||
}; | ||
const abortBatch = (batchId: string) => { | ||
uploader.abortBatch(batchId); | ||
}; | ||
const on = (name: any, cb: EventCallback) => { | ||
return uploader.on(name, cb); | ||
}; | ||
const once = (name: any, cb: EventCallback) => { | ||
return uploader.once(name, cb); | ||
}; | ||
const off = (name: any, cb?: EventCallback) => { | ||
return uploader.off(name, cb); | ||
}; | ||
const hasUploader = () => !!uploader; | ||
return { | ||
hasUploader, | ||
setExternalFileInput, | ||
showFileUpload, | ||
upload, | ||
setOptions, | ||
getOptions, | ||
abort, | ||
abortBatch, | ||
on, | ||
once, | ||
off, | ||
}; | ||
}; | ||
export default UploadyContext; | ||
export { | ||
createContextApi, | ||
}; |
@@ -10,11 +10,11 @@ // @flow | ||
const context = assertContext(useContext(UploadyContext)); | ||
const { uploader } = context; | ||
const { on, off } = context; | ||
useEffect(() => { | ||
uploader.on(event, fn); | ||
on(event, fn); | ||
return () => { | ||
uploader.off(event, fn); | ||
off(event, fn); | ||
}; | ||
}, [event, fn, uploader]); | ||
}, [event, fn, on, off]); | ||
}; | ||
@@ -27,3 +27,2 @@ | ||
const eventCallback = useCallback((...args) => { | ||
setEventState(stateCalculator(...args)); | ||
@@ -49,2 +48,2 @@ | ||
generateUploaderEventHookWithState, | ||
}; | ||
}; |
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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
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
39121
24
924
6
1
1
+ Addedinvariant@^2.2.4
+ Addedlodash@^4.17.15
+ Addedlodash@4.17.21(transitive)
Updated@rpldy/shared@^0.1.5
Updated@rpldy/uploader@^0.1.5