https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113362
Revision: 113362
Author: ialex
Date: 2012-03-08 12:27:02 +0000 (Thu, 08 Mar 2012)
Log Message:
-----------
svn:eol-style native
Modified Paths:
--------------
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.HeadingNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListItemNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.PreNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableCellNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableRowNode.js
trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.BranchNode.js
trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.Node.js
Property Changed:
----------------
trunk/extensions/Math/modules/MathJax/config/TeX-AMS-texvc_HTML.js
trunk/extensions/MobileFrontend/Makefile
trunk/extensions/MobileFrontend/javascripts/application.min.js
trunk/extensions/MobileFrontend/javascripts/banner.min.js
trunk/extensions/MobileFrontend/javascripts/beta_application.min.js
trunk/extensions/MobileFrontend/javascripts/beta_opensearch.min.js
trunk/extensions/MobileFrontend/javascripts/opensearch.min.js
trunk/extensions/SideBarMenu/.gitignore
trunk/extensions/SideBarMenu/LICENSE
trunk/extensions/SideBarMenu/README
trunk/extensions/SideBarMenu/SideBarMenu.hooks.php
trunk/extensions/SideBarMenu/SideBarMenu.i18n.php
trunk/extensions/SideBarMenu/SideBarMenu.php
trunk/extensions/SideBarMenu/css/ext.sidebarmenu.css
trunk/extensions/SideBarMenu/includes/MenuItem.php
trunk/extensions/SideBarMenu/includes/MenuParser.php
trunk/extensions/SideBarMenu/js/ext.sidebarmenu.js
trunk/extensions/SideBarMenu/test/MenuItemTest.php
trunk/extensions/SideBarMenu/test/MenuParserTest.php
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.HeadingNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListItemNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.PreNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableCellNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableNode.js
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableRowNode.js
trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.BranchNode.js
trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.Node.js
trunk/extensions/VisualEditor/modules/ve/dm/ve.dm.DocumentSynchronizer.js
trunk/extensions/VisualEditor/tests/ve/ve.dm.DocumentSynchronizer.test.js
Property changes on:
trunk/extensions/Math/modules/MathJax/config/TeX-AMS-texvc_HTML.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/MobileFrontend/Makefile
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on:
trunk/extensions/MobileFrontend/javascripts/application.min.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/MobileFrontend/javascripts/banner.min.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on:
trunk/extensions/MobileFrontend/javascripts/beta_application.min.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on:
trunk/extensions/MobileFrontend/javascripts/beta_opensearch.min.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on:
trunk/extensions/MobileFrontend/javascripts/opensearch.min.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/.gitignore
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/LICENSE
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/README
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/SideBarMenu.hooks.php
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/SideBarMenu.i18n.php
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/SideBarMenu.php
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/css/ext.sidebarmenu.css
___________________________________________________________________
Modified: svn:eol-style
- native *.eot = svn:mime-type=application/vnd.ms-fontobject *.gif =
svn:mime-type=image/gif *.ico = svn:mime-type=image/vnd.microsoft.icon *.inc =
svn:eol-style=native *.info = svn:eol-style=native
*.install=svn:eol-style=native *.java = svn:eol-style=native *.jpeg =
svn:mime-type=image/jpeg *.jpg = svn:mime-type=image/jpeg *.js =
svn:eol-style=native *.jsp = svn:eol-style=native *.module =
svn:eol-style=native *.php5 = svn:eol-style=native *.php = svn:eol-style=native
*.pl = svn:eol-style=native *.pm = svn:eol-style=native *.png =
svn:mime-type=image/png *.py = svn:eol-style=native *.sh = svn:eol-style=native
*.sql = svn:eol-style=native *.svg = svn:mime-type=image/svg+xml *.tpl =
svn:eol-style=native *.ttf = svn:mime-type=application/x-font-ttf *.txt =
svn:eol-style=native *.woff = svn:mime-type=application/x-woff *.xcf =
svn:mime-type=image/x-xcf Makefile = svn:eol-style=native SConscript =
svn:eol-style=native SConstruct = svn:eol-style=native USERINFO =
svn:eol-style=native
+ native
Property changes on: trunk/extensions/SideBarMenu/includes/MenuItem.php
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/includes/MenuParser.php
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/js/ext.sidebarmenu.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/test/MenuItemTest.php
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/extensions/SideBarMenu/test/MenuParserTest.php
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.HeadingNode.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.HeadingNode.js
2012-03-08 11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.HeadingNode.js
2012-03-08 12:27:02 UTC (rev 113362)
@@ -1,53 +1,53 @@
-/**
- * Creates an ve.ce.HeadingNode object.
- *
- * @class
- * @constructor
- * @extends {ve.ce.LeafNode}
- * @param {ve.dm.HeadingNode} model Heading model to view
- */
-ve.ce.HeadingNode = function( model ) {
- // Inheritance
- ve.ce.LeafNode.call( this, model );
-
- // Properties
- this.currentLevelHash = null;
-
- // DOM Changes
- this.$.addClass( 'es-headingView' );
-
- // Events
- var _this = this;
- this.model.on( 'update', function() {
- _this.setClasses();
- } );
-
- // Initialization
- this.setClasses();
-};
-
-/* Methods */
-
-ve.ce.HeadingNode.prototype.setClasses = function() {
- var level = this.model.getElementAttribute( 'level' );
- if ( level !== this.currentLevelHash ) {
- this.currentLevelHash = level;
- var classes = this.$.attr( 'class' );
- this.$
- // Remove any existing level classes
- .attr( 'class', classes.replace( /
?es-headingView-level[0-9]+/, '' ) )
- // Add a new level class
- .addClass( 'es-headingView-level' + level );
- }
-};
-
-/* Registration */
-
-ve.ce.DocumentNode.splitRules.heading = {
- 'self': true,
- 'children': null
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.HeadingNode, ve.ce.LeafNode );
+/**
+ * Creates an ve.ce.HeadingNode object.
+ *
+ * @class
+ * @constructor
+ * @extends {ve.ce.LeafNode}
+ * @param {ve.dm.HeadingNode} model Heading model to view
+ */
+ve.ce.HeadingNode = function( model ) {
+ // Inheritance
+ ve.ce.LeafNode.call( this, model );
+
+ // Properties
+ this.currentLevelHash = null;
+
+ // DOM Changes
+ this.$.addClass( 'es-headingView' );
+
+ // Events
+ var _this = this;
+ this.model.on( 'update', function() {
+ _this.setClasses();
+ } );
+
+ // Initialization
+ this.setClasses();
+};
+
+/* Methods */
+
+ve.ce.HeadingNode.prototype.setClasses = function() {
+ var level = this.model.getElementAttribute( 'level' );
+ if ( level !== this.currentLevelHash ) {
+ this.currentLevelHash = level;
+ var classes = this.$.attr( 'class' );
+ this.$
+ // Remove any existing level classes
+ .attr( 'class', classes.replace( /
?es-headingView-level[0-9]+/, '' ) )
+ // Add a new level class
+ .addClass( 'es-headingView-level' + level );
+ }
+};
+
+/* Registration */
+
+ve.ce.DocumentNode.splitRules.heading = {
+ 'self': true,
+ 'children': null
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.HeadingNode, ve.ce.LeafNode );
Property changes on:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.HeadingNode.js
___________________________________________________________________
Added: svn:eol-style
+ native
Modified:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListItemNode.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListItemNode.js
2012-03-08 11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListItemNode.js
2012-03-08 12:27:02 UTC (rev 113362)
@@ -1,62 +1,62 @@
-/**
- * Creates an ve.ce.ListItemNode object.
- *
- * @class
- * @constructor
- * @extends {ve.ce.LeafNode}
- * @param {ve.dm.ListItemNode} model List item model to view
- */
-ve.ce.ListItemNode = function( model ) {
- // Inheritance
- ve.ce.BranchNode.call( this, model );
-
- // Properties
- this.$icon = $( '<div class="es-listItemView-icon"></div>' ).prependTo(
this.$ );
- this.currentStylesHash = null;
-
- // DOM Changes
- this.$.addClass( 'es-listItemView' );
-
- // Events
- var _this = this;
- this.model.on( 'update', function() {
- _this.setClasses();
- } );
-
- // Initialization
- this.setClasses();
-};
-
-/* Methods */
-
-ve.ce.ListItemNode.prototype.setClasses = function() {
- var styles = this.model.getElementAttribute( 'styles' ),
- stylesHash = styles.join( '|' );
- if ( this.currentStylesHash !== stylesHash ) {
- this.currentStylesHash = stylesHash;
- var classes = this.$.attr( 'class' );
- this.$
- // Remove any existing level classes
- .attr(
- 'class',
- classes
- .replace( /
?es-listItemView-level[0-9]+/, '' )
- .replace( /
?es-listItemView-(bullet|number|term|definition)/, '' )
- )
- // Set the list style class from the style on top of
the stack
- .addClass( 'es-listItemView-' + styles[styles.length -
1] )
- // Set the list level class from the length of the stack
- .addClass( 'es-listItemView-level' + ( styles.length -
1 ) );
- }
-};
-
-/* Registration */
-
-ve.ce.DocumentNode.splitRules.listItem = {
- 'self': true,
- 'children': false
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.ListItemNode, ve.ce.BranchNode );
+/**
+ * Creates an ve.ce.ListItemNode object.
+ *
+ * @class
+ * @constructor
+ * @extends {ve.ce.LeafNode}
+ * @param {ve.dm.ListItemNode} model List item model to view
+ */
+ve.ce.ListItemNode = function( model ) {
+ // Inheritance
+ ve.ce.BranchNode.call( this, model );
+
+ // Properties
+ this.$icon = $( '<div class="es-listItemView-icon"></div>' ).prependTo(
this.$ );
+ this.currentStylesHash = null;
+
+ // DOM Changes
+ this.$.addClass( 'es-listItemView' );
+
+ // Events
+ var _this = this;
+ this.model.on( 'update', function() {
+ _this.setClasses();
+ } );
+
+ // Initialization
+ this.setClasses();
+};
+
+/* Methods */
+
+ve.ce.ListItemNode.prototype.setClasses = function() {
+ var styles = this.model.getElementAttribute( 'styles' ),
+ stylesHash = styles.join( '|' );
+ if ( this.currentStylesHash !== stylesHash ) {
+ this.currentStylesHash = stylesHash;
+ var classes = this.$.attr( 'class' );
+ this.$
+ // Remove any existing level classes
+ .attr(
+ 'class',
+ classes
+ .replace( /
?es-listItemView-level[0-9]+/, '' )
+ .replace( /
?es-listItemView-(bullet|number|term|definition)/, '' )
+ )
+ // Set the list style class from the style on top of
the stack
+ .addClass( 'es-listItemView-' + styles[styles.length -
1] )
+ // Set the list level class from the length of the stack
+ .addClass( 'es-listItemView-level' + ( styles.length -
1 ) );
+ }
+};
+
+/* Registration */
+
+ve.ce.DocumentNode.splitRules.listItem = {
+ 'self': true,
+ 'children': false
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.ListItemNode, ve.ce.BranchNode );
Property changes on:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListItemNode.js
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListNode.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListNode.js
2012-03-08 11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListNode.js
2012-03-08 12:27:02 UTC (rev 113362)
@@ -1,62 +1,62 @@
-/**
- * Creates an ve.ce.ListNode object.
- *
- * @class
- * @constructor
- * @extends {ve.ce.BranchNode}
- * @param {ve.dm.ListNode} model List model to view
- */
-ve.ce.ListNode = function( model ) {
- // Inheritance
- ve.ce.BranchNode.call( this, model );
-
- // DOM Changes
- this.$.addClass( 'es-listView' );
-
- // Events
- var _this = this;
- this.model.on( 'update', function() {
- _this.enumerate();
- } );
-
- // Initialization
- this.enumerate();
-};
-
-/* Methods */
-
-/**
- * Set the number labels of all ordered list items.
- *
- * @method
- */
-ve.ce.ListNode.prototype.enumerate = function() {
- var styles,
- levels = [];
- for ( var i = 0; i < this.children.length; i++ ) {
- styles = this.children[i].model.getElementAttribute( 'styles' );
- levels = levels.slice( 0, styles.length );
- if ( styles[styles.length - 1] === 'number' ) {
- if ( !levels[styles.length - 1] ) {
- levels[styles.length - 1] = 0;
- }
- this.children[i].$icon.text( ++levels[styles.length -
1] + '.' );
- } else {
- this.children[i].$icon.text( '' );
- if ( levels[styles.length - 1] ) {
- levels[styles.length - 1] = 0;
- }
- }
- }
-};
-
-/* Registration */
-
-ve.ce.DocumentNode.splitRules.list = {
- 'self': false,
- 'children': true
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.ListNode, ve.ce.BranchNode );
+/**
+ * Creates an ve.ce.ListNode object.
+ *
+ * @class
+ * @constructor
+ * @extends {ve.ce.BranchNode}
+ * @param {ve.dm.ListNode} model List model to view
+ */
+ve.ce.ListNode = function( model ) {
+ // Inheritance
+ ve.ce.BranchNode.call( this, model );
+
+ // DOM Changes
+ this.$.addClass( 'es-listView' );
+
+ // Events
+ var _this = this;
+ this.model.on( 'update', function() {
+ _this.enumerate();
+ } );
+
+ // Initialization
+ this.enumerate();
+};
+
+/* Methods */
+
+/**
+ * Set the number labels of all ordered list items.
+ *
+ * @method
+ */
+ve.ce.ListNode.prototype.enumerate = function() {
+ var styles,
+ levels = [];
+ for ( var i = 0; i < this.children.length; i++ ) {
+ styles = this.children[i].model.getElementAttribute( 'styles' );
+ levels = levels.slice( 0, styles.length );
+ if ( styles[styles.length - 1] === 'number' ) {
+ if ( !levels[styles.length - 1] ) {
+ levels[styles.length - 1] = 0;
+ }
+ this.children[i].$icon.text( ++levels[styles.length -
1] + '.' );
+ } else {
+ this.children[i].$icon.text( '' );
+ if ( levels[styles.length - 1] ) {
+ levels[styles.length - 1] = 0;
+ }
+ }
+ }
+};
+
+/* Registration */
+
+ve.ce.DocumentNode.splitRules.list = {
+ 'self': false,
+ 'children': true
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.ListNode, ve.ce.BranchNode );
Property changes on:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.ListNode.js
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.PreNode.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.PreNode.js
2012-03-08 11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.PreNode.js
2012-03-08 12:27:02 UTC (rev 113362)
@@ -1,26 +1,26 @@
-/**
- * Creates an ve.ce.PreNode object.
- *
- * @class
- * @constructor
- * @extends {ve.ce.LeafNode}
- * @param {ve.dm.PreNode} model Pre model to view
- */
-ve.ce.PreNode = function( model ) {
- // Inheritance
- ve.ce.LeafNode.call( this, model, undefined, { 'pre': true } );
-
- // DOM Changes
- this.$.addClass( 'es-preView' );
-};
-
-/* Registration */
-
-ve.ce.DocumentNode.splitRules.pre = {
- 'self': true,
- 'children': null
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.PreNode, ve.ce.LeafNode );
+/**
+ * Creates an ve.ce.PreNode object.
+ *
+ * @class
+ * @constructor
+ * @extends {ve.ce.LeafNode}
+ * @param {ve.dm.PreNode} model Pre model to view
+ */
+ve.ce.PreNode = function( model ) {
+ // Inheritance
+ ve.ce.LeafNode.call( this, model, undefined, { 'pre': true } );
+
+ // DOM Changes
+ this.$.addClass( 'es-preView' );
+};
+
+/* Registration */
+
+ve.ce.DocumentNode.splitRules.pre = {
+ 'self': true,
+ 'children': null
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.PreNode, ve.ce.LeafNode );
Property changes on:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.PreNode.js
___________________________________________________________________
Added: svn:eol-style
+ native
Modified:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableCellNode.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableCellNode.js
2012-03-08 11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableCellNode.js
2012-03-08 12:27:02 UTC (rev 113362)
@@ -1,28 +1,28 @@
-/**
- * Creates an ve.ce.TableCellNode object.
- *
- * @class
- * @constructor
- * @extends {ve.ce.BranchNode}
- * @param {ve.dm.TableCellNode} model Table cell model to view
- */
-ve.ce.TableCellNode = function( model ) {
- // Inheritance
- ve.ce.BranchNode.call( this, model, $( '<td>' ) );
-
- // DOM Changes
- this.$
- .attr( 'style', model.getElementAttribute( 'html/style' ) )
- .addClass( 'es-tableCellView' );
-};
-
-/* Registration */
-
-ve.ce.DocumentNode.splitRules.tableCell = {
- 'self': false,
- 'children': true
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.TableCellNode, ve.ce.BranchNode );
+/**
+ * Creates an ve.ce.TableCellNode object.
+ *
+ * @class
+ * @constructor
+ * @extends {ve.ce.BranchNode}
+ * @param {ve.dm.TableCellNode} model Table cell model to view
+ */
+ve.ce.TableCellNode = function( model ) {
+ // Inheritance
+ ve.ce.BranchNode.call( this, model, $( '<td>' ) );
+
+ // DOM Changes
+ this.$
+ .attr( 'style', model.getElementAttribute( 'html/style' ) )
+ .addClass( 'es-tableCellView' );
+};
+
+/* Registration */
+
+ve.ce.DocumentNode.splitRules.tableCell = {
+ 'self': false,
+ 'children': true
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.TableCellNode, ve.ce.BranchNode );
Property changes on:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableCellNode.js
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableNode.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableNode.js
2012-03-08 11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableNode.js
2012-03-08 12:27:02 UTC (rev 113362)
@@ -1,28 +1,28 @@
-/**
- * Creates an ve.ce.TableNode object.
- *
- * @class
- * @constructor
- * @extends {ve.ce.BranchNode}
- * @param {ve.dm.TableNode} model Table model to view
- */
-ve.ce.TableNode = function( model ) {
- // Inheritance
- ve.ce.BranchNode.call( this, model, $( '<table>' ) );
-
- // DOM Changes
- this.$
- .attr( 'style', model.getElementAttribute( 'html/style' ) )
- .addClass( 'es-tableView' );
-};
-
-/* Registration */
-
-ve.ce.DocumentNode.splitRules.table = {
- 'self': false,
- 'children': false
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.TableNode, ve.ce.BranchNode );
+/**
+ * Creates an ve.ce.TableNode object.
+ *
+ * @class
+ * @constructor
+ * @extends {ve.ce.BranchNode}
+ * @param {ve.dm.TableNode} model Table model to view
+ */
+ve.ce.TableNode = function( model ) {
+ // Inheritance
+ ve.ce.BranchNode.call( this, model, $( '<table>' ) );
+
+ // DOM Changes
+ this.$
+ .attr( 'style', model.getElementAttribute( 'html/style' ) )
+ .addClass( 'es-tableView' );
+};
+
+/* Registration */
+
+ve.ce.DocumentNode.splitRules.table = {
+ 'self': false,
+ 'children': false
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.TableNode, ve.ce.BranchNode );
Property changes on:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableNode.js
___________________________________________________________________
Added: svn:eol-style
+ native
Modified:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableRowNode.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableRowNode.js
2012-03-08 11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableRowNode.js
2012-03-08 12:27:02 UTC (rev 113362)
@@ -1,28 +1,28 @@
-/**
- * Creates an ve.ce.TableRowNode object.
- *
- * @class
- * @constructor
- * @extends {ve.ce.BranchNode}
- * @param {ve.dm.TableRowNode} model Table row model to view
- */
-ve.ce.TableRowNode = function( model ) {
- // Inheritance
- ve.ce.BranchNode.call( this, model, $( '<tr>' ), true );
-
- // DOM Changes
- this.$
- .attr( 'style', model.getElementAttribute( 'html/style' ) )
- .addClass( 'es-tableRowView' );
-};
-
-/* Registration */
-
-ve.ce.DocumentNode.splitRules.tableRow = {
- 'self': false,
- 'children': false
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.TableRowNode, ve.ce.BranchNode );
+/**
+ * Creates an ve.ce.TableRowNode object.
+ *
+ * @class
+ * @constructor
+ * @extends {ve.ce.BranchNode}
+ * @param {ve.dm.TableRowNode} model Table row model to view
+ */
+ve.ce.TableRowNode = function( model ) {
+ // Inheritance
+ ve.ce.BranchNode.call( this, model, $( '<tr>' ), true );
+
+ // DOM Changes
+ this.$
+ .attr( 'style', model.getElementAttribute( 'html/style' ) )
+ .addClass( 'es-tableRowView' );
+};
+
+/* Registration */
+
+ve.ce.DocumentNode.splitRules.tableRow = {
+ 'self': false,
+ 'children': false
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.TableRowNode, ve.ce.BranchNode );
Property changes on:
trunk/extensions/VisualEditor/modules/ve/ce/nodes/ve.ce.TableRowNode.js
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.BranchNode.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.BranchNode.js
2012-03-08 11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.BranchNode.js
2012-03-08 12:27:02 UTC (rev 113362)
@@ -1,272 +1,272 @@
-/**
- * Creates an ve.ce.BranchNode object.
- *
- * @class
- * @abstract
- * @constructor
- * @extends {ve.BranchNode}
- * @extends {ve.ce.Node}
- * @param model {ve.ModelNode} Model to observe
- * @param {jQuery} [$element] Element to use as a container
- */
-ve.ce.BranchNode = function( model, $element, horizontal ) {
- // Inheritance
- ve.BranchNode.call( this );
- ve.ce.Node.call( this, model, $element );
-
- // Properties
- this.horizontal = horizontal || false;
-
- if ( model ) {
- // Append existing model children
- var childModels = model.getChildren();
- for ( var i = 0; i < childModels.length; i++ ) {
- this.onAfterPush( childModels[i] );
- }
-
- // Observe and mimic changes on model
- this.model.addListenerMethods( this, {
- 'afterPush': 'onAfterPush',
- 'afterUnshift': 'onAfterUnshift',
- 'afterPop': 'onAfterPop',
- 'afterShift': 'onAfterShift',
- 'afterSplice': 'onAfterSplice',
- 'afterSort': 'onAfterSort',
- 'afterReverse': 'onAfterReverse'
- } );
- }
-};
-
-/* Methods */
-
-ve.ce.BranchNode.prototype.onAfterPush = function( childModel ) {
- var childView = childModel.createView();
- this.emit( 'beforePush', childView );
- childView.attach( this );
- childView.on( 'update', this.emitUpdate );
- // Update children
- this.children.push( childView );
- // Update DOM
- this.$.append( childView.$ );
- // TODO: adding and deleting classes has to be implemented for unshift,
shift, splice, sort
- // and reverse as well
- if ( this.children.length === 1 ) {
- childView.$.addClass('es-viewBranchNode-firstChild');
- }
- this.emit( 'afterPush', childView );
- this.emit( 'update' );
-};
-
-ve.ce.BranchNode.prototype.onAfterUnshift = function( childModel ) {
- var childView = childModel.createView();
- this.emit( 'beforeUnshift', childView );
- childView.attach( this );
- childView.on( 'update', this.emitUpdate );
- // Update children
- this.children.unshift( childView );
- // Update DOM
- this.$.prepend( childView.$ );
- this.emit( 'afterUnshift', childView );
- this.emit( 'update' );
-};
-
-ve.ce.BranchNode.prototype.onAfterPop = function() {
- this.emit( 'beforePop' );
- // Update children
- var childView = this.children.pop();
- childView.detach();
- childView.removeEventListener( 'update', this.emitUpdate );
- // Update DOM
- childView.$.detach();
- this.emit( 'afterPop' );
- this.emit( 'update' );
-};
-
-ve.ce.BranchNode.prototype.onAfterShift = function() {
- this.emit( 'beforeShift' );
- // Update children
- var childView = this.children.shift();
- childView.detach();
- childView.removeEventListener( 'update', this.emitUpdate );
- // Update DOM
- childView.$.detach();
- this.emit( 'afterShift' );
- this.emit( 'update' );
-};
-
-ve.ce.BranchNode.prototype.onAfterSplice = function( index, howmany ) {
- var i,
- length,
- args = Array.prototype.slice.call( arguments, 0 );
- // Convert models to views and attach them to this node
- if ( args.length >= 3 ) {
- for ( i = 2, length = args.length; i < length; i++ ) {
- args[i] = args[i].createView();
- }
- }
- this.emit.apply( this, ['beforeSplice'].concat( args ) );
- var removals = this.children.splice.apply( this.children, args );
- for ( i = 0, length = removals.length; i < length; i++ ) {
- removals[i].detach();
- removals[i].removeListener( 'update', this.emitUpdate );
- // Update DOM
- removals[i].$.detach();
- }
- if ( args.length >= 3 ) {
- var $target;
- if ( index ) {
- // Get the element before the insertion point
- $anchor = this.$.children().eq( index - 1 );
- }
- for ( i = args.length - 1; i >= 2; i-- ) {
- args[i].attach( this );
- args[i].on( 'update', this.emitUpdate );
- if ( index ) {
- $anchor.after( args[i].$ );
- } else {
- this.$.prepend( args[i].$ );
- }
- }
- }
- this.emit.apply( this, ['afterSplice'].concat( args ) );
- if ( args.length >= 3 ) {
- for ( i = 2, length = args.length; i < length; i++ ) {
- args[i].renderContent();
- }
- }
- this.emit( 'update' );
-};
-
-ve.ce.BranchNode.prototype.onAfterSort = function() {
- this.emit( 'beforeSort' );
- var childModels = this.model.getChildren();
- for ( var i = 0; i < childModels.length; i++ ) {
- for ( var j = 0; j < this.children.length; j++ ) {
- if ( this.children[j].getModel() === childModels[i] ) {
- var childView = this.children[j];
- // Update children
- this.children.splice( j, 1 );
- this.children.push( childView );
- // Update DOM
- this.$.append( childView.$ );
- }
- }
- }
- this.emit( 'afterSort' );
- this.emit( 'update' );
- this.renderContent();
-};
-
-ve.ce.BranchNode.prototype.onAfterReverse = function() {
- this.emit( 'beforeReverse' );
- // Update children
- this.reverse();
- // Update DOM
- this.$.children().each( function() {
- $(this).prependTo( $(this).parent() );
- } );
- this.emit( 'afterReverse' );
- this.emit( 'update' );
- this.renderContent();
-};
-
-/**
- * Render content.
- *
- * @method
- */
-ve.ce.BranchNode.prototype.renderContent = function() {
- for ( var i = 0; i < this.children.length; i++ ) {
- this.children[i].renderContent();
- }
-};
-
-/**
- * Draw selection around a given range.
- *
- * @method
- * @param {ve.Range} range Range of content to draw selection around
- */
-ve.ce.BranchNode.prototype.drawSelection = function( range ) {
- var selectedNodes = this.selectNodes( range, true );
- for ( var i = 0; i < this.children.length; i++ ) {
- if ( selectedNodes.length && this.children[i] ===
selectedNodes[0].node ) {
- for ( var j = 0; j < selectedNodes.length; j++ ) {
- selectedNodes[j].node.drawSelection(
selectedNodes[j].range );
- }
- i += selectedNodes.length - 1;
- } else {
- this.children[i].clearSelection();
- }
- }
-};
-
-/**
- * Clear selection.
- *
- * @method
- */
-ve.ce.BranchNode.prototype.clearSelection = function() {
- for ( var i = 0; i < this.children.length; i++ ) {
- this.children[i].clearSelection();
- }
-};
-
-/**
- * Gets the nearest offset of a rendered position.
- *
- * @method
- * @param {ve.Position} position Position to get offset for
- * @returns {Integer} Offset of position
- */
-ve.ce.BranchNode.prototype.getOffsetFromRenderedPosition = function( position
) {
- if ( this.children.length === 0 ) {
- return 0;
- }
- var node = this.children[0];
- for ( var i = 1; i < this.children.length; i++ ) {
- if ( this.horizontal && this.children[i].$.offset().left >
position.left ) {
- break;
- } else if ( !this.horizontal && this.children[i].$.offset().top
> position.top ) {
- break;
- }
- node = this.children[i];
- }
- return node.getParent().getOffsetFromNode( node, true ) +
- node.getOffsetFromRenderedPosition( position ) + 1;
-};
-
-/**
- * Gets rendered position of offset within content.
- *
- * @method
- * @param {Integer} offset Offset to get position for
- * @returns {ve.Position} Position of offset
- */
-ve.ce.BranchNode.prototype.getRenderedPositionFromOffset = function( offset,
leftBias ) {
- var node = this.getNodeFromOffset( offset, true );
- if ( node !== null ) {
- return node.getRenderedPositionFromOffset(
- offset - this.getOffsetFromNode( node, true ) - 1,
- leftBias
- );
- }
- return null;
-};
-
-ve.ce.BranchNode.prototype.getRenderedLineRangeFromOffset = function( offset )
{
- var node = this.getNodeFromOffset( offset, true );
- if ( node !== null ) {
- var nodeOffset = this.getOffsetFromNode( node, true );
- return ve.Range.newFromTranslatedRange(
- node.getRenderedLineRangeFromOffset( offset -
nodeOffset - 1 ),
- nodeOffset + 1
- );
- }
- return null;
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.BranchNode, ve.BranchNode );
-ve.extendClass( ve.ce.BranchNode, ve.ce.Node );
+/**
+ * Creates an ve.ce.BranchNode object.
+ *
+ * @class
+ * @abstract
+ * @constructor
+ * @extends {ve.BranchNode}
+ * @extends {ve.ce.Node}
+ * @param model {ve.ModelNode} Model to observe
+ * @param {jQuery} [$element] Element to use as a container
+ */
+ve.ce.BranchNode = function( model, $element, horizontal ) {
+ // Inheritance
+ ve.BranchNode.call( this );
+ ve.ce.Node.call( this, model, $element );
+
+ // Properties
+ this.horizontal = horizontal || false;
+
+ if ( model ) {
+ // Append existing model children
+ var childModels = model.getChildren();
+ for ( var i = 0; i < childModels.length; i++ ) {
+ this.onAfterPush( childModels[i] );
+ }
+
+ // Observe and mimic changes on model
+ this.model.addListenerMethods( this, {
+ 'afterPush': 'onAfterPush',
+ 'afterUnshift': 'onAfterUnshift',
+ 'afterPop': 'onAfterPop',
+ 'afterShift': 'onAfterShift',
+ 'afterSplice': 'onAfterSplice',
+ 'afterSort': 'onAfterSort',
+ 'afterReverse': 'onAfterReverse'
+ } );
+ }
+};
+
+/* Methods */
+
+ve.ce.BranchNode.prototype.onAfterPush = function( childModel ) {
+ var childView = childModel.createView();
+ this.emit( 'beforePush', childView );
+ childView.attach( this );
+ childView.on( 'update', this.emitUpdate );
+ // Update children
+ this.children.push( childView );
+ // Update DOM
+ this.$.append( childView.$ );
+ // TODO: adding and deleting classes has to be implemented for unshift,
shift, splice, sort
+ // and reverse as well
+ if ( this.children.length === 1 ) {
+ childView.$.addClass('es-viewBranchNode-firstChild');
+ }
+ this.emit( 'afterPush', childView );
+ this.emit( 'update' );
+};
+
+ve.ce.BranchNode.prototype.onAfterUnshift = function( childModel ) {
+ var childView = childModel.createView();
+ this.emit( 'beforeUnshift', childView );
+ childView.attach( this );
+ childView.on( 'update', this.emitUpdate );
+ // Update children
+ this.children.unshift( childView );
+ // Update DOM
+ this.$.prepend( childView.$ );
+ this.emit( 'afterUnshift', childView );
+ this.emit( 'update' );
+};
+
+ve.ce.BranchNode.prototype.onAfterPop = function() {
+ this.emit( 'beforePop' );
+ // Update children
+ var childView = this.children.pop();
+ childView.detach();
+ childView.removeEventListener( 'update', this.emitUpdate );
+ // Update DOM
+ childView.$.detach();
+ this.emit( 'afterPop' );
+ this.emit( 'update' );
+};
+
+ve.ce.BranchNode.prototype.onAfterShift = function() {
+ this.emit( 'beforeShift' );
+ // Update children
+ var childView = this.children.shift();
+ childView.detach();
+ childView.removeEventListener( 'update', this.emitUpdate );
+ // Update DOM
+ childView.$.detach();
+ this.emit( 'afterShift' );
+ this.emit( 'update' );
+};
+
+ve.ce.BranchNode.prototype.onAfterSplice = function( index, howmany ) {
+ var i,
+ length,
+ args = Array.prototype.slice.call( arguments, 0 );
+ // Convert models to views and attach them to this node
+ if ( args.length >= 3 ) {
+ for ( i = 2, length = args.length; i < length; i++ ) {
+ args[i] = args[i].createView();
+ }
+ }
+ this.emit.apply( this, ['beforeSplice'].concat( args ) );
+ var removals = this.children.splice.apply( this.children, args );
+ for ( i = 0, length = removals.length; i < length; i++ ) {
+ removals[i].detach();
+ removals[i].removeListener( 'update', this.emitUpdate );
+ // Update DOM
+ removals[i].$.detach();
+ }
+ if ( args.length >= 3 ) {
+ var $target;
+ if ( index ) {
+ // Get the element before the insertion point
+ $anchor = this.$.children().eq( index - 1 );
+ }
+ for ( i = args.length - 1; i >= 2; i-- ) {
+ args[i].attach( this );
+ args[i].on( 'update', this.emitUpdate );
+ if ( index ) {
+ $anchor.after( args[i].$ );
+ } else {
+ this.$.prepend( args[i].$ );
+ }
+ }
+ }
+ this.emit.apply( this, ['afterSplice'].concat( args ) );
+ if ( args.length >= 3 ) {
+ for ( i = 2, length = args.length; i < length; i++ ) {
+ args[i].renderContent();
+ }
+ }
+ this.emit( 'update' );
+};
+
+ve.ce.BranchNode.prototype.onAfterSort = function() {
+ this.emit( 'beforeSort' );
+ var childModels = this.model.getChildren();
+ for ( var i = 0; i < childModels.length; i++ ) {
+ for ( var j = 0; j < this.children.length; j++ ) {
+ if ( this.children[j].getModel() === childModels[i] ) {
+ var childView = this.children[j];
+ // Update children
+ this.children.splice( j, 1 );
+ this.children.push( childView );
+ // Update DOM
+ this.$.append( childView.$ );
+ }
+ }
+ }
+ this.emit( 'afterSort' );
+ this.emit( 'update' );
+ this.renderContent();
+};
+
+ve.ce.BranchNode.prototype.onAfterReverse = function() {
+ this.emit( 'beforeReverse' );
+ // Update children
+ this.reverse();
+ // Update DOM
+ this.$.children().each( function() {
+ $(this).prependTo( $(this).parent() );
+ } );
+ this.emit( 'afterReverse' );
+ this.emit( 'update' );
+ this.renderContent();
+};
+
+/**
+ * Render content.
+ *
+ * @method
+ */
+ve.ce.BranchNode.prototype.renderContent = function() {
+ for ( var i = 0; i < this.children.length; i++ ) {
+ this.children[i].renderContent();
+ }
+};
+
+/**
+ * Draw selection around a given range.
+ *
+ * @method
+ * @param {ve.Range} range Range of content to draw selection around
+ */
+ve.ce.BranchNode.prototype.drawSelection = function( range ) {
+ var selectedNodes = this.selectNodes( range, true );
+ for ( var i = 0; i < this.children.length; i++ ) {
+ if ( selectedNodes.length && this.children[i] ===
selectedNodes[0].node ) {
+ for ( var j = 0; j < selectedNodes.length; j++ ) {
+ selectedNodes[j].node.drawSelection(
selectedNodes[j].range );
+ }
+ i += selectedNodes.length - 1;
+ } else {
+ this.children[i].clearSelection();
+ }
+ }
+};
+
+/**
+ * Clear selection.
+ *
+ * @method
+ */
+ve.ce.BranchNode.prototype.clearSelection = function() {
+ for ( var i = 0; i < this.children.length; i++ ) {
+ this.children[i].clearSelection();
+ }
+};
+
+/**
+ * Gets the nearest offset of a rendered position.
+ *
+ * @method
+ * @param {ve.Position} position Position to get offset for
+ * @returns {Integer} Offset of position
+ */
+ve.ce.BranchNode.prototype.getOffsetFromRenderedPosition = function( position
) {
+ if ( this.children.length === 0 ) {
+ return 0;
+ }
+ var node = this.children[0];
+ for ( var i = 1; i < this.children.length; i++ ) {
+ if ( this.horizontal && this.children[i].$.offset().left >
position.left ) {
+ break;
+ } else if ( !this.horizontal && this.children[i].$.offset().top
> position.top ) {
+ break;
+ }
+ node = this.children[i];
+ }
+ return node.getParent().getOffsetFromNode( node, true ) +
+ node.getOffsetFromRenderedPosition( position ) + 1;
+};
+
+/**
+ * Gets rendered position of offset within content.
+ *
+ * @method
+ * @param {Integer} offset Offset to get position for
+ * @returns {ve.Position} Position of offset
+ */
+ve.ce.BranchNode.prototype.getRenderedPositionFromOffset = function( offset,
leftBias ) {
+ var node = this.getNodeFromOffset( offset, true );
+ if ( node !== null ) {
+ return node.getRenderedPositionFromOffset(
+ offset - this.getOffsetFromNode( node, true ) - 1,
+ leftBias
+ );
+ }
+ return null;
+};
+
+ve.ce.BranchNode.prototype.getRenderedLineRangeFromOffset = function( offset )
{
+ var node = this.getNodeFromOffset( offset, true );
+ if ( node !== null ) {
+ var nodeOffset = this.getOffsetFromNode( node, true );
+ return ve.Range.newFromTranslatedRange(
+ node.getRenderedLineRangeFromOffset( offset -
nodeOffset - 1 ),
+ nodeOffset + 1
+ );
+ }
+ return null;
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.BranchNode, ve.BranchNode );
+ve.extendClass( ve.ce.BranchNode, ve.ce.Node );
Property changes on:
trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.BranchNode.js
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.Node.js
===================================================================
--- trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.Node.js 2012-03-08
11:53:15 UTC (rev 113361)
+++ trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.Node.js 2012-03-08
12:27:02 UTC (rev 113362)
@@ -1,107 +1,107 @@
-/**
- * Creates an ve.ce.Node object.
- *
- * @class
- * @abstract
- * @constructor
- * @extends {ve.Node}
- * @param {ve.dm.Node} model Model to observe
- * @param {jQuery} [$element=$( '<div></div>' )] Element to use as a container
- */
-ve.ce.Node = function( model, $element ) {
- // Inheritance
- ve.Node.call( this );
-
- // Properties
- this.model = model;
- this.parent = null;
- this.$ = $element || $( '<div/>' );
-};
-
-/* Methods */
-
-/**
- * Gets the length of the element in the model.
- *
- * @method
- * @see {ve.Node.prototype.getElementLength}
- * @returns {Integer} Length of content
- */
-ve.ce.Node.prototype.getElementLength = function() {
- return this.model.getElementLength();
-};
-
-/**
- * Gets the length of the content in the model.
- *
- * @method
- * @see {ve.Node.prototype.getContentLength}
- * @returns {Integer} Length of content
- */
-ve.ce.Node.prototype.getContentLength = function() {
- return this.model.getContentLength();
-};
-
-/**
- * Attaches node as a child to another node.
- *
- * @method
- * @param {ve.ce.Node} parent Node to attach to
- * @emits attach (parent)
- */
-ve.ce.Node.prototype.attach = function( parent ) {
- this.parent = parent;
- this.emit( 'attach', parent );
-};
-
-/**
- * Detaches node from it's parent.
- *
- * @method
- * @emits detach (parent)
- */
-ve.ce.Node.prototype.detach = function() {
- var parent = this.parent;
- this.parent = null;
- this.emit( 'detach', parent );
-};
-
-/**
- * Gets a reference to this node's parent.
- *
- * @method
- * @returns {ve.ce.Node} Reference to this node's parent
- */
-ve.ce.Node.prototype.getParent = function() {
- return this.parent;
-};
-
-/**
- * Gets a reference to the model this node observes.
- *
- * @method
- * @returns {ve.dm.Node} Reference to the model this node observes
- */
-ve.ce.Node.prototype.getModel = function() {
- return this.model;
-};
-
-ve.ce.Node.getSplitableNode = function( node ) {
- var splitableNode = null;
-
- ve.Node.traverseUpstream( node, function( node ) {
- var elementType = node.model.getElementType();
- if (
- splitableNode !== null &&
- ve.ce.DocumentNode.splitRules[ elementType ].children
=== true
- ) {
- return false;
- }
- splitableNode = ve.ce.DocumentNode.splitRules[ elementType
].self ? node : null;
- } );
- return splitableNode;
-};
-
-/* Inheritance */
-
-ve.extendClass( ve.ce.Node, ve.Node );
+/**
+ * Creates an ve.ce.Node object.
+ *
+ * @class
+ * @abstract
+ * @constructor
+ * @extends {ve.Node}
+ * @param {ve.dm.Node} model Model to observe
+ * @param {jQuery} [$element=$( '<div></div>' )] Element to use as a container
+ */
+ve.ce.Node = function( model, $element ) {
+ // Inheritance
+ ve.Node.call( this );
+
+ // Properties
+ this.model = model;
+ this.parent = null;
+ this.$ = $element || $( '<div/>' );
+};
+
+/* Methods */
+
+/**
+ * Gets the length of the element in the model.
+ *
+ * @method
+ * @see {ve.Node.prototype.getElementLength}
+ * @returns {Integer} Length of content
+ */
+ve.ce.Node.prototype.getElementLength = function() {
+ return this.model.getElementLength();
+};
+
+/**
+ * Gets the length of the content in the model.
+ *
+ * @method
+ * @see {ve.Node.prototype.getContentLength}
+ * @returns {Integer} Length of content
+ */
+ve.ce.Node.prototype.getContentLength = function() {
+ return this.model.getContentLength();
+};
+
+/**
+ * Attaches node as a child to another node.
+ *
+ * @method
+ * @param {ve.ce.Node} parent Node to attach to
+ * @emits attach (parent)
+ */
+ve.ce.Node.prototype.attach = function( parent ) {
+ this.parent = parent;
+ this.emit( 'attach', parent );
+};
+
+/**
+ * Detaches node from it's parent.
+ *
+ * @method
+ * @emits detach (parent)
+ */
+ve.ce.Node.prototype.detach = function() {
+ var parent = this.parent;
+ this.parent = null;
+ this.emit( 'detach', parent );
+};
+
+/**
+ * Gets a reference to this node's parent.
+ *
+ * @method
+ * @returns {ve.ce.Node} Reference to this node's parent
+ */
+ve.ce.Node.prototype.getParent = function() {
+ return this.parent;
+};
+
+/**
+ * Gets a reference to the model this node observes.
+ *
+ * @method
+ * @returns {ve.dm.Node} Reference to the model this node observes
+ */
+ve.ce.Node.prototype.getModel = function() {
+ return this.model;
+};
+
+ve.ce.Node.getSplitableNode = function( node ) {
+ var splitableNode = null;
+
+ ve.Node.traverseUpstream( node, function( node ) {
+ var elementType = node.model.getElementType();
+ if (
+ splitableNode !== null &&
+ ve.ce.DocumentNode.splitRules[ elementType ].children
=== true
+ ) {
+ return false;
+ }
+ splitableNode = ve.ce.DocumentNode.splitRules[ elementType
].self ? node : null;
+ } );
+ return splitableNode;
+};
+
+/* Inheritance */
+
+ve.extendClass( ve.ce.Node, ve.Node );
Property changes on: trunk/extensions/VisualEditor/modules/ve/ce/ve.ce.Node.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on:
trunk/extensions/VisualEditor/modules/ve/dm/ve.dm.DocumentSynchronizer.js
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on:
trunk/extensions/VisualEditor/tests/ve/ve.dm.DocumentSynchronizer.test.js
___________________________________________________________________
Added: svn:eol-style
+ native
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs