(function () { var nonbreaking = (function () { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var stringRepeat = function (string, repeats) { var str = ''; for (var index = 0; index < repeats; index++) { str += string; } return str; }; var isVisualCharsEnabled = function (editor) { return editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false; }; var insertNbsp = function (editor, times) { var nbsp = isVisualCharsEnabled(editor) ? ' ' : ' '; editor.insertContent(stringRepeat(nbsp, times)); editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1'); }; var $_eqfkn3htjjgwecrh = { insertNbsp: insertNbsp }; var register = function (editor) { editor.addCommand('mceNonBreaking', function () { $_eqfkn3htjjgwecrh.insertNbsp(editor, 1); }); }; var $_duyz3ehsjjgwecrg = { register: register }; var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK'); var getKeyboardSpaces = function (editor) { var spaces = editor.getParam('nonbreaking_force_tab', 0); if (typeof spaces === 'boolean') { return spaces === true ? 3 : 0; } else { return spaces; } }; var $_7krohxhwjjgwecrk = { getKeyboardSpaces: getKeyboardSpaces }; var setup = function (editor) { var spaces = $_7krohxhwjjgwecrk.getKeyboardSpaces(editor); if (spaces > 0) { editor.on('keydown', function (e) { if (e.keyCode === global$1.TAB && !e.isDefaultPrevented()) { if (e.shiftKey) { return; } e.preventDefault(); e.stopImmediatePropagation(); $_eqfkn3htjjgwecrh.insertNbsp(editor, spaces); } }); } }; var $_cy5vbshujjgwecri = { setup: setup }; var register$1 = function (editor) { editor.addButton('nonbreaking', { title: 'Nonbreaking space', cmd: 'mceNonBreaking' }); editor.addMenuItem('nonbreaking', { icon: 'nonbreaking', text: 'Nonbreaking space', cmd: 'mceNonBreaking', context: 'insert' }); }; var $_6surrthxjjgwecrl = { register: register$1 }; global.add('nonbreaking', function (editor) { $_duyz3ehsjjgwecrg.register(editor); $_6surrthxjjgwecrl.register(editor); $_cy5vbshujjgwecri.setup(editor); }); function Plugin () { } return Plugin; }()); })();