jodit-pro
Version:
PRO Version of Jodit Editor
189 lines (158 loc) • 9.13 kB
JavaScript
/*!
* 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([[398],{
/***/ 13109:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
;
/* harmony import */ var _assets_page_break_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17405);
/* harmony import */ var _assets_page_break_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_assets_page_break_svg__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _page_break_css_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64889);
/* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6441);
/*!
* 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_2__.Config.prototype.pageBreak = {
separator: '<div style="page-break-before: always"></div>'
};
jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.pageBreak = {
tooltip: 'Insert page break',
icon: (_assets_page_break_svg__WEBPACK_IMPORTED_MODULE_0___default()),
command: 'insertPageBreak'
};
jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.iframeStyle = `${jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.iframeStyle};${_page_break_css_js__WEBPACK_IMPORTED_MODULE_1__["default"].replace(/[\n\t]/g, '')}`;
/***/ }),
/***/ 17405:
/***/ (function(module) {
module.exports = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M2.5 12C2.5 11.5858 2.83579 11.25 3.25 11.25H4.75C5.16421 11.25 5.5 11.5858 5.5 12C5.5 12.4142 5.16421 12.75 4.75 12.75H3.25C2.83579 12.75 2.5 12.4142 2.5 12Z\"/> <path d=\"M6.5 12C6.5 11.5858 6.83579 11.25 7.25 11.25H8.75C9.16421 11.25 9.5 11.5858 9.5 12C9.5 12.4142 9.16421 12.75 8.75 12.75H7.25C6.83579 12.75 6.5 12.4142 6.5 12Z\" /> <path d=\"M10.5 12C10.5 11.5858 10.8358 11.25 11.25 11.25H12.75C13.1642 11.25 13.5 11.5858 13.5 12C13.5 12.4142 13.1642 12.75 12.75 12.75H11.25C10.8358 12.75 10.5 12.4142 10.5 12Z\" /> <path d=\"M14.5 12C14.5 11.5858 14.8358 11.25 15.25 11.25H16.75C17.1642 11.25 17.5 11.5858 17.5 12C17.5 12.4142 17.1642 12.75 16.75 12.75H15.25C14.8358 12.75 14.5 12.4142 14.5 12Z\" /> <path d=\"M18.5 12C18.5 11.5858 18.8358 11.25 19.25 11.25H20.75C21.1642 11.25 21.5 11.5858 21.5 12C21.5 12.4142 21.1642 12.75 20.75 12.75H19.25C18.8358 12.75 18.5 12.4142 18.5 12Z\" /> <path d=\"M4.75 2C4.33579 2 4 2.33579 4 2.75V7C4 8.104 4.896 9 6 9H18C19.104 9 20 8.104 20 7V2.75C20 2.33579 19.6642 2 19.25 2C18.8358 2 18.5 2.33579 18.5 2.75V7C18.5 7.275 18.276 7.5 18 7.5H6C5.724 7.5 5.5 7.275 5.5 7V2.75C5.5 2.33579 5.16421 2 4.75 2Z\" /> <path d=\"M19.25 22C19.6642 22 20 21.6642 20 21.25V17C20 15.896 19.104 15 18 15L6 15C4.896 15 4 15.896 4 17L4 21.25C4 21.6642 4.33579 22 4.75 22C5.16421 22 5.5 21.6642 5.5 21.25L5.5 17C5.5 16.725 5.724 16.5 6 16.5L18 16.5C18.276 16.5 18.5 16.725 18.5 17V21.25C18.5 21.6642 18.8358 22 19.25 22Z\" /> </svg>"
/***/ }),
/***/ 64889:
/***/ (function(__unused_webpack_module, __webpack_exports__) {
;
/*!
* 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/
*/ /* harmony default export */ __webpack_exports__["default"] = (`[data-jodit-page-break] {
display: flex;
height: 24px;
box-sizing: border-box;
align-items: center;
justify-content: center;
border: 1px dashed #ccc;
font-size: 12px;
page-break-before: always;
text-transform: uppercase;
}
[data-jodit-page-break]:active {
border-color: #818181;
}`);
/***/ }),
/***/ 79850:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ PageBreak: function() { return /* binding */ PageBreak; }
/* harmony export */ });
/* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82749);
/* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31635);
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13109);
/* harmony import */ var _page_break_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(64889);
/* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65478);
/* harmony import */ var jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(22732);
/* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(21537);
/* harmony import */ var jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50911);
/* 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 PageBreak extends jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_7__.Plugin {
className() {
return 'PageBreak';
}
afterInit(jodit) {
jodit.registerCommand('insertPageBreak', ()=>{
const pageBreak = jodit.createInside.div('', {});
this.decoratePageBreak(pageBreak);
jodit.s.insertNode(pageBreak, false, false);
let parentNode = pageBreak.parentNode;
while(parentNode && parentNode !== jodit.editor){
jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_5__.Dom.after(parentNode, pageBreak);
if (jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_5__.Dom.isBlock(parentNode)) {
break;
}
parentNode = pageBreak.parentNode;
}
jodit.s.setCursorAfter(pageBreak);
jodit.setEditorValue();
});
}
decoratePageBreak(pageBreak) {
(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_6__.attr)(pageBreak, {
'data-jodit-page-break': true,
contenteditable: false
});
pageBreak.innerText = this.j.i18n('Page break');
}
beforeDestruct() {}
onChange() {
(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_6__.$$)('[style*="page-break-after"],[style*="page-break-before"]', this.j.editor).forEach((div)=>{
if (jodit_esm_core_dom__WEBPACK_IMPORTED_MODULE_5__.Dom.isEmpty(div) && !(0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_6__.attr)(div, 'data-jodit-page-break')) {
this.decoratePageBreak(div);
}
});
}
onAfterGetValueFromEditor(data) {
data.value = data.value.replace(/<div[^>]+data-jodit-page-break[^>]+>[^]*?<\/div>/gi, this.j.o.pageBreak.separator);
}
constructor(...args){
super(...args), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "styles", _page_break_css__WEBPACK_IMPORTED_MODULE_3__["default"]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(this, "buttons", [
{
name: 'pageBreak',
group: 'insert'
}
]);
}
}
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_0__._)(PageBreak, "requires", [
'license'
]);
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)([
':change',
':afterSetMode'
]),
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.debounce)()
], PageBreak.prototype, "onChange", null);
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)(':afterGetValueFromEditor')
], PageBreak.prototype, "onAfterGetValueFromEditor", null);
jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_8__.JoditPro.plugins.add('pageBreak', PageBreak);
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ var __webpack_exports__ = (__webpack_exec__(79850));
/******/ return __webpack_exports__;
/******/ }
]);
});