antd-img-crop 4.17.0 → 4.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/antd-img-crop.cjs.js +31 -18
- package/dist/antd-img-crop.esm.js +31 -18
- package/package.json +17 -17
|
@@ -178,44 +178,52 @@ const ImgCrop = react.forwardRef((props, cropperRef) => {
|
|
|
178
178
|
const [modalImage, setModalImage] = react.useState('');
|
|
179
179
|
const onCancel = react.useRef();
|
|
180
180
|
const onOk = react.useRef();
|
|
181
|
-
const
|
|
181
|
+
const runBeforeUpload = react.useCallback(({ beforeUpload, file, resolve, reject, }) => tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
182
182
|
const rawFile = file;
|
|
183
183
|
if (typeof beforeUpload !== 'function') {
|
|
184
|
-
|
|
184
|
+
resolve(rawFile);
|
|
185
185
|
return;
|
|
186
186
|
}
|
|
187
187
|
try {
|
|
188
188
|
// https://ant.design/components/upload-cn#api
|
|
189
189
|
// https://github.com/ant-design/ant-design/blob/master/components/upload/Upload.tsx#L152-L178
|
|
190
190
|
const result = yield beforeUpload(file, [file]);
|
|
191
|
-
|
|
191
|
+
if (result === false) {
|
|
192
|
+
reject(file);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
resolve((result !== true && result) || rawFile);
|
|
192
196
|
}
|
|
193
197
|
catch (err) {
|
|
194
|
-
|
|
198
|
+
reject(err);
|
|
195
199
|
}
|
|
196
200
|
}), []);
|
|
197
201
|
const getNewBeforeUpload = react.useCallback((beforeUpload) => {
|
|
198
202
|
return ((file, fileList) => {
|
|
199
203
|
return new Promise((resolve, reject) => tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
204
|
+
let processedFile = file;
|
|
200
205
|
if (typeof cb.current.beforeCrop === 'function') {
|
|
201
206
|
try {
|
|
202
207
|
const result = yield cb.current.beforeCrop(file, fileList);
|
|
203
208
|
if (result === false) {
|
|
204
|
-
return
|
|
209
|
+
return runBeforeUpload({ beforeUpload, file, resolve, reject });
|
|
210
|
+
}
|
|
211
|
+
if (result !== true) {
|
|
212
|
+
processedFile = result || file;
|
|
205
213
|
}
|
|
206
214
|
}
|
|
207
215
|
catch (err) {
|
|
208
|
-
return
|
|
216
|
+
return runBeforeUpload({ beforeUpload, file, resolve, reject });
|
|
209
217
|
}
|
|
210
218
|
}
|
|
211
|
-
//
|
|
219
|
+
// read file
|
|
212
220
|
const reader = new FileReader();
|
|
213
221
|
reader.addEventListener('load', () => {
|
|
214
222
|
if (typeof reader.result === 'string') {
|
|
215
223
|
setModalImage(reader.result); // open modal
|
|
216
224
|
}
|
|
217
225
|
});
|
|
218
|
-
reader.readAsDataURL(
|
|
226
|
+
reader.readAsDataURL(processedFile);
|
|
219
227
|
// on modal cancel
|
|
220
228
|
onCancel.current = () => {
|
|
221
229
|
var _a, _b;
|
|
@@ -229,24 +237,29 @@ const ImgCrop = react.forwardRef((props, cropperRef) => {
|
|
|
229
237
|
setModalImage('');
|
|
230
238
|
easyCropRef.current.onReset();
|
|
231
239
|
const canvas = getCropCanvas(event.target);
|
|
232
|
-
const { type, name, uid } =
|
|
240
|
+
const { type, name, uid } = processedFile;
|
|
233
241
|
canvas.toBlob((blob) => tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
234
242
|
const newFile = new File([blob], name, { type });
|
|
235
243
|
Object.assign(newFile, { uid });
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
+
runBeforeUpload({
|
|
245
|
+
beforeUpload,
|
|
246
|
+
file: newFile,
|
|
247
|
+
resolve: (file) => {
|
|
248
|
+
var _a, _b;
|
|
249
|
+
resolve(file);
|
|
250
|
+
(_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, file);
|
|
251
|
+
},
|
|
252
|
+
reject: (err) => {
|
|
253
|
+
var _a, _b;
|
|
254
|
+
reject(err);
|
|
255
|
+
(_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, err);
|
|
256
|
+
},
|
|
244
257
|
});
|
|
245
258
|
}), type, quality);
|
|
246
259
|
});
|
|
247
260
|
}));
|
|
248
261
|
});
|
|
249
|
-
}, [getCropCanvas, quality,
|
|
262
|
+
}, [getCropCanvas, quality, runBeforeUpload]);
|
|
250
263
|
const getNewUpload = react.useCallback((children) => {
|
|
251
264
|
const upload = Array.isArray(children) ? children[0] : children;
|
|
252
265
|
const _a = upload.props, { beforeUpload, accept } = _a, restUploadProps = tslib.__rest(_a, ["beforeUpload", "accept"]);
|
|
@@ -176,44 +176,52 @@ const ImgCrop = forwardRef((props, cropperRef) => {
|
|
|
176
176
|
const [modalImage, setModalImage] = useState('');
|
|
177
177
|
const onCancel = useRef();
|
|
178
178
|
const onOk = useRef();
|
|
179
|
-
const
|
|
179
|
+
const runBeforeUpload = useCallback(({ beforeUpload, file, resolve, reject, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
180
180
|
const rawFile = file;
|
|
181
181
|
if (typeof beforeUpload !== 'function') {
|
|
182
|
-
|
|
182
|
+
resolve(rawFile);
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
185
|
try {
|
|
186
186
|
// https://ant.design/components/upload-cn#api
|
|
187
187
|
// https://github.com/ant-design/ant-design/blob/master/components/upload/Upload.tsx#L152-L178
|
|
188
188
|
const result = yield beforeUpload(file, [file]);
|
|
189
|
-
|
|
189
|
+
if (result === false) {
|
|
190
|
+
reject(file);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
resolve((result !== true && result) || rawFile);
|
|
190
194
|
}
|
|
191
195
|
catch (err) {
|
|
192
|
-
|
|
196
|
+
reject(err);
|
|
193
197
|
}
|
|
194
198
|
}), []);
|
|
195
199
|
const getNewBeforeUpload = useCallback((beforeUpload) => {
|
|
196
200
|
return ((file, fileList) => {
|
|
197
201
|
return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
|
|
202
|
+
let processedFile = file;
|
|
198
203
|
if (typeof cb.current.beforeCrop === 'function') {
|
|
199
204
|
try {
|
|
200
205
|
const result = yield cb.current.beforeCrop(file, fileList);
|
|
201
206
|
if (result === false) {
|
|
202
|
-
return
|
|
207
|
+
return runBeforeUpload({ beforeUpload, file, resolve, reject });
|
|
208
|
+
}
|
|
209
|
+
if (result !== true) {
|
|
210
|
+
processedFile = result || file;
|
|
203
211
|
}
|
|
204
212
|
}
|
|
205
213
|
catch (err) {
|
|
206
|
-
return
|
|
214
|
+
return runBeforeUpload({ beforeUpload, file, resolve, reject });
|
|
207
215
|
}
|
|
208
216
|
}
|
|
209
|
-
//
|
|
217
|
+
// read file
|
|
210
218
|
const reader = new FileReader();
|
|
211
219
|
reader.addEventListener('load', () => {
|
|
212
220
|
if (typeof reader.result === 'string') {
|
|
213
221
|
setModalImage(reader.result); // open modal
|
|
214
222
|
}
|
|
215
223
|
});
|
|
216
|
-
reader.readAsDataURL(
|
|
224
|
+
reader.readAsDataURL(processedFile);
|
|
217
225
|
// on modal cancel
|
|
218
226
|
onCancel.current = () => {
|
|
219
227
|
var _a, _b;
|
|
@@ -227,24 +235,29 @@ const ImgCrop = forwardRef((props, cropperRef) => {
|
|
|
227
235
|
setModalImage('');
|
|
228
236
|
easyCropRef.current.onReset();
|
|
229
237
|
const canvas = getCropCanvas(event.target);
|
|
230
|
-
const { type, name, uid } =
|
|
238
|
+
const { type, name, uid } = processedFile;
|
|
231
239
|
canvas.toBlob((blob) => __awaiter(void 0, void 0, void 0, function* () {
|
|
232
240
|
const newFile = new File([blob], name, { type });
|
|
233
241
|
Object.assign(newFile, { uid });
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
+
runBeforeUpload({
|
|
243
|
+
beforeUpload,
|
|
244
|
+
file: newFile,
|
|
245
|
+
resolve: (file) => {
|
|
246
|
+
var _a, _b;
|
|
247
|
+
resolve(file);
|
|
248
|
+
(_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, file);
|
|
249
|
+
},
|
|
250
|
+
reject: (err) => {
|
|
251
|
+
var _a, _b;
|
|
252
|
+
reject(err);
|
|
253
|
+
(_b = (_a = cb.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, err);
|
|
254
|
+
},
|
|
242
255
|
});
|
|
243
256
|
}), type, quality);
|
|
244
257
|
});
|
|
245
258
|
}));
|
|
246
259
|
});
|
|
247
|
-
}, [getCropCanvas, quality,
|
|
260
|
+
}, [getCropCanvas, quality, runBeforeUpload]);
|
|
248
261
|
const getNewUpload = useCallback((children) => {
|
|
249
262
|
const upload = Array.isArray(children) ? children[0] : children;
|
|
250
263
|
const _a = upload.props, { beforeUpload, accept } = _a, restUploadProps = __rest(_a, ["beforeUpload", "accept"]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antd-img-crop",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.19.0",
|
|
4
4
|
"description": "An image cropper for Ant Design Upload",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -32,32 +32,32 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"compare-versions": "6.1.0",
|
|
35
|
-
"react-easy-crop": "^5.0.
|
|
35
|
+
"react-easy-crop": "^5.0.4",
|
|
36
36
|
"tslib": "^2.6.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@rollup/plugin-replace": "^5.0.5",
|
|
40
40
|
"@rollup/plugin-typescript": "^11.1.5",
|
|
41
|
-
"@types/node": "^20.
|
|
42
|
-
"@types/react": "^18.2.
|
|
43
|
-
"@types/react-dom": "^18.2.
|
|
44
|
-
"@vitejs/plugin-react": "^4.
|
|
45
|
-
"antd": "^5.
|
|
41
|
+
"@types/node": "^20.10.5",
|
|
42
|
+
"@types/react": "^18.2.46",
|
|
43
|
+
"@types/react-dom": "^18.2.18",
|
|
44
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
45
|
+
"antd": "^5.12.5",
|
|
46
46
|
"autoprefixer": "^10.4.16",
|
|
47
|
-
"eslint": "^8.
|
|
48
|
-
"eslint-config-prettier": "^9.
|
|
47
|
+
"eslint": "^8.56.0",
|
|
48
|
+
"eslint-config-prettier": "^9.1.0",
|
|
49
49
|
"eslint-config-react-app": "^7.0.1",
|
|
50
|
-
"postcss": "^8.4.
|
|
51
|
-
"prettier": "^3.
|
|
52
|
-
"prettier-plugin-organize-imports": "^3.2.
|
|
53
|
-
"prettier-plugin-tailwindcss": "^0.5.
|
|
50
|
+
"postcss": "^8.4.32",
|
|
51
|
+
"prettier": "^3.1.1",
|
|
52
|
+
"prettier-plugin-organize-imports": "^3.2.4",
|
|
53
|
+
"prettier-plugin-tailwindcss": "^0.5.10",
|
|
54
54
|
"react": "^18.2.0",
|
|
55
55
|
"react-dom": "^18.2.0",
|
|
56
|
-
"rollup": "4.
|
|
56
|
+
"rollup": "4.9.1",
|
|
57
57
|
"rollup-plugin-dts": "^6.1.0",
|
|
58
58
|
"rollup-plugin-postcss": "^4.0.2",
|
|
59
|
-
"tailwindcss": "^3.
|
|
60
|
-
"typescript": "^5.
|
|
61
|
-
"vite": "^
|
|
59
|
+
"tailwindcss": "^3.4.0",
|
|
60
|
+
"typescript": "^5.3.3",
|
|
61
|
+
"vite": "^5.0.10"
|
|
62
62
|
}
|
|
63
63
|
}
|