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

PHP Demo Application - Source Code

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



/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
/**
 * @file Justify commands.
 */
(function()
{
	    function getStateeditorpath )
	    {
		        var firstBlock path.block || path.blockLimit;
		        if ( !firstBlock || firstBlock.getName() == 'body' )
		            return CKEDITOR.TRISTATE_OFF;
		        return ( getAlignmentfirstBlockeditor.config.useComputedState ) == this.value ) ?
		            CKEDITOR.TRISTATE_ON :
		            CKEDITOR.TRISTATE_OFF;
		    }
	    function getAlignmentelementuseComputedState )
	    {
		        useComputedState useComputedState === undefined || useComputedState;
		        var align;
		        if ( useComputedState )
		            align element.getComputedStyle'text-align' );
		        else
		        {
			            while ( !element.hasAttribute || !( element.hasAttribute'align' ) || element.getStyle'text-align' ) ) )
			            {
				                var parent element.getParent();
				                if ( !parent )
				                    break;
				                element parent;
				            }
			            align element.getStyle'text-align' ) || element.getAttribute'align' ) || '';
			        }
		        align && ( align align.replace( /-moz-|-webkit-|start|auto/i'' ) );
		        !align && useComputedState && ( align element.getComputedStyle'direction' ) == 'rtl' 'right' 'left' );
		        return align;
		    }
	    function onSelectionChangeevt )
	    {
		        var command evt.editor.getCommandthis.name );
		        command.state getState.callthisevt.editorevt.data.path );
		        command.fire'state' );
		    }
	    function justifyCommandeditornamevalue )
	    {
		        this.name name;
		        this.value value;
		        var classes editor.config.justifyClasses;
		        if ( classes )
		        {
			            switch ( value )
			            {
				                case 'left' :
				                    this.cssClassName classes[0];
				                    break;
				                case 'center' :
				                    this.cssClassName classes[1];
				                    break;
				                case 'right' :
				                    this.cssClassName classes[2];
				                    break;
				                case 'justify' :
				                    this.cssClassName classes[3];
				                    break;
				            }
			            this.cssClassRegex = new RegExp'(?:^|\\s+)(?:' classes.join'|' ) + ')(?=$|\\s)' );
			        }
		    }
	    justifyCommand.prototype = {
		        exec : function( editor )
		        {
			            var selection editor.getSelection(),
			                enterMode editor.config.enterMode;
			            if ( !selection )
			                return;
			            var bookmarks selection.createBookmarks(),
			                ranges selection.getRangestrue );
			            var cssClassName this.cssClassName,
			                iterator,
			                block;
			            var useComputedState editor.config.useComputedState;
			            useComputedState useComputedState === undefined || useComputedState;
			            for ( var ranges.length ;
			 >= ;
			 i-- )
			            {
				                iterator ranges].createIterator();
				                iterator.enlargeBr enterMode != CKEDITOR.ENTER_BR;
				                while ( ( block iterator.getNextParagraph() ) )
				                {
					                    block.removeAttribute'align' );
					                    block.removeStyle'text-align' );
					                    // Remove any of the alignment classes from the className.
					                    var className cssClassName && ( block.$.className =
					                        CKEDITOR.tools.ltrimblock.$.className.replacethis.cssClassRegex'' ) ) );
					                    var apply =
					                        ( this.state == CKEDITOR.TRISTATE_OFF ) &&
					                        ( !useComputedState || ( getAlignmentblocktrue ) != this.value ) );
					                    if ( cssClassName )
					                    {
						                        // Append the desired class name.
						                        if ( apply )
						                            block.addClasscssClassName );
						                        else if ( !className )
						                            block.removeAttribute'class' );
						                    }
					                    else if ( apply )
					                        block.setStyle'text-align'this.value );
					                }
				            }
			            editor.focus();
			            editor.forceNextSelectionCheck();
			            selection.selectBookmarksbookmarks );
			        }
		    };
	    CKEDITOR.plugins.add'justify',
	    {
		        init : function( editor )
		        {
			            var left = new justifyCommandeditor'justifyleft''left' ),
			                center = new justifyCommandeditor'justifycenter''center' ),
			                right = new justifyCommandeditor'justifyright''right' ),
			                justify = new justifyCommandeditor'justifyblock''justify' );
			            editor.addCommand'justifyleft'left );
			            editor.addCommand'justifycenter'center );
			            editor.addCommand'justifyright'right );
			            editor.addCommand'justifyblock'justify );
			            editor.ui.addButton'JustifyLeft',
			                {
				                    label editor.lang.justify.left,
				                    command 'justifyleft'
				                } );
			            editor.ui.addButton'JustifyCenter',
			                {
				                    label editor.lang.justify.center,
				                    command 'justifycenter'
				                } );
			            editor.ui.addButton'JustifyRight',
			                {
				                    label editor.lang.justify.right,
				                    command 'justifyright'
				                } );
			            editor.ui.addButton'JustifyBlock',
			                {
				                    label editor.lang.justify.block,
				                    command 'justifyblock'
				                } );
			            editor.on'selectionChange'CKEDITOR.tools.bindonSelectionChangeleft ) );
			            editor.on'selectionChange'CKEDITOR.tools.bindonSelectionChangeright ) );
			            editor.on'selectionChange'CKEDITOR.tools.bindonSelectionChangecenter ) );
			            editor.on'selectionChange'CKEDITOR.tools.bindonSelectionChangejustify ) );
			        },
		        requires : [ 'domiterator' ]
		    });
	})();
CKEDITOR.tools.extendCKEDITOR.config,
    {
	        justifyClasses null
	    } );





PHP Demo Source Code Index