@bigbinary/neeto-image-uploader-frontend 2.3.2 → 2.3.5

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.
Files changed (51) hide show
  1. package/dist/AssetLibrary.js +236 -8519
  2. package/dist/AssetLibrary.js.map +1 -1
  3. package/dist/BasicImageUploader.js +12 -9
  4. package/dist/BasicImageUploader.js.map +1 -1
  5. package/dist/ImageUploader.js +17 -57
  6. package/dist/ImageUploader.js.map +1 -1
  7. package/dist/{ImageWithFallback-1d3c6c16.js → ImageWithFallback-8d240931.js} +5 -3
  8. package/dist/{ImageWithFallback-1d3c6c16.js.map → ImageWithFallback-8d240931.js.map} +1 -1
  9. package/dist/{ImageWithFallback-da061171.js → ImageWithFallback-edf8eba8.js} +15 -10
  10. package/dist/{ImageWithFallback-da061171.js.map → ImageWithFallback-edf8eba8.js.map} +1 -1
  11. package/dist/cjs/AssetLibrary.js +276 -8607
  12. package/dist/cjs/AssetLibrary.js.map +1 -1
  13. package/dist/cjs/BasicImageUploader.js +17 -12
  14. package/dist/cjs/BasicImageUploader.js.map +1 -1
  15. package/dist/cjs/ImageUploader.js +24 -61
  16. package/dist/cjs/ImageUploader.js.map +1 -1
  17. package/dist/cjs/hooks.js +7 -3
  18. package/dist/cjs/hooks.js.map +1 -1
  19. package/dist/cjs/index.js +18 -57
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/hooks.js +7 -3
  22. package/dist/hooks.js.map +1 -1
  23. package/dist/{index-c128d963.js → index-8605e11c.js} +2 -98
  24. package/dist/index-8605e11c.js.map +1 -0
  25. package/dist/{index-69559a7a.js → index-cf7e4b89.js} +1 -99
  26. package/dist/index-cf7e4b89.js.map +1 -0
  27. package/dist/index.js +18 -57
  28. package/dist/index.js.map +1 -1
  29. package/dist/useImageUploader-608bca32.js +251 -0
  30. package/dist/useImageUploader-608bca32.js.map +1 -0
  31. package/dist/useImageUploader-8b4e333c.js +264 -0
  32. package/dist/useImageUploader-8b4e333c.js.map +1 -0
  33. package/dist/{useProfileImageUpload-085576e5.js → useProfileImageUpload-08752a73.js} +10 -7
  34. package/dist/useProfileImageUpload-08752a73.js.map +1 -0
  35. package/dist/{useProfileImageUpload-51ab47be.js → useProfileImageUpload-29d226a6.js} +21 -15
  36. package/dist/useProfileImageUpload-29d226a6.js.map +1 -0
  37. package/dist/{utils-2fc0a9dc.js → utils-ede1695e.js} +43 -35
  38. package/dist/utils-ede1695e.js.map +1 -0
  39. package/dist/{utils-46caa3d3.js → utils-fa0fa918.js} +40 -33
  40. package/dist/utils-fa0fa918.js.map +1 -0
  41. package/package.json +101 -82
  42. package/dist/index-69559a7a.js.map +0 -1
  43. package/dist/index-c128d963.js.map +0 -1
  44. package/dist/useImageUploader-b78deb18.js +0 -632
  45. package/dist/useImageUploader-b78deb18.js.map +0 -1
  46. package/dist/useImageUploader-b93adc31.js +0 -617
  47. package/dist/useImageUploader-b93adc31.js.map +0 -1
  48. package/dist/useProfileImageUpload-085576e5.js.map +0 -1
  49. package/dist/useProfileImageUpload-51ab47be.js.map +0 -1
  50. package/dist/utils-2fc0a9dc.js.map +0 -1
  51. package/dist/utils-46caa3d3.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useImageUploader-608bca32.js","sources":["../app/javascript/src/apis/direct_uploads.js","../app/javascript/src/hooks/useDirectUploads.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","import axios from \"axios\";\n\nconst generate = () =>\n axios.post(\"neeto_image_uploader_engine/cloudflare_images\");\n\nconst upload = ({ url, formData, setUploadProgress }) =>\n axios.post(url, formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n onUploadProgress: event => {\n const percentComplete = Math.round((event.loaded / event.total) * 100);\n setUploadProgress(percentComplete);\n },\n transformRequestCase: false,\n });\n\nconst cloudflareImageApi = { generate, upload };\n\nexport default cloudflareImageApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\n\nexport const useCloudFlareImageUpload = () =>\n useMutation({ mutationFn: cloudflareImageApi.upload });\n","export const generateASCIIFileName = originalFileName => {\n const sanitizedFileName = originalFileName.replace(/[\\u00A0\\u202F]/g, \" \");\n\n if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {\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 cloudflareImageApi from \"apis/cloudflare_image\";\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { CLOUD_FLARE, IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCloudFlareImageUpload } 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 } = useCloudFlareImageUpload();\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 });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\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 } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const cloudFlareImageUpload = (file, setUploadProgress) => {\n const img = new Image();\n img.src = URL.createObjectURL(file);\n\n const formData = new FormData();\n formData.append(\"file\", file);\n\n img.onload = async () => {\n const { width, height } = img;\n URL.revokeObjectURL(img.src);\n\n setIsUploading(true);\n try {\n // eslint-disable-next-line @bigbinary/neeto/use-react-query-for-managing-remote-data\n const { result } = await cloudflareImageApi.generate();\n\n cloudFlareImage(\n { url: result.uploadURL, formData, setUploadProgress },\n {\n onSuccess: ({ result }) => {\n const uploadData = {\n ...result,\n contentType: file.type,\n metadata: { ...result, width, height },\n url: result.variants[0],\n byteSize: file.size,\n checksum: result.id,\n };\n\n onUploadComplete(uploadData);\n setIsUploading(false);\n },\n }\n );\n } catch (error) {\n Toastr.error(error);\n 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","generate","upload","url","formData","setUploadProgress","headers","onUploadProgress","event","percentComplete","Math","round","loaded","total","cloudflareImageApi","useCloudFlareImageUpload","useMutation","mutationFn","generateASCIIFileName","originalFileName","sanitizedFileName","replace","test","extension","split","pop","useImageUploader","_ref$onUploadComplete","onUploadComplete","noop","_ref$setIsUploading","setIsUploading","authenticationEndpoint","window","location","origin","_useCloudFlareImageUp","cloudFlareImage","mutate","handleUploadProgress","e","fileSize","percent","equals","developmentUpload","file","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","_","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","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","finish","stop","_x","_x2","apply","arguments","cloudFlareImageUpload","img","Image","src","URL","createObjectURL","FormData","append","onload","_callee2","_yield$cloudflareImag","_callee2$","_context2","revokeObjectURL","uploadURL","onSuccess","_ref4","uploadData","contentType","type","variants","byteSize","size","checksum","uploadFile","isNil","XMLHttpRequest","productionUpload","assetsUploaderService","CLOUD_FLARE","IS_DEVELOPMENT_OR_HEROKU_ENV"],"mappings":"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"}
@@ -0,0 +1,264 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var reactQuery = require('@tanstack/react-query');
5
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
6
+ var query = require('./query-3c31bf92.js');
7
+ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
8
+ var _regeneratorRuntime = require('@babel/runtime/regenerator');
9
+ var activestorage = require('@rails/activestorage');
10
+ var index = require('./index-cf7e4b89.js');
11
+ var neetoCist = require('@bigbinary/neeto-cist');
12
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
13
+ var Toastr = require('@bigbinary/neetoui/Toastr');
14
+ var ramda = require('ramda');
15
+ var axios = require('axios');
16
+
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
+ var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
21
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
22
+ var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
23
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
24
+
25
+ var create = function create(payload) {
26
+ return axios__default["default"].post("/api/direct_uploads", {
27
+ blob: payload
28
+ }, {
29
+ transformRequestCase: false
30
+ });
31
+ };
32
+ var update = function update(_ref) {
33
+ var id = _ref.id,
34
+ payload = _ref.payload;
35
+ return axios__default["default"].put("neeto_image_uploader_engine/api/direct_uploads/".concat(id), {
36
+ blob: payload
37
+ }, {
38
+ transformRequestCase: false
39
+ });
40
+ };
41
+ var directUploadsApi = {
42
+ create: create,
43
+ update: update
44
+ };
45
+
46
+ function ownKeys$1(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; }
47
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
48
+ var useCreateBlob = function useCreateBlob(options) {
49
+ return reactUtils.useMutationWithInvalidation(directUploadsApi.create, _objectSpread$1({
50
+ keysToInvalidate: [query.QUERY_KEYS.ASSETS_LIST]
51
+ }, options));
52
+ };
53
+
54
+ var generate = function generate() {
55
+ return axios__default["default"].post("neeto_image_uploader_engine/cloudflare_images");
56
+ };
57
+ var upload = function upload(_ref) {
58
+ var url = _ref.url,
59
+ formData = _ref.formData,
60
+ setUploadProgress = _ref.setUploadProgress;
61
+ return axios__default["default"].post(url, formData, {
62
+ headers: {
63
+ "Content-Type": "multipart/form-data"
64
+ },
65
+ onUploadProgress: function onUploadProgress(event) {
66
+ var percentComplete = Math.round(event.loaded / event.total * 100);
67
+ setUploadProgress(percentComplete);
68
+ },
69
+ transformRequestCase: false
70
+ });
71
+ };
72
+ var cloudflareImageApi = {
73
+ generate: generate,
74
+ upload: upload
75
+ };
76
+
77
+ var useCloudFlareImageUpload = function useCloudFlareImageUpload() {
78
+ return reactQuery.useMutation({
79
+ mutationFn: cloudflareImageApi.upload
80
+ });
81
+ };
82
+
83
+ var generateASCIIFileName = function generateASCIIFileName(originalFileName) {
84
+ var sanitizedFileName = originalFileName.replace(/[\u00A0\u202F]/g, " ");
85
+ if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {
86
+ return originalFileName;
87
+ }
88
+ var extension = originalFileName.split(".").pop();
89
+ return "image.".concat(extension);
90
+ };
91
+
92
+ 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; }
93
+ 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__default["default"](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; }
94
+ var useImageUploader = function useImageUploader(_ref) {
95
+ var _ref$onUploadComplete = _ref.onUploadComplete,
96
+ onUploadComplete = _ref$onUploadComplete === void 0 ? neetoCist.noop : _ref$onUploadComplete,
97
+ _ref$setIsUploading = _ref.setIsUploading,
98
+ setIsUploading = _ref$setIsUploading === void 0 ? neetoCist.noop : _ref$setIsUploading;
99
+ var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
100
+ var _useCloudFlareImageUp = useCloudFlareImageUpload(),
101
+ cloudFlareImage = _useCloudFlareImageUp.mutate;
102
+ var handleUploadProgress = function handleUploadProgress(e, fileSize, setUploadProgress) {
103
+ if (e.loaded <= fileSize) {
104
+ var percent = Math.round(e.loaded / fileSize * 100);
105
+ setUploadProgress(percent);
106
+ }
107
+ ramda.equals(e.loaded, e.total) && setUploadProgress(100);
108
+ };
109
+ var developmentUpload = function developmentUpload(file, setUploadProgress) {
110
+ try {
111
+ setIsUploading(true);
112
+ var upload = new activestorage.DirectUpload(file, "/api/direct_uploads", {
113
+ directUploadWillStoreFileWithXHR: function directUploadWillStoreFileWithXHR(xhr) {
114
+ xhr.upload.addEventListener("progress", function (event) {
115
+ var percentComplete = Math.round(event.loaded / event.total * 100);
116
+ setUploadProgress(percentComplete);
117
+ });
118
+ }
119
+ });
120
+ upload.create(function (_, blob) {
121
+ var payload = {
122
+ id: blob.signed_id,
123
+ payload: {
124
+ metadata: {
125
+ organizationKey: initializers.globalProps.organization.publicApiKey,
126
+ url: blob.blob_url,
127
+ height: 200,
128
+ width: 200
129
+ }
130
+ }
131
+ };
132
+ directUploadsApi.update(payload);
133
+ var result = ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
134
+ url: blob.blob_url
135
+ });
136
+ onUploadComplete(result);
137
+ });
138
+ } catch (error) {
139
+ Toastr__default["default"].error(error);
140
+ } finally {
141
+ setIsUploading(false);
142
+ }
143
+ };
144
+ var imageKitUpload = /*#__PURE__*/function () {
145
+ var _ref2 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(file, XHRProgress) {
146
+ var imagekit, result;
147
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
148
+ while (1) switch (_context.prev = _context.next) {
149
+ case 0:
150
+ _context.prev = 0;
151
+ imagekit = new index.ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
152
+ authenticationEndpoint: authenticationEndpoint
153
+ }));
154
+ setIsUploading(true);
155
+ _context.next = 5;
156
+ return imagekit.upload({
157
+ xhr: XHRProgress,
158
+ file: file,
159
+ fileName: generateASCIIFileName(file.name),
160
+ folder: initializers.globalProps.imagekit.folder,
161
+ customMetadata: {
162
+ organizationKey: initializers.globalProps.organization.publicApiKey,
163
+ appName: initializers.globalProps.appName
164
+ }
165
+ });
166
+ case 5:
167
+ result = _context.sent;
168
+ onUploadComplete(result);
169
+ _context.next = 12;
170
+ break;
171
+ case 9:
172
+ _context.prev = 9;
173
+ _context.t0 = _context["catch"](0);
174
+ Toastr__default["default"].error(_context.t0);
175
+ case 12:
176
+ _context.prev = 12;
177
+ setIsUploading(false);
178
+ return _context.finish(12);
179
+ case 15:
180
+ case "end":
181
+ return _context.stop();
182
+ }
183
+ }, _callee, null, [[0, 9, 12, 15]]);
184
+ }));
185
+ return function imageKitUpload(_x, _x2) {
186
+ return _ref2.apply(this, arguments);
187
+ };
188
+ }();
189
+ var cloudFlareImageUpload = function cloudFlareImageUpload(file, setUploadProgress) {
190
+ var img = new Image();
191
+ img.src = URL.createObjectURL(file);
192
+ var formData = new FormData();
193
+ formData.append("file", file);
194
+ img.onload = /*#__PURE__*/_asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2() {
195
+ var width, height, _yield$cloudflareImag, result;
196
+ return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
197
+ while (1) switch (_context2.prev = _context2.next) {
198
+ case 0:
199
+ width = img.width, height = img.height;
200
+ URL.revokeObjectURL(img.src);
201
+ setIsUploading(true);
202
+ _context2.prev = 3;
203
+ _context2.next = 6;
204
+ return cloudflareImageApi.generate();
205
+ case 6:
206
+ _yield$cloudflareImag = _context2.sent;
207
+ result = _yield$cloudflareImag.result;
208
+ cloudFlareImage({
209
+ url: result.uploadURL,
210
+ formData: formData,
211
+ setUploadProgress: setUploadProgress
212
+ }, {
213
+ onSuccess: function onSuccess(_ref4) {
214
+ var result = _ref4.result;
215
+ var uploadData = _objectSpread(_objectSpread({}, result), {}, {
216
+ contentType: file.type,
217
+ metadata: _objectSpread(_objectSpread({}, result), {}, {
218
+ width: width,
219
+ height: height
220
+ }),
221
+ url: result.variants[0],
222
+ byteSize: file.size,
223
+ checksum: result.id
224
+ });
225
+ onUploadComplete(uploadData);
226
+ setIsUploading(false);
227
+ }
228
+ });
229
+ _context2.next = 15;
230
+ break;
231
+ case 11:
232
+ _context2.prev = 11;
233
+ _context2.t0 = _context2["catch"](3);
234
+ Toastr__default["default"].error(_context2.t0);
235
+ setIsUploading(false);
236
+ case 15:
237
+ case "end":
238
+ return _context2.stop();
239
+ }
240
+ }, _callee2, null, [[3, 11]]);
241
+ }));
242
+ };
243
+ var uploadFile = function uploadFile(file, setUploadProgress) {
244
+ if (ramda.isNil(file)) return;
245
+ var fileSize = file.size;
246
+ var XHRProgress = new XMLHttpRequest();
247
+ XHRProgress.upload.addEventListener("progress", function (e) {
248
+ handleUploadProgress(e, fileSize, setUploadProgress);
249
+ });
250
+ var productionUpload = function productionUpload() {
251
+ return initializers.globalProps.assetsUploaderService === index.CLOUD_FLARE ? cloudFlareImageUpload(file, setUploadProgress) : imageKitUpload(file, XHRProgress);
252
+ };
253
+ index.IS_DEVELOPMENT_OR_HEROKU_ENV ? developmentUpload(file, setUploadProgress) : productionUpload();
254
+ };
255
+ return {
256
+ uploadFile: uploadFile
257
+ };
258
+ };
259
+
260
+ exports.directUploadsApi = directUploadsApi;
261
+ exports.generateASCIIFileName = generateASCIIFileName;
262
+ exports.useCreateBlob = useCreateBlob;
263
+ exports.useImageUploader = useImageUploader;
264
+ //# sourceMappingURL=useImageUploader-8b4e333c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useImageUploader-8b4e333c.js","sources":["../app/javascript/src/apis/direct_uploads.js","../app/javascript/src/hooks/useDirectUploads.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","import axios from \"axios\";\n\nconst generate = () =>\n axios.post(\"neeto_image_uploader_engine/cloudflare_images\");\n\nconst upload = ({ url, formData, setUploadProgress }) =>\n axios.post(url, formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n onUploadProgress: event => {\n const percentComplete = Math.round((event.loaded / event.total) * 100);\n setUploadProgress(percentComplete);\n },\n transformRequestCase: false,\n });\n\nconst cloudflareImageApi = { generate, upload };\n\nexport default cloudflareImageApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\n\nexport const useCloudFlareImageUpload = () =>\n useMutation({ mutationFn: cloudflareImageApi.upload });\n","export const generateASCIIFileName = originalFileName => {\n const sanitizedFileName = originalFileName.replace(/[\\u00A0\\u202F]/g, \" \");\n\n if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {\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 cloudflareImageApi from \"apis/cloudflare_image\";\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { CLOUD_FLARE, IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCloudFlareImageUpload } 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 } = useCloudFlareImageUpload();\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 });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\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 } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const cloudFlareImageUpload = (file, setUploadProgress) => {\n const img = new Image();\n img.src = URL.createObjectURL(file);\n\n const formData = new FormData();\n formData.append(\"file\", file);\n\n img.onload = async () => {\n const { width, height } = img;\n URL.revokeObjectURL(img.src);\n\n setIsUploading(true);\n try {\n // eslint-disable-next-line @bigbinary/neeto/use-react-query-for-managing-remote-data\n const { result } = await cloudflareImageApi.generate();\n\n cloudFlareImage(\n { url: result.uploadURL, formData, setUploadProgress },\n {\n onSuccess: ({ result }) => {\n const uploadData = {\n ...result,\n contentType: file.type,\n metadata: { ...result, width, height },\n url: result.variants[0],\n byteSize: file.size,\n checksum: result.id,\n };\n\n onUploadComplete(uploadData);\n setIsUploading(false);\n },\n }\n );\n } catch (error) {\n Toastr.error(error);\n 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","generate","upload","url","formData","setUploadProgress","headers","onUploadProgress","event","percentComplete","Math","round","loaded","total","cloudflareImageApi","useCloudFlareImageUpload","useMutation","mutationFn","generateASCIIFileName","originalFileName","sanitizedFileName","replace","test","extension","split","pop","useImageUploader","_ref$onUploadComplete","onUploadComplete","noop","_ref$setIsUploading","setIsUploading","authenticationEndpoint","window","location","origin","_useCloudFlareImageUp","cloudFlareImage","mutate","handleUploadProgress","e","fileSize","percent","equals","developmentUpload","file","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","_","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","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","finish","stop","_x","_x2","apply","arguments","cloudFlareImageUpload","img","Image","src","URL","createObjectURL","FormData","append","onload","_callee2","_yield$cloudflareImag","_callee2$","_context2","revokeObjectURL","uploadURL","onSuccess","_ref4","uploadData","contentType","type","variants","byteSize","size","checksum","uploadFile","isNil","XMLHttpRequest","productionUpload","assetsUploaderService","CLOUD_FLARE","IS_DEVELOPMENT_OR_HEROKU_ENV"],"mappings":"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"}
@@ -1,11 +1,14 @@
1
- import { u as useCreateBlob, _ as _asyncToGenerator, b as _regeneratorRuntime, d as directUploadsApi, f as generateASCIIFileName } from './useImageUploader-b93adc31.js';
2
- import { a as _slicedToArray, I as IS_DEVELOPMENT_OR_HEROKU_ENV, b as ImageKit } from './index-c128d963.js';
1
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
3
4
  import { useState } from 'react';
4
5
  import { DirectUpload } from '@rails/activestorage';
6
+ import { I as IS_DEVELOPMENT_OR_HEROKU_ENV, a as ImageKit } from './index-8605e11c.js';
5
7
  import { keysToCamelCase } from '@bigbinary/neeto-cist';
6
8
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
7
9
  import Toastr from '@bigbinary/neetoui/Toastr';
8
10
  import { equals, mergeRight, mergeDeepRight } from 'ramda';
11
+ import { u as useCreateBlob, d as directUploadsApi, g as generateASCIIFileName } from './useImageUploader-608bca32.js';
9
12
  import { t } from 'i18next';
10
13
 
11
14
  var useImageUpload = function useImageUpload() {
@@ -55,7 +58,7 @@ var useImageUpload = function useImageUpload() {
55
58
  }
56
59
  };
57
60
  var productionUpload = /*#__PURE__*/function () {
58
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
61
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
59
62
  var imagekit, image, payload;
60
63
  return _regeneratorRuntime.wrap(function _callee$(_context) {
61
64
  while (1) switch (_context.prev = _context.next) {
@@ -111,7 +114,7 @@ var useImageUpload = function useImageUpload() {
111
114
  };
112
115
  }();
113
116
  var uploadImage = /*#__PURE__*/function () {
114
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
117
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
115
118
  var fileSize, XHRProgress;
116
119
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
117
120
  while (1) switch (_context2.prev = _context2.next) {
@@ -179,7 +182,7 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
179
182
  equals(e.loaded, e.total) && setUploadProgress(100);
180
183
  };
181
184
  var uploadToImagekit = /*#__PURE__*/function () {
182
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
185
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
183
186
  var imagekit, image, errorMessage;
184
187
  return _regeneratorRuntime.wrap(function _callee$(_context) {
185
188
  while (1) switch (_context.prev = _context.next) {
@@ -222,7 +225,7 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
222
225
  };
223
226
  }();
224
227
  var uploadImage = /*#__PURE__*/function () {
225
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
228
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
226
229
  var fileSize, XHRProgress;
227
230
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
228
231
  while (1) switch (_context2.prev = _context2.next) {
@@ -253,4 +256,4 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
253
256
  };
254
257
 
255
258
  export { useProfileImageUpload as a, useImageUpload as u };
256
- //# sourceMappingURL=useProfileImageUpload-085576e5.js.map
259
+ //# sourceMappingURL=useProfileImageUpload-08752a73.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProfileImageUpload-08752a73.js","sources":["../app/javascript/src/hooks/useImageUpload.js","../app/javascript/src/hooks/useProfileImageUpload.js"],"sourcesContent":["import { useState } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport ImageKit from \"imagekit-javascript\";\nimport { keysToCamelCase } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, mergeRight } from \"ramda\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCreateBlob } from \"./useDirectUploads\";\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useImageUpload = () => {\n const [uploadProgress, setUploadProgress] = useState(0);\n const [isUploading, setIsUploading] = useState(false);\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const { mutate: createBlob } = useCreateBlob();\n\n const handleUploadProgress = (e, fileSize) => {\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, onUploadComplete) => {\n try {\n setIsUploading(true);\n const upload = new DirectUpload(file, \"/api/direct_uploads\");\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 onUploadComplete(\n mergeRight(keysToCamelCase(blob), { url: blob.blob_url })\n );\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const productionUpload = async (file, XHRProgress, onUploadComplete) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const image = 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 const payload = {\n filename: generateASCIIFileName(image.name),\n byte_size: image.size,\n content_type: image.fileType,\n checksum: image.fileId,\n metadata: image,\n service_name: \"imagekitio\",\n };\n\n createBlob(payload, {\n onSuccess: onUploadComplete,\n onError: Toastr.error,\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const uploadImage = async (file, onUploadComplete) => {\n setUploadProgress(0);\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize);\n });\n\n IS_DEVELOPMENT_OR_HEROKU_ENV\n ? await developmentUpload(file, onUploadComplete)\n : await productionUpload(file, XHRProgress, onUploadComplete);\n };\n\n return { uploadImage, uploadProgress, isUploading };\n};\n\nexport default useImageUpload;\n","import { useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport ImageKit from \"imagekit-javascript\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, mergeDeepRight, mergeRight } from \"ramda\";\n\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useProfileImageUpload = ({ uploadConfig = {} }) => {\n const [uploadProgress, setUploadProgress] = useState(0);\n const [isUploading, setIsUploading] = useState(false);\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const defaultImageKitConfig = {\n folder: globalProps.imagekit.folder,\n customMetadata: {\n organizationKey: globalProps.organization.publicApiKey,\n appName: globalProps.appName,\n },\n };\n\n const imagekitConfig = mergeDeepRight(defaultImageKitConfig, uploadConfig);\n\n const handleUploadProgress = (e, fileSize) => {\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 uploadToImagekit = async (file, XHRProgress, onUploadComplete) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const image = await imagekit.upload({\n xhr: XHRProgress,\n file,\n fileName: generateASCIIFileName(file.name),\n folder: imagekitConfig.folder,\n customMetadata: imagekitConfig.customMetadata,\n });\n\n onUploadComplete(image);\n } catch (error) {\n const errorMessage = equals(\n error.message,\n t(\"neetoImageUploader.errors.sdkKeysMissing\")\n )\n ? t(\"neetoImageUploader.errors.imagekitKeysMissing\")\n : error.message;\n\n Toastr.error(errorMessage);\n } finally {\n setIsUploading(false);\n }\n };\n\n const uploadImage = async (file, onUploadComplete) => {\n setUploadProgress(0);\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize);\n });\n\n await uploadToImagekit(file, XHRProgress, onUploadComplete);\n };\n\n return { uploadImage, uploadProgress, isUploading };\n};\n\nexport default useProfileImageUpload;\n"],"names":["useImageUpload","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","isUploading","setIsUploading","authenticationEndpoint","concat","window","location","origin","_useCreateBlob","useCreateBlob","createBlob","mutate","handleUploadProgress","e","fileSize","loaded","percent","Math","round","equals","total","developmentUpload","file","onUploadComplete","upload","DirectUpload","create","_","blob","payload","id","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","url","blob_url","height","width","directUploadsApi","update","mergeRight","keysToCamelCase","error","Toastr","productionUpload","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","XHRProgress","imagekit","image","wrap","_callee$","_context","prev","next","ImageKit","xhr","fileName","generateASCIIFileName","name","folder","customMetadata","appName","sent","filename","byte_size","size","content_type","fileType","checksum","fileId","service_name","onSuccess","onError","t0","finish","stop","_x","_x2","_x3","apply","arguments","uploadImage","_ref2","_callee2","_callee2$","_context2","XMLHttpRequest","addEventListener","IS_DEVELOPMENT_OR_HEROKU_ENV","_x4","_x5","useProfileImageUpload","_ref$uploadConfig","uploadConfig","defaultImageKitConfig","imagekitConfig","mergeDeepRight","uploadToImagekit","errorMessage","message","t","_ref3"],"mappings":"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"}
@@ -1,26 +1,32 @@
1
1
  'use strict';
2
2
 
3
- var useImageUploader = require('./useImageUploader-b78deb18.js');
4
- var index = require('./index-69559a7a.js');
3
+ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
4
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var _regeneratorRuntime = require('@babel/runtime/regenerator');
5
6
  var require$$0 = require('react');
6
7
  var activestorage = require('@rails/activestorage');
8
+ var index = require('./index-cf7e4b89.js');
7
9
  var neetoCist = require('@bigbinary/neeto-cist');
8
10
  var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
9
11
  var Toastr = require('@bigbinary/neetoui/Toastr');
10
12
  var ramda = require('ramda');
13
+ var useImageUploader = require('./useImageUploader-8b4e333c.js');
11
14
  var i18next = require('i18next');
12
15
 
13
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
17
 
18
+ var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
19
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
20
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
15
21
  var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
16
22
 
17
23
  var useImageUpload = function useImageUpload() {
18
24
  var _useState = require$$0.useState(0),
19
- _useState2 = index._slicedToArray(_useState, 2),
25
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
20
26
  uploadProgress = _useState2[0],
21
27
  setUploadProgress = _useState2[1];
22
28
  var _useState3 = require$$0.useState(false),
23
- _useState4 = index._slicedToArray(_useState3, 2),
29
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
24
30
  isUploading = _useState4[0],
25
31
  setIsUploading = _useState4[1];
26
32
  var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
@@ -61,9 +67,9 @@ var useImageUpload = function useImageUpload() {
61
67
  }
62
68
  };
63
69
  var productionUpload = /*#__PURE__*/function () {
64
- var _ref = useImageUploader._asyncToGenerator( /*#__PURE__*/useImageUploader._regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
70
+ var _ref = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(file, XHRProgress, onUploadComplete) {
65
71
  var imagekit, image, payload;
66
- return useImageUploader._regeneratorRuntime.wrap(function _callee$(_context) {
72
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
67
73
  while (1) switch (_context.prev = _context.next) {
68
74
  case 0:
69
75
  _context.prev = 0;
@@ -117,9 +123,9 @@ var useImageUpload = function useImageUpload() {
117
123
  };
118
124
  }();
119
125
  var uploadImage = /*#__PURE__*/function () {
120
- var _ref2 = useImageUploader._asyncToGenerator( /*#__PURE__*/useImageUploader._regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
126
+ var _ref2 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(file, onUploadComplete) {
121
127
  var fileSize, XHRProgress;
122
- return useImageUploader._regeneratorRuntime.wrap(function _callee2$(_context2) {
128
+ return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
123
129
  while (1) switch (_context2.prev = _context2.next) {
124
130
  case 0:
125
131
  setUploadProgress(0);
@@ -161,11 +167,11 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
161
167
  var _ref$uploadConfig = _ref.uploadConfig,
162
168
  uploadConfig = _ref$uploadConfig === void 0 ? {} : _ref$uploadConfig;
163
169
  var _useState = require$$0.useState(0),
164
- _useState2 = index._slicedToArray(_useState, 2),
170
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
165
171
  uploadProgress = _useState2[0],
166
172
  setUploadProgress = _useState2[1];
167
173
  var _useState3 = require$$0.useState(false),
168
- _useState4 = index._slicedToArray(_useState3, 2),
174
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
169
175
  isUploading = _useState4[0],
170
176
  setIsUploading = _useState4[1];
171
177
  var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
@@ -185,9 +191,9 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
185
191
  ramda.equals(e.loaded, e.total) && setUploadProgress(100);
186
192
  };
187
193
  var uploadToImagekit = /*#__PURE__*/function () {
188
- var _ref2 = useImageUploader._asyncToGenerator( /*#__PURE__*/useImageUploader._regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
194
+ var _ref2 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(file, XHRProgress, onUploadComplete) {
189
195
  var imagekit, image, errorMessage;
190
- return useImageUploader._regeneratorRuntime.wrap(function _callee$(_context) {
196
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
191
197
  while (1) switch (_context.prev = _context.next) {
192
198
  case 0:
193
199
  _context.prev = 0;
@@ -228,9 +234,9 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
228
234
  };
229
235
  }();
230
236
  var uploadImage = /*#__PURE__*/function () {
231
- var _ref3 = useImageUploader._asyncToGenerator( /*#__PURE__*/useImageUploader._regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
237
+ var _ref3 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(file, onUploadComplete) {
232
238
  var fileSize, XHRProgress;
233
- return useImageUploader._regeneratorRuntime.wrap(function _callee2$(_context2) {
239
+ return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
234
240
  while (1) switch (_context2.prev = _context2.next) {
235
241
  case 0:
236
242
  setUploadProgress(0);
@@ -260,4 +266,4 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
260
266
 
261
267
  exports.useImageUpload = useImageUpload;
262
268
  exports.useProfileImageUpload = useProfileImageUpload;
263
- //# sourceMappingURL=useProfileImageUpload-51ab47be.js.map
269
+ //# sourceMappingURL=useProfileImageUpload-29d226a6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProfileImageUpload-29d226a6.js","sources":["../app/javascript/src/hooks/useImageUpload.js","../app/javascript/src/hooks/useProfileImageUpload.js"],"sourcesContent":["import { useState } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport ImageKit from \"imagekit-javascript\";\nimport { keysToCamelCase } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, mergeRight } from \"ramda\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCreateBlob } from \"./useDirectUploads\";\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useImageUpload = () => {\n const [uploadProgress, setUploadProgress] = useState(0);\n const [isUploading, setIsUploading] = useState(false);\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const { mutate: createBlob } = useCreateBlob();\n\n const handleUploadProgress = (e, fileSize) => {\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, onUploadComplete) => {\n try {\n setIsUploading(true);\n const upload = new DirectUpload(file, \"/api/direct_uploads\");\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 onUploadComplete(\n mergeRight(keysToCamelCase(blob), { url: blob.blob_url })\n );\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const productionUpload = async (file, XHRProgress, onUploadComplete) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const image = 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 const payload = {\n filename: generateASCIIFileName(image.name),\n byte_size: image.size,\n content_type: image.fileType,\n checksum: image.fileId,\n metadata: image,\n service_name: \"imagekitio\",\n };\n\n createBlob(payload, {\n onSuccess: onUploadComplete,\n onError: Toastr.error,\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const uploadImage = async (file, onUploadComplete) => {\n setUploadProgress(0);\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize);\n });\n\n IS_DEVELOPMENT_OR_HEROKU_ENV\n ? await developmentUpload(file, onUploadComplete)\n : await productionUpload(file, XHRProgress, onUploadComplete);\n };\n\n return { uploadImage, uploadProgress, isUploading };\n};\n\nexport default useImageUpload;\n","import { useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport ImageKit from \"imagekit-javascript\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, mergeDeepRight, mergeRight } from \"ramda\";\n\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useProfileImageUpload = ({ uploadConfig = {} }) => {\n const [uploadProgress, setUploadProgress] = useState(0);\n const [isUploading, setIsUploading] = useState(false);\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const defaultImageKitConfig = {\n folder: globalProps.imagekit.folder,\n customMetadata: {\n organizationKey: globalProps.organization.publicApiKey,\n appName: globalProps.appName,\n },\n };\n\n const imagekitConfig = mergeDeepRight(defaultImageKitConfig, uploadConfig);\n\n const handleUploadProgress = (e, fileSize) => {\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 uploadToImagekit = async (file, XHRProgress, onUploadComplete) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const image = await imagekit.upload({\n xhr: XHRProgress,\n file,\n fileName: generateASCIIFileName(file.name),\n folder: imagekitConfig.folder,\n customMetadata: imagekitConfig.customMetadata,\n });\n\n onUploadComplete(image);\n } catch (error) {\n const errorMessage = equals(\n error.message,\n t(\"neetoImageUploader.errors.sdkKeysMissing\")\n )\n ? t(\"neetoImageUploader.errors.imagekitKeysMissing\")\n : error.message;\n\n Toastr.error(errorMessage);\n } finally {\n setIsUploading(false);\n }\n };\n\n const uploadImage = async (file, onUploadComplete) => {\n setUploadProgress(0);\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize);\n });\n\n await uploadToImagekit(file, XHRProgress, onUploadComplete);\n };\n\n return { uploadImage, uploadProgress, isUploading };\n};\n\nexport default useProfileImageUpload;\n"],"names":["useImageUpload","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","isUploading","setIsUploading","authenticationEndpoint","concat","window","location","origin","_useCreateBlob","useCreateBlob","createBlob","mutate","handleUploadProgress","e","fileSize","loaded","percent","Math","round","equals","total","developmentUpload","file","onUploadComplete","upload","DirectUpload","create","_","blob","payload","id","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","url","blob_url","height","width","directUploadsApi","update","mergeRight","keysToCamelCase","error","Toastr","productionUpload","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","XHRProgress","imagekit","image","wrap","_callee$","_context","prev","next","ImageKit","xhr","fileName","generateASCIIFileName","name","folder","customMetadata","appName","sent","filename","byte_size","size","content_type","fileType","checksum","fileId","service_name","onSuccess","onError","t0","finish","stop","_x","_x2","_x3","apply","arguments","uploadImage","_ref2","_callee2","_callee2$","_context2","XMLHttpRequest","addEventListener","IS_DEVELOPMENT_OR_HEROKU_ENV","_x4","_x5","useProfileImageUpload","_ref$uploadConfig","uploadConfig","defaultImageKitConfig","imagekitConfig","mergeDeepRight","uploadToImagekit","errorMessage","message","t","_ref3"],"mappings":"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"}