TINY NEWS: TinyMCE 5 Developer Challenge now on.  Find out more

tinymce.util.Tools

This class contains various utlity functions. These are also exposed directly on the tinymce namespace.

Methods

name summary defined by
create() Creates a class, subclass or static singleton. More details on this method can be found in the Wiki. tinymce.util.Tools
createNS() Creates a namespace on a specific object. tinymce.util.Tools
each() Performs an iteration of all items in a collection such as an object or array. This method will execure the callback function for each item in the collection, if the callback returns false the iteration will terminate. The callback has the following format: cb(value, key_or_index). tinymce.util.Tools
explode() Splits a string but removes the whitespace before and after each value. tinymce.util.Tools
grep() Filters out items from the input array by calling the specified function for each item. If the function returns false the item will be excluded if it returns true it will be included. tinymce.util.Tools
inArray() Returns an index of the item or -1 if item is not present in the array. tinymce.util.Tools
is() Checks if a object is of a specific type for example an array. tinymce.util.Tools
isArray() Returns true/false if the object is an array or not. tinymce.util.Tools
makeMap() Makes a name/object map out of an array with names. tinymce.util.Tools
map() Creates a new array by the return value of each iteration function call. This enables you to convert one array list into another. tinymce.util.Tools
resolve() Resolves a string and returns the object from a specific structure. tinymce.util.Tools
toArray() Converts the specified object into a real JavaScript array. tinymce.util.Tools
trim() Removes whitespace from the beginning and end of a string. tinymce.util.Tools
walk() Executed the specified function for each item in a object tree. tinymce.util.Tools

Methods

create

create(s:String, p:Object, root:Object)

Creates a class, subclass or static singleton. More details on this method can be found in the Wiki.

Examples
// Creates a basic class
tinymce.create('tinymce.somepackage.SomeClass', {
    SomeClass: function() {
        // Class constructor
    },

    method: function() {
        // Some method
    }
});

// Creates a basic subclass class
tinymce.create('tinymce.somepackage.SomeSubClass:tinymce.somepackage.SomeClass', {
    SomeSubClass: function() {
        // Class constructor
        this.parent(); // Call parent constructor
    },

    method: function() {
        // Some method
        this.parent(); // Call parent method
    },

    'static': {
        staticMethod: function() {
            // Static method
        }
    }
});

// Creates a singleton/static class
tinymce.create('static tinymce.somepackage.SomeSingletonClass', {
    method: function() {
        // Some method
    }
});
Parameters
  • s (String) - Class name, inheritance and prefix.
  • p (Object) - Collection of methods to add to the class.
  • root (Object) - Optional root object defaults to the global window object.

createNS

createNS(n:String, o:Object):Object

Creates a namespace on a specific object.

Examples
// Create some namespace
tinymce.createNS('tinymce.somepackage.subpackage');

// Add a singleton
var tinymce.somepackage.subpackage.SomeSingleton = {
    method: function() {
        // Some method
    }
};
Parameters
  • n (String) - Namespace to create for example a.b.c.d.
  • o (Object) - Optional object to add namespace to, defaults to window.
Return value
  • Object - New namespace object the last item in path.

each

each(o:Object, cb:function, s:Object)

Performs an iteration of all items in a collection such as an object or array. This method will execure the callback function for each item in the collection, if the callback returns false the iteration will terminate. The callback has the following format: cb(value, key_or_index).

Examples
// Iterate an array
tinymce.each([1,2,3], function(v, i) {
    console.debug("Value: " + v + ", Index: " + i);
});

// Iterate an object
tinymce.each({a: 1, b: 2, c: 3], function(v, k) {
    console.debug("Value: " + v + ", Key: " + k);
});
Parameters
  • o (Object) - Collection to iterate.
  • cb (function) - Callback function to execute for each item.
  • s (Object) - Optional scope to execute the callback in.

explode

explode(s:string, d:string)

Splits a string but removes the whitespace before and after each value.

Examples
// Split a string into an array with a,b,c
var arr = tinymce.explode('a, b,   c');
Parameters
  • s (string) - String to split.
  • d (string) - Delimiter to split by.

grep

grep(a:Array, f:function):Array

Filters out items from the input array by calling the specified function for each item. If the function returns false the item will be excluded if it returns true it will be included.

Examples
// Filter out some items, this will return an array with 4 and 5
var items = tinymce.grep([1,2,3,4,5], function(v) {return v > 3;});
Parameters
  • a (Array) - Array of items to loop though.
  • f (function) - Function to call for each item. Include/exclude depends on it's return value.
Return value
  • Array - New array with values imported and filtered based in input.

inArray

inArray(item:any, arr:Array):Number

Returns an index of the item or -1 if item is not present in the array.

Parameters
  • item (any) - Item to search for.
  • arr (Array) - Array to search in.
Return value
  • Number - index of the item or -1 if item was not found.

is

is(obj:Object, type:string):Boolean

Checks if a object is of a specific type for example an array.

Parameters
  • obj (Object) - Object to check type of.
  • type (string) - Optional type to check for.
Return value
  • Boolean - true/false if the object is of the specified type.

isArray

isArray(obj:Object):boolean

Returns true/false if the object is an array or not.

Parameters
  • obj (Object) - Object to check.
Return value
  • boolean - true/false state if the object is an array or not.

makeMap

makeMap(items:Array, delim:String, map:Object):Object

Makes a name/object map out of an array with names.

Parameters
  • items (Array) - Items to make map out of.
  • delim (String) - Optional delimiter to split string by.
  • map (Object) - Optional map to add items to.
Return value
  • Object - Name/value map of items.

map

map(array:Array, callback:function):Array

Creates a new array by the return value of each iteration function call. This enables you to convert one array list into another.

Parameters
  • array (Array) - Array of items to iterate.
  • callback (function) - Function to call for each item. It's return value will be the new value.
Return value
  • Array - Array with new values based on function return values.

resolve

resolve(n:String, o:Object):Object

Resolves a string and returns the object from a specific structure.

Examples
// Resolve a path into an object reference
var obj = tinymce.resolve('a.b.c.d');
Parameters
  • n (String) - Path to resolve for example a.b.c.d.
  • o (Object) - Optional object to search though, defaults to window.
Return value
  • Object - Last object in path or null if it couldn't be resolved.

toArray

toArray(obj:Object):Array

Converts the specified object into a real JavaScript array.

Parameters
  • obj (Object) - Object to convert into array.
Return value
  • Array - Array object based in input.

trim

trim(s:String):String

Removes whitespace from the beginning and end of a string.

Parameters
  • s (String) - String to remove whitespace from.
Return value
  • String - New string with removed whitespace.

walk

walk(o:Object, f:function, n:String, s:String)

Executed the specified function for each item in a object tree.

Parameters
  • o (Object) - Object tree to walk though.
  • f (function) - Function to call for each item.
  • n (String) - Optional name of collection inside the objects to walk for example childNodes.
  • s (String) - Optional scope to execute the function in.

Can't find what you're looking for? Let us know.

Except as otherwise noted, the content of this page is licensed under the Creative Commons BY-NC-SA 3.0 License, and code samples are licensed under the Apache 2.0 License.