1 /* 2 * CKEditor - The text editor for Internet - http://ckeditor.com 3 * Copyright (C) 2003-2008 Frederico Caldeira Knabben 4 * 5 * == BEGIN LICENSE == 6 * 7 * Licensed under the terms of any of the following licenses at your 8 * choice: 9 * 10 * - GNU General Public License Version 2 or later (the "GPL") 11 * http://www.gnu.org/licenses/gpl.html 12 * 13 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 14 * http://www.gnu.org/licenses/lgpl.html 15 * 16 * - Mozilla Public License Version 1.1 or later (the "MPL") 17 * http://www.mozilla.org/MPL/MPL-1.1.html 18 * 19 * == END LICENSE == 20 */ 21 22 /** 23 * @fileOverview The "sourcearea" plugin. It registers the "source" editing 24 * mode, which displays the raw data being edited in the editor. 25 */ 26 27 CKEDITOR.plugins.add( 'sourcearea', 28 { 29 init : function( editor, pluginPath ) 30 { 31 editor.on( 'editingBlockReady', function() 32 { 33 var textarea; 34 35 editor.addMode( 'source', 36 { 37 load : function( holderElement, data ) 38 { 39 // Create the source area <textarea>. 40 textarea = new CKEDITOR.dom.element( 'textarea' ); 41 textarea.setAttribute( 'dir', 'ltr' ); 42 textarea.addClass( 'cke_source' ); 43 textarea.setStyles({ 44 width : '100%', 45 height : '100%', 46 resize : 'none', 47 outline : 'none', 48 'text-align' : 'left' }); 49 50 // Set the <textarea> value. 51 this.loadData( data ); 52 53 // Reset the holder element and append the 54 // <textarea> to it. 55 holderElement.setHtml( '' ); 56 holderElement.append( textarea ); 57 }, 58 59 loadData : function( data ) 60 { 61 textarea.$.value = data; 62 }, 63 64 getData : function() 65 { 66 return textarea.$.value; 67 }, 68 69 unload : function( holderElement ) 70 { 71 textarea = null; 72 } 73 }); 74 }); 75 } 76 }); 77