first commit
This commit is contained in:
151
libraries/ckeditor/plugins/texttransform/plugin.js
Normal file
151
libraries/ckeditor/plugins/texttransform/plugin.js
Normal file
@@ -0,0 +1,151 @@
|
||||
/**
|
||||
* @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'
|
||||
} );
|
||||
}
|
||||
} );
|
||||
Reference in New Issue
Block a user