| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /**
- * plugin.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
- /*global tinymce:true */
- tinymce.PluginManager.add('nonbreaking', function(editor) {
- var setting = editor.getParam('nonbreaking_force_tab');
- editor.addCommand('mceNonBreaking', function() {
- editor.insertContent(
- (editor.plugins.visualchars && editor.plugins.visualchars.state) ?
- '<span class="mce-nbsp"> </span>' : ' '
- );
- editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1');
- });
- editor.addButton('nonbreaking', {
- title: 'Insert nonbreaking space',
- cmd: 'mceNonBreaking'
- });
- editor.addMenuItem('nonbreaking', {
- text: 'Nonbreaking space',
- cmd: 'mceNonBreaking',
- context: 'insert'
- });
- if (setting) {
- var spaces = +setting > 1 ? +setting : 3; // defaults to 3 spaces if setting is true (or 1)
- editor.on('keydown', function(e) {
- if (e.keyCode == 9) {
- if (e.shiftKey) {
- return;
- }
- e.preventDefault();
- for (var i = 0; i < spaces; i++) {
- editor.execCommand('mceNonBreaking');
- }
- }
- });
- }
- });
|