sample.js 1.64 KB
/**

 * Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.

 * For licensing, see LICENSE.md or http://ckeditor.com/license

 */



// Tool scripts for the sample pages.

// This file can be ignored and is not required to make use of CKEditor.



( function() {

	CKEDITOR.on( 'instanceReady', function( ev ) {

		// Check for sample compliance.

		var editor = ev.editor,

			meta = CKEDITOR.document.$.getElementsByName( 'ckeditor-sample-required-plugins' ),

			requires = meta.length ? CKEDITOR.dom.element.get( meta[ 0 ] ).getAttribute( 'content' ).split( ',' ) : [],

			missing = [],

			i;



		if ( requires.length ) {

			for ( i = 0; i < requires.length; i++ ) {

				if ( !editor.plugins[ requires[ i ] ] )

					missing.push( '<code>' + requires[ i ] + '</code>' );

			}



			if ( missing.length ) {

				var warn = CKEDITOR.dom.element.createFromHtml(

					'<div class="warning">' +

						'<span>To fully experience this demo, the ' + missing.join( ', ' ) + ' plugin' + ( missing.length > 1 ? 's are' : ' is' ) + ' required.</span>' +

					'</div>'

				);

				warn.insertBefore( editor.container );

			}

		}



		// Set icons.

		var doc = new CKEDITOR.dom.document( document ),

			icons = doc.find( '.button_icon' );



		for ( i = 0; i < icons.count(); i++ ) {

			var icon = icons.getItem( i ),

				name = icon.getAttribute( 'data-icon' ),

				style = CKEDITOR.skin.getIconStyle( name, ( CKEDITOR.lang.dir == 'rtl' ) );



			icon.addClass( 'cke_button_icon' );

			icon.addClass( 'cke_button__' + name + '_icon' );

			icon.setAttribute( 'style', style );

			icon.setStyle( 'float', 'none' );



		}

	} );

} )();