!(function() { 'use strict'; /* eslint-disable no-undef */ const global = tinymce.util.Tools.resolve('tinymce.PluginManager'); global.add('lineheight', function(editor) { editor.on('init', function() { editor.formatter.register({ lineheight: { selector: 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table', styles: { 'line-height': '%value' } } }); editor.ui.registry.addIcon( 'line-height', ` ` ); }); editor.ui.registry.addMenuButton('lineheightselect', { tooltip: 'Line height', icon: 'line-height', fetch: function(callback) { const defaultLineHeightFormats = '1 1.5 1.75 2 3 4 5'; const userSettings = editor.settings.lineheight_formats; const lineheightFormats = typeof userSettings === 'string' ? userSettings : defaultLineHeightFormats; const items = lineheightFormats.split(' ').map(item => { let text = item, value = item; const values = item.split('='); if (values.length > 1) { [text, value] = values; } return { type: 'menuitem', text: text, onAction: function() { editor.formatter.apply('lineheight', { value: value }); editor.fire('change', {}); } }; }); callback(items); } }); }); })();