@bigbinary/neeto-pdf-frontend 1.0.1
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/README.md +413 -0
- package/app/javascript/src/translations/ar.json +5 -0
- package/app/javascript/src/translations/bg.json +5 -0
- package/app/javascript/src/translations/ca.json +5 -0
- package/app/javascript/src/translations/cs.json +5 -0
- package/app/javascript/src/translations/da.json +5 -0
- package/app/javascript/src/translations/de.json +5 -0
- package/app/javascript/src/translations/en.json +109 -0
- package/app/javascript/src/translations/es-MX.json +5 -0
- package/app/javascript/src/translations/es.json +5 -0
- package/app/javascript/src/translations/et.json +5 -0
- package/app/javascript/src/translations/fi.json +5 -0
- package/app/javascript/src/translations/fil.json +5 -0
- package/app/javascript/src/translations/fr.json +5 -0
- package/app/javascript/src/translations/he.json +5 -0
- package/app/javascript/src/translations/hi.json +5 -0
- package/app/javascript/src/translations/hr.json +5 -0
- package/app/javascript/src/translations/hu.json +5 -0
- package/app/javascript/src/translations/id.json +5 -0
- package/app/javascript/src/translations/index.js +3 -0
- package/app/javascript/src/translations/it.json +5 -0
- package/app/javascript/src/translations/ja.json +5 -0
- package/app/javascript/src/translations/ko.json +5 -0
- package/app/javascript/src/translations/nl.json +5 -0
- package/app/javascript/src/translations/pl.json +5 -0
- package/app/javascript/src/translations/pt-BR.json +5 -0
- package/app/javascript/src/translations/pt.json +5 -0
- package/app/javascript/src/translations/ro.json +5 -0
- package/app/javascript/src/translations/ru.json +5 -0
- package/app/javascript/src/translations/sk.json +5 -0
- package/app/javascript/src/translations/sl.json +5 -0
- package/app/javascript/src/translations/sv.json +5 -0
- package/app/javascript/src/translations/th.json +5 -0
- package/app/javascript/src/translations/tr.json +5 -0
- package/app/javascript/src/translations/uk.json +5 -0
- package/app/javascript/src/translations/vi.json +5 -0
- package/app/javascript/src/translations/zh-CN.json +5 -0
- package/app/javascript/src/translations/zh-TW.json +5 -0
- package/dist/.ready +1 -0
- package/dist/AttachmentCard-75GY2Thb.js +64 -0
- package/dist/AttachmentCard-75GY2Thb.js.map +1 -0
- package/dist/AttachmentCard-D_Gp0f5r.js +67 -0
- package/dist/AttachmentCard-D_Gp0f5r.js.map +1 -0
- package/dist/FilenameUtilities-Cw9Tvd6k.js +329 -0
- package/dist/FilenameUtilities-Cw9Tvd6k.js.map +1 -0
- package/dist/FilenameUtilities-De2k_NXh.js +318 -0
- package/dist/FilenameUtilities-De2k_NXh.js.map +1 -0
- package/dist/IconBlock-BTPLDDiO.js +15 -0
- package/dist/IconBlock-BTPLDDiO.js.map +1 -0
- package/dist/IconBlock-hZ_gOnb1.js +17 -0
- package/dist/IconBlock-hZ_gOnb1.js.map +1 -0
- package/dist/PdfAttachmentSelector.js +94 -0
- package/dist/PdfAttachmentSelector.js.map +1 -0
- package/dist/PdfAttachmentsPreview.js +43 -0
- package/dist/PdfAttachmentsPreview.js.map +1 -0
- package/dist/PdfDocumentsPage.js +555 -0
- package/dist/PdfDocumentsPage.js.map +1 -0
- package/dist/PdfEditorPage.js +2051 -0
- package/dist/PdfEditorPage.js.map +1 -0
- package/dist/cjs/PdfAttachmentSelector.js +96 -0
- package/dist/cjs/PdfAttachmentSelector.js.map +1 -0
- package/dist/cjs/PdfAttachmentsPreview.js +45 -0
- package/dist/cjs/PdfAttachmentsPreview.js.map +1 -0
- package/dist/cjs/PdfDocumentsPage.js +557 -0
- package/dist/cjs/PdfDocumentsPage.js.map +1 -0
- package/dist/cjs/PdfEditorPage.js +2072 -0
- package/dist/cjs/PdfEditorPage.js.map +1 -0
- package/dist/cjs/index.js +75 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/constants-CTDOz942.js +5 -0
- package/dist/constants-CTDOz942.js.map +1 -0
- package/dist/constants-DvvJYjxW.js +8 -0
- package/dist/constants-DvvJYjxW.js.map +1 -0
- package/dist/index.js +66 -0
- package/dist/index.js.map +1 -0
- package/package.json +240 -0
- package/types/PdfAttachmentSelector.d.ts +2 -0
- package/types/PdfAttachmentsPreview.d.ts +2 -0
- package/types/PdfDocumentsPage.d.ts +6 -0
- package/types/PdfEditorPage.d.ts +7 -0
- package/types/index.d.ts +88 -0
- package/types.d.ts +1 -0
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
2
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
5
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
6
|
+
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
7
|
+
import axios from 'axios';
|
|
8
|
+
|
|
9
|
+
var trimTrailingSlash = function trimTrailingSlash(value) {
|
|
10
|
+
return (value === null || value === void 0 ? void 0 : value.replace(/\/+$/, "")) || "";
|
|
11
|
+
};
|
|
12
|
+
var documentsUrl = function documentsUrl(apiBaseUrl) {
|
|
13
|
+
return "".concat(trimTrailingSlash(apiBaseUrl), "/documents");
|
|
14
|
+
};
|
|
15
|
+
var documentUrl = function documentUrl(_ref) {
|
|
16
|
+
var apiBaseUrl = _ref.apiBaseUrl,
|
|
17
|
+
documentId = _ref.documentId;
|
|
18
|
+
return "".concat(documentsUrl(apiBaseUrl), "/").concat(documentId);
|
|
19
|
+
};
|
|
20
|
+
var documentActionUrl = function documentActionUrl(_ref2) {
|
|
21
|
+
var apiBaseUrl = _ref2.apiBaseUrl,
|
|
22
|
+
documentId = _ref2.documentId,
|
|
23
|
+
_ref2$suffix = _ref2.suffix,
|
|
24
|
+
suffix = _ref2$suffix === void 0 ? "" : _ref2$suffix;
|
|
25
|
+
return "".concat(documentUrl({
|
|
26
|
+
apiBaseUrl: apiBaseUrl,
|
|
27
|
+
documentId: documentId
|
|
28
|
+
})).concat(suffix);
|
|
29
|
+
};
|
|
30
|
+
var normalizeResponse = /*#__PURE__*/function () {
|
|
31
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(request) {
|
|
32
|
+
var _response$data;
|
|
33
|
+
var response;
|
|
34
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
35
|
+
while (1) switch (_context.prev = _context.next) {
|
|
36
|
+
case 0:
|
|
37
|
+
_context.next = 2;
|
|
38
|
+
return request;
|
|
39
|
+
case 2:
|
|
40
|
+
response = _context.sent;
|
|
41
|
+
return _context.abrupt("return", (_response$data = response === null || response === void 0 ? void 0 : response.data) !== null && _response$data !== void 0 ? _response$data : response);
|
|
42
|
+
case 4:
|
|
43
|
+
case "end":
|
|
44
|
+
return _context.stop();
|
|
45
|
+
}
|
|
46
|
+
}, _callee);
|
|
47
|
+
}));
|
|
48
|
+
return function normalizeResponse(_x) {
|
|
49
|
+
return _ref3.apply(this, arguments);
|
|
50
|
+
};
|
|
51
|
+
}();
|
|
52
|
+
var list = function list(_ref4) {
|
|
53
|
+
var apiBaseUrl = _ref4.apiBaseUrl,
|
|
54
|
+
ownerId = _ref4.ownerId;
|
|
55
|
+
return normalizeResponse(axios.get(documentsUrl(apiBaseUrl), {
|
|
56
|
+
params: {
|
|
57
|
+
ownerId: ownerId
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
60
|
+
};
|
|
61
|
+
var show = function show(_ref5) {
|
|
62
|
+
var apiBaseUrl = _ref5.apiBaseUrl,
|
|
63
|
+
ownerId = _ref5.ownerId,
|
|
64
|
+
documentId = _ref5.documentId;
|
|
65
|
+
return normalizeResponse(axios.get(documentUrl({
|
|
66
|
+
apiBaseUrl: apiBaseUrl,
|
|
67
|
+
documentId: documentId
|
|
68
|
+
}), {
|
|
69
|
+
params: {
|
|
70
|
+
ownerId: ownerId
|
|
71
|
+
}
|
|
72
|
+
}));
|
|
73
|
+
};
|
|
74
|
+
var create = function create(_ref6) {
|
|
75
|
+
var _file$name2, _file$name2$trim;
|
|
76
|
+
var apiBaseUrl = _ref6.apiBaseUrl,
|
|
77
|
+
ownerId = _ref6.ownerId,
|
|
78
|
+
file = _ref6.file;
|
|
79
|
+
if (file !== null && file !== void 0 && file.signedId) {
|
|
80
|
+
var _file$name;
|
|
81
|
+
return normalizeResponse(axios.post(documentsUrl(apiBaseUrl), {
|
|
82
|
+
template_file: file.signedId,
|
|
83
|
+
name: (_file$name = file.name) === null || _file$name === void 0 ? void 0 : _file$name.replace(/\.[^/.]+$/, "")
|
|
84
|
+
}, {
|
|
85
|
+
params: {
|
|
86
|
+
ownerId: ownerId
|
|
87
|
+
},
|
|
88
|
+
transformRequestCase: false
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
var formData = new FormData();
|
|
92
|
+
var sanitizedName = file === null || file === void 0 || (_file$name2 = file.name) === null || _file$name2 === void 0 || (_file$name2$trim = _file$name2.trim) === null || _file$name2$trim === void 0 ? void 0 : _file$name2$trim.call(_file$name2).replace(/\.[^/.]+$/, "");
|
|
93
|
+
var baseName = sanitizedName || "";
|
|
94
|
+
formData.append("template_file", file);
|
|
95
|
+
formData.append("name", baseName);
|
|
96
|
+
return normalizeResponse(axios.post(documentsUrl(apiBaseUrl), formData, {
|
|
97
|
+
params: {
|
|
98
|
+
ownerId: ownerId
|
|
99
|
+
},
|
|
100
|
+
transformRequestCase: false
|
|
101
|
+
}));
|
|
102
|
+
};
|
|
103
|
+
var update = function update(_ref7) {
|
|
104
|
+
var apiBaseUrl = _ref7.apiBaseUrl,
|
|
105
|
+
ownerId = _ref7.ownerId,
|
|
106
|
+
documentId = _ref7.documentId,
|
|
107
|
+
payload = _ref7.payload;
|
|
108
|
+
return normalizeResponse(axios.put(documentUrl({
|
|
109
|
+
apiBaseUrl: apiBaseUrl,
|
|
110
|
+
documentId: documentId
|
|
111
|
+
}), payload, {
|
|
112
|
+
params: {
|
|
113
|
+
ownerId: ownerId
|
|
114
|
+
}
|
|
115
|
+
}));
|
|
116
|
+
};
|
|
117
|
+
var updateTemplateFile = function updateTemplateFile(_ref8) {
|
|
118
|
+
var apiBaseUrl = _ref8.apiBaseUrl,
|
|
119
|
+
ownerId = _ref8.ownerId,
|
|
120
|
+
documentId = _ref8.documentId,
|
|
121
|
+
file = _ref8.file;
|
|
122
|
+
if (file !== null && file !== void 0 && file.signedId) {
|
|
123
|
+
return normalizeResponse(axios.patch(documentActionUrl({
|
|
124
|
+
apiBaseUrl: apiBaseUrl,
|
|
125
|
+
documentId: documentId,
|
|
126
|
+
suffix: "/template_file"
|
|
127
|
+
}), {
|
|
128
|
+
template_file: file.signedId
|
|
129
|
+
}, {
|
|
130
|
+
params: {
|
|
131
|
+
ownerId: ownerId
|
|
132
|
+
},
|
|
133
|
+
transformRequestCase: false
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
var formData = new FormData();
|
|
137
|
+
formData.append("template_file", file);
|
|
138
|
+
return normalizeResponse(axios.patch(documentActionUrl({
|
|
139
|
+
apiBaseUrl: apiBaseUrl,
|
|
140
|
+
documentId: documentId,
|
|
141
|
+
suffix: "/template_file"
|
|
142
|
+
}), formData, {
|
|
143
|
+
params: {
|
|
144
|
+
ownerId: ownerId
|
|
145
|
+
},
|
|
146
|
+
transformRequestCase: false
|
|
147
|
+
}));
|
|
148
|
+
};
|
|
149
|
+
var clone = function clone(_ref9) {
|
|
150
|
+
var apiBaseUrl = _ref9.apiBaseUrl,
|
|
151
|
+
ownerId = _ref9.ownerId,
|
|
152
|
+
documentId = _ref9.documentId;
|
|
153
|
+
return normalizeResponse(axios.post(documentActionUrl({
|
|
154
|
+
apiBaseUrl: apiBaseUrl,
|
|
155
|
+
documentId: documentId,
|
|
156
|
+
suffix: "/clone"
|
|
157
|
+
}), null, {
|
|
158
|
+
params: {
|
|
159
|
+
ownerId: ownerId
|
|
160
|
+
}
|
|
161
|
+
}));
|
|
162
|
+
};
|
|
163
|
+
var destroy = function destroy(_ref0) {
|
|
164
|
+
var apiBaseUrl = _ref0.apiBaseUrl,
|
|
165
|
+
ownerId = _ref0.ownerId,
|
|
166
|
+
documentId = _ref0.documentId;
|
|
167
|
+
return normalizeResponse(axios["delete"](documentUrl({
|
|
168
|
+
apiBaseUrl: apiBaseUrl,
|
|
169
|
+
documentId: documentId
|
|
170
|
+
}), {
|
|
171
|
+
params: {
|
|
172
|
+
ownerId: ownerId
|
|
173
|
+
}
|
|
174
|
+
}));
|
|
175
|
+
};
|
|
176
|
+
var pdfDocumentsApi = {
|
|
177
|
+
clone: clone,
|
|
178
|
+
create: create,
|
|
179
|
+
update: update,
|
|
180
|
+
updateTemplateFile: updateTemplateFile,
|
|
181
|
+
destroy: destroy,
|
|
182
|
+
list: list,
|
|
183
|
+
show: show
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
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; }
|
|
187
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
|
|
188
|
+
var documentKeys = function documentKeys(ownerId, apiBaseUrl) {
|
|
189
|
+
return ["neeto-pdf-documents", apiBaseUrl, ownerId];
|
|
190
|
+
};
|
|
191
|
+
var useInvalidatingMutation = function useInvalidatingMutation(mutationFn, ownerId, apiBaseUrl) {
|
|
192
|
+
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
193
|
+
return useMutationWithInvalidation(mutationFn, _objectSpread({
|
|
194
|
+
keysToInvalidate: [documentKeys(ownerId, apiBaseUrl)]
|
|
195
|
+
}, options));
|
|
196
|
+
};
|
|
197
|
+
var getPdfDocumentApiErrorMessage = function getPdfDocumentApiErrorMessage(error, fallback) {
|
|
198
|
+
var _error$response;
|
|
199
|
+
return (error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.error) || fallback;
|
|
200
|
+
};
|
|
201
|
+
var useFetchPdfDocuments = function useFetchPdfDocuments(_ref) {
|
|
202
|
+
var apiBaseUrl = _ref.apiBaseUrl,
|
|
203
|
+
ownerId = _ref.ownerId,
|
|
204
|
+
_ref$options = _ref.options,
|
|
205
|
+
options = _ref$options === void 0 ? {} : _ref$options;
|
|
206
|
+
return useQuery(_objectSpread({
|
|
207
|
+
queryKey: documentKeys(ownerId, apiBaseUrl),
|
|
208
|
+
queryFn: function queryFn() {
|
|
209
|
+
return pdfDocumentsApi.list({
|
|
210
|
+
apiBaseUrl: apiBaseUrl,
|
|
211
|
+
ownerId: ownerId
|
|
212
|
+
});
|
|
213
|
+
},
|
|
214
|
+
enabled: Boolean(apiBaseUrl && ownerId)
|
|
215
|
+
}, options));
|
|
216
|
+
};
|
|
217
|
+
var useFetchPdfDocument = function useFetchPdfDocument(_ref2) {
|
|
218
|
+
var apiBaseUrl = _ref2.apiBaseUrl,
|
|
219
|
+
ownerId = _ref2.ownerId,
|
|
220
|
+
documentId = _ref2.documentId,
|
|
221
|
+
_ref2$options = _ref2.options,
|
|
222
|
+
options = _ref2$options === void 0 ? {} : _ref2$options;
|
|
223
|
+
return useQuery(_objectSpread({
|
|
224
|
+
queryKey: [].concat(_toConsumableArray(documentKeys(ownerId, apiBaseUrl)), [documentId]),
|
|
225
|
+
queryFn: function queryFn() {
|
|
226
|
+
return pdfDocumentsApi.show({
|
|
227
|
+
apiBaseUrl: apiBaseUrl,
|
|
228
|
+
ownerId: ownerId,
|
|
229
|
+
documentId: documentId
|
|
230
|
+
});
|
|
231
|
+
},
|
|
232
|
+
enabled: Boolean(apiBaseUrl && ownerId && documentId)
|
|
233
|
+
}, options));
|
|
234
|
+
};
|
|
235
|
+
var useCreatePdfDocument = function useCreatePdfDocument(_ref3) {
|
|
236
|
+
var apiBaseUrl = _ref3.apiBaseUrl,
|
|
237
|
+
ownerId = _ref3.ownerId,
|
|
238
|
+
_ref3$options = _ref3.options,
|
|
239
|
+
options = _ref3$options === void 0 ? {} : _ref3$options;
|
|
240
|
+
return useInvalidatingMutation(function (file) {
|
|
241
|
+
return pdfDocumentsApi.create({
|
|
242
|
+
apiBaseUrl: apiBaseUrl,
|
|
243
|
+
ownerId: ownerId,
|
|
244
|
+
file: file
|
|
245
|
+
});
|
|
246
|
+
}, ownerId, apiBaseUrl, options);
|
|
247
|
+
};
|
|
248
|
+
var useUpdatePdfDocument = function useUpdatePdfDocument(_ref4) {
|
|
249
|
+
var apiBaseUrl = _ref4.apiBaseUrl,
|
|
250
|
+
ownerId = _ref4.ownerId,
|
|
251
|
+
_ref4$options = _ref4.options,
|
|
252
|
+
options = _ref4$options === void 0 ? {} : _ref4$options;
|
|
253
|
+
return useInvalidatingMutation(function (_ref5) {
|
|
254
|
+
var documentId = _ref5.documentId,
|
|
255
|
+
payload = _ref5.payload;
|
|
256
|
+
return pdfDocumentsApi.update({
|
|
257
|
+
apiBaseUrl: apiBaseUrl,
|
|
258
|
+
ownerId: ownerId,
|
|
259
|
+
documentId: documentId,
|
|
260
|
+
payload: payload
|
|
261
|
+
});
|
|
262
|
+
}, ownerId, apiBaseUrl, options);
|
|
263
|
+
};
|
|
264
|
+
var useUpdatePdfDocumentTemplateFile = function useUpdatePdfDocumentTemplateFile(_ref6) {
|
|
265
|
+
var apiBaseUrl = _ref6.apiBaseUrl,
|
|
266
|
+
ownerId = _ref6.ownerId,
|
|
267
|
+
_ref6$options = _ref6.options,
|
|
268
|
+
options = _ref6$options === void 0 ? {} : _ref6$options;
|
|
269
|
+
return useInvalidatingMutation(function (_ref7) {
|
|
270
|
+
var documentId = _ref7.documentId,
|
|
271
|
+
file = _ref7.file;
|
|
272
|
+
return pdfDocumentsApi.updateTemplateFile({
|
|
273
|
+
apiBaseUrl: apiBaseUrl,
|
|
274
|
+
ownerId: ownerId,
|
|
275
|
+
documentId: documentId,
|
|
276
|
+
file: file
|
|
277
|
+
});
|
|
278
|
+
}, ownerId, apiBaseUrl, options);
|
|
279
|
+
};
|
|
280
|
+
var useClonePdfDocument = function useClonePdfDocument(_ref8) {
|
|
281
|
+
var apiBaseUrl = _ref8.apiBaseUrl,
|
|
282
|
+
ownerId = _ref8.ownerId,
|
|
283
|
+
_ref8$options = _ref8.options,
|
|
284
|
+
options = _ref8$options === void 0 ? {} : _ref8$options;
|
|
285
|
+
return useInvalidatingMutation(function (documentId) {
|
|
286
|
+
return pdfDocumentsApi.clone({
|
|
287
|
+
apiBaseUrl: apiBaseUrl,
|
|
288
|
+
ownerId: ownerId,
|
|
289
|
+
documentId: documentId
|
|
290
|
+
});
|
|
291
|
+
}, ownerId, apiBaseUrl, options);
|
|
292
|
+
};
|
|
293
|
+
var useDeletePdfDocument = function useDeletePdfDocument(_ref9) {
|
|
294
|
+
var apiBaseUrl = _ref9.apiBaseUrl,
|
|
295
|
+
ownerId = _ref9.ownerId,
|
|
296
|
+
_ref9$options = _ref9.options,
|
|
297
|
+
options = _ref9$options === void 0 ? {} : _ref9$options;
|
|
298
|
+
return useInvalidatingMutation(function (documentId) {
|
|
299
|
+
return pdfDocumentsApi.destroy({
|
|
300
|
+
apiBaseUrl: apiBaseUrl,
|
|
301
|
+
ownerId: ownerId,
|
|
302
|
+
documentId: documentId
|
|
303
|
+
});
|
|
304
|
+
}, ownerId, apiBaseUrl, options);
|
|
305
|
+
};
|
|
306
|
+
|
|
307
|
+
var buildOutputFilenameTemplate = function buildOutputFilenameTemplate(name) {
|
|
308
|
+
var parameterizedName = (name || "").trim().toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
309
|
+
return "".concat(parameterizedName || "document", "-{{id}}.pdf");
|
|
310
|
+
};
|
|
311
|
+
var buildOutputFilename = function buildOutputFilename(pdfDocument, submission) {
|
|
312
|
+
var base = (pdfDocument === null || pdfDocument === void 0 ? void 0 : pdfDocument.outputFilename) || "".concat((pdfDocument === null || pdfDocument === void 0 ? void 0 : pdfDocument.name) || "document", ".pdf");
|
|
313
|
+
var withId = base.replace(/\{\{\s*id\s*\}\}/g, (submission === null || submission === void 0 ? void 0 : submission.id) || "");
|
|
314
|
+
return withId.endsWith(".pdf") ? withId : "".concat(withId, ".pdf");
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
export { useDeletePdfDocument as a, useUpdatePdfDocumentTemplateFile as b, useClonePdfDocument as c, buildOutputFilenameTemplate as d, useFetchPdfDocuments as e, useCreatePdfDocument as f, getPdfDocumentApiErrorMessage as g, buildOutputFilename as h, useFetchPdfDocument as i, useUpdatePdfDocument as u };
|
|
318
|
+
//# sourceMappingURL=FilenameUtilities-De2k_NXh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilenameUtilities-De2k_NXh.js","sources":["../app/javascript/src/apis/pdf_documents.js","../app/javascript/src/hooks/usePdfDocumentsApi.js","../app/javascript/src/components/PdfDocuments/FilenameUtilities.js"],"sourcesContent":["import axios from \"axios\";\n\nconst trimTrailingSlash = value => value?.replace(/\\/+$/, \"\") || \"\";\n\nconst documentsUrl = apiBaseUrl => `${trimTrailingSlash(apiBaseUrl)}/documents`;\n\nconst documentUrl = ({ apiBaseUrl, documentId }) =>\n `${documentsUrl(apiBaseUrl)}/${documentId}`;\n\nconst documentActionUrl = ({ apiBaseUrl, documentId, suffix = \"\" }) =>\n `${documentUrl({ apiBaseUrl, documentId })}${suffix}`;\n\nconst normalizeResponse = async request => {\n const response = await request;\n\n return response?.data ?? response;\n};\n\nconst list = ({ apiBaseUrl, ownerId }) =>\n normalizeResponse(\n axios.get(documentsUrl(apiBaseUrl), { params: { ownerId } })\n );\n\nconst show = ({ apiBaseUrl, ownerId, documentId }) =>\n normalizeResponse(\n axios.get(documentUrl({ apiBaseUrl, documentId }), {\n params: { ownerId },\n })\n );\n\nconst create = ({ apiBaseUrl, ownerId, file }) => {\n if (file?.signedId) {\n return normalizeResponse(\n axios.post(\n documentsUrl(apiBaseUrl),\n {\n template_file: file.signedId,\n name: file.name?.replace(/\\.[^/.]+$/, \"\"),\n },\n { params: { ownerId }, transformRequestCase: false }\n )\n );\n }\n\n const formData = new FormData();\n const sanitizedName = file?.name?.trim?.().replace(/\\.[^/.]+$/, \"\");\n const baseName = sanitizedName || \"\";\n\n formData.append(\"template_file\", file);\n formData.append(\"name\", baseName);\n\n return normalizeResponse(\n axios.post(documentsUrl(apiBaseUrl), formData, {\n params: { ownerId },\n transformRequestCase: false,\n })\n );\n};\n\nconst update = ({ apiBaseUrl, ownerId, documentId, payload }) =>\n normalizeResponse(\n axios.put(documentUrl({ apiBaseUrl, documentId }), payload, {\n params: { ownerId },\n })\n );\n\nconst updateTemplateFile = ({ apiBaseUrl, ownerId, documentId, file }) => {\n if (file?.signedId) {\n return normalizeResponse(\n axios.patch(\n documentActionUrl({ apiBaseUrl, documentId, suffix: \"/template_file\" }),\n { template_file: file.signedId },\n { params: { ownerId }, transformRequestCase: false }\n )\n );\n }\n\n const formData = new FormData();\n formData.append(\"template_file\", file);\n\n return normalizeResponse(\n axios.patch(\n documentActionUrl({ apiBaseUrl, documentId, suffix: \"/template_file\" }),\n formData,\n { params: { ownerId }, transformRequestCase: false }\n )\n );\n};\n\nconst clone = ({ apiBaseUrl, ownerId, documentId }) =>\n normalizeResponse(\n axios.post(\n documentActionUrl({ apiBaseUrl, documentId, suffix: \"/clone\" }),\n null,\n { params: { ownerId } }\n )\n );\n\nconst destroy = ({ apiBaseUrl, ownerId, documentId }) =>\n normalizeResponse(\n axios.delete(documentUrl({ apiBaseUrl, documentId }), {\n params: { ownerId },\n })\n );\n\nconst pdfDocumentsApi = {\n clone,\n create,\n update,\n updateTemplateFile,\n destroy,\n list,\n show,\n};\n\nexport default pdfDocumentsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport pdfDocumentsApi from \"src/apis/pdf_documents\";\n\nconst documentKeys = (ownerId, apiBaseUrl) => [\n \"neeto-pdf-documents\",\n apiBaseUrl,\n ownerId,\n];\n\nconst useInvalidatingMutation = (\n mutationFn,\n ownerId,\n apiBaseUrl,\n options = {}\n) =>\n useMutationWithInvalidation(mutationFn, {\n keysToInvalidate: [documentKeys(ownerId, apiBaseUrl)],\n ...options,\n });\n\nexport const getPdfDocumentApiErrorMessage = (error, fallback) =>\n error?.response?.data?.error || fallback;\n\nexport const useFetchPdfDocuments = ({ apiBaseUrl, ownerId, options = {} }) =>\n useQuery({\n queryKey: documentKeys(ownerId, apiBaseUrl),\n queryFn: () => pdfDocumentsApi.list({ apiBaseUrl, ownerId }),\n enabled: Boolean(apiBaseUrl && ownerId),\n ...options,\n });\n\nexport const useFetchPdfDocument = ({\n apiBaseUrl,\n ownerId,\n documentId,\n options = {},\n}) =>\n useQuery({\n queryKey: [...documentKeys(ownerId, apiBaseUrl), documentId],\n queryFn: () => pdfDocumentsApi.show({ apiBaseUrl, ownerId, documentId }),\n enabled: Boolean(apiBaseUrl && ownerId && documentId),\n ...options,\n });\n\nexport const useCreatePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n file => pdfDocumentsApi.create({ apiBaseUrl, ownerId, file }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useUpdatePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n ({ documentId, payload }) =>\n pdfDocumentsApi.update({ apiBaseUrl, ownerId, documentId, payload }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useUpdatePdfDocumentTemplateFile = ({\n apiBaseUrl,\n ownerId,\n options = {},\n}) =>\n useInvalidatingMutation(\n ({ documentId, file }) =>\n pdfDocumentsApi.updateTemplateFile({\n apiBaseUrl,\n ownerId,\n documentId,\n file,\n }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useClonePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n documentId => pdfDocumentsApi.clone({ apiBaseUrl, ownerId, documentId }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useDeletePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n documentId => pdfDocumentsApi.destroy({ apiBaseUrl, ownerId, documentId }),\n ownerId,\n apiBaseUrl,\n options\n );\n","export const buildOutputFilenameTemplate = name => {\n const parameterizedName = (name || \"\")\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n\n return `${parameterizedName || \"document\"}-{{id}}.pdf`;\n};\n\nexport const buildOutputFilename = (pdfDocument, submission) => {\n const base =\n pdfDocument?.outputFilename || `${pdfDocument?.name || \"document\"}.pdf`;\n const withId = base.replace(/\\{\\{\\s*id\\s*\\}\\}/g, submission?.id || \"\");\n\n return withId.endsWith(\".pdf\") ? withId : `${withId}.pdf`;\n};\n"],"names":["trimTrailingSlash","value","replace","documentsUrl","apiBaseUrl","concat","documentUrl","_ref","documentId","documentActionUrl","_ref2","_ref2$suffix","suffix","normalizeResponse","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","request","_response$data","response","wrap","_callee$","_context","prev","next","sent","abrupt","data","stop","_x","apply","arguments","list","_ref4","ownerId","axios","get","params","show","_ref5","create","_ref6","_file$name2","_file$name2$trim","file","signedId","_file$name","post","template_file","name","transformRequestCase","formData","FormData","sanitizedName","trim","call","baseName","append","update","_ref7","payload","put","updateTemplateFile","_ref8","patch","clone","_ref9","destroy","_ref0","pdfDocumentsApi","documentKeys","useInvalidatingMutation","mutationFn","options","length","undefined","useMutationWithInvalidation","_objectSpread","keysToInvalidate","getPdfDocumentApiErrorMessage","error","fallback","_error$response","useFetchPdfDocuments","_ref$options","useQuery","queryKey","queryFn","enabled","Boolean","useFetchPdfDocument","_ref2$options","_toConsumableArray","useCreatePdfDocument","_ref3$options","useUpdatePdfDocument","_ref4$options","useUpdatePdfDocumentTemplateFile","_ref6$options","useClonePdfDocument","_ref8$options","useDeletePdfDocument","_ref9$options","buildOutputFilenameTemplate","parameterizedName","toLowerCase","buildOutputFilename","pdfDocument","submission","base","outputFilename","withId","id","endsWith"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
var IconBlock = function IconBlock(_ref) {
|
|
4
|
+
var Icon = _ref.icon;
|
|
5
|
+
return /*#__PURE__*/jsx("div", {
|
|
6
|
+
className: "neeto-ui-bg-success-50 neeto-ui-rounded-lg flex h-10 w-10 shrink-0 items-center justify-center",
|
|
7
|
+
children: /*#__PURE__*/jsx(Icon, {
|
|
8
|
+
className: "neeto-ui-text-success-600",
|
|
9
|
+
size: 20
|
|
10
|
+
})
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { IconBlock as I };
|
|
15
|
+
//# sourceMappingURL=IconBlock-BTPLDDiO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconBlock-BTPLDDiO.js","sources":["../app/javascript/src/components/PdfDocuments/IconBlock.jsx"],"sourcesContent":["const IconBlock = ({ icon: Icon }) => (\n <div className=\"neeto-ui-bg-success-50 neeto-ui-rounded-lg flex h-10 w-10 shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-success-600\" size={20} />\n </div>\n);\n\nexport default IconBlock;\n"],"names":["IconBlock","_ref","Icon","icon","_jsx","className","children","size"],"mappings":";;AAAA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAYC,IAAI,GAAAD,IAAA,CAAVE,IAAI;AAAA,EAAA,oBACvBC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gGAAgG;IAAAC,QAAA,eAC7GF,GAAA,CAACF,IAAI,EAAA;AAACG,MAAAA,SAAS,EAAC,2BAA2B;AAACE,MAAAA,IAAI,EAAE;KAAK;AAAC,GACrD,CAAC;AAAA;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
|
|
5
|
+
var IconBlock = function IconBlock(_ref) {
|
|
6
|
+
var Icon = _ref.icon;
|
|
7
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
8
|
+
className: "neeto-ui-bg-success-50 neeto-ui-rounded-lg flex h-10 w-10 shrink-0 items-center justify-center",
|
|
9
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Icon, {
|
|
10
|
+
className: "neeto-ui-text-success-600",
|
|
11
|
+
size: 20
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.IconBlock = IconBlock;
|
|
17
|
+
//# sourceMappingURL=IconBlock-hZ_gOnb1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconBlock-hZ_gOnb1.js","sources":["../app/javascript/src/components/PdfDocuments/IconBlock.jsx"],"sourcesContent":["const IconBlock = ({ icon: Icon }) => (\n <div className=\"neeto-ui-bg-success-50 neeto-ui-rounded-lg flex h-10 w-10 shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-success-600\" size={20} />\n </div>\n);\n\nexport default IconBlock;\n"],"names":["IconBlock","_ref","Icon","icon","_jsx","className","children","size"],"mappings":";;;;AAAA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAYC,IAAI,GAAAD,IAAA,CAAVE,IAAI;AAAA,EAAA,oBACvBC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gGAAgG;IAAAC,QAAA,eAC7GF,cAAA,CAACF,IAAI,EAAA;AAACG,MAAAA,SAAS,EAAC,2BAA2B;AAACE,MAAAA,IAAI,EAAE;KAAK;AAAC,GACrD,CAAC;AAAA;;;;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useFormikContext } from 'formik';
|
|
4
|
+
import { isNotEmpty } from '@bigbinary/neeto-cist';
|
|
5
|
+
import Checkbox from '@bigbinary/neetoui/Checkbox';
|
|
6
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
7
|
+
import { isEmpty, reject, equals } from 'ramda';
|
|
8
|
+
import { useTranslation } from 'react-i18next';
|
|
9
|
+
import { A as AttachmentCard } from './AttachmentCard-75GY2Thb.js';
|
|
10
|
+
import { P as PDF_DOCUMENT_IDS_FIELD } from './constants-CTDOz942.js';
|
|
11
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
12
|
+
import 'classnames';
|
|
13
|
+
import '@bigbinary/neeto-icons/File';
|
|
14
|
+
import './IconBlock-BTPLDDiO.js';
|
|
15
|
+
|
|
16
|
+
var EmailAttachmentsSelector = function EmailAttachmentsSelector(_ref) {
|
|
17
|
+
var _ref$documents = _ref.documents,
|
|
18
|
+
documents = _ref$documents === void 0 ? [] : _ref$documents;
|
|
19
|
+
var _useTranslation = useTranslation(),
|
|
20
|
+
t = _useTranslation.t;
|
|
21
|
+
var _useFormikContext = useFormikContext(),
|
|
22
|
+
setFieldValue = _useFormikContext.setFieldValue,
|
|
23
|
+
values = _useFormikContext.values;
|
|
24
|
+
var selectedIds = useMemo(function () {
|
|
25
|
+
return values.pdfDocumentIds || [];
|
|
26
|
+
}, [values.pdfDocumentIds]);
|
|
27
|
+
var selectedIdSet = useMemo(function () {
|
|
28
|
+
return new Set(selectedIds);
|
|
29
|
+
}, [selectedIds]);
|
|
30
|
+
var toggleDocument = function toggleDocument(documentId, checked) {
|
|
31
|
+
var nextIds = checked ? [].concat(_toConsumableArray(selectedIds), [documentId]) : reject(equals(documentId), selectedIds);
|
|
32
|
+
setFieldValue(PDF_DOCUMENT_IDS_FIELD, nextIds);
|
|
33
|
+
};
|
|
34
|
+
return /*#__PURE__*/jsxs("div", {
|
|
35
|
+
className: "w-full pt-2",
|
|
36
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
37
|
+
className: "mb-1",
|
|
38
|
+
style: "h4",
|
|
39
|
+
weight: "semibold",
|
|
40
|
+
children: t("neetoPdf.pdfDocuments.attachments.title")
|
|
41
|
+
}), /*#__PURE__*/jsx(Typography, {
|
|
42
|
+
className: "neeto-ui-text-gray-600 mb-5",
|
|
43
|
+
style: "body2",
|
|
44
|
+
children: t("neetoPdf.pdfDocuments.attachments.description")
|
|
45
|
+
}), isEmpty(documents) ? /*#__PURE__*/jsx("div", {
|
|
46
|
+
className: "neeto-ui-border-gray-200 neeto-ui-rounded-lg border px-5 py-4",
|
|
47
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
48
|
+
className: "neeto-ui-text-gray-500",
|
|
49
|
+
style: "body2",
|
|
50
|
+
children: t("neetoPdf.pdfDocuments.attachments.empty")
|
|
51
|
+
})
|
|
52
|
+
}) : /*#__PURE__*/jsx("div", {
|
|
53
|
+
className: "space-y-3",
|
|
54
|
+
children: documents.map(function (document) {
|
|
55
|
+
var checked = selectedIdSet.has(document.id);
|
|
56
|
+
return /*#__PURE__*/jsxs("div", {
|
|
57
|
+
className: "neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg hover:neeto-ui-border-success-300 flex cursor-pointer items-start gap-4 border p-4 transition",
|
|
58
|
+
"data-testid": "pdf-document-attachment-option",
|
|
59
|
+
onClick: function onClick() {
|
|
60
|
+
return toggleDocument(document.id, !checked);
|
|
61
|
+
},
|
|
62
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
63
|
+
className: "mt-3 shrink-0",
|
|
64
|
+
onClick: function onClick(event) {
|
|
65
|
+
return event.stopPropagation();
|
|
66
|
+
},
|
|
67
|
+
children: /*#__PURE__*/jsx(Checkbox, {
|
|
68
|
+
checked: checked,
|
|
69
|
+
"data-testid": "pdf-document-attachment-checkbox",
|
|
70
|
+
onChange: function onChange(event) {
|
|
71
|
+
return toggleDocument(document.id, event.target.checked);
|
|
72
|
+
}
|
|
73
|
+
})
|
|
74
|
+
}), /*#__PURE__*/jsx("div", {
|
|
75
|
+
className: "min-w-0 grow",
|
|
76
|
+
children: /*#__PURE__*/jsx(AttachmentCard, {
|
|
77
|
+
document: document,
|
|
78
|
+
variant: "row"
|
|
79
|
+
})
|
|
80
|
+
})]
|
|
81
|
+
}, document.id);
|
|
82
|
+
})
|
|
83
|
+
}), isNotEmpty(selectedIds) && /*#__PURE__*/jsx(Typography, {
|
|
84
|
+
className: "neeto-ui-text-success-600 mt-3",
|
|
85
|
+
style: "body2",
|
|
86
|
+
children: t("neetoPdf.pdfDocuments.attachments.selected", {
|
|
87
|
+
count: selectedIds.length
|
|
88
|
+
})
|
|
89
|
+
})]
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export { EmailAttachmentsSelector as default };
|
|
94
|
+
//# sourceMappingURL=PdfAttachmentSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdfAttachmentSelector.js","sources":["../app/javascript/src/components/PdfDocuments/EmailAttachmentsSelector.jsx"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Checkbox, Typography } from \"neetoui\";\nimport { equals, isEmpty, reject } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AttachmentCard from \"./AttachmentCard\";\nimport { PDF_DOCUMENT_IDS_FIELD } from \"./constants\";\n\nconst EmailAttachmentsSelector = ({ documents = [] }) => {\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext();\n const selectedIds = useMemo(\n () => values.pdfDocumentIds || [],\n [values.pdfDocumentIds]\n );\n const selectedIdSet = useMemo(() => new Set(selectedIds), [selectedIds]);\n\n const toggleDocument = (documentId, checked) => {\n const nextIds = checked\n ? [...selectedIds, documentId]\n : reject(equals(documentId), selectedIds);\n\n setFieldValue(PDF_DOCUMENT_IDS_FIELD, nextIds);\n };\n\n return (\n <div className=\"w-full pt-2\">\n <Typography className=\"mb-1\" style=\"h4\" weight=\"semibold\">\n {t(\"neetoPdf.pdfDocuments.attachments.title\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600 mb-5\" style=\"body2\">\n {t(\"neetoPdf.pdfDocuments.attachments.description\")}\n </Typography>\n {isEmpty(documents) ? (\n <div className=\"neeto-ui-border-gray-200 neeto-ui-rounded-lg border px-5 py-4\">\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body2\">\n {t(\"neetoPdf.pdfDocuments.attachments.empty\")}\n </Typography>\n </div>\n ) : (\n <div className=\"space-y-3\">\n {documents.map(document => {\n const checked = selectedIdSet.has(document.id);\n\n return (\n <div\n className=\"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg hover:neeto-ui-border-success-300 flex cursor-pointer items-start gap-4 border p-4 transition\"\n data-testid=\"pdf-document-attachment-option\"\n key={document.id}\n onClick={() => toggleDocument(document.id, !checked)}\n >\n <div\n className=\"mt-3 shrink-0\"\n onClick={event => event.stopPropagation()}\n >\n <Checkbox\n {...{ checked }}\n data-testid=\"pdf-document-attachment-checkbox\"\n onChange={event =>\n toggleDocument(document.id, event.target.checked)\n }\n />\n </div>\n <div className=\"min-w-0 grow\">\n <AttachmentCard {...{ document }} variant=\"row\" />\n </div>\n </div>\n );\n })}\n </div>\n )}\n {isNotEmpty(selectedIds) && (\n <Typography className=\"neeto-ui-text-success-600 mt-3\" style=\"body2\">\n {t(\"neetoPdf.pdfDocuments.attachments.selected\", {\n count: selectedIds.length,\n })}\n </Typography>\n )}\n </div>\n );\n};\n\nexport default EmailAttachmentsSelector;\n"],"names":["EmailAttachmentsSelector","_ref","_ref$documents","documents","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","values","selectedIds","useMemo","pdfDocumentIds","selectedIdSet","Set","toggleDocument","documentId","checked","nextIds","concat","_toConsumableArray","reject","equals","PDF_DOCUMENT_IDS_FIELD","_jsxs","className","children","_jsx","Typography","style","weight","isEmpty","map","document","has","id","onClick","event","stopPropagation","Checkbox","onChange","target","AttachmentCard","variant","isNotEmpty","count","length"],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useFormikContext } from 'formik';
|
|
2
|
+
import { isEmpty } from 'ramda';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { g as getSelectedPdfDocuments, A as AttachmentCard } from './AttachmentCard-75GY2Thb.js';
|
|
5
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
+
import 'classnames';
|
|
7
|
+
import '@bigbinary/neeto-icons/File';
|
|
8
|
+
import '@bigbinary/neetoui/Typography';
|
|
9
|
+
import './IconBlock-BTPLDDiO.js';
|
|
10
|
+
|
|
11
|
+
var EmailAttachmentsPreview = function EmailAttachmentsPreview(_ref) {
|
|
12
|
+
var _ref$documents = _ref.documents,
|
|
13
|
+
documents = _ref$documents === void 0 ? [] : _ref$documents;
|
|
14
|
+
var _useTranslation = useTranslation(),
|
|
15
|
+
t = _useTranslation.t;
|
|
16
|
+
var _useFormikContext = useFormikContext(),
|
|
17
|
+
values = _useFormikContext.values;
|
|
18
|
+
var selectedDocuments = getSelectedPdfDocuments(documents, values.pdfDocumentIds || []);
|
|
19
|
+
if (isEmpty(selectedDocuments)) return null;
|
|
20
|
+
return /*#__PURE__*/jsxs("div", {
|
|
21
|
+
className: "mt-6",
|
|
22
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
23
|
+
className: "neeto-ui-text-gray-700 mb-3 text-sm font-semibold",
|
|
24
|
+
children: t("neetoPdf.pdfDocuments.attachments.previewTitle", {
|
|
25
|
+
count: selectedDocuments.length
|
|
26
|
+
})
|
|
27
|
+
}), /*#__PURE__*/jsx("div", {
|
|
28
|
+
className: "space-y-3",
|
|
29
|
+
children: selectedDocuments.map(function (document) {
|
|
30
|
+
return /*#__PURE__*/jsx("div", {
|
|
31
|
+
className: "max-w-sm",
|
|
32
|
+
children: /*#__PURE__*/jsx(AttachmentCard, {
|
|
33
|
+
document: document,
|
|
34
|
+
compact: true
|
|
35
|
+
})
|
|
36
|
+
}, document.id);
|
|
37
|
+
})
|
|
38
|
+
})]
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { EmailAttachmentsPreview as default };
|
|
43
|
+
//# sourceMappingURL=PdfAttachmentsPreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdfAttachmentsPreview.js","sources":["../app/javascript/src/components/PdfDocuments/EmailAttachmentsPreview.jsx"],"sourcesContent":["import { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AttachmentCard from \"./AttachmentCard\";\nimport { getSelectedPdfDocuments } from \"./utils\";\n\nconst EmailAttachmentsPreview = ({ documents = [] }) => {\n const { t } = useTranslation();\n const { values } = useFormikContext();\n const selectedDocuments = getSelectedPdfDocuments(\n documents,\n values.pdfDocumentIds || []\n );\n\n if (isEmpty(selectedDocuments)) return null;\n\n return (\n <div className=\"mt-6\">\n <div className=\"neeto-ui-text-gray-700 mb-3 text-sm font-semibold\">\n {t(\"neetoPdf.pdfDocuments.attachments.previewTitle\", {\n count: selectedDocuments.length,\n })}\n </div>\n <div className=\"space-y-3\">\n {selectedDocuments.map(document => (\n <div className=\"max-w-sm\" key={document.id}>\n <AttachmentCard {...{ document }} compact />\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default EmailAttachmentsPreview;\n"],"names":["EmailAttachmentsPreview","_ref","_ref$documents","documents","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","selectedDocuments","getSelectedPdfDocuments","pdfDocumentIds","isEmpty","_jsxs","className","children","_jsx","count","length","map","document","AttachmentCard","compact","id"],"mappings":";;;;;;;;;;AAOA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAAC,IAAA,EAA2B;AAAA,EAAA,IAAAC,cAAA,GAAAD,IAAA,CAArBE,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AAC/C,EAAA,IAAAE,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAAC,iBAAA,GAAmBC,gBAAgB,EAAE;IAA7BC,MAAM,GAAAF,iBAAA,CAANE,MAAM;EACd,IAAMC,iBAAiB,GAAGC,uBAAuB,CAC/CR,SAAS,EACTM,MAAM,CAACG,cAAc,IAAI,EAC3B,CAAC;AAED,EAAA,IAAIC,OAAO,CAACH,iBAAiB,CAAC,EAAE,OAAO,IAAI;AAE3C,EAAA,oBACEI,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,MAAM;AAAAC,IAAAA,QAAA,gBACnBC,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,mDAAmD;AAAAC,MAAAA,QAAA,EAC/DV,CAAC,CAAC,gDAAgD,EAAE;QACnDY,KAAK,EAAER,iBAAiB,CAACS;OAC1B;KACE,CAAC,eACNF,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,WAAW;AAAAC,MAAAA,QAAA,EACvBN,iBAAiB,CAACU,GAAG,CAAC,UAAAC,QAAQ,EAAA;AAAA,QAAA,oBAC7BJ,GAAA,CAAA,KAAA,EAAA;AAAKF,UAAAA,SAAS,EAAC,UAAU;UAAAC,QAAA,eACvBC,GAAA,CAACK,cAAc,EAAA;AAAOD,YAAAA,QAAQ,EAARA,QAAQ;YAAIE,OAAO,EAAA;WAAE;SAAC,EADfF,QAAQ,CAACG,EAEnC,CAAC;MAAA,CACP;AAAC,KACC,CAAC;AAAA,GACH,CAAC;AAEV;;;;"}
|