@bigbinary/neeto-image-uploader-frontend 2.3.0 → 2.3.2
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/app/javascript/src/translations/en.json +2 -2
- package/dist/AssetLibrary.js +53 -32
- package/dist/AssetLibrary.js.map +1 -1
- package/dist/BasicImageUploader.js +3 -3
- package/dist/ImageUploader.js +34 -16
- package/dist/ImageUploader.js.map +1 -1
- package/dist/{ImageWithFallback-a45f3f4a.js → ImageWithFallback-1d3c6c16.js} +3 -3
- package/dist/{ImageWithFallback-a45f3f4a.js.map → ImageWithFallback-1d3c6c16.js.map} +1 -1
- package/dist/{ImageWithFallback-aacc383b.js → ImageWithFallback-da061171.js} +3 -3
- package/dist/{ImageWithFallback-aacc383b.js.map → ImageWithFallback-da061171.js.map} +1 -1
- package/dist/cjs/AssetLibrary.js +60 -39
- package/dist/cjs/AssetLibrary.js.map +1 -1
- package/dist/cjs/BasicImageUploader.js +3 -3
- package/dist/cjs/ImageUploader.js +34 -16
- package/dist/cjs/ImageUploader.js.map +1 -1
- package/dist/cjs/hooks.js +4 -3
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/index.js +8 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.js +14 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/hooks.js +4 -3
- package/dist/hooks.js.map +1 -1
- package/dist/{index-7f064861.js → index-69559a7a.js} +3 -1
- package/dist/index-69559a7a.js.map +1 -0
- package/dist/{index-b9963255.js → index-c128d963.js} +3 -2
- package/dist/index-c128d963.js.map +1 -0
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/query-3c31bf92.js +14 -0
- package/dist/query-3c31bf92.js.map +1 -0
- package/dist/query-dcc7b81b.js +10 -0
- package/dist/query-dcc7b81b.js.map +1 -0
- package/dist/{useImageUploader-550a5fdc.js → useImageUploader-b78deb18.js} +74 -58
- package/dist/useImageUploader-b78deb18.js.map +1 -0
- package/dist/{useImageUploader-36a03350.js → useImageUploader-b93adc31.js} +74 -55
- package/dist/useImageUploader-b93adc31.js.map +1 -0
- package/dist/{useProfileImageUpload-837e76b8.js → useProfileImageUpload-085576e5.js} +4 -4
- package/dist/useProfileImageUpload-085576e5.js.map +1 -0
- package/dist/{useProfileImageUpload-f0088c2a.js → useProfileImageUpload-51ab47be.js} +4 -4
- package/dist/useProfileImageUpload-51ab47be.js.map +1 -0
- package/dist/{utils-88cce499.js → utils-2fc0a9dc.js} +5 -4
- package/dist/utils-2fc0a9dc.js.map +1 -0
- package/dist/{utils-96eacd77.js → utils-46caa3d3.js} +5 -4
- package/dist/utils-46caa3d3.js.map +1 -0
- package/dist/utils.js +10 -0
- package/dist/utils.js.map +1 -0
- package/package.json +29 -29
- package/types.d.ts +3 -0
- package/dist/index-7f064861.js.map +0 -1
- package/dist/index-b9963255.js.map +0 -1
- package/dist/useImageUploader-36a03350.js.map +0 -1
- package/dist/useImageUploader-550a5fdc.js.map +0 -1
- package/dist/useProfileImageUpload-837e76b8.js.map +0 -1
- package/dist/useProfileImageUpload-f0088c2a.js.map +0 -1
- package/dist/utils-88cce499.js.map +0 -1
- package/dist/utils-96eacd77.js.map +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var QUERY_KEYS = {
|
|
4
|
+
ASSETS_LIST: "neeto-image-uploader-images-list",
|
|
5
|
+
UNSPLASH_LIST: "neeto-image-uploader-unsplash-list"
|
|
6
|
+
};
|
|
7
|
+
var ASSETS_STALE_TIME = 900000; // 15 mins
|
|
8
|
+
|
|
9
|
+
var UNSPLASH_STALE_TIME = 900000;
|
|
10
|
+
|
|
11
|
+
exports.ASSETS_STALE_TIME = ASSETS_STALE_TIME;
|
|
12
|
+
exports.QUERY_KEYS = QUERY_KEYS;
|
|
13
|
+
exports.UNSPLASH_STALE_TIME = UNSPLASH_STALE_TIME;
|
|
14
|
+
//# sourceMappingURL=query-3c31bf92.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-3c31bf92.js","sources":["../app/javascript/src/constants/query.js"],"sourcesContent":["export const QUERY_KEYS = {\n ASSETS_LIST: \"neeto-image-uploader-images-list\",\n UNSPLASH_LIST: \"neeto-image-uploader-unsplash-list\",\n};\n\nexport const ASSETS_STALE_TIME = 900_000; // 15 mins\n\nexport const UNSPLASH_STALE_TIME = 900_000;\n"],"names":["QUERY_KEYS","ASSETS_LIST","UNSPLASH_LIST","ASSETS_STALE_TIME","UNSPLASH_STALE_TIME"],"mappings":";;AAAO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,WAAW,EAAE,kCAAkC;AAC/CC,EAAAA,aAAa,EAAE,oCAAA;AACjB,EAAC;AAEYC,IAAAA,iBAAiB,GAAG,OAAQ;;AAElC,IAAMC,mBAAmB,GAAG;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var QUERY_KEYS = {
|
|
2
|
+
ASSETS_LIST: "neeto-image-uploader-images-list",
|
|
3
|
+
UNSPLASH_LIST: "neeto-image-uploader-unsplash-list"
|
|
4
|
+
};
|
|
5
|
+
var ASSETS_STALE_TIME = 900000; // 15 mins
|
|
6
|
+
|
|
7
|
+
var UNSPLASH_STALE_TIME = 900000;
|
|
8
|
+
|
|
9
|
+
export { ASSETS_STALE_TIME as A, QUERY_KEYS as Q, UNSPLASH_STALE_TIME as U };
|
|
10
|
+
//# sourceMappingURL=query-dcc7b81b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-dcc7b81b.js","sources":["../app/javascript/src/constants/query.js"],"sourcesContent":["export const QUERY_KEYS = {\n ASSETS_LIST: \"neeto-image-uploader-images-list\",\n UNSPLASH_LIST: \"neeto-image-uploader-unsplash-list\",\n};\n\nexport const ASSETS_STALE_TIME = 900_000; // 15 mins\n\nexport const UNSPLASH_STALE_TIME = 900_000;\n"],"names":["QUERY_KEYS","ASSETS_LIST","UNSPLASH_LIST","ASSETS_STALE_TIME","UNSPLASH_STALE_TIME"],"mappings":"AAAO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,WAAW,EAAE,kCAAkC;AAC/CC,EAAAA,aAAa,EAAE,oCAAA;AACjB,EAAC;AAEYC,IAAAA,iBAAiB,GAAG,OAAQ;;AAElC,IAAMC,mBAAmB,GAAG;;;;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
require('@tanstack/react-query');
|
|
3
|
+
var index = require('./index-69559a7a.js');
|
|
4
|
+
var reactQuery = require('@tanstack/react-query');
|
|
5
5
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
6
|
+
var query = require('./query-3c31bf92.js');
|
|
6
7
|
var activestorage = require('@rails/activestorage');
|
|
7
8
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
8
9
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
@@ -15,7 +16,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
15
16
|
var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
|
|
16
17
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
17
18
|
|
|
18
|
-
var create = function create(payload) {
|
|
19
|
+
var create$1 = function create(payload) {
|
|
19
20
|
return axios__default["default"].post("/api/direct_uploads", {
|
|
20
21
|
blob: payload
|
|
21
22
|
}, {
|
|
@@ -32,23 +33,15 @@ var update = function update(_ref) {
|
|
|
32
33
|
});
|
|
33
34
|
};
|
|
34
35
|
var directUploadsApi = {
|
|
35
|
-
create: create,
|
|
36
|
+
create: create$1,
|
|
36
37
|
update: update
|
|
37
38
|
};
|
|
38
39
|
|
|
39
|
-
var QUERY_KEYS = {
|
|
40
|
-
ASSETS_LIST: "neeto-image-uploader-images-list",
|
|
41
|
-
UNSPLASH_LIST: "neeto-image-uploader-unsplash-list"
|
|
42
|
-
};
|
|
43
|
-
var ASSETS_STALE_TIME = 900000; // 15 mins
|
|
44
|
-
|
|
45
|
-
var UNSPLASH_STALE_TIME = 900000;
|
|
46
|
-
|
|
47
40
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
48
41
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { index._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
49
42
|
var useCreateBlob = function useCreateBlob(options) {
|
|
50
43
|
return reactUtils.useMutationWithInvalidation(directUploadsApi.create, _objectSpread({
|
|
51
|
-
keysToInvalidate: [QUERY_KEYS.ASSETS_LIST]
|
|
44
|
+
keysToInvalidate: [query.QUERY_KEYS.ASSETS_LIST]
|
|
52
45
|
}, options));
|
|
53
46
|
};
|
|
54
47
|
|
|
@@ -463,8 +456,34 @@ try {
|
|
|
463
456
|
|
|
464
457
|
var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
|
|
465
458
|
|
|
459
|
+
var create = function create(_ref) {
|
|
460
|
+
var formData = _ref.formData,
|
|
461
|
+
setUploadProgress = _ref.setUploadProgress;
|
|
462
|
+
return axios__default["default"].post("https://api.cloudflare.com/client/v4/accounts/".concat(initializers.globalProps.cloudFlareImage.accountId, "/images/v1"), formData, {
|
|
463
|
+
headers: {
|
|
464
|
+
// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized
|
|
465
|
+
Authorization: "Bearer ".concat(initializers.globalProps.cloudFlareImage.tokenId),
|
|
466
|
+
"Content-Type": "multipart/form-data"
|
|
467
|
+
},
|
|
468
|
+
onUploadProgress: function onUploadProgress(event) {
|
|
469
|
+
var percentComplete = Math.round(event.loaded / event.total * 100);
|
|
470
|
+
setUploadProgress(percentComplete);
|
|
471
|
+
},
|
|
472
|
+
transformRequestCase: false
|
|
473
|
+
});
|
|
474
|
+
};
|
|
475
|
+
var cloudflareImageApi = {
|
|
476
|
+
create: create
|
|
477
|
+
};
|
|
478
|
+
|
|
479
|
+
var useCloudFlareImage = function useCloudFlareImage() {
|
|
480
|
+
return reactQuery.useMutation({
|
|
481
|
+
mutationFn: cloudflareImageApi.create
|
|
482
|
+
});
|
|
483
|
+
};
|
|
484
|
+
|
|
466
485
|
var generateASCIIFileName = function generateASCIIFileName(originalFileName) {
|
|
467
|
-
if (/^[
|
|
486
|
+
if (/^[A-Za-z0-9-_.~]*$/.test(originalFileName)) {
|
|
468
487
|
return originalFileName;
|
|
469
488
|
}
|
|
470
489
|
var extension = originalFileName.split(".").pop();
|
|
@@ -477,6 +496,8 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
477
496
|
_ref$setIsUploading = _ref.setIsUploading,
|
|
478
497
|
setIsUploading = _ref$setIsUploading === void 0 ? neetoCist.noop : _ref$setIsUploading;
|
|
479
498
|
var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
|
|
499
|
+
var _useCloudFlareImage = useCloudFlareImage(),
|
|
500
|
+
cloudFlareImage = _useCloudFlareImage.mutate;
|
|
480
501
|
var handleUploadProgress = function handleUploadProgress(e, fileSize, setUploadProgress) {
|
|
481
502
|
if (e.loaded <= fileSize) {
|
|
482
503
|
var percent = Math.round(e.loaded / fileSize * 100);
|
|
@@ -508,16 +529,17 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
508
529
|
}
|
|
509
530
|
};
|
|
510
531
|
directUploadsApi.update(payload);
|
|
511
|
-
|
|
532
|
+
var result = ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
|
|
512
533
|
url: blob.blob_url
|
|
513
|
-
})
|
|
534
|
+
});
|
|
535
|
+
onUploadComplete(result);
|
|
514
536
|
setIsUploading(false);
|
|
515
537
|
});
|
|
516
538
|
} catch (error) {
|
|
517
539
|
Toastr__default["default"].error(error);
|
|
518
540
|
}
|
|
519
541
|
};
|
|
520
|
-
var
|
|
542
|
+
var imageKitUpload = /*#__PURE__*/function () {
|
|
521
543
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress) {
|
|
522
544
|
var imagekit, result;
|
|
523
545
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
@@ -555,55 +577,49 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
555
577
|
}
|
|
556
578
|
}, _callee, null, [[0, 10]]);
|
|
557
579
|
}));
|
|
558
|
-
return function
|
|
580
|
+
return function imageKitUpload(_x, _x2) {
|
|
559
581
|
return _ref2.apply(this, arguments);
|
|
560
582
|
};
|
|
561
583
|
}();
|
|
562
|
-
var
|
|
563
|
-
var
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
567
|
-
case 0:
|
|
568
|
-
if (!ramda.isNil(file)) {
|
|
569
|
-
_context2.next = 2;
|
|
570
|
-
break;
|
|
571
|
-
}
|
|
572
|
-
return _context2.abrupt("return");
|
|
573
|
-
case 2:
|
|
574
|
-
fileSize = file.size;
|
|
575
|
-
XHRProgress = new XMLHttpRequest();
|
|
576
|
-
XHRProgress.upload.addEventListener("progress", function (e) {
|
|
577
|
-
handleUploadProgress(e, fileSize, setUploadProgress);
|
|
578
|
-
});
|
|
579
|
-
if (!index.IS_DEVELOPMENT_OR_HEROKU_ENV) {
|
|
580
|
-
_context2.next = 9;
|
|
581
|
-
break;
|
|
582
|
-
}
|
|
583
|
-
developmentUpload(file, setUploadProgress);
|
|
584
|
-
_context2.next = 11;
|
|
585
|
-
break;
|
|
586
|
-
case 9:
|
|
587
|
-
_context2.next = 11;
|
|
588
|
-
return productionUpload(file, XHRProgress);
|
|
589
|
-
case 11:
|
|
590
|
-
case "end":
|
|
591
|
-
return _context2.stop();
|
|
592
|
-
}
|
|
593
|
-
}, _callee2);
|
|
594
|
-
}));
|
|
595
|
-
return function uploadFile(_x3, _x4) {
|
|
596
|
-
return _ref3.apply(this, arguments);
|
|
584
|
+
var cloudFlareImageUpload = function cloudFlareImageUpload(file, setUploadProgress) {
|
|
585
|
+
var metadata = {
|
|
586
|
+
organizationKey: initializers.globalProps.organization.publicApiKey,
|
|
587
|
+
appName: initializers.globalProps.appName
|
|
597
588
|
};
|
|
598
|
-
|
|
589
|
+
var formData = new FormData();
|
|
590
|
+
formData.append("file", file);
|
|
591
|
+
formData.append("metadata", JSON.stringify(metadata));
|
|
592
|
+
setIsUploading(true);
|
|
593
|
+
cloudFlareImage({
|
|
594
|
+
formData: formData,
|
|
595
|
+
setUploadProgress: setUploadProgress
|
|
596
|
+
}, {
|
|
597
|
+
onSuccess: function onSuccess(_ref3) {
|
|
598
|
+
var result = _ref3.result;
|
|
599
|
+
return onUploadComplete(result, file);
|
|
600
|
+
},
|
|
601
|
+
onSettled: function onSettled() {
|
|
602
|
+
return setIsUploading(false);
|
|
603
|
+
}
|
|
604
|
+
});
|
|
605
|
+
};
|
|
606
|
+
var uploadFile = function uploadFile(file, setUploadProgress) {
|
|
607
|
+
if (ramda.isNil(file)) return;
|
|
608
|
+
var fileSize = file.size;
|
|
609
|
+
var XHRProgress = new XMLHttpRequest();
|
|
610
|
+
XHRProgress.upload.addEventListener("progress", function (e) {
|
|
611
|
+
handleUploadProgress(e, fileSize, setUploadProgress);
|
|
612
|
+
});
|
|
613
|
+
var productionUpload = function productionUpload() {
|
|
614
|
+
return initializers.globalProps.assetsUploaderService === index.CLOUD_FLARE ? cloudFlareImageUpload(file, setUploadProgress) : imageKitUpload(file, XHRProgress);
|
|
615
|
+
};
|
|
616
|
+
index.IS_DEVELOPMENT_OR_HEROKU_ENV ? developmentUpload(file, setUploadProgress) : productionUpload();
|
|
617
|
+
};
|
|
599
618
|
return {
|
|
600
619
|
uploadFile: uploadFile
|
|
601
620
|
};
|
|
602
621
|
};
|
|
603
622
|
|
|
604
|
-
exports.ASSETS_STALE_TIME = ASSETS_STALE_TIME;
|
|
605
|
-
exports.QUERY_KEYS = QUERY_KEYS;
|
|
606
|
-
exports.UNSPLASH_STALE_TIME = UNSPLASH_STALE_TIME;
|
|
607
623
|
exports._asyncToGenerator = _asyncToGenerator;
|
|
608
624
|
exports._regeneratorRuntime = _regeneratorRuntime;
|
|
609
625
|
exports.commonjsGlobal = commonjsGlobal;
|
|
@@ -613,4 +629,4 @@ exports.getAugmentedNamespace = getAugmentedNamespace;
|
|
|
613
629
|
exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
|
|
614
630
|
exports.useCreateBlob = useCreateBlob;
|
|
615
631
|
exports.useImageUploader = useImageUploader;
|
|
616
|
-
//# sourceMappingURL=useImageUploader-
|
|
632
|
+
//# sourceMappingURL=useImageUploader-b78deb18.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImageUploader-b78deb18.js","sources":["../app/javascript/src/apis/direct_uploads.js","../app/javascript/src/hooks/useDirectUploads.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../app/javascript/src/apis/cloudflare_image.js","../app/javascript/src/hooks/useCloudFlareImageApi.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/hooks/useImageUploader.js"],"sourcesContent":["import axios from \"axios\";\n\nconst create = payload =>\n axios.post(\n \"/api/direct_uploads\",\n { blob: payload },\n { transformRequestCase: false }\n );\n\nconst update = ({ id, payload }) =>\n axios.put(\n `neeto_image_uploader_engine/api/direct_uploads/${id}`,\n { blob: payload },\n { transformRequestCase: false }\n );\nconst directUploadsApi = { create, update };\n\nexport default directUploadsApi;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useCreateBlob = options =>\n useMutationWithInvalidation(directUploadsApi.create, {\n keysToInvalidate: [QUERY_KEYS.ASSETS_LIST],\n ...options,\n });\n\nconst useUpdateBlob = options =>\n useMutation({ mutationFn: directUploadsApi.update, ...options });\n\nexport { useCreateBlob, useUpdateBlob };\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import axios from \"axios\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nconst create = ({ formData, setUploadProgress }) =>\n axios.post(\n `https://api.cloudflare.com/client/v4/accounts/${globalProps.cloudFlareImage.accountId}/images/v1`,\n formData,\n {\n headers: {\n // eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\n Authorization: `Bearer ${globalProps.cloudFlareImage.tokenId}`,\n \"Content-Type\": \"multipart/form-data\",\n },\n onUploadProgress: event => {\n const percentComplete = Math.round((event.loaded / event.total) * 100);\n setUploadProgress(percentComplete);\n },\n transformRequestCase: false,\n }\n );\n\nconst cloudflareImageApi = { create };\n\nexport default cloudflareImageApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\n\nexport const useCloudFlareImage = () =>\n useMutation({ mutationFn: cloudflareImageApi.create });\n","export const generateASCIIFileName = originalFileName => {\n if (/^[A-Za-z0-9-_.~]*$/.test(originalFileName)) {\n return originalFileName;\n }\n\n const extension = originalFileName.split(\".\").pop();\n\n return `image.${extension}`;\n};\n","import { DirectUpload } from \"@rails/activestorage\";\nimport ImageKit from \"imagekit-javascript\";\nimport { keysToCamelCase, noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, isNil, mergeRight } from \"ramda\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { CLOUD_FLARE, IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCloudFlareImage } from \"./useCloudFlareImageApi\";\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useImageUploader = ({\n onUploadComplete = noop,\n setIsUploading = noop,\n}) => {\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const { mutate: cloudFlareImage } = useCloudFlareImage();\n\n const handleUploadProgress = (e, fileSize, setUploadProgress) => {\n if (e.loaded <= fileSize) {\n const percent = Math.round((e.loaded / fileSize) * 100);\n setUploadProgress(percent);\n }\n equals(e.loaded, e.total) && setUploadProgress(100);\n };\n\n const developmentUpload = (file, setUploadProgress) => {\n try {\n setIsUploading(true);\n const upload = new DirectUpload(file, \"/api/direct_uploads\", {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(percentComplete);\n });\n },\n });\n\n upload.create((_, blob) => {\n const payload = {\n id: blob.signed_id,\n payload: {\n metadata: {\n organizationKey: globalProps.organization.publicApiKey,\n url: blob.blob_url,\n height: 200,\n width: 200,\n },\n },\n };\n directUploadsApi.update(payload);\n\n const result = mergeRight(keysToCamelCase(blob), {\n url: blob.blob_url,\n });\n\n onUploadComplete(result);\n setIsUploading(false);\n });\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const imageKitUpload = async (file, XHRProgress) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const result = await imagekit.upload({\n xhr: XHRProgress,\n file,\n fileName: generateASCIIFileName(file.name),\n folder: globalProps.imagekit.folder,\n customMetadata: {\n organizationKey: globalProps.organization.publicApiKey,\n appName: globalProps.appName,\n },\n });\n\n onUploadComplete(result);\n setIsUploading(false);\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const cloudFlareImageUpload = (file, setUploadProgress) => {\n const metadata = {\n organizationKey: globalProps.organization.publicApiKey,\n appName: globalProps.appName,\n };\n\n const formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"metadata\", JSON.stringify(metadata));\n\n setIsUploading(true);\n\n cloudFlareImage(\n { formData, setUploadProgress },\n {\n onSuccess: ({ result }) => onUploadComplete(result, file),\n onSettled: () => setIsUploading(false),\n }\n );\n };\n\n const uploadFile = (file, setUploadProgress) => {\n if (isNil(file)) return;\n\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize, setUploadProgress);\n });\n\n const productionUpload = () =>\n globalProps.assetsUploaderService === CLOUD_FLARE\n ? cloudFlareImageUpload(file, setUploadProgress)\n : imageKitUpload(file, XHRProgress);\n\n IS_DEVELOPMENT_OR_HEROKU_ENV\n ? developmentUpload(file, setUploadProgress)\n : productionUpload();\n };\n\n return { uploadFile };\n};\n\nexport default useImageUploader;\n"],"names":["create","payload","axios","post","blob","transformRequestCase","update","_ref","id","put","concat","directUploadsApi","useCreateBlob","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","QUERY_KEYS","ASSETS_LIST","require$$0","formData","setUploadProgress","globalProps","cloudFlareImage","accountId","headers","Authorization","tokenId","onUploadProgress","event","percentComplete","Math","round","loaded","total","cloudflareImageApi","useCloudFlareImage","useMutation","mutationFn","generateASCIIFileName","originalFileName","test","extension","split","pop","useImageUploader","_ref$onUploadComplete","onUploadComplete","noop","_ref$setIsUploading","setIsUploading","authenticationEndpoint","window","location","origin","_useCloudFlareImage","mutate","handleUploadProgress","e","fileSize","percent","equals","developmentUpload","file","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","_","signed_id","metadata","organizationKey","organization","publicApiKey","url","blob_url","height","width","result","mergeRight","keysToCamelCase","error","Toastr","imageKitUpload","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","XHRProgress","imagekit","wrap","_callee$","_context","prev","next","ImageKit","fileName","name","folder","customMetadata","appName","sent","t0","stop","_x","_x2","apply","arguments","cloudFlareImageUpload","FormData","append","JSON","stringify","onSuccess","_ref3","onSettled","uploadFile","isNil","size","XMLHttpRequest","productionUpload","assetsUploaderService","CLOUD_FLARE","IS_DEVELOPMENT_OR_HEROKU_ENV"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { _ as _defineProperty, I as IS_DEVELOPMENT_OR_HEROKU_ENV, b as ImageKit } from './index-
|
|
2
|
-
import '@tanstack/react-query';
|
|
1
|
+
import { _ as _defineProperty, I as IS_DEVELOPMENT_OR_HEROKU_ENV, C as CLOUD_FLARE, b as ImageKit } from './index-c128d963.js';
|
|
2
|
+
import { useMutation } from '@tanstack/react-query';
|
|
3
3
|
import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
4
|
+
import { Q as QUERY_KEYS } from './query-dcc7b81b.js';
|
|
4
5
|
import { DirectUpload } from '@rails/activestorage';
|
|
5
6
|
import { keysToCamelCase, noop } from '@bigbinary/neeto-cist';
|
|
6
7
|
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
@@ -8,7 +9,7 @@ import Toastr from '@bigbinary/neetoui/Toastr';
|
|
|
8
9
|
import { isNil, equals, mergeRight } from 'ramda';
|
|
9
10
|
import axios from 'axios';
|
|
10
11
|
|
|
11
|
-
var create = function create(payload) {
|
|
12
|
+
var create$1 = function create(payload) {
|
|
12
13
|
return axios.post("/api/direct_uploads", {
|
|
13
14
|
blob: payload
|
|
14
15
|
}, {
|
|
@@ -25,18 +26,10 @@ var update = function update(_ref) {
|
|
|
25
26
|
});
|
|
26
27
|
};
|
|
27
28
|
var directUploadsApi = {
|
|
28
|
-
create: create,
|
|
29
|
+
create: create$1,
|
|
29
30
|
update: update
|
|
30
31
|
};
|
|
31
32
|
|
|
32
|
-
var QUERY_KEYS = {
|
|
33
|
-
ASSETS_LIST: "neeto-image-uploader-images-list",
|
|
34
|
-
UNSPLASH_LIST: "neeto-image-uploader-unsplash-list"
|
|
35
|
-
};
|
|
36
|
-
var ASSETS_STALE_TIME = 900000; // 15 mins
|
|
37
|
-
|
|
38
|
-
var UNSPLASH_STALE_TIME = 900000;
|
|
39
|
-
|
|
40
33
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
41
34
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
42
35
|
var useCreateBlob = function useCreateBlob(options) {
|
|
@@ -456,8 +449,34 @@ try {
|
|
|
456
449
|
|
|
457
450
|
var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
|
|
458
451
|
|
|
452
|
+
var create = function create(_ref) {
|
|
453
|
+
var formData = _ref.formData,
|
|
454
|
+
setUploadProgress = _ref.setUploadProgress;
|
|
455
|
+
return axios.post("https://api.cloudflare.com/client/v4/accounts/".concat(globalProps.cloudFlareImage.accountId, "/images/v1"), formData, {
|
|
456
|
+
headers: {
|
|
457
|
+
// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized
|
|
458
|
+
Authorization: "Bearer ".concat(globalProps.cloudFlareImage.tokenId),
|
|
459
|
+
"Content-Type": "multipart/form-data"
|
|
460
|
+
},
|
|
461
|
+
onUploadProgress: function onUploadProgress(event) {
|
|
462
|
+
var percentComplete = Math.round(event.loaded / event.total * 100);
|
|
463
|
+
setUploadProgress(percentComplete);
|
|
464
|
+
},
|
|
465
|
+
transformRequestCase: false
|
|
466
|
+
});
|
|
467
|
+
};
|
|
468
|
+
var cloudflareImageApi = {
|
|
469
|
+
create: create
|
|
470
|
+
};
|
|
471
|
+
|
|
472
|
+
var useCloudFlareImage = function useCloudFlareImage() {
|
|
473
|
+
return useMutation({
|
|
474
|
+
mutationFn: cloudflareImageApi.create
|
|
475
|
+
});
|
|
476
|
+
};
|
|
477
|
+
|
|
459
478
|
var generateASCIIFileName = function generateASCIIFileName(originalFileName) {
|
|
460
|
-
if (/^[
|
|
479
|
+
if (/^[A-Za-z0-9-_.~]*$/.test(originalFileName)) {
|
|
461
480
|
return originalFileName;
|
|
462
481
|
}
|
|
463
482
|
var extension = originalFileName.split(".").pop();
|
|
@@ -470,6 +489,8 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
470
489
|
_ref$setIsUploading = _ref.setIsUploading,
|
|
471
490
|
setIsUploading = _ref$setIsUploading === void 0 ? noop : _ref$setIsUploading;
|
|
472
491
|
var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
|
|
492
|
+
var _useCloudFlareImage = useCloudFlareImage(),
|
|
493
|
+
cloudFlareImage = _useCloudFlareImage.mutate;
|
|
473
494
|
var handleUploadProgress = function handleUploadProgress(e, fileSize, setUploadProgress) {
|
|
474
495
|
if (e.loaded <= fileSize) {
|
|
475
496
|
var percent = Math.round(e.loaded / fileSize * 100);
|
|
@@ -501,16 +522,17 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
501
522
|
}
|
|
502
523
|
};
|
|
503
524
|
directUploadsApi.update(payload);
|
|
504
|
-
|
|
525
|
+
var result = mergeRight(keysToCamelCase(blob), {
|
|
505
526
|
url: blob.blob_url
|
|
506
|
-
})
|
|
527
|
+
});
|
|
528
|
+
onUploadComplete(result);
|
|
507
529
|
setIsUploading(false);
|
|
508
530
|
});
|
|
509
531
|
} catch (error) {
|
|
510
532
|
Toastr.error(error);
|
|
511
533
|
}
|
|
512
534
|
};
|
|
513
|
-
var
|
|
535
|
+
var imageKitUpload = /*#__PURE__*/function () {
|
|
514
536
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress) {
|
|
515
537
|
var imagekit, result;
|
|
516
538
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
@@ -548,51 +570,48 @@ var useImageUploader = function useImageUploader(_ref) {
|
|
|
548
570
|
}
|
|
549
571
|
}, _callee, null, [[0, 10]]);
|
|
550
572
|
}));
|
|
551
|
-
return function
|
|
573
|
+
return function imageKitUpload(_x, _x2) {
|
|
552
574
|
return _ref2.apply(this, arguments);
|
|
553
575
|
};
|
|
554
576
|
}();
|
|
555
|
-
var
|
|
556
|
-
var
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
560
|
-
case 0:
|
|
561
|
-
if (!isNil(file)) {
|
|
562
|
-
_context2.next = 2;
|
|
563
|
-
break;
|
|
564
|
-
}
|
|
565
|
-
return _context2.abrupt("return");
|
|
566
|
-
case 2:
|
|
567
|
-
fileSize = file.size;
|
|
568
|
-
XHRProgress = new XMLHttpRequest();
|
|
569
|
-
XHRProgress.upload.addEventListener("progress", function (e) {
|
|
570
|
-
handleUploadProgress(e, fileSize, setUploadProgress);
|
|
571
|
-
});
|
|
572
|
-
if (!IS_DEVELOPMENT_OR_HEROKU_ENV) {
|
|
573
|
-
_context2.next = 9;
|
|
574
|
-
break;
|
|
575
|
-
}
|
|
576
|
-
developmentUpload(file, setUploadProgress);
|
|
577
|
-
_context2.next = 11;
|
|
578
|
-
break;
|
|
579
|
-
case 9:
|
|
580
|
-
_context2.next = 11;
|
|
581
|
-
return productionUpload(file, XHRProgress);
|
|
582
|
-
case 11:
|
|
583
|
-
case "end":
|
|
584
|
-
return _context2.stop();
|
|
585
|
-
}
|
|
586
|
-
}, _callee2);
|
|
587
|
-
}));
|
|
588
|
-
return function uploadFile(_x3, _x4) {
|
|
589
|
-
return _ref3.apply(this, arguments);
|
|
577
|
+
var cloudFlareImageUpload = function cloudFlareImageUpload(file, setUploadProgress) {
|
|
578
|
+
var metadata = {
|
|
579
|
+
organizationKey: globalProps.organization.publicApiKey,
|
|
580
|
+
appName: globalProps.appName
|
|
590
581
|
};
|
|
591
|
-
|
|
582
|
+
var formData = new FormData();
|
|
583
|
+
formData.append("file", file);
|
|
584
|
+
formData.append("metadata", JSON.stringify(metadata));
|
|
585
|
+
setIsUploading(true);
|
|
586
|
+
cloudFlareImage({
|
|
587
|
+
formData: formData,
|
|
588
|
+
setUploadProgress: setUploadProgress
|
|
589
|
+
}, {
|
|
590
|
+
onSuccess: function onSuccess(_ref3) {
|
|
591
|
+
var result = _ref3.result;
|
|
592
|
+
return onUploadComplete(result, file);
|
|
593
|
+
},
|
|
594
|
+
onSettled: function onSettled() {
|
|
595
|
+
return setIsUploading(false);
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
};
|
|
599
|
+
var uploadFile = function uploadFile(file, setUploadProgress) {
|
|
600
|
+
if (isNil(file)) return;
|
|
601
|
+
var fileSize = file.size;
|
|
602
|
+
var XHRProgress = new XMLHttpRequest();
|
|
603
|
+
XHRProgress.upload.addEventListener("progress", function (e) {
|
|
604
|
+
handleUploadProgress(e, fileSize, setUploadProgress);
|
|
605
|
+
});
|
|
606
|
+
var productionUpload = function productionUpload() {
|
|
607
|
+
return globalProps.assetsUploaderService === CLOUD_FLARE ? cloudFlareImageUpload(file, setUploadProgress) : imageKitUpload(file, XHRProgress);
|
|
608
|
+
};
|
|
609
|
+
IS_DEVELOPMENT_OR_HEROKU_ENV ? developmentUpload(file, setUploadProgress) : productionUpload();
|
|
610
|
+
};
|
|
592
611
|
return {
|
|
593
612
|
uploadFile: uploadFile
|
|
594
613
|
};
|
|
595
614
|
};
|
|
596
615
|
|
|
597
|
-
export {
|
|
598
|
-
//# sourceMappingURL=useImageUploader-
|
|
616
|
+
export { _asyncToGenerator as _, getAugmentedNamespace as a, _regeneratorRuntime as b, commonjsGlobal as c, directUploadsApi as d, useImageUploader as e, generateASCIIFileName as f, getDefaultExportFromCjs as g, useCreateBlob as u };
|
|
617
|
+
//# sourceMappingURL=useImageUploader-b93adc31.js.map
|