UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

174 lines (151 loc) 7.33 kB
/*! * jodit-pro - PRO Version of Jodit Editor * Author: Chupurnov Valerii <chupurnov@gmail.com> * Version: v4.9.27 * Url: https://xdsoft.net/jodit/pro/ * License(s): SEE LICENSE IN LICENSE.md */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else { var a = factory(); for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; } })(self, function() { return (self["webpackChunkjodit_pro"] = self["webpackChunkjodit_pro"] || []).push([[210],{ /***/ 53121: /***/ (function(module) { module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M19,21H5a2,2,0,0,1-2-2V17a1,1,0,0,1,2,0v2H19V17a1,1,0,0,1,2,0v2A2,2,0,0,1,19,21Z\"/> <path d=\"M18,5H6A1,1,0,0,1,6,3H18a1,1,0,0,1,0,2Z\"/> <path d=\"M15.71,10.29l-3-3a1,1,0,0,0-.33-.21,1,1,0,0,0-.76,0,1,1,0,0,0-.33.21l-3,3a1,1,0,0,0-.21,1.09A1,1,0,0,0,9,12h2v3a1,1,0,0,0,2,0V12h2a1,1,0,0,0,.92-.62A1,1,0,0,0,15.71,10.29Z\"/> </svg>" /***/ }), /***/ 90832: /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _assets_export_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53121); /* harmony import */ var _assets_export_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_assets_export_svg__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6441); /* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748); /*! * Jodit Editor PRO (https://xdsoft.net/jodit/) * See LICENSE.md in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/ */ jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.exportDocs = { css: '', pdf: { externalFonts: [], allow: true, options: { defaultFont: 'courier', format: 'A4', page_orientation: 'portrait' } } }; jodit_esm_config__WEBPACK_IMPORTED_MODULE_1__.Config.prototype.controls.exportDocs = { tooltip: 'Export', isDisabled: (editor)=>jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.isEmptyContent(editor.editor), icon: (_assets_export_svg__WEBPACK_IMPORTED_MODULE_0___default()), list: { exportToPdf: 'Export to PDF' }, command: 'exportToPDF' }; /***/ }), /***/ 90882: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ ExportDocs: function() { return /* binding */ ExportDocs; } /* harmony export */ }); /* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82749); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90832); /* harmony import */ var jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22732); /* harmony import */ var jodit_esm_core_helpers_utils_config_proto__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68934); /* harmony import */ var jodit_esm_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11628); /* harmony import */ var jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(50911); /* harmony import */ var jodit_esm_core_request_ajax__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(54079); /* harmony import */ var jodit_esm_plugins_print_lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(14625); /* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2692); /*! * Jodit Editor PRO (https://xdsoft.net/jodit/) * See LICENSE.md in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/ */ class ExportDocs extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_5__.Plugin { afterInit(jodit) { jodit.registerCommand('exportToPDF', async ()=>{ const ajax = new jodit_esm_core_request_ajax__WEBPACK_IMPORTED_MODULE_6__.Ajax({ ...jodit.o.exportDocs.ajax ?? jodit.o.filebrowser.ajax, method: 'POST', responseType: 'blob', onProgress (percent) { jodit.progressbar.show().progress(percent); }, data: { action: 'generatePdf', html: ExportDocs.getValue(jodit), options: (0,jodit_esm_core_helpers_utils_config_proto__WEBPACK_IMPORTED_MODULE_3__.ConfigDeepFlatten)(jodit.o.exportDocs.pdf).options } }); jodit.e.on('beforeDestruct', ajax.destruct); try { const resp = await ajax.send(); const buffer = await resp.blob(); const link = this.j.create.a(); const filename = 'document.pdf'; link.href = URL.createObjectURL(buffer); link.download = filename; link.click(); jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(link); URL.revokeObjectURL(link.href); } catch (e) { e.message && jodit.alert(e.message); } finally{ jodit.progressbar.progress(100); await jodit.async.delay(200); jodit.progressbar.hide(); } }); } static getValue(jodit) { const [div] = (0,jodit_esm_core_helpers_utils_print__WEBPACK_IMPORTED_MODULE_4__.previewBox)(jodit); const html = []; jodit.o.exportDocs.pdf.externalFonts.forEach((font)=>{ if (/^</.test(font)) { html.push(font); } else { html.push(`<link rel="stylesheet" href="${font}">`); } }); html.push(`<style>${(0,jodit_esm_plugins_print_lib_generate_critical_css__WEBPACK_IMPORTED_MODULE_7__.generateCriticalCSS)(jodit)}</style>`); html.push(`<style>${jodit.o.exportDocs.css}</style>`); html.push(div.innerHTML); return html.join('\n'); } beforeDestruct() {} constructor(...args){ super(...args), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "buttons", [ { name: 'exportDocs', group: 'media' } ]); } } (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(ExportDocs, "requires", [ 'license' ]); jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_8__.JoditPro.plugins.add('exportDocs', ExportDocs); /***/ }) }, /******/ function(__webpack_require__) { // webpackRuntimeModules /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } /******/ var __webpack_exports__ = (__webpack_exec__(90882)); /******/ return __webpack_exports__; /******/ } ]); });