mediawiki-extensions-Visual.../modules/ve2/ve.TwigNode.js
Trevor Parscal 7ea475ebcf Initial commit of data model rewrite
Ground-up rewrite of the data model. Putting this in the ve2 directory for now so we still have the old code floating around.

Main changes so far in this rewrite:
* Renamed hasChildren() to canHaveChildren()
* Added canHaveGrandchildren()
* Added a new node type TwigNode that can have children but not grandchildren (so all of its children must be LeafNodes)
* Implemented push/pop/shift/unshift as wrappers around splice()
* Renamed getElementType() to getType(). Nodes now take a string as a type, and the element stuff is gone and won't be back
* Removed clearRoot(), replaced it with setRoot( this ) where needed

Change-Id: I23f3bb1b4a2473575e5446e87fdf17af107bacf6
2012-04-19 13:54:34 -07:00

27 lines
382 B
JavaScript

/**
* Mixin for twig nodes
*
* @class
* @abstract
* @constructor
*/
ve.TwigNode = function() {
//
};
/* Methods */
/**
* @see {ve.Node.prototype.canHaveChildren}
*/
ve.TwigNode.prototype.canHaveChildren = function() {
return true;
};
/**
* @see {ve.Node.prototype.canHaveGrandchildren}
*/
ve.TwigNode.prototype.canHaveGrandchildren = function () {
return false;
};