tinymce.Editor

Namespace tinymce
Class Editor
This class contains the core logic for a TinyMCE editor.

Example

Public Properties

Property Defined By
URI object to current document that holds the TinyMCE editor instance.
Editor
contentCSS : Array
Array with CSS files to load into the iframe.
Editor
contentStyles : Array
Array of CSS styles to add to head of document when the editor loads.
Editor
Control manager instance for the editor.
Editor
URI object to document configured for the TinyMCE instance.
Editor
DOM instance for the editor.
Editor
Formatter instance.
Editor
id : String
Editor instance id, normally the same as the div/textarea that was replaced.
Editor
initialized : Boolean
Is set to true after the editor instance has been initialized
Editor
isNotDirty : Boolean
State to force the editor to return false on a isDirty call.
Editor
HTML parser will be used when contents is inserted into the editor.
Editor
plugins : Object
Name/Value object containting plugin instances.
Editor
Schema instance, enables you to validate elements and it's children.
Editor
Selection instance for the editor.
Editor
DOM serializer for the editor.
Editor
settings : Object
Name/value collection with editor settings.
Editor
Reference to the theme instance that was used to generate the UI.
Editor
Undo manager instance, responsible for handling undo levels.
Editor
Window manager reference, use this to open new windows and dialogs.
Editor

Public Methods

Method Defined By
Editor(id:String, settings:Object)
Constructs a editor instance by id.
Editor
addButton(name:String, settings:Object):void
Adds a button that later gets created by the ControlManager.
Editor
addCommand(name:String, callback:tinymce.Editor.addCommandCallback, scope:Object):void
Adds a custom command to the editor, you can also override existing commands with this method.
Editor
addQueryStateHandler(name:String, callback:tinymce.Editor.addQueryStateHandlerCallback, scope:Object):void
Adds a custom query state command to the editor, you can also override existing commands with this method.
Editor
addQueryValueHandler(name:String, callback:tinymce.Editor.addQueryValueHandlerCallback, scope:Object):void
Adds a custom query value command to the editor, you can also override existing commands with this method.
Editor
addShortcut(pa:String, desc:String, cmd_func:String/Function, sc:Object):Boolean
Adds a keyboard shortcut for some command or function.
Editor
addVisual(elm:Element):void
Adds visual aid for tables, anchors etc so they can be more easily edited inside the editor.
Editor
convertURL(url:string, name:string, elm:string/HTMLElement):string
URL converter function this gets executed each time a user adds an img, a or any other element that has a URL in it.
Editor
destroy(s:Boolean):void
Destroys the editor instance by removing all events, element references or other resources that could leak memory.
Editor
execCallback(n:String):Object
Executes a legacy callback.
Editor
execCommand(cmd:String, ui:Boolean, val:mixed, a:Object):Boolean
Executes a command on the current instance.
Editor
focus(skip_focus:Boolean):void
Focuses/activates the editor.
Editor
getBody():Element
Returns the iframes body element.
Editor
getContainer():Element
Returns the editors container element.
Editor
getContent(args:Object):String
Gets the content from the editor instance, this will cleanup the content before it gets returned using the different cle...
Editor
Returns the editors content area container element.
Editor
getDoc():Document
Returns the iframes document object.
Editor
getElement():Element
Returns the target element/textarea that got replaced with a TinyMCE editor instance.
Editor
getLang(n:String, dv:String):void
Returns a language pack item by name/key.
Editor
getParam(n:String, dv:String, ty:String):String
Returns a configuration parameter by name.
Editor
getWin():Window
Returns the iframes window object.
Editor
hide():void
Hides the editor and shows any textarea/div that the editor is supposed to replace.
Editor
init():void
Initializes the editor this will be called automatically when all plugins/themes and language packs are loaded by the re...
Editor
This method get called by the init method ones the iframe is loaded.
Editor
isDirty():Boolean
Returns true/false if the editor is dirty or not.
Editor
isHidden():Boolean
Returns true/false if the editor is hidden or not.
Editor
load(o:Object):String
Loads contents from the textarea or div element that got converted into an editor instance.
Editor
nodeChanged(o:Object):void
Distpaches out a onNodeChange event to all observers.
Editor
queryCommandState(cmd:string):Boolean
Returns a command specific state, for example if bold is enabled or not.
Editor
queryCommandValue(c:string):Object
Returns a command specific value, for example the current font size.
Editor
remove():void
Removes the editor from the dom and tinymce collection.
Editor
render():void
Renderes the editor/adds it to the page.
Editor
save(o:Object):String
Saves the contents from a editor out to the textarea or div element that got converted into an editor instance.
Editor
setContent(content:String, args:Object):String
Sets the specified content to the editor instance, this will cleanup the content before it gets set using the different ...
Editor
setProgressState(b:Boolean, ti:Number, o:Object):Boolean
Sets the progress state, this will display a throbber/progess for the editor.
Editor
show():void
Shows the editor and hides any textarea/div that the editor is supposed to replace.
Editor
translate(s:String):String
Translates the specified string by replacing variables with language pack items it will also check if there is a key mat...
Editor

Property details

baseURIproperty

public baseURI : URI
URI object to current document that holds the TinyMCE editor instance.

Example

contentCSSproperty

public contentCSS : Array
Array with CSS files to load into the iframe.

contentStylesproperty

public contentStyles : Array
Array of CSS styles to add to head of document when the editor loads.

controlManagerproperty

public controlManager : ControlManager
Control manager instance for the editor. Will enables you to create new UI elements and change their states etc.

Example

documentBaseURIproperty

public documentBaseURI : URI
URI object to document configured for the TinyMCE instance.

Example

domproperty

public dom : DOMUtils
DOM instance for the editor.

Example

formatterproperty

public formatter : Formatter
Formatter instance.

idproperty

public id : String
Editor instance id, normally the same as the div/textarea that was replaced.

initializedproperty

public initialized : Boolean
Is set to true after the editor instance has been initialized

Example

isNotDirtyproperty

public isNotDirty : Boolean
State to force the editor to return false on a isDirty call.

Example

parserproperty

public parser : DomParser
HTML parser will be used when contents is inserted into the editor.

pluginsproperty

public plugins : Object
Name/Value object containting plugin instances.

Example

schemaproperty

public schema : Schema
Schema instance, enables you to validate elements and it's children.

selectionproperty

public selection : Selection
Selection instance for the editor.

Example

serializerproperty

public serializer : Serializer
DOM serializer for the editor. Will be used when contents is extracted from the editor.

Example

settingsproperty

public settings : Object
Name/value collection with editor settings.

Example

themeproperty

public theme : Theme
Reference to the theme instance that was used to generate the UI.

Example

undoManagerproperty

public undoManager : UndoManager
Undo manager instance, responsible for handling undo levels.

Example

windowManagerproperty

public windowManager : WindowManager
Window manager reference, use this to open new windows and dialogs.

Example

Method details

Editorconstructor

public function Editor(id:String, settings:Object)
Constructs a editor instance by id.
Author(s):Moxiecode

Parameters

id:String Unique id for the editor.
settings:Object Optional settings string for the editor.

addButtonmethod

public function addButton(name:String, settings:Object):void
Adds a button that later gets created by the ControlManager. This is a shorter and easier method of adding buttons without the need to deal with the ControlManager directly. But it's also less powerfull if you need more control use the ControlManagers factory methods instead.

Parameters

name:String Button name to add.
settings:Object Settings object with title, cmd etc.

Example

addCommandmethod

public function addCommand(name:String, callback:tinymce.Editor.addCommandCallback, scope:Object):void
Adds a custom command to the editor, you can also override existing commands with this method. The command that you add can be executed with execCommand.

Parameters

name:String Command name to add/override.
callback:tinymce.Editor.addCommandCallback Function to execute when the command occurs.
scope:Object Optional scope to execute the function in.

Example

addQueryStateHandlermethod

public function addQueryStateHandler(name:String, callback:tinymce.Editor.addQueryStateHandlerCallback, scope:Object):void
Adds a custom query state command to the editor, you can also override existing commands with this method. The command that you add can be executed with queryCommandState function.

Parameters

name:String Command name to add/override.
callback:tinymce.Editor.addQueryStateHandlerCallback Function to execute when the command state retrival occurs.
scope:Object Optional scope to execute the function in.

addQueryValueHandlermethod

public function addQueryValueHandler(name:String, callback:tinymce.Editor.addQueryValueHandlerCallback, scope:Object):void
Adds a custom query value command to the editor, you can also override existing commands with this method. The command that you add can be executed with queryCommandValue function.

Parameters

name:String Command name to add/override.
callback:tinymce.Editor.addQueryValueHandlerCallback Function to execute when the command value retrival occurs.
scope:Object Optional scope to execute the function in.

addShortcutmethod

public function addShortcut(pa:String, desc:String, cmd_func:String/Function, sc:Object):Boolean
Adds a keyboard shortcut for some command or function.

Parameters

pa:String Shortcut pattern. Like for example: ctrl+alt+o.
desc:String Text description for the command.
cmd_func:String/Function Command name string or function to execute when the key is pressed.
sc:Object Optional scope to execute the function in.

Returns

Boolean - true/false state if the shortcut was added or not.

addVisualmethod

public function addVisual(elm:Element):void
Adds visual aid for tables, anchors etc so they can be more easily edited inside the editor.

Parameters

elm:Element Optional root element to loop though to find tables etc that needs the visual aid.

convertURLmethod

public function convertURL(url:string, name:string, elm:string/HTMLElement):string
URL converter function this gets executed each time a user adds an img, a or any other element that has a URL in it. This will be called both by the DOM and HTML manipulation functions.

Parameters

url:string URL to convert.
name:string Attribute name src, href etc.
elm:string/HTMLElement Tag name or HTML DOM element depending on HTML or DOM insert.

Returns

string - Converted URL string.

destroymethod

public function destroy(s:Boolean):void
Destroys the editor instance by removing all events, element references or other resources that could leak memory. This method will be called automatically when the page is unloaded but you can also call it directly if you know what you are doing.

Parameters

s:Boolean Optional state if the destroy is an automatic destroy or user called one.

execCallbackmethod

public function execCallback(n:String):Object
Executes a legacy callback. This method is useful to call old 2.x option callbacks. There new event model is a better way to add callback so this method might be removed in the future.

Parameters

n:String Name of the callback to execute.

Returns

Object - Return value passed from callback function.

execCommandmethod

public function execCommand(cmd:String, ui:Boolean, val:mixed, a:Object):Boolean
Executes a command on the current instance. These commands can be TinyMCE internal commands prefixed with "mce" or they can be build in browser commands such as "Bold". A compleate list of browser commands is available on MSDN or Mozilla.org. This function will dispatch the execCommand function on each plugin, theme or the execcommand_callback option if none of these return true it will handle the command as a internal browser command.

Parameters

cmd:String Command name to execute, for example mceLink or Bold.
ui:Boolean True/false state if a UI (dialog) should be presented or not.
val:mixed Optional command value, this can be anything.
a:Object Optional arguments object.

Returns

Boolean - True/false if the command was executed or not.

focusmethod

public function focus(skip_focus:Boolean):void
Focuses/activates the editor. This will set this editor as the activeEditor in the tinymce collection it will also place DOM focus inside the editor.

Parameters

skip_focus:Boolean Skip DOM focus. Just set is as the active editor.

getBodymethod

public function getBody():Element
Returns the iframes body element.

Returns

Element - Iframe body element.

getContainermethod

public function getContainer():Element
Returns the editors container element. The container element wrappes in all the elements added to the page for the editor. Such as UI, iframe etc.

Returns

Element - HTML DOM element for the editor container.

getContentmethod

public function getContent(args:Object):String
Gets the content from the editor instance, this will cleanup the content before it gets returned using the different cleanup rules options.

Parameters

args:Object Optional content object, this gets passed around through the whole get process.

Returns

String - Cleaned content string, normally HTML contents.

Example

getContentAreaContainermethod

public function getContentAreaContainer():Element
Returns the editors content area container element. The this element is the one who holds the iframe or the editable element.

Returns

Element - HTML DOM element for the editor area container.

getDocmethod

public function getDoc():Document
Returns the iframes document object.

Returns

Document - Iframe DOM document object.

getElementmethod

public function getElement():Element
Returns the target element/textarea that got replaced with a TinyMCE editor instance.

Returns

Element - HTML DOM element for the replaced element.

getLangmethod

public function getLang(n:String, dv:String):void
Returns a language pack item by name/key.

Parameters

n:String Name/key to get from the language pack.
dv:String Optional default value to retrive.

getParammethod

public function getParam(n:String, dv:String, ty:String):String
Returns a configuration parameter by name.

Parameters

n:String Configruation parameter to retrive.
dv:String Optional default value to return.
ty:String Optional type parameter.

Returns

String - Configuration parameter value or default value.

Example

getWinmethod

public function getWin():Window
Returns the iframes window object.

Returns

Window - Iframe DOM window object.

hidemethod

public function hide():void
Hides the editor and shows any textarea/div that the editor is supposed to replace.

initmethod

public function init():void
Initializes the editor this will be called automatically when all plugins/themes and language packs are loaded by the rendered method. This method will setup the iframe and create the theme and plugin instances.

initContentBodymethod

public function initContentBody():void
This method get called by the init method ones the iframe is loaded. It will fill the iframe with contents, setups DOM and selection objects for the iframe. This method should not be called directly.

isDirtymethod

public function isDirty():Boolean
Returns true/false if the editor is dirty or not. It will get dirty if the user has made modifications to the contents.

Returns

Boolean - True/false if the editor is dirty or not. It will get dirty if the user has made modifications to the contents.

Example

isHiddenmethod

public function isHidden():Boolean
Returns true/false if the editor is hidden or not.

Returns

Boolean - True/false if the editor is hidden or not.

loadmethod

public function load(o:Object):String
Loads contents from the textarea or div element that got converted into an editor instance. This method will move the contents from that textarea or div into the editor by using setContent so all events etc that method has will get dispatched as well.

Parameters

o:Object Optional content object, this gets passed around through the whole load process.

Returns

String - HTML string that got set into the editor.

nodeChangedmethod

public function nodeChanged(o:Object):void
Distpaches out a onNodeChange event to all observers. This method should be called when you need to update the UI states or element path etc.

Parameters

o:Object Optional object to pass along for the node changed event.

queryCommandStatemethod

public function queryCommandState(cmd:string):Boolean
Returns a command specific state, for example if bold is enabled or not.

Parameters

cmd:string Command to query state from.

Returns

Boolean - Command specific state, for example if bold is enabled or not.

queryCommandValuemethod

public function queryCommandValue(c:string):Object
Returns a command specific value, for example the current font size.

Parameters

c:string Command to query value from.

Returns

Object - Command specific value, for example the current font size.

removemethod

public function remove():void
Removes the editor from the dom and tinymce collection.

rendermethod

public function render():void
Renderes the editor/adds it to the page.

savemethod

public function save(o:Object):String
Saves the contents from a editor out to the textarea or div element that got converted into an editor instance. This method will move the HTML contents from the editor into that textarea or div by getContent so all events etc that method has will get dispatched as well.

Parameters

o:Object Optional content object, this gets passed around through the whole save process.

Returns

String - HTML string that got set into the textarea/div.

setContentmethod

public function setContent(content:String, args:Object):String
Sets the specified content to the editor instance, this will cleanup the content before it gets set using the different cleanup rules options.

Parameters

content:String Content to set to editor, normally HTML contents but can be other formats as well.
args:Object Optional content object, this gets passed around through the whole set process.

Returns

String - HTML string that got set into the editor.

Example

setProgressStatemethod

public function setProgressState(b:Boolean, ti:Number, o:Object):Boolean
Sets the progress state, this will display a throbber/progess for the editor. This is ideal for asycronous operations like an AJAX save call.

Parameters

b:Boolean Boolean state if the progress should be shown or hidden.
ti:Number Optional time to wait before the progress gets shown.
o:Object Optional object to pass to the progress observers.

Returns

Boolean - Same as the input state.

Example

showmethod

public function show():void
Shows the editor and hides any textarea/div that the editor is supposed to replace.

translatemethod

public function translate(s:String):String
Translates the specified string by replacing variables with language pack items it will also check if there is a key mathcin the input.

Parameters

s:String String to translate by the language pack data.

Returns

String - Translated string.