UNPKG

@jsreport/jsreport-pdf-utils

Version:

jsreport extension providing pdf operations like merge or concatenation

958 lines (933 loc) 558 kB
/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ([ /* 0 */ /***/ ((module) => { module.exports = Studio.libraries['react']; /***/ }), /* 1 */ /***/ ((module) => { module.exports = Studio; /***/ }), /* 2 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ PDF_UTILS_TAB_EDITOR: () => (/* binding */ PDF_UTILS_TAB_EDITOR), /* harmony export */ PDF_UTILS_TAB_TITLE: () => (/* binding */ PDF_UTILS_TAB_TITLE) /* harmony export */ }); const PDF_UTILS_TAB_TITLE = 'PDF_UTILS_TAB_TITLE'; const PDF_UTILS_TAB_EDITOR = 'PDF_UTILS_TAB_EDITOR'; /***/ }), /* 3 */, /* 4 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); class Properties extends react__WEBPACK_IMPORTED_MODULE_0__.Component { static title(entity, entities) { if (!entity.pdfSign) { return 'pdf sign'; } return entity.pdfSign.passwordFilled ? 'pdf sign password filled' : 'pdf sign'; } render() { const { entity, onChange } = this.props; const pdfSign = entity.pdfSign || {}; const changePdfSign = change => onChange({ ...entity, pdfSign: { ...entity.pdfSign, ...change } }); let password = pdfSign.passwordRaw; if (password == null || password === '') { password = pdfSign.passwordFilled === true ? '******' : ''; } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "properties-section" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", null, "password"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", { type: "password", value: password, onChange: v => changePdfSign({ passwordRaw: v.target.value }) }))); } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Properties); /***/ }), /* 5 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var jsreport_studio__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1); /* harmony import */ var jsreport_studio__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jsreport_studio__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2); class TemplatePdfUtilsProperties extends react__WEBPACK_IMPORTED_MODULE_0__.Component { static title(entity, entities) { if ((!entity.pdfOperations || entity.pdfOperations.length === 0) && entity.pdfMeta == null && entity.pdfPassword == null && (entity.pdfSign == null || entity.pdfSign.certificateAssetShortid == null)) { return 'pdf utils'; } let title = 'pdf utils:'; const getTemplate = shortid => jsreport_studio__WEBPACK_IMPORTED_MODULE_1___default().getEntityByShortid(shortid, false) || { name: '' }; if (entity.pdfOperations && entity.pdfOperations.length > 0) { title = `${title} ${entity.pdfOperations.map(o => getTemplate(o.templateShortid).name).join(', ')}`; } const extra = []; if (entity.pdfMeta != null) { extra.push('meta'); } if (entity.pdfPassword != null && (entity.pdfPassword.password != null || entity.pdfPassword.ownerPassword != null)) { extra.push('password'); } if (entity.pdfSign != null && entity.pdfSign.certificateAssetShortid != null) { extra.push('sign'); } if (extra.length > 0) { title = `${title} (${extra.join(', ')})`; } return title; } static selectAssets(entities) { return Object.keys(entities).filter(k => entities[k].__entitySet === 'assets').map(k => entities[k]); } componentDidMount() { this.removeInvalidTemplateReferences(); this.removeInvalidAssetReferences(); } componentDidUpdate() { this.removeInvalidTemplateReferences(); this.removeInvalidAssetReferences(); } openEditor() { jsreport_studio__WEBPACK_IMPORTED_MODULE_1___default().openTab({ key: this.props.entity._id + '_pdfUtils', _id: this.props.entity._id, editorComponentKey: _constants_js__WEBPACK_IMPORTED_MODULE_2__.PDF_UTILS_TAB_EDITOR, titleComponentKey: _constants_js__WEBPACK_IMPORTED_MODULE_2__.PDF_UTILS_TAB_TITLE }); } removeInvalidTemplateReferences() { const { entity, entities, onChange } = this.props; if (!entity.pdfOperations) { return; } let hasTemplateReferences = false; let updatedOperations; updatedOperations = entity.pdfOperations; hasTemplateReferences = entity.pdfOperations.filter(o => o.templateShortid != null).length > 0; if (hasTemplateReferences) { updatedOperations = entity.pdfOperations.filter(o => { // tolerate operations recently added if (o.templateShortid == null) { return true; } return Object.keys(entities).filter(k => entities[k].__entitySet === 'templates' && entities[k].shortid === o.templateShortid).length; }); } if (hasTemplateReferences && updatedOperations.length !== entity.pdfOperations.length) { onChange({ _id: entity._id, pdfOperations: updatedOperations }); } } removeInvalidAssetReferences() { const { entity, entities, onChange } = this.props; if (!entity.pdfSign) { return; } const updatedAssetItems = Object.keys(entities).filter(k => entities[k].__entitySet === 'assets' && entities[k].shortid === entity.pdfSign.certificateAssetShortid); if (updatedAssetItems.length === 0 && entity.pdfSign.certificateAssetShortid) { onChange({ _id: entity._id, pdfSign: { ...entity.pdfSign, certificateAssetShortid: null } }); } } render() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "properties-section" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", { onClick: () => this.openEditor() }, "Configure"))); } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TemplatePdfUtilsProperties); /***/ }), /* 6 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (props => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", null, props.entity.name + ' pdf utils ' + (props.entity.__isDirty ? '*' : ''))); /***/ }), /* 7 */ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); /* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var jsreport_studio__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1); /* harmony import */ var jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsreport_studio__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _AddHeaderFooterModal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); /* harmony import */ var _AddTOCModal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10); /* harmony import */ var _AddCoverModal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11); /* harmony import */ var _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(13); const EntityRefSelect = (jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().EntityRefSelect); const sharedComponents = (jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().sharedComponents); const AdvancedMergeModal = props => { const { operation: initialOperation, update } = props.options; const [operation, setOperation] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialOperation); const updateOperation = op => { update(op); setOperation({ ...operation, ...op }); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h2", null, "advanced merge configuration"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h3", null, "Merge whole document"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", null, "render specified template and merge the result into the current pdf. The first page of the template output will be merged into the first page of the current pdf, the second page to the second one and so on. When the option is deselected, the first page of the template output will be merged to all pages of the current pdf."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", disabled: operation.renderForEveryPage, checked: operation.mergeWholeDocument === true, onChange: v => updateOperation({ mergeWholeDocument: v.target.checked, renderForEveryPage: false }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem' }, className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h3", null, "Render for every page (deprecated)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", null, "if true, the operation invokes rendering of the specified template for every pdf page (slow), otherwise it is invoked just once and the single output is merged"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", disabled: operation.mergeWholeDocument, checked: operation.renderForEveryPage === true, onChange: v => updateOperation({ renderForEveryPage: v.target.checked, mergeWholeDocument: false }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem' }, className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h3", null, "Merge to front"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", null, "if true, the pdf produced by the operation is merged to the front layer, otherwise it is merged to the background"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", checked: operation.mergeToFront === true, onChange: v => updateOperation({ mergeToFront: v.target.checked }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "button-bar" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button confirmation", onClick: () => props.close() }, "ok"))); }; class PdfUtilsEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component { constructor(props) { super(props); this.state = { activeTab: 'operations', customMetadataCreate: null }; } addHeaderFooter() { const { entity } = this.props; jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().openModal(_AddHeaderFooterModal__WEBPACK_IMPORTED_MODULE_3__["default"], { entity }); } addTOC() { const { entity } = this.props; jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().openModal(_AddTOCModal__WEBPACK_IMPORTED_MODULE_4__["default"], { entity }); } addCover() { const { entity } = this.props; jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().openModal(_AddCoverModal__WEBPACK_IMPORTED_MODULE_5__["default"], { entity }); } addOperation(entity) { jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(Object.assign({}, entity, { pdfOperations: [...(entity.pdfOperations || []), { type: 'merge', mergeWholeDocument: true }] })); } updateOperation(entity, index, update) { jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(Object.assign({}, entity, { pdfOperations: entity.pdfOperations.map((o, i) => i === index ? Object.assign({}, o, update) : o) })); } updateMeta(entity, update) { let pdfMeta = entity.pdfMeta || {}; pdfMeta = { ...pdfMeta, ...update }; Object.keys(pdfMeta).forEach(metaKey => { if (pdfMeta[metaKey] === '') { delete pdfMeta[metaKey]; } }); const keys = Object.keys(pdfMeta); if (keys.length === 0 || keys.every(k => pdfMeta[k] == null)) { const newEntity = Object.assign({}, entity); newEntity.pdfMeta = null; return jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(newEntity); } jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(Object.assign({}, entity, { pdfMeta })); } updatePassword(entity, update) { let pdfPassword = entity.pdfPassword || {}; pdfPassword = { ...pdfPassword, ...update }; Object.keys(pdfPassword).forEach(metaKey => { if (pdfPassword[metaKey] === '') { delete pdfPassword[metaKey]; } }); const keys = Object.keys(pdfPassword); if (keys.length === 0 || keys.every(k => pdfPassword[k] == null || pdfPassword[k] === false)) { const newEntity = Object.assign({}, entity); newEntity.pdfPassword = null; return jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(newEntity); } jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(Object.assign({}, entity, { pdfPassword })); } updateSign(entity, update) { let pdfSign = entity.pdfSign || {}; pdfSign = { ...pdfSign, ...update }; Object.keys(pdfSign).forEach(metaKey => { if (pdfSign[metaKey] === '') { delete pdfSign[metaKey]; } }); const keys = Object.keys(pdfSign); if (keys.length === 0 || keys.every(k => pdfSign[k] == null)) { const newEntity = Object.assign({}, entity); newEntity.pdfSign = null; return jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(newEntity); } jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(Object.assign({}, entity, { pdfSign })); } removeOperation(entity, index) { jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(Object.assign({}, entity, { pdfOperations: entity.pdfOperations.filter((a, i) => i !== index) })); } getExistingCustomMetadata(entity) { let existingCustomMetadata = entity.pdfMeta != null && entity.pdfMeta.custom != null && entity.pdfMeta.custom !== '' ? entity.pdfMeta.custom : '{}'; try { existingCustomMetadata = JSON.parse(existingCustomMetadata); } catch (parseError) { existingCustomMetadata = {}; } return existingCustomMetadata; } removeCustomMetadata(entity, key) { const existingCustomMetadata = this.getExistingCustomMetadata(entity); delete existingCustomMetadata[key]; this.updateMeta(entity, { custom: Object.keys(existingCustomMetadata).length > 0 ? JSON.stringify(existingCustomMetadata) : '' }); } updateCustomMetadata(entity, key, value) { if (key === '' || value === '') { return; } const existingCustomMetadata = this.getExistingCustomMetadata(entity); existingCustomMetadata[key] = value; this.updateMeta(entity, { custom: JSON.stringify(existingCustomMetadata) }); } moveDown(entity, index) { const pdfOperations = [...entity.pdfOperations]; const tmp = pdfOperations[index + 1]; pdfOperations[index + 1] = pdfOperations[index]; pdfOperations[index] = tmp; jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(Object.assign({}, entity, { pdfOperations: pdfOperations })); } moveUp(entity, index) { const pdfOperations = [...entity.pdfOperations]; const tmp = pdfOperations[index - 1]; pdfOperations[index - 1] = pdfOperations[index]; pdfOperations[index] = tmp; jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().updateEntity(Object.assign({}, entity, { pdfOperations: pdfOperations })); } renderOperation(entity, operation, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("tr", { key: index }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", { style: { minWidth: '170px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(EntityRefSelect, { headingLabel: "Select template", newLabel: "New template", filter: references => { const templates = references.templates.filter(e => e.shortid !== entity.shortid && e.recipe.includes('pdf')); return { templates: templates }; }, value: operation.templateShortid ? operation.templateShortid : null, onChange: selected => this.updateOperation(entity, index, { templateShortid: selected != null && selected.length > 0 ? selected[0].shortid : null }), renderNew: modalProps => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(sharedComponents.NewTemplateModal, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, modalProps, { options: { ...modalProps.options, defaults: { folder: entity.folder }, activateNewTab: false } })) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("select", { value: operation.type, onChange: v => this.updateOperation(entity, index, { type: v.target.value }) }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("option", { value: "merge" }, "merge"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("option", { value: "append" }, "append"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("option", { value: "prepend" }, "prepend"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", null, operation.type === 'merge' && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { onClick: () => jsreport_studio__WEBPACK_IMPORTED_MODULE_2___default().openModal(AdvancedMergeModal, { operation: entity.pdfOperations[index], update: o => this.updateOperation(entity, index, o) }) }, "advanced")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", checked: operation.enabled !== false, onChange: v => this.updateOperation(entity, index, { enabled: v.target.checked }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button", style: { backgroundColor: '#c6c6c6' }, onClick: () => this.removeOperation(entity, index) }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("i", { className: "fa fa-times" }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", null, entity.pdfOperations[index - 1] ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button", style: { backgroundColor: '#c6c6c6' }, onClick: () => this.moveUp(entity, index) }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("i", { className: "fa fa-arrow-up" })) : ''), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", null, entity.pdfOperations[index + 1] ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button", style: { backgroundColor: '#c6c6c6' }, onClick: () => this.moveDown(entity, index) }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("i", { className: "fa fa-arrow-down" })) : '')); } renderOperations(entity) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("table", { className: _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].operationTable }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("thead", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("tr", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null, "Template"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null, "Operation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null, "Advanced"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null, "Enabled"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("tbody", null, (entity.pdfOperations || []).map((o, i) => this.renderOperation(entity, o, i)))); } renderCustomMetadata(entity) { const existingCustomMetadata = this.getExistingCustomMetadata(entity); const customMetadataList = Object.keys(existingCustomMetadata).reduce((acu, key) => { acu.push({ key, value: existingCustomMetadata[key] }); return acu; }, []); let body = null; if (customMetadataList.length > 0) { body = customMetadataList.map((item, idx) => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("tr", { key: item.key }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", { style: { textAlign: 'center', paddingLeft: '5px', paddingRight: '10px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, item.key)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", { style: { textAlign: 'center', paddingLeft: '5px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: item.value, onChange: v => this.updateCustomMetadata(entity, item.key, v.target.value) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("td", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button", style: { backgroundColor: '#c6c6c6' }, onClick: () => this.removeCustomMetadata(entity, item.key) }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("i", { className: "fa fa-times" }))))); } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("table", { className: _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].operationTable }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("thead", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("tr", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null, "Key"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null, "Value"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("th", null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("tbody", null, body)); } renderCustomMetadataCreate(entity, customMetadataCreate) { const existingCustomMetadata = this.getExistingCustomMetadata(entity); let el; if (customMetadataCreate == null) { el = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem', minHeight: '160px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button confirmation", onClick: () => { const newKeyPrefix = 'key'; let targetNewKey = newKeyPrefix; let counter = 1; while (existingCustomMetadata[targetNewKey] != null) { counter += 1; targetNewKey = `${newKeyPrefix}${counter}`; } this.setState({ customMetadataCreate: { key: targetNewKey, value: 'value' } }); } }, "Add custom metadata")); } else { const saveDisabled = customMetadataCreate.key === '' || customMetadataCreate.value === ''; el = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("hr", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Key"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: customMetadataCreate.key, onChange: v => this.setState({ customMetadataCreate: { ...customMetadataCreate, key: v.target.value } }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Value"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: customMetadataCreate.value, onChange: v => this.setState({ customMetadataCreate: { ...customMetadataCreate, value: v.target.value } }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: `button confirmation ${saveDisabled ? 'disabled' : ''}`, disabled: saveDisabled, onClick: () => { this.updateCustomMetadata(entity, customMetadataCreate.key, customMetadataCreate.value); this.setState({ customMetadataCreate: null }); } }, existingCustomMetadata[customMetadataCreate.key] == null || customMetadataCreate.key === '' ? 'Add' : 'Update'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button confirmation", onClick: () => this.setState({ customMetadataCreate: null }) }, "Cancel"))); } return el; } render() { const { activeTab, customMetadataCreate } = this.state; const { entity } = this.props; const pdfMeta = entity.pdfMeta || {}; const pdfA = entity.pdfA || {}; const pdfAccessibility = entity.pdfAccessibility || {}; const pdfPassword = entity.pdfPassword || {}; const pdfSign = entity.pdfSign || {}; const pdfCompression = entity.pdfCompression || {}; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "block custom-editor", style: { overflowX: 'auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h1", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("i", { className: "fa fa-file-pdf-o" }), " pdf utils configuration"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h2", { style: { marginTop: '0.2rem' } }, "quick actions"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem', marginBottom: '0.8rem' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button confirmation", style: { marginLeft: 0 }, onClick: () => this.addHeaderFooter() }, "Add header/footer"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button confirmation", onClick: () => this.addTOC() }, "Add Table of Contents"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button confirmation", onClick: () => this.addCover() }, "Add cover page"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].separator }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabContainer }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("ul", { className: _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabTitles }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabTitle} ${activeTab === 'operations' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}`, onClick: () => this.setState({ activeTab: 'operations' }) }, "operations"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabTitle} ${activeTab === 'meta' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}`, onClick: () => this.setState({ activeTab: 'meta' }) }, "meta"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabTitle} ${activeTab === 'password' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}`, onClick: () => this.setState({ activeTab: 'password' }) }, "password"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabTitle} ${activeTab === 'sign' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}`, onClick: () => this.setState({ activeTab: 'sign' }) }, "sign"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabTitle} ${activeTab === 'pdfA' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}`, onClick: () => this.setState({ activeTab: 'pdfA' }) }, "pdfA"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabTitle} ${activeTab === 'pdfAccessibility' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}`, onClick: () => this.setState({ activeTab: 'pdfAccessibility' }) }, "pdf accessibility"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabTitle} ${activeTab === 'pdfCompression' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}`, onClick: () => this.setState({ activeTab: 'pdfCompression' }) }, "compression")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabPanel} ${activeTab === 'operations' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}` }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", { style: { marginTop: '1rem' } }, "Use merge/append operations to add dynamic headers or concatenate multiple pdf reports into one. See more docs and examples ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("a", { href: "https://jsreport.net/learn/pdf-utils" }, "here"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem' } }, this.renderOperations(entity)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("button", { className: "button confirmation", onClick: () => this.addOperation(entity) }, "Add operation"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabPanel} ${activeTab === 'meta' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}` }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", { style: { marginTop: '1rem' } }, "Add General metadata information to the final PDF."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem', paddingBottom: '0.5rem' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Title"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: pdfMeta.title || '', onChange: v => this.updateMeta(entity, { title: v.target.value }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Author"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: pdfMeta.author || '', onChange: v => this.updateMeta(entity, { author: v.target.value }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Subject"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: pdfMeta.subject || '', onChange: v => this.updateMeta(entity, { subject: v.target.value }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Keywords"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: pdfMeta.keywords || '', onChange: v => this.updateMeta(entity, { keywords: v.target.value }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Creator"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: pdfMeta.creator || '', onChange: v => this.updateMeta(entity, { creator: v.target.value }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Producer"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: pdfMeta.producer || '', onChange: v => this.updateMeta(entity, { producer: v.target.value }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Language"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "text", value: pdfMeta.language || '', onChange: v => this.updateMeta(entity, { language: v.target.value }) }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", null, "Add Custom metadata for the final PDF."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem' } }, this.renderCustomMetadata(entity)), this.renderCustomMetadataCreate(entity, customMetadataCreate)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabPanel} ${activeTab === 'password' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}` }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem' } }, "Add encryption and access privileges to the final PDF. You can specify either user password, owner password or both passwords. Behavior differs according to passwords you provides:", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("ul", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", null, "When only user password is provided, users with user password are able to decrypt the file and have full access to the document."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", null, "When only owner password is provided, users are able to decrypt and open the document without providing any password, but the access is limited to those operations explicitly permitted. Users with owner password have full access to the document."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("li", null, "When both passwords are provided, users with user password are able to decrypt the file but only have limited access to the file according to permission settings. Users with owner password have full access to the document."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem', paddingBottom: '0.5rem' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h2", null, "Encryption"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "password-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "User Password"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "password", autoComplete: "off", title: "Users will be prompted to enter the password to decrypt the file when opening it", placeholder: "user password", value: pdfPassword.password || '', onChange: v => this.updatePassword(entity, { password: v.target.value }) }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("h2", null, "Access privileges"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", null, "To set access privileges for the PDF, you need to provide an owner password and permission settings."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "owner-password-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Owner Password"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "password", autoComplete: "off", title: "Users with the owner password will always have full access to the PDF (no matter the permission settings)", placeholder: "owner password", value: pdfPassword.ownerPassword || '', onChange: v => this.updatePassword(entity, { ownerPassword: v.target.value }) })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "printing-permission-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", null, "Printing permission"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("select", { value: pdfPassword.printing || '-1', title: "Whether printing the file is allowed, and in which resolution the printing can be done", onChange: v => this.updatePassword(entity, { printing: v.target.value === '-1' ? null : v.target.value }) }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("option", { key: "-1", value: "-1" }, "Not allowed"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("option", { key: "lowResolution", value: "lowResolution", title: "Allows the printing in degraded resolution" }, "Low Resolution"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("option", { key: "highResolution", value: "highResolution", title: "Allows the printing in the best resolution" }, "High Resolution"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "modify-permission-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", { title: "Whether modifying the file is allowed" }, "Modify permission", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", checked: pdfPassword.modifying === true, onChange: v => this.updatePassword(entity, { modifying: v.target.checked }) }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "copy-permission-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", { title: "Whether copying text or graphics from the file is allowed" }, "Copy permission", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", checked: pdfPassword.copying === true, onChange: v => this.updatePassword(entity, { copying: v.target.checked }) }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "annotation-permission-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", { title: "Whether annotating, form filling the file is allowed" }, "Annotation permission", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", checked: pdfPassword.annotating === true, onChange: v => this.updatePassword(entity, { annotating: v.target.checked }) }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "fillingForms-permission-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", { title: "Whether form filling and signing the file is allowed" }, "Filling Forms permission", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", checked: pdfPassword.fillingForms === true, onChange: v => this.updatePassword(entity, { fillingForms: v.target.checked }) }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "contentAccessibility-permission-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", { title: "Whether copying text from the file for accessibility is allowed" }, "Content Accessibility permission", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", checked: pdfPassword.contentAccessibility === true, onChange: v => this.updatePassword(entity, { contentAccessibility: v.target.checked }) }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { key: "documentAssembly-permission-field", className: "form-group" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("label", { title: "Whether assembling document is allowed" }, "Assembling Document permission", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("input", { type: "checkbox", checked: pdfPassword.documentAssembly === true, onChange: v => this.updatePassword(entity, { documentAssembly: v.target.checked }) })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { className: `${_PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].tabPanel} ${activeTab === 'sign' ? _PdfUtilsEditor_css__WEBPACK_IMPORTED_MODULE_6__["default"].active : ''}` }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("p", { style: { marginTop: '1rem' } }, "Add a digital signature to the final PDF."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", { style: { marginTop: '1rem', paddingBottom: '0.5rem' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default