bugfixes et cosmétique.
[ckeditor.git] / skins / ckeditor / samples / sample.js
1 /**
2 * Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
3 * For licensing, see LICENSE.md or http://ckeditor.com/license
4 */
5
6 // Tool scripts for the sample pages.
7 // This file can be ignored and is not required to make use of CKEditor.
8
9 ( function() {
10 CKEDITOR.on( 'instanceReady', function( ev ) {
11 // Check for sample compliance.
12 var editor = ev.editor,
13 meta = CKEDITOR.document.$.getElementsByName( 'ckeditor-sample-required-plugins' ),
14 requires = meta.length ? CKEDITOR.dom.element.get( meta[ 0 ] ).getAttribute( 'content' ).split( ',' ) : [],
15 missing = [],
16 i;
17
18 if ( requires.length ) {
19 for ( i = 0; i < requires.length; i++ ) {
20 if ( !editor.plugins[ requires[ i ] ] )
21 missing.push( '<code>' + requires[ i ] + '</code>' );
22 }
23
24 if ( missing.length ) {
25 var warn = CKEDITOR.dom.element.createFromHtml(
26 '<div class="warning">' +
27 '<span>To fully experience this demo, the ' + missing.join( ', ' ) + ' plugin' + ( missing.length > 1 ? 's are' : ' is' ) + ' required.</span>' +
28 '</div>'
29 );
30 warn.insertBefore( editor.container );
31 }
32 }
33
34 // Set icons.
35 var doc = new CKEDITOR.dom.document( document ),
36 icons = doc.find( '.button_icon' );
37
38 for ( i = 0; i < icons.count(); i++ ) {
39 var icon = icons.getItem( i ),
40 name = icon.getAttribute( 'data-icon' ),
41 style = CKEDITOR.skin.getIconStyle( name, ( CKEDITOR.lang.dir == 'rtl' ) );
42
43 icon.addClass( 'cke_button_icon' );
44 icon.addClass( 'cke_button__' + name + '_icon' );
45 icon.setAttribute( 'style', style );
46 icon.setStyle( 'float', 'none' );
47
48 }
49 } );
50 } )();