ckeditor/samples/old/api.html
changeset 0 44d330dccc59
equal deleted inserted replaced
-1:000000000000 0:44d330dccc59
       
     1 <!DOCTYPE html>
       
     2 <!--
       
     3 Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
       
     4 For licensing, see LICENSE.md or http://ckeditor.com/license
       
     5 -->
       
     6 <html>
       
     7 <head>
       
     8 	<meta charset="utf-8">
       
     9 	<title>API Usage &mdash; CKEditor Sample</title>
       
    10 	<script src="../../ckeditor.js"></script>
       
    11 	<link href="sample.css" rel="stylesheet">
       
    12 	<script>
       
    13 
       
    14 // The instanceReady event is fired, when an instance of CKEditor has finished
       
    15 // its initialization.
       
    16 CKEDITOR.on( 'instanceReady', function( ev ) {
       
    17 	// Show the editor name and description in the browser status bar.
       
    18 	document.getElementById( 'eMessage' ).innerHTML = 'Instance <code>' + ev.editor.name + '<\/code> loaded.';
       
    19 
       
    20 	// Show this sample buttons.
       
    21 	document.getElementById( 'eButtons' ).style.display = 'block';
       
    22 });
       
    23 
       
    24 function InsertHTML() {
       
    25 	// Get the editor instance that we want to interact with.
       
    26 	var editor = CKEDITOR.instances.editor1;
       
    27 	var value = document.getElementById( 'htmlArea' ).value;
       
    28 
       
    29 	// Check the active editing mode.
       
    30 	if ( editor.mode == 'wysiwyg' )
       
    31 	{
       
    32 		// Insert HTML code.
       
    33 		// http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml
       
    34 		editor.insertHtml( value );
       
    35 	}
       
    36 	else
       
    37 		alert( 'You must be in WYSIWYG mode!' );
       
    38 }
       
    39 
       
    40 function InsertText() {
       
    41 	// Get the editor instance that we want to interact with.
       
    42 	var editor = CKEDITOR.instances.editor1;
       
    43 	var value = document.getElementById( 'txtArea' ).value;
       
    44 
       
    45 	// Check the active editing mode.
       
    46 	if ( editor.mode == 'wysiwyg' )
       
    47 	{
       
    48 		// Insert as plain text.
       
    49 		// http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertText
       
    50 		editor.insertText( value );
       
    51 	}
       
    52 	else
       
    53 		alert( 'You must be in WYSIWYG mode!' );
       
    54 }
       
    55 
       
    56 function SetContents() {
       
    57 	// Get the editor instance that we want to interact with.
       
    58 	var editor = CKEDITOR.instances.editor1;
       
    59 	var value = document.getElementById( 'htmlArea' ).value;
       
    60 
       
    61 	// Set editor contents (replace current contents).
       
    62 	// http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData
       
    63 	editor.setData( value );
       
    64 }
       
    65 
       
    66 function GetContents() {
       
    67 	// Get the editor instance that you want to interact with.
       
    68 	var editor = CKEDITOR.instances.editor1;
       
    69 
       
    70 	// Get editor contents
       
    71 	// http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData
       
    72 	alert( editor.getData() );
       
    73 }
       
    74 
       
    75 function ExecuteCommand( commandName ) {
       
    76 	// Get the editor instance that we want to interact with.
       
    77 	var editor = CKEDITOR.instances.editor1;
       
    78 
       
    79 	// Check the active editing mode.
       
    80 	if ( editor.mode == 'wysiwyg' )
       
    81 	{
       
    82 		// Execute the command.
       
    83 		// http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-execCommand
       
    84 		editor.execCommand( commandName );
       
    85 	}
       
    86 	else
       
    87 		alert( 'You must be in WYSIWYG mode!' );
       
    88 }
       
    89 
       
    90 function CheckDirty() {
       
    91 	// Get the editor instance that we want to interact with.
       
    92 	var editor = CKEDITOR.instances.editor1;
       
    93 	// Checks whether the current editor contents present changes when compared
       
    94 	// to the contents loaded into the editor at startup
       
    95 	// http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty
       
    96 	alert( editor.checkDirty() );
       
    97 }
       
    98 
       
    99 function ResetDirty() {
       
   100 	// Get the editor instance that we want to interact with.
       
   101 	var editor = CKEDITOR.instances.editor1;
       
   102 	// Resets the "dirty state" of the editor (see CheckDirty())
       
   103 	// http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-resetDirty
       
   104 	editor.resetDirty();
       
   105 	alert( 'The "IsDirty" status has been reset' );
       
   106 }
       
   107 
       
   108 function Focus() {
       
   109 	CKEDITOR.instances.editor1.focus();
       
   110 }
       
   111 
       
   112 function onFocus() {
       
   113 	document.getElementById( 'eMessage' ).innerHTML = '<b>' + this.name + ' is focused </b>';
       
   114 }
       
   115 
       
   116 function onBlur() {
       
   117 	document.getElementById( 'eMessage' ).innerHTML = this.name + ' lost focus';
       
   118 }
       
   119 
       
   120 	</script>
       
   121 
       
   122 </head>
       
   123 <body>
       
   124 	<h1 class="samples">
       
   125 		<a href="index.html">CKEditor Samples</a> &raquo; Using CKEditor JavaScript API
       
   126 	</h1>
       
   127 	<div class="warning deprecated">
       
   128 		This sample is not maintained anymore. Check out its <a href="http://sdk.ckeditor.com/samples/api.html">brand new version in CKEditor SDK</a>.
       
   129 	</div>
       
   130 	<div class="description">
       
   131 	<p>
       
   132 		This sample shows how to use the
       
   133 		<a class="samples" href="http://docs.ckeditor.com/#!/api/CKEDITOR.editor">CKEditor JavaScript API</a>
       
   134 		to interact with the editor at runtime.
       
   135 	</p>
       
   136 	<p>
       
   137 		For details on how to create this setup check the source code of this sample page.
       
   138 	</p>
       
   139 	</div>
       
   140 
       
   141 	<!-- This <div> holds alert messages to be display in the sample page. -->
       
   142 	<div id="alerts">
       
   143 		<noscript>
       
   144 			<p>
       
   145 				<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
       
   146 				support, like yours, you should still see the contents (HTML data) and you should
       
   147 				be able to edit it normally, without a rich editor interface.
       
   148 			</p>
       
   149 		</noscript>
       
   150 	</div>
       
   151 	<form action="../../../samples/sample_posteddata.php" method="post">
       
   152 		<textarea cols="100" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>
       
   153 
       
   154 		<script>
       
   155 			// Replace the <textarea id="editor1"> with an CKEditor instance.
       
   156 			CKEDITOR.replace( 'editor1', {
       
   157 				on: {
       
   158 					focus: onFocus,
       
   159 					blur: onBlur,
       
   160 
       
   161 					// Check for availability of corresponding plugins.
       
   162 					pluginsLoaded: function( evt ) {
       
   163 						var doc = CKEDITOR.document, ed = evt.editor;
       
   164 						if ( !ed.getCommand( 'bold' ) )
       
   165 							doc.getById( 'exec-bold' ).hide();
       
   166 						if ( !ed.getCommand( 'link' ) )
       
   167 							doc.getById( 'exec-link' ).hide();
       
   168 					}
       
   169 				}
       
   170 			});
       
   171 		</script>
       
   172 
       
   173 		<p id="eMessage">
       
   174 		</p>
       
   175 
       
   176 		<div id="eButtons" style="display: none">
       
   177 			<input id="exec-bold" onclick="ExecuteCommand('bold');" type="button" value="Execute &quot;bold&quot; Command">
       
   178 			<input id="exec-link" onclick="ExecuteCommand('link');" type="button" value="Execute &quot;link&quot; Command">
       
   179 			<input onclick="Focus();" type="button" value="Focus">
       
   180 			<br><br>
       
   181 			<input onclick="InsertHTML();" type="button" value="Insert HTML">
       
   182 			<input onclick="SetContents();" type="button" value="Set Editor Contents">
       
   183 			<input onclick="GetContents();" type="button" value="Get Editor Contents (HTML)">
       
   184 			<br>
       
   185 			<textarea cols="100" id="htmlArea" rows="3">&lt;h2&gt;Test&lt;/h2&gt;&lt;p&gt;This is some &lt;a href="/Test1.html"&gt;sample&lt;/a&gt; HTML code.&lt;/p&gt;</textarea>
       
   186 			<br>
       
   187 			<br>
       
   188 			<input onclick="InsertText();" type="button" value="Insert Text">
       
   189 			<br>
       
   190 			<textarea cols="100" id="txtArea" rows="3">   First line with some leading whitespaces.
       
   191 
       
   192 Second line of text preceded by two line breaks.</textarea>
       
   193 			<br>
       
   194 			<br>
       
   195 			<input onclick="CheckDirty();" type="button" value="checkDirty()">
       
   196 			<input onclick="ResetDirty();" type="button" value="resetDirty()">
       
   197 		</div>
       
   198 	</form>
       
   199 	<div id="footer">
       
   200 		<hr>
       
   201 		<p>
       
   202 			CKEditor - The text editor for the Internet - <a class="samples" href="http://ckeditor.com/">http://ckeditor.com</a>
       
   203 		</p>
       
   204 		<p id="copy">
       
   205 			Copyright &copy; 2003-2016, <a class="samples" href="http://cksource.com/">CKSource</a> - Frederico
       
   206 			Knabben. All rights reserved.
       
   207 		</p>
       
   208 	</div>
       
   209 </body>
       
   210 </html>