CLICK HERE TO BUY IT TODAY! OR GET IT FREE VIA TRIALPAY  

PHP Demo Application - Source Code

/Framework/Model/Vendor/CkEditor/_source/plugins/editingblock/plugin.js



/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
/**
 * @fileOverview The default editing block plugin, which holds the editing area
 *        and source view.
 */
(function()
{
	    var getMode = function( editormode )
	    {
		        return editor._.modes && editor._.modesmode || editor.mode ];
		    };
	    // This is a semaphore used to avoid recursive calls between
	    // the following data handling functions.
	    var isHandlingData;
	    CKEDITOR.plugins.add'editingblock',
	    {
		        init : function( editor )
		        {
			            if ( !editor.config.editingBlock )
			                return;
			            editor.on'themeSpace', function( event )
			                {
				                    if ( event.data.space == 'contents' )
				                        event.data.html += '<br>';
				                });
			            editor.on'themeLoaded', function()
			                {
				                    editor.fireOnce'editingBlockReady' );
				                });
			            editor.on'uiReady', function()
			                {
				                    editor.setModeeditor.config.startupMode );
				                });
			            editor.on'afterSetData', function()
			                {
				                    if ( !isHandlingData )
				                    {
					                        function setData()
					                        {
						                            isHandlingData true;
						                            getModeeditor ).loadDataeditor.getData() );
						                            isHandlingData false;
						                        }
					                        if ( editor.mode )
					                            setData();
					                        else
					                        {
						                            editor.on'mode', function()
						                                {
							                                    setData();
							                                    editor.removeListener'mode'arguments.callee );
							                                });
						                        }
					                    }
				                });
			            editor.on'beforeGetData', function()
			                {
				                    if ( !isHandlingData && editor.mode )
				                    {
					                        isHandlingData true;
					                        editor.setDatagetModeeditor ).getData() );
					                        isHandlingData false;
					                    }
				                });
			            editor.on'getSnapshot', function( event )
			                {
				                    if ( editor.mode )
				                        event.data getModeeditor ).getSnapshotData();
				                });
			            editor.on'loadSnapshot', function( event )
			                {
				                    if ( editor.mode )
				                        getModeeditor ).loadSnapshotDataevent.data );
				                });
			            // For the first "mode" call, we'll also fire the "instanceReady"
			            // event.
			            editor.on'mode', function( event )
			                {
				                    // Do that once only.
				                    event.removeListener();
				                    // Redirect the focus into editor for webkit. (#5713)
				                    CKEDITOR.env.webkit && editor.container.on'focus', function()
				                        {
					                            editor.focus();
					                        });
				                    if ( editor.config.startupFocus )
				                        editor.focus();
				                    // Fire instanceReady for both the editor and CKEDITOR, but
				                    // defer this until the whole execution has completed
				                    // to guarantee the editor is fully responsible.
				                    setTimeout( function(){
					                        editor.fireOnce'instanceReady' );
					                        CKEDITOR.fire'instanceReady'nulleditor );
					                    }, );
				                });
			        }
		    });
	    /**
	     * The current editing mode. An editing mode is basically a viewport for
	     * editing or content viewing. By default the possible values for this
	     * property are "wysiwyg" and "source".
	     * @type String
	     * @example
	     * alert( CKEDITOR.instances.editor1.mode );
	  // "wysiwyg" (e.g.)
	     */
	    CKEDITOR.editor.prototype.mode '';
	    /**
	     * Registers an editing mode. This function is to be used mainly by plugins.
	     * @param {String} mode The mode name.
	     * @param {Object} modeEditor The mode editor definition.
	     * @example
	     */
	    CKEDITOR.editor.prototype.addMode = function( modemodeEditor )
	    {
		        modeEditor.name mode;
		        ( this._.modes || ( this._.modes {} ) )[ mode ] = modeEditor;
		    };
	    /**
	     * Sets the current editing mode in this editor instance.
	     * @param {String} mode A registered mode name.
	     * @example
	     * // Switch to "source" view.
	     * CKEDITOR.instances.editor1.setMode( 'source' );
	     */
	    CKEDITOR.editor.prototype.setMode = function( mode )
	    {
		        var data,
		            holderElement this.getThemeSpace'contents' ),
		            isDirty this.checkDirty();
		        // Unload the previous mode.
		        if ( this.mode )
		        {
			            if ( mode == this.mode )
			                return;
			            this.fire'beforeModeUnload' );
			            var currentMode getModethis );
			            data currentMode.getData();
			            currentMode.unloadholderElement );
			            this.mode '';
			        }
		        holderElement.setHtml'' );
		        // Load required mode.
		        var modeEditor getModethismode );
		        if ( !modeEditor )
		            throw '[CKEDITOR.editor.setMode] Unknown mode "' mode '".';
		        if ( !isDirty )
		        {
			            this.on'mode', function()
			                {
				                    this.resetDirty();
				                    this.removeListener'mode'arguments.callee );
				                });
			        }
		        modeEditor.loadholderElement, ( typeof data ) != 'string'  this.getData() : data);
		    };
	    /**
	     * Moves the selection focus to the editing are space in the editor.
	     */
	    CKEDITOR.editor.prototype.focus = function()
	    {
		        var mode getModethis );
		        if ( mode )
		            mode.focus();
		    };
	})();
/**
 * The mode to load at the editor startup. It depends on the plugins
 * loaded. By default, the "wysiwyg" and "source" modes are available.
 * @type String
 * @default 'wysiwyg'
 * @example
 * config.startupMode = 'source';
 */
CKEDITOR.config.startupMode 'wysiwyg';
/**
 * Sets whether the editor should have the focus when the page loads.
 * @type Boolean
 * @default false
 * @example
 * config.startupFocus = true;
 */
CKEDITOR.config.startupFocus false;
/**
 * Whether to render or not the editing block area in the editor interface.
 * @type Boolean
 * @default true
 * @example
 * config.editingBlock = false;
 */
CKEDITOR.config.editingBlock true;
/**
 * Fired when a CKEDITOR instance is created, fully initialized and ready for interaction.
 * @name CKEDITOR#instanceReady
 * @event
 * @param {CKEDITOR.editor} editor The editor instance that has been created.
 */





PHP Demo Source Code Index