@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
package/dist/.ready
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Built at 2026-07-15T06:55:27.881Z
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import classNames from 'classnames';
|
|
2
|
+
import File from '@bigbinary/neeto-icons/File';
|
|
3
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
4
|
+
import { useTranslation } from 'react-i18next';
|
|
5
|
+
import { I as IconBlock } from './IconBlock-BTPLDDiO.js';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var getSelectedPdfDocuments = function getSelectedPdfDocuments() {
|
|
9
|
+
var documents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
10
|
+
var selectedIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
11
|
+
var selectedIdSet = new Set(selectedIds);
|
|
12
|
+
return documents.filter(function (document) {
|
|
13
|
+
return selectedIdSet.has(document.id);
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
var formatFileSize = function formatFileSize(byteSize) {
|
|
17
|
+
if (!byteSize) return "";
|
|
18
|
+
if (byteSize < 1024 * 1024) return "".concat(Math.ceil(byteSize / 1024), " KB");
|
|
19
|
+
return "".concat((byteSize / (1024 * 1024)).toFixed(1), " MB");
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var AttachmentCard = function AttachmentCard(_ref) {
|
|
23
|
+
var _document$templateFil;
|
|
24
|
+
var document = _ref.document,
|
|
25
|
+
_ref$compact = _ref.compact,
|
|
26
|
+
compact = _ref$compact === void 0 ? false : _ref$compact,
|
|
27
|
+
_ref$variant = _ref.variant,
|
|
28
|
+
variant = _ref$variant === void 0 ? "card" : _ref$variant;
|
|
29
|
+
var _useTranslation = useTranslation(),
|
|
30
|
+
t = _useTranslation.t;
|
|
31
|
+
var fileSize = formatFileSize((_document$templateFil = document.templateFile) === null || _document$templateFil === void 0 ? void 0 : _document$templateFil.byteSize);
|
|
32
|
+
var isCard = variant === "card";
|
|
33
|
+
return /*#__PURE__*/jsxs("div", {
|
|
34
|
+
className: classNames("flex min-w-0 items-start text-left", {
|
|
35
|
+
"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg neeto-ui-shadow-sm gap-3 border px-4 py-3": isCard,
|
|
36
|
+
"gap-4": !isCard
|
|
37
|
+
}),
|
|
38
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
39
|
+
className: "mt-1 shrink-0",
|
|
40
|
+
children: /*#__PURE__*/jsx(IconBlock, {
|
|
41
|
+
icon: File
|
|
42
|
+
})
|
|
43
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
44
|
+
className: "min-w-0 flex-1",
|
|
45
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
46
|
+
className: "truncate",
|
|
47
|
+
style: compact ? "body2" : "h4",
|
|
48
|
+
weight: "semibold",
|
|
49
|
+
children: document.name
|
|
50
|
+
}), /*#__PURE__*/jsx(Typography, {
|
|
51
|
+
className: "neeto-ui-text-gray-500 truncate font-mono",
|
|
52
|
+
style: "body2",
|
|
53
|
+
children: document.outputFilename
|
|
54
|
+
}), fileSize && /*#__PURE__*/jsxs(Typography, {
|
|
55
|
+
className: "neeto-ui-text-gray-500",
|
|
56
|
+
style: "body3",
|
|
57
|
+
children: [t("neetoPdf.pdfDocuments.attachments.fileType"), " - ", fileSize]
|
|
58
|
+
})]
|
|
59
|
+
})]
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export { AttachmentCard as A, getSelectedPdfDocuments as g };
|
|
64
|
+
//# sourceMappingURL=AttachmentCard-75GY2Thb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentCard-75GY2Thb.js","sources":["../app/javascript/src/components/PdfDocuments/utils.js","../app/javascript/src/components/PdfDocuments/AttachmentCard.jsx"],"sourcesContent":["export const buildSubmitterEmailNotificationParams = formId => ({\n notificationHolderType: \"Form\",\n notificationHolderId: formId,\n customFields: { notificationType: \"ThankYou\" },\n});\n\nexport const buildReceiverEmailNotificationParams = formId => ({\n notificationHolderType: \"Form\",\n notificationHolderId: formId,\n customFields: { notificationType: \"Push\" },\n});\n\nexport const getSelectedPdfDocumentIds = emailNotification =>\n emailNotification?.customFields?.pdfDocumentIds || [];\n\nexport const getSelectedPdfDocuments = (documents = [], selectedIds = []) => {\n const selectedIdSet = new Set(selectedIds);\n\n return documents.filter(document => selectedIdSet.has(document.id));\n};\n\nexport const formatFileSize = byteSize => {\n if (!byteSize) return \"\";\n\n if (byteSize < 1024 * 1024) return `${Math.ceil(byteSize / 1024)} KB`;\n\n return `${(byteSize / (1024 * 1024)).toFixed(1)} MB`;\n};\n","import classNames from \"classnames\";\nimport { File } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport IconBlock from \"./IconBlock\";\nimport { formatFileSize } from \"./utils\";\n\nconst AttachmentCard = ({ document, compact = false, variant = \"card\" }) => {\n const { t } = useTranslation();\n const fileSize = formatFileSize(document.templateFile?.byteSize);\n const isCard = variant === \"card\";\n\n return (\n <div\n className={classNames(\"flex min-w-0 items-start text-left\", {\n \"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg neeto-ui-shadow-sm gap-3 border px-4 py-3\":\n isCard,\n \"gap-4\": !isCard,\n })}\n >\n <div className=\"mt-1 shrink-0\">\n <IconBlock icon={File} />\n </div>\n <div className=\"min-w-0 flex-1\">\n <Typography\n className=\"truncate\"\n style={compact ? \"body2\" : \"h4\"}\n weight=\"semibold\"\n >\n {document.name}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 truncate font-mono\"\n style=\"body2\"\n >\n {document.outputFilename}\n </Typography>\n {fileSize && (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body3\">\n {t(\"neetoPdf.pdfDocuments.attachments.fileType\")} - {fileSize}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default AttachmentCard;\n"],"names":["getSelectedPdfDocuments","documents","arguments","length","undefined","selectedIds","selectedIdSet","Set","filter","document","has","id","formatFileSize","byteSize","concat","Math","ceil","toFixed","AttachmentCard","_ref","_document$templateFil","_ref$compact","compact","_ref$variant","variant","_useTranslation","useTranslation","t","fileSize","templateFile","isCard","_jsxs","className","classNames","children","_jsx","IconBlock","icon","File","Typography","style","weight","name","outputFilename"],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var classNames = require('classnames');
|
|
4
|
+
var File = require('@bigbinary/neeto-icons/File');
|
|
5
|
+
var Typography = require('@bigbinary/neetoui/Typography');
|
|
6
|
+
var reactI18next = require('react-i18next');
|
|
7
|
+
var IconBlock = require('./IconBlock-hZ_gOnb1.js');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
|
|
10
|
+
var getSelectedPdfDocuments = function getSelectedPdfDocuments() {
|
|
11
|
+
var documents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
12
|
+
var selectedIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
13
|
+
var selectedIdSet = new Set(selectedIds);
|
|
14
|
+
return documents.filter(function (document) {
|
|
15
|
+
return selectedIdSet.has(document.id);
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
var formatFileSize = function formatFileSize(byteSize) {
|
|
19
|
+
if (!byteSize) return "";
|
|
20
|
+
if (byteSize < 1024 * 1024) return "".concat(Math.ceil(byteSize / 1024), " KB");
|
|
21
|
+
return "".concat((byteSize / (1024 * 1024)).toFixed(1), " MB");
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var AttachmentCard = function AttachmentCard(_ref) {
|
|
25
|
+
var _document$templateFil;
|
|
26
|
+
var document = _ref.document,
|
|
27
|
+
_ref$compact = _ref.compact,
|
|
28
|
+
compact = _ref$compact === void 0 ? false : _ref$compact,
|
|
29
|
+
_ref$variant = _ref.variant,
|
|
30
|
+
variant = _ref$variant === void 0 ? "card" : _ref$variant;
|
|
31
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
32
|
+
t = _useTranslation.t;
|
|
33
|
+
var fileSize = formatFileSize((_document$templateFil = document.templateFile) === null || _document$templateFil === void 0 ? void 0 : _document$templateFil.byteSize);
|
|
34
|
+
var isCard = variant === "card";
|
|
35
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
36
|
+
className: classNames("flex min-w-0 items-start text-left", {
|
|
37
|
+
"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg neeto-ui-shadow-sm gap-3 border px-4 py-3": isCard,
|
|
38
|
+
"gap-4": !isCard
|
|
39
|
+
}),
|
|
40
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
41
|
+
className: "mt-1 shrink-0",
|
|
42
|
+
children: /*#__PURE__*/jsxRuntime.jsx(IconBlock.IconBlock, {
|
|
43
|
+
icon: File
|
|
44
|
+
})
|
|
45
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
46
|
+
className: "min-w-0 flex-1",
|
|
47
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
48
|
+
className: "truncate",
|
|
49
|
+
style: compact ? "body2" : "h4",
|
|
50
|
+
weight: "semibold",
|
|
51
|
+
children: document.name
|
|
52
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
53
|
+
className: "neeto-ui-text-gray-500 truncate font-mono",
|
|
54
|
+
style: "body2",
|
|
55
|
+
children: document.outputFilename
|
|
56
|
+
}), fileSize && /*#__PURE__*/jsxRuntime.jsxs(Typography, {
|
|
57
|
+
className: "neeto-ui-text-gray-500",
|
|
58
|
+
style: "body3",
|
|
59
|
+
children: [t("neetoPdf.pdfDocuments.attachments.fileType"), " - ", fileSize]
|
|
60
|
+
})]
|
|
61
|
+
})]
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
exports.AttachmentCard = AttachmentCard;
|
|
66
|
+
exports.getSelectedPdfDocuments = getSelectedPdfDocuments;
|
|
67
|
+
//# sourceMappingURL=AttachmentCard-D_Gp0f5r.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttachmentCard-D_Gp0f5r.js","sources":["../app/javascript/src/components/PdfDocuments/utils.js","../app/javascript/src/components/PdfDocuments/AttachmentCard.jsx"],"sourcesContent":["export const buildSubmitterEmailNotificationParams = formId => ({\n notificationHolderType: \"Form\",\n notificationHolderId: formId,\n customFields: { notificationType: \"ThankYou\" },\n});\n\nexport const buildReceiverEmailNotificationParams = formId => ({\n notificationHolderType: \"Form\",\n notificationHolderId: formId,\n customFields: { notificationType: \"Push\" },\n});\n\nexport const getSelectedPdfDocumentIds = emailNotification =>\n emailNotification?.customFields?.pdfDocumentIds || [];\n\nexport const getSelectedPdfDocuments = (documents = [], selectedIds = []) => {\n const selectedIdSet = new Set(selectedIds);\n\n return documents.filter(document => selectedIdSet.has(document.id));\n};\n\nexport const formatFileSize = byteSize => {\n if (!byteSize) return \"\";\n\n if (byteSize < 1024 * 1024) return `${Math.ceil(byteSize / 1024)} KB`;\n\n return `${(byteSize / (1024 * 1024)).toFixed(1)} MB`;\n};\n","import classNames from \"classnames\";\nimport { File } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport IconBlock from \"./IconBlock\";\nimport { formatFileSize } from \"./utils\";\n\nconst AttachmentCard = ({ document, compact = false, variant = \"card\" }) => {\n const { t } = useTranslation();\n const fileSize = formatFileSize(document.templateFile?.byteSize);\n const isCard = variant === \"card\";\n\n return (\n <div\n className={classNames(\"flex min-w-0 items-start text-left\", {\n \"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg neeto-ui-shadow-sm gap-3 border px-4 py-3\":\n isCard,\n \"gap-4\": !isCard,\n })}\n >\n <div className=\"mt-1 shrink-0\">\n <IconBlock icon={File} />\n </div>\n <div className=\"min-w-0 flex-1\">\n <Typography\n className=\"truncate\"\n style={compact ? \"body2\" : \"h4\"}\n weight=\"semibold\"\n >\n {document.name}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 truncate font-mono\"\n style=\"body2\"\n >\n {document.outputFilename}\n </Typography>\n {fileSize && (\n <Typography className=\"neeto-ui-text-gray-500\" style=\"body3\">\n {t(\"neetoPdf.pdfDocuments.attachments.fileType\")} - {fileSize}\n </Typography>\n )}\n </div>\n </div>\n );\n};\n\nexport default AttachmentCard;\n"],"names":["getSelectedPdfDocuments","documents","arguments","length","undefined","selectedIds","selectedIdSet","Set","filter","document","has","id","formatFileSize","byteSize","concat","Math","ceil","toFixed","AttachmentCard","_ref","_document$templateFil","_ref$compact","compact","_ref$variant","variant","_useTranslation","useTranslation","t","fileSize","templateFile","isCard","_jsxs","className","classNames","children","_jsx","IconBlock","icon","File","Typography","style","weight","name","outputFilename"],"mappings":"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"}
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
4
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var reactQuery = require('@tanstack/react-query');
|
|
6
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
7
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
|
+
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
9
|
+
var axios = require('axios');
|
|
10
|
+
|
|
11
|
+
var trimTrailingSlash = function trimTrailingSlash(value) {
|
|
12
|
+
return (value === null || value === void 0 ? void 0 : value.replace(/\/+$/, "")) || "";
|
|
13
|
+
};
|
|
14
|
+
var documentsUrl = function documentsUrl(apiBaseUrl) {
|
|
15
|
+
return "".concat(trimTrailingSlash(apiBaseUrl), "/documents");
|
|
16
|
+
};
|
|
17
|
+
var documentUrl = function documentUrl(_ref) {
|
|
18
|
+
var apiBaseUrl = _ref.apiBaseUrl,
|
|
19
|
+
documentId = _ref.documentId;
|
|
20
|
+
return "".concat(documentsUrl(apiBaseUrl), "/").concat(documentId);
|
|
21
|
+
};
|
|
22
|
+
var documentActionUrl = function documentActionUrl(_ref2) {
|
|
23
|
+
var apiBaseUrl = _ref2.apiBaseUrl,
|
|
24
|
+
documentId = _ref2.documentId,
|
|
25
|
+
_ref2$suffix = _ref2.suffix,
|
|
26
|
+
suffix = _ref2$suffix === void 0 ? "" : _ref2$suffix;
|
|
27
|
+
return "".concat(documentUrl({
|
|
28
|
+
apiBaseUrl: apiBaseUrl,
|
|
29
|
+
documentId: documentId
|
|
30
|
+
})).concat(suffix);
|
|
31
|
+
};
|
|
32
|
+
var normalizeResponse = /*#__PURE__*/function () {
|
|
33
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(request) {
|
|
34
|
+
var _response$data;
|
|
35
|
+
var response;
|
|
36
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
37
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38
|
+
case 0:
|
|
39
|
+
_context.next = 2;
|
|
40
|
+
return request;
|
|
41
|
+
case 2:
|
|
42
|
+
response = _context.sent;
|
|
43
|
+
return _context.abrupt("return", (_response$data = response === null || response === void 0 ? void 0 : response.data) !== null && _response$data !== void 0 ? _response$data : response);
|
|
44
|
+
case 4:
|
|
45
|
+
case "end":
|
|
46
|
+
return _context.stop();
|
|
47
|
+
}
|
|
48
|
+
}, _callee);
|
|
49
|
+
}));
|
|
50
|
+
return function normalizeResponse(_x) {
|
|
51
|
+
return _ref3.apply(this, arguments);
|
|
52
|
+
};
|
|
53
|
+
}();
|
|
54
|
+
var list = function list(_ref4) {
|
|
55
|
+
var apiBaseUrl = _ref4.apiBaseUrl,
|
|
56
|
+
ownerId = _ref4.ownerId;
|
|
57
|
+
return normalizeResponse(axios.get(documentsUrl(apiBaseUrl), {
|
|
58
|
+
params: {
|
|
59
|
+
ownerId: ownerId
|
|
60
|
+
}
|
|
61
|
+
}));
|
|
62
|
+
};
|
|
63
|
+
var show = function show(_ref5) {
|
|
64
|
+
var apiBaseUrl = _ref5.apiBaseUrl,
|
|
65
|
+
ownerId = _ref5.ownerId,
|
|
66
|
+
documentId = _ref5.documentId;
|
|
67
|
+
return normalizeResponse(axios.get(documentUrl({
|
|
68
|
+
apiBaseUrl: apiBaseUrl,
|
|
69
|
+
documentId: documentId
|
|
70
|
+
}), {
|
|
71
|
+
params: {
|
|
72
|
+
ownerId: ownerId
|
|
73
|
+
}
|
|
74
|
+
}));
|
|
75
|
+
};
|
|
76
|
+
var create = function create(_ref6) {
|
|
77
|
+
var _file$name2, _file$name2$trim;
|
|
78
|
+
var apiBaseUrl = _ref6.apiBaseUrl,
|
|
79
|
+
ownerId = _ref6.ownerId,
|
|
80
|
+
file = _ref6.file;
|
|
81
|
+
if (file !== null && file !== void 0 && file.signedId) {
|
|
82
|
+
var _file$name;
|
|
83
|
+
return normalizeResponse(axios.post(documentsUrl(apiBaseUrl), {
|
|
84
|
+
template_file: file.signedId,
|
|
85
|
+
name: (_file$name = file.name) === null || _file$name === void 0 ? void 0 : _file$name.replace(/\.[^/.]+$/, "")
|
|
86
|
+
}, {
|
|
87
|
+
params: {
|
|
88
|
+
ownerId: ownerId
|
|
89
|
+
},
|
|
90
|
+
transformRequestCase: false
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
var formData = new FormData();
|
|
94
|
+
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(/\.[^/.]+$/, "");
|
|
95
|
+
var baseName = sanitizedName || "";
|
|
96
|
+
formData.append("template_file", file);
|
|
97
|
+
formData.append("name", baseName);
|
|
98
|
+
return normalizeResponse(axios.post(documentsUrl(apiBaseUrl), formData, {
|
|
99
|
+
params: {
|
|
100
|
+
ownerId: ownerId
|
|
101
|
+
},
|
|
102
|
+
transformRequestCase: false
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
var update = function update(_ref7) {
|
|
106
|
+
var apiBaseUrl = _ref7.apiBaseUrl,
|
|
107
|
+
ownerId = _ref7.ownerId,
|
|
108
|
+
documentId = _ref7.documentId,
|
|
109
|
+
payload = _ref7.payload;
|
|
110
|
+
return normalizeResponse(axios.put(documentUrl({
|
|
111
|
+
apiBaseUrl: apiBaseUrl,
|
|
112
|
+
documentId: documentId
|
|
113
|
+
}), payload, {
|
|
114
|
+
params: {
|
|
115
|
+
ownerId: ownerId
|
|
116
|
+
}
|
|
117
|
+
}));
|
|
118
|
+
};
|
|
119
|
+
var updateTemplateFile = function updateTemplateFile(_ref8) {
|
|
120
|
+
var apiBaseUrl = _ref8.apiBaseUrl,
|
|
121
|
+
ownerId = _ref8.ownerId,
|
|
122
|
+
documentId = _ref8.documentId,
|
|
123
|
+
file = _ref8.file;
|
|
124
|
+
if (file !== null && file !== void 0 && file.signedId) {
|
|
125
|
+
return normalizeResponse(axios.patch(documentActionUrl({
|
|
126
|
+
apiBaseUrl: apiBaseUrl,
|
|
127
|
+
documentId: documentId,
|
|
128
|
+
suffix: "/template_file"
|
|
129
|
+
}), {
|
|
130
|
+
template_file: file.signedId
|
|
131
|
+
}, {
|
|
132
|
+
params: {
|
|
133
|
+
ownerId: ownerId
|
|
134
|
+
},
|
|
135
|
+
transformRequestCase: false
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
var formData = new FormData();
|
|
139
|
+
formData.append("template_file", file);
|
|
140
|
+
return normalizeResponse(axios.patch(documentActionUrl({
|
|
141
|
+
apiBaseUrl: apiBaseUrl,
|
|
142
|
+
documentId: documentId,
|
|
143
|
+
suffix: "/template_file"
|
|
144
|
+
}), formData, {
|
|
145
|
+
params: {
|
|
146
|
+
ownerId: ownerId
|
|
147
|
+
},
|
|
148
|
+
transformRequestCase: false
|
|
149
|
+
}));
|
|
150
|
+
};
|
|
151
|
+
var clone = function clone(_ref9) {
|
|
152
|
+
var apiBaseUrl = _ref9.apiBaseUrl,
|
|
153
|
+
ownerId = _ref9.ownerId,
|
|
154
|
+
documentId = _ref9.documentId;
|
|
155
|
+
return normalizeResponse(axios.post(documentActionUrl({
|
|
156
|
+
apiBaseUrl: apiBaseUrl,
|
|
157
|
+
documentId: documentId,
|
|
158
|
+
suffix: "/clone"
|
|
159
|
+
}), null, {
|
|
160
|
+
params: {
|
|
161
|
+
ownerId: ownerId
|
|
162
|
+
}
|
|
163
|
+
}));
|
|
164
|
+
};
|
|
165
|
+
var destroy = function destroy(_ref0) {
|
|
166
|
+
var apiBaseUrl = _ref0.apiBaseUrl,
|
|
167
|
+
ownerId = _ref0.ownerId,
|
|
168
|
+
documentId = _ref0.documentId;
|
|
169
|
+
return normalizeResponse(axios["delete"](documentUrl({
|
|
170
|
+
apiBaseUrl: apiBaseUrl,
|
|
171
|
+
documentId: documentId
|
|
172
|
+
}), {
|
|
173
|
+
params: {
|
|
174
|
+
ownerId: ownerId
|
|
175
|
+
}
|
|
176
|
+
}));
|
|
177
|
+
};
|
|
178
|
+
var pdfDocumentsApi = {
|
|
179
|
+
clone: clone,
|
|
180
|
+
create: create,
|
|
181
|
+
update: update,
|
|
182
|
+
updateTemplateFile: updateTemplateFile,
|
|
183
|
+
destroy: destroy,
|
|
184
|
+
list: list,
|
|
185
|
+
show: show
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
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; }
|
|
189
|
+
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; }
|
|
190
|
+
var documentKeys = function documentKeys(ownerId, apiBaseUrl) {
|
|
191
|
+
return ["neeto-pdf-documents", apiBaseUrl, ownerId];
|
|
192
|
+
};
|
|
193
|
+
var useInvalidatingMutation = function useInvalidatingMutation(mutationFn, ownerId, apiBaseUrl) {
|
|
194
|
+
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
195
|
+
return reactUtils.useMutationWithInvalidation(mutationFn, _objectSpread({
|
|
196
|
+
keysToInvalidate: [documentKeys(ownerId, apiBaseUrl)]
|
|
197
|
+
}, options));
|
|
198
|
+
};
|
|
199
|
+
var getPdfDocumentApiErrorMessage = function getPdfDocumentApiErrorMessage(error, fallback) {
|
|
200
|
+
var _error$response;
|
|
201
|
+
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;
|
|
202
|
+
};
|
|
203
|
+
var useFetchPdfDocuments = function useFetchPdfDocuments(_ref) {
|
|
204
|
+
var apiBaseUrl = _ref.apiBaseUrl,
|
|
205
|
+
ownerId = _ref.ownerId,
|
|
206
|
+
_ref$options = _ref.options,
|
|
207
|
+
options = _ref$options === void 0 ? {} : _ref$options;
|
|
208
|
+
return reactQuery.useQuery(_objectSpread({
|
|
209
|
+
queryKey: documentKeys(ownerId, apiBaseUrl),
|
|
210
|
+
queryFn: function queryFn() {
|
|
211
|
+
return pdfDocumentsApi.list({
|
|
212
|
+
apiBaseUrl: apiBaseUrl,
|
|
213
|
+
ownerId: ownerId
|
|
214
|
+
});
|
|
215
|
+
},
|
|
216
|
+
enabled: Boolean(apiBaseUrl && ownerId)
|
|
217
|
+
}, options));
|
|
218
|
+
};
|
|
219
|
+
var useFetchPdfDocument = function useFetchPdfDocument(_ref2) {
|
|
220
|
+
var apiBaseUrl = _ref2.apiBaseUrl,
|
|
221
|
+
ownerId = _ref2.ownerId,
|
|
222
|
+
documentId = _ref2.documentId,
|
|
223
|
+
_ref2$options = _ref2.options,
|
|
224
|
+
options = _ref2$options === void 0 ? {} : _ref2$options;
|
|
225
|
+
return reactQuery.useQuery(_objectSpread({
|
|
226
|
+
queryKey: [].concat(_toConsumableArray(documentKeys(ownerId, apiBaseUrl)), [documentId]),
|
|
227
|
+
queryFn: function queryFn() {
|
|
228
|
+
return pdfDocumentsApi.show({
|
|
229
|
+
apiBaseUrl: apiBaseUrl,
|
|
230
|
+
ownerId: ownerId,
|
|
231
|
+
documentId: documentId
|
|
232
|
+
});
|
|
233
|
+
},
|
|
234
|
+
enabled: Boolean(apiBaseUrl && ownerId && documentId)
|
|
235
|
+
}, options));
|
|
236
|
+
};
|
|
237
|
+
var useCreatePdfDocument = function useCreatePdfDocument(_ref3) {
|
|
238
|
+
var apiBaseUrl = _ref3.apiBaseUrl,
|
|
239
|
+
ownerId = _ref3.ownerId,
|
|
240
|
+
_ref3$options = _ref3.options,
|
|
241
|
+
options = _ref3$options === void 0 ? {} : _ref3$options;
|
|
242
|
+
return useInvalidatingMutation(function (file) {
|
|
243
|
+
return pdfDocumentsApi.create({
|
|
244
|
+
apiBaseUrl: apiBaseUrl,
|
|
245
|
+
ownerId: ownerId,
|
|
246
|
+
file: file
|
|
247
|
+
});
|
|
248
|
+
}, ownerId, apiBaseUrl, options);
|
|
249
|
+
};
|
|
250
|
+
var useUpdatePdfDocument = function useUpdatePdfDocument(_ref4) {
|
|
251
|
+
var apiBaseUrl = _ref4.apiBaseUrl,
|
|
252
|
+
ownerId = _ref4.ownerId,
|
|
253
|
+
_ref4$options = _ref4.options,
|
|
254
|
+
options = _ref4$options === void 0 ? {} : _ref4$options;
|
|
255
|
+
return useInvalidatingMutation(function (_ref5) {
|
|
256
|
+
var documentId = _ref5.documentId,
|
|
257
|
+
payload = _ref5.payload;
|
|
258
|
+
return pdfDocumentsApi.update({
|
|
259
|
+
apiBaseUrl: apiBaseUrl,
|
|
260
|
+
ownerId: ownerId,
|
|
261
|
+
documentId: documentId,
|
|
262
|
+
payload: payload
|
|
263
|
+
});
|
|
264
|
+
}, ownerId, apiBaseUrl, options);
|
|
265
|
+
};
|
|
266
|
+
var useUpdatePdfDocumentTemplateFile = function useUpdatePdfDocumentTemplateFile(_ref6) {
|
|
267
|
+
var apiBaseUrl = _ref6.apiBaseUrl,
|
|
268
|
+
ownerId = _ref6.ownerId,
|
|
269
|
+
_ref6$options = _ref6.options,
|
|
270
|
+
options = _ref6$options === void 0 ? {} : _ref6$options;
|
|
271
|
+
return useInvalidatingMutation(function (_ref7) {
|
|
272
|
+
var documentId = _ref7.documentId,
|
|
273
|
+
file = _ref7.file;
|
|
274
|
+
return pdfDocumentsApi.updateTemplateFile({
|
|
275
|
+
apiBaseUrl: apiBaseUrl,
|
|
276
|
+
ownerId: ownerId,
|
|
277
|
+
documentId: documentId,
|
|
278
|
+
file: file
|
|
279
|
+
});
|
|
280
|
+
}, ownerId, apiBaseUrl, options);
|
|
281
|
+
};
|
|
282
|
+
var useClonePdfDocument = function useClonePdfDocument(_ref8) {
|
|
283
|
+
var apiBaseUrl = _ref8.apiBaseUrl,
|
|
284
|
+
ownerId = _ref8.ownerId,
|
|
285
|
+
_ref8$options = _ref8.options,
|
|
286
|
+
options = _ref8$options === void 0 ? {} : _ref8$options;
|
|
287
|
+
return useInvalidatingMutation(function (documentId) {
|
|
288
|
+
return pdfDocumentsApi.clone({
|
|
289
|
+
apiBaseUrl: apiBaseUrl,
|
|
290
|
+
ownerId: ownerId,
|
|
291
|
+
documentId: documentId
|
|
292
|
+
});
|
|
293
|
+
}, ownerId, apiBaseUrl, options);
|
|
294
|
+
};
|
|
295
|
+
var useDeletePdfDocument = function useDeletePdfDocument(_ref9) {
|
|
296
|
+
var apiBaseUrl = _ref9.apiBaseUrl,
|
|
297
|
+
ownerId = _ref9.ownerId,
|
|
298
|
+
_ref9$options = _ref9.options,
|
|
299
|
+
options = _ref9$options === void 0 ? {} : _ref9$options;
|
|
300
|
+
return useInvalidatingMutation(function (documentId) {
|
|
301
|
+
return pdfDocumentsApi.destroy({
|
|
302
|
+
apiBaseUrl: apiBaseUrl,
|
|
303
|
+
ownerId: ownerId,
|
|
304
|
+
documentId: documentId
|
|
305
|
+
});
|
|
306
|
+
}, ownerId, apiBaseUrl, options);
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
var buildOutputFilenameTemplate = function buildOutputFilenameTemplate(name) {
|
|
310
|
+
var parameterizedName = (name || "").trim().toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
311
|
+
return "".concat(parameterizedName || "document", "-{{id}}.pdf");
|
|
312
|
+
};
|
|
313
|
+
var buildOutputFilename = function buildOutputFilename(pdfDocument, submission) {
|
|
314
|
+
var base = (pdfDocument === null || pdfDocument === void 0 ? void 0 : pdfDocument.outputFilename) || "".concat((pdfDocument === null || pdfDocument === void 0 ? void 0 : pdfDocument.name) || "document", ".pdf");
|
|
315
|
+
var withId = base.replace(/\{\{\s*id\s*\}\}/g, (submission === null || submission === void 0 ? void 0 : submission.id) || "");
|
|
316
|
+
return withId.endsWith(".pdf") ? withId : "".concat(withId, ".pdf");
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
exports.buildOutputFilename = buildOutputFilename;
|
|
320
|
+
exports.buildOutputFilenameTemplate = buildOutputFilenameTemplate;
|
|
321
|
+
exports.getPdfDocumentApiErrorMessage = getPdfDocumentApiErrorMessage;
|
|
322
|
+
exports.useClonePdfDocument = useClonePdfDocument;
|
|
323
|
+
exports.useCreatePdfDocument = useCreatePdfDocument;
|
|
324
|
+
exports.useDeletePdfDocument = useDeletePdfDocument;
|
|
325
|
+
exports.useFetchPdfDocument = useFetchPdfDocument;
|
|
326
|
+
exports.useFetchPdfDocuments = useFetchPdfDocuments;
|
|
327
|
+
exports.useUpdatePdfDocument = useUpdatePdfDocument;
|
|
328
|
+
exports.useUpdatePdfDocumentTemplateFile = useUpdatePdfDocumentTemplateFile;
|
|
329
|
+
//# sourceMappingURL=FilenameUtilities-Cw9Tvd6k.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilenameUtilities-Cw9Tvd6k.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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"}
|