Blame view

public/ckeditor/samples/js/sample.js 1.52 KB
180e53f58   Андрей Ларионов   Редактор ckeditor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
  /**
   * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
   * CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model.
   */
  
  /* exported initSample */
  
  if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 )
  	CKEDITOR.tools.enableHtml5Elements( document );
  
  // The trick to keep the editor in the sample quite small
  // unless user specified own height.
  CKEDITOR.config.height = 150;
  CKEDITOR.config.width = 'auto';
  
  var initSample = ( function() {
  	var wysiwygareaAvailable = isWysiwygareaAvailable(),
  		isBBCodeBuiltIn = !!CKEDITOR.plugins.get( 'bbcode' );
  
  	return function() {
  		var editorElement = CKEDITOR.document.getById( 'editor' );
  
  		// :(((
  		if ( isBBCodeBuiltIn ) {
  			editorElement.setHtml(
  				'Hello world!
  
  ' +
  				'I\'m an instance of [url=https://ckeditor.com]CKEditor[/url].'
  			);
  		}
  
  		// Depending on the wysiwygarea plugin availability initialize classic or inline editor.
  		if ( wysiwygareaAvailable ) {
  			CKEDITOR.replace( 'editor' );
  		} else {
  			editorElement.setAttribute( 'contenteditable', 'true' );
  			CKEDITOR.inline( 'editor' );
  
  			// TODO we can consider displaying some info box that
  			// without wysiwygarea the classic editor may not work.
  		}
  	};
  
  	function isWysiwygareaAvailable() {
  		// If in development mode, then the wysiwygarea must be available.
  		// Split REV into two strings so builder does not replace it :D.
  		if ( CKEDITOR.revision == ( '%RE' + 'V%' ) ) {
  			return true;
  		}
  
  		return !!CKEDITOR.plugins.get( 'wysiwygarea' );
  	}
  } )();