mirror of
https://github.com/UnickSoft/graphonline.git
synced 2025-07-01 23:36:00 +00:00
152 lines
5.5 KiB
JavaScript
Executable File
152 lines
5.5 KiB
JavaScript
Executable File
/**
|
|
* @authors: Önder Ceylan <onderceylan@gmail.com>, PPKRAUSS https://github.com/ppKrauss
|
|
* @license Licensed under the terms of GPL, LGPL and MPL licenses.
|
|
* @version 1.1
|
|
* @history v1.0 at 2013-05-09 by onderceylan, v1.1 at 2013-08-27 by ppkrauss.
|
|
*/
|
|
|
|
CKEDITOR.plugins.add('texttransform',
|
|
{
|
|
|
|
// define lang codes for available lang files here
|
|
lang: 'en,tr',
|
|
|
|
// plugin initialise
|
|
init: function(editor)
|
|
{
|
|
// set num for switcher loop
|
|
var num = 0;
|
|
|
|
// add transformTextSwitch command to be used with button
|
|
editor.addCommand('transformTextSwitch',
|
|
{
|
|
exec : function()
|
|
{
|
|
var selection = editor.getSelection();
|
|
var commandArray = ['transformTextToUppercase', 'transformTextToLowercase', 'transformTextCapitalize'];
|
|
|
|
if (selection.getSelectedText().length > 0) {
|
|
|
|
selection.lock();
|
|
|
|
editor.execCommand( commandArray[num] );
|
|
|
|
selection.unlock(true);
|
|
|
|
if (num < commandArray.length - 1) {
|
|
num++;
|
|
} else {
|
|
num = 0;
|
|
}
|
|
|
|
}
|
|
}
|
|
});
|
|
|
|
// add transformTextToUppercase command to be used with buttons and 'execCommand' method
|
|
editor.addCommand('transformTextToUppercase',
|
|
{
|
|
exec : function()
|
|
{
|
|
var selection = editor.getSelection();
|
|
if (selection.getSelectedText().length > 0) {
|
|
var ranges = selection.getRanges(),
|
|
walker = new CKEDITOR.dom.walker( ranges[0] ),
|
|
node;
|
|
while ( ( node = walker.next() ) )
|
|
if ( node.type == CKEDITOR.NODE_TEXT && node.getText() )
|
|
if (editor.langCode == "tr") {
|
|
node.$.textContent = node.$.textContent.trToUpperCase();
|
|
} else {
|
|
node.$.textContent = node.$.textContent.toLocaleUpperCase();
|
|
}
|
|
}//if
|
|
} //func
|
|
});
|
|
|
|
// add transformTextToUppercase command to be used with buttons and 'execCommand' method
|
|
editor.addCommand('transformTextToLowercase',
|
|
{
|
|
exec : function()
|
|
{
|
|
var selection = editor.getSelection();
|
|
if (selection.getSelectedText().length > 0) {
|
|
var ranges = selection.getRanges(),
|
|
walker = new CKEDITOR.dom.walker( ranges[0] ),
|
|
node;
|
|
while ( ( node = walker.next() ) )
|
|
if ( node.type == CKEDITOR.NODE_TEXT && node.getText() )
|
|
if (editor.langCode == "tr") {
|
|
node.$.textContent = node.$.textContent.trToLowerCase();
|
|
} else {
|
|
node.$.textContent = node.$.textContent.toLocaleLowerCase();
|
|
}
|
|
|
|
}//if
|
|
|
|
}
|
|
});
|
|
|
|
// add transformTextCapitalize command to be used with buttons and 'execCommand' method
|
|
editor.addCommand( 'transformTextCapitalize',
|
|
{
|
|
exec : function()
|
|
{
|
|
var selection = editor.getSelection();
|
|
if (selection.getSelectedText().length > 0) {
|
|
var ranges = selection.getRanges(),
|
|
walker = new CKEDITOR.dom.walker( ranges[0] ),
|
|
node;
|
|
while ( ( node = walker.next() ) )
|
|
if ( node.type == CKEDITOR.NODE_TEXT && node.getText() )
|
|
node.$.textContent = node.$.textContent.replace(
|
|
/[^\s]\S*/g,
|
|
function(txt){
|
|
if (editor.langCode == "tr") {
|
|
return txt.charAt(0).trToUpperCase() +
|
|
txt.substr(1).trToLowerCase();
|
|
} else {
|
|
return txt.charAt(0).toLocaleUpperCase() +
|
|
txt.substr(1).toLocaleLowerCase();
|
|
}
|
|
|
|
}
|
|
);
|
|
}//if
|
|
}
|
|
});
|
|
|
|
// add TransformTextSwitcher button to editor
|
|
editor.ui.addButton('TransformTextSwitcher',
|
|
{
|
|
label: editor.lang.texttransform.transformTextSwitchLabel,
|
|
command: 'transformTextSwitch',
|
|
icon: this.path + 'images/transformSwitcher.png'
|
|
} );
|
|
|
|
// add TransformTextToLowercase button to editor
|
|
editor.ui.addButton('TransformTextToLowercase',
|
|
{
|
|
label: editor.lang.texttransform.transformTextToLowercaseLabel,
|
|
command: 'transformTextToLowercase',
|
|
icon: this.path + 'images/transformToLower.png'
|
|
} );
|
|
|
|
// add TransformTextToUppercase button to editor
|
|
editor.ui.addButton('TransformTextToUppercase',
|
|
{
|
|
label: editor.lang.texttransform.transformTextToUppercaseLabel,
|
|
command: 'transformTextToUppercase',
|
|
icon: this.path + 'images/transformToUpper.png'
|
|
} );
|
|
|
|
// add TransformTextCapitalize button to editor
|
|
editor.ui.addButton('TransformTextCapitalize',
|
|
{
|
|
label: editor.lang.texttransform.transformTextCapitalizeLabel,
|
|
command: 'transformTextCapitalize',
|
|
icon: this.path + 'images/transformCapitalize.png'
|
|
} );
|
|
}
|
|
} );
|