| Server IP : 210.245.233.93 / Your IP : 216.73.216.226 Web Server : Apache/2.2.15 (CentOS) System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 User : apache ( 48) PHP Version : 5.3.3 Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/hkosl.com/ergofito/webadmin/editor/plugins/visualchars/ |
Upload File : |
/**
* 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('visualchars', function(editor) {
var self = this, state;
function toggleVisualChars(addBookmark) {
var node, nodeList, i, body = editor.getBody(), nodeValue, selection = editor.selection, div, bookmark;
state = !state;
self.state = state;
editor.fire('VisualChars', {state: state});
if (addBookmark) {
bookmark = selection.getBookmark();
}
if (state) {
nodeList = [];
tinymce.walk(body, function(n) {
if (n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1) {
nodeList.push(n);
}
}, 'childNodes');
for (i = 0; i < nodeList.length; i++) {
nodeValue = nodeList[i].nodeValue;
nodeValue = nodeValue.replace(/(\u00a0)/g, '<span data-mce-bogus="1" class="mce-nbsp">$1</span>');
div = editor.dom.create('div', null, nodeValue);
while ((node = div.lastChild)) {
editor.dom.insertAfter(node, nodeList[i]);
}
editor.dom.remove(nodeList[i]);
}
} else {
nodeList = editor.dom.select('span.mce-nbsp', body);
for (i = nodeList.length - 1; i >= 0; i--) {
editor.dom.remove(nodeList[i], 1);
}
}
selection.moveToBookmark(bookmark);
}
function toggleActiveState() {
var self = this;
editor.on('VisualChars', function(e) {
self.active(e.state);
});
}
editor.addCommand('mceVisualChars', toggleVisualChars);
editor.addButton('visualchars', {
title: 'Show invisible characters',
cmd: 'mceVisualChars',
onPostRender: toggleActiveState
});
editor.addMenuItem('visualchars', {
text: 'Show invisible characters',
cmd: 'mceVisualChars',
onPostRender: toggleActiveState,
selectable: true,
context: 'view',
prependToContext: true
});
editor.on('beforegetcontent', function(e) {
if (state && e.format != 'raw' && !e.draft) {
state = true;
toggleVisualChars(false);
}
});
});