[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 /** 2 * Copyright (c) Tiny Technologies, Inc. All rights reserved. 3 * Licensed under the LGPL or a commercial license. 4 * For LGPL see License.txt in the project root for license information. 5 * For commercial licenses see https://www.tiny.cloud/ 6 * 7 * Version: 5.10.5 (2022-05-25) 8 */ 9 (function () { 10 'use strict'; 11 12 var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); 13 14 var global = tinymce.util.Tools.resolve('tinymce.Env'); 15 16 var getSeparatorHtml = function (editor) { 17 return editor.getParam('pagebreak_separator', '<!-- pagebreak -->'); 18 }; 19 var shouldSplitBlock = function (editor) { 20 return editor.getParam('pagebreak_split_block', false); 21 }; 22 23 var pageBreakClass = 'mce-pagebreak'; 24 var getPlaceholderHtml = function (shouldSplitBlock) { 25 var html = '<img src="' + global.transparentSrc + '" class="' + pageBreakClass + '" data-mce-resize="false" data-mce-placeholder />'; 26 return shouldSplitBlock ? '<p>' + html + '</p>' : html; 27 }; 28 var setup$1 = function (editor) { 29 var separatorHtml = getSeparatorHtml(editor); 30 var shouldSplitBlock$1 = function () { 31 return shouldSplitBlock(editor); 32 }; 33 var pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function (a) { 34 return '\\' + a; 35 }), 'gi'); 36 editor.on('BeforeSetContent', function (e) { 37 e.content = e.content.replace(pageBreakSeparatorRegExp, getPlaceholderHtml(shouldSplitBlock$1())); 38 }); 39 editor.on('PreInit', function () { 40 editor.serializer.addNodeFilter('img', function (nodes) { 41 var i = nodes.length, node, className; 42 while (i--) { 43 node = nodes[i]; 44 className = node.attr('class'); 45 if (className && className.indexOf(pageBreakClass) !== -1) { 46 var parentNode = node.parent; 47 if (editor.schema.getBlockElements()[parentNode.name] && shouldSplitBlock$1()) { 48 parentNode.type = 3; 49 parentNode.value = separatorHtml; 50 parentNode.raw = true; 51 node.remove(); 52 continue; 53 } 54 node.type = 3; 55 node.value = separatorHtml; 56 node.raw = true; 57 } 58 } 59 }); 60 }); 61 }; 62 63 var register$1 = function (editor) { 64 editor.addCommand('mcePageBreak', function () { 65 editor.insertContent(getPlaceholderHtml(shouldSplitBlock(editor))); 66 }); 67 }; 68 69 var setup = function (editor) { 70 editor.on('ResolveName', function (e) { 71 if (e.target.nodeName === 'IMG' && editor.dom.hasClass(e.target, pageBreakClass)) { 72 e.name = 'pagebreak'; 73 } 74 }); 75 }; 76 77 var register = function (editor) { 78 var onAction = function () { 79 return editor.execCommand('mcePageBreak'); 80 }; 81 editor.ui.registry.addButton('pagebreak', { 82 icon: 'page-break', 83 tooltip: 'Page break', 84 onAction: onAction 85 }); 86 editor.ui.registry.addMenuItem('pagebreak', { 87 text: 'Page break', 88 icon: 'page-break', 89 onAction: onAction 90 }); 91 }; 92 93 function Plugin () { 94 global$1.add('pagebreak', function (editor) { 95 register$1(editor); 96 register(editor); 97 setup$1(editor); 98 setup(editor); 99 }); 100 } 101 102 Plugin(); 103 104 }());
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |