/** * letterspacing 1.6v 2021-5-14 * The tinymce-plugins is used to set the word spacing * * https://github.com/Five-great/tinymce-plugins * * Copyright 2020, Five(Li Hailong) The Chengdu, China https://www.fivecc.cn/ * * Licensed under MIT */ tinymce.PluginManager.add('letterspacing', function(editor, url) { var pluginName='设置间距'; var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools'); var letterspacing_val = editor.getParam('letterspacing', '0px 1px 2px 4px 6px 8px 10px 20px 40px'); editor.on('init', function() { editor.formatter.register({ letterspacing: { inline: 'span', styles: { 'letter-spacing': '%value' }, } }); }); var doAct = function (value) { upIndent2em(value); }; function getChildren(curEle,tagName){ if( curEle.nodeName.toLowerCase() === tagName){ return curEle;} var nodeList = curEle.childNodes; var ary = []; if(/MSIE(6|7|8)/.test(navigator.userAgent)){ for(var i=0;i'); editor.ui.registry.addMenuButton('letterspacing', { icon: 'letterspacing', tooltip: pluginName, fetch: function(callback) { var dom = editor.dom; var block = editor.selection.getStart(); var lhv = 0; block = getChildren(block,'span') if(lhv==0){ lhv = dom.getStyle(block,'letter-spacing') ? dom.getStyle(block,'letter-spacing') : 0; } var items = letterspacing_val.split(' ').map(function(item){ var text = item; var value = item; return { type: 'togglemenuitem', text: text, active : lhv==value ? true :false, onAction: function() { doAct(value); } }; }); callback(items); } }); return { getMetadata: function () { return { name: pluginName, url: "https://github.com/Five-great/tinymce-plugins", }; } }; });