You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							84 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							84 lines
						
					
					
						
							2.4 KiB
						
					
					
				| (function () { | |
| var nonbreaking = (function () { | |
|   'use strict'; | |
| 
 | |
|   var PluginManager = 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) ? '<span class="mce-nbsp"> </span>' : ' '; | |
|     editor.insertContent(stringRepeat(nbsp, times)); | |
|     editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1'); | |
|   }; | |
|   var $_3eiii6gcjd09ewo6 = { insertNbsp: insertNbsp }; | |
| 
 | |
|   var register = function (editor) { | |
|     editor.addCommand('mceNonBreaking', function () { | |
|       $_3eiii6gcjd09ewo6.insertNbsp(editor, 1); | |
|     }); | |
|   }; | |
|   var $_1587phgbjd09ewo5 = { register: register }; | |
| 
 | |
|   var VK = 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 $_g2ezvggfjd09ewo9 = { getKeyboardSpaces: getKeyboardSpaces }; | |
| 
 | |
|   var setup = function (editor) { | |
|     var spaces = $_g2ezvggfjd09ewo9.getKeyboardSpaces(editor); | |
|     if (spaces > 0) { | |
|       editor.on('keydown', function (e) { | |
|         if (e.keyCode === VK.TAB && !e.isDefaultPrevented()) { | |
|           if (e.shiftKey) { | |
|             return; | |
|           } | |
|           e.preventDefault(); | |
|           e.stopImmediatePropagation(); | |
|           $_3eiii6gcjd09ewo6.insertNbsp(editor, spaces); | |
|         } | |
|       }); | |
|     } | |
|   }; | |
|   var $_8r1qqcgdjd09ewo7 = { setup: setup }; | |
| 
 | |
|   var register$1 = function (editor) { | |
|     editor.addButton('nonbreaking', { | |
|       title: 'Nonbreaking space', | |
|       cmd: 'mceNonBreaking' | |
|     }); | |
|     editor.addMenuItem('nonbreaking', { | |
|       text: 'Nonbreaking space', | |
|       cmd: 'mceNonBreaking', | |
|       context: 'insert' | |
|     }); | |
|   }; | |
|   var $_3u1m13ggjd09ewoa = { register: register$1 }; | |
| 
 | |
|   PluginManager.add('nonbreaking', function (editor) { | |
|     $_1587phgbjd09ewo5.register(editor); | |
|     $_3u1m13ggjd09ewoa.register(editor); | |
|     $_8r1qqcgdjd09ewo7.setup(editor); | |
|   }); | |
|   function Plugin () { | |
|   } | |
| 
 | |
|   return Plugin; | |
| 
 | |
| }()); | |
| })()
 |