jenkins-bot has submitted this change and it was merged.

Change subject: Simplify toDomElements
......................................................................


Simplify toDomElements

If the model matches a single tag name, toDomElements will return
a plain tag of that type by default. Remove any implementations
which don't override this.

Change-Id: I0ac83c4eaff3c203f6126080fb6c695fee4faf83
---
M modules/ve/dm/nodes/ve.dm.BreakNode.js
M modules/ve/dm/nodes/ve.dm.CenterNode.js
M modules/ve/dm/nodes/ve.dm.DefinitionListNode.js
M modules/ve/dm/nodes/ve.dm.DivNode.js
M modules/ve/dm/nodes/ve.dm.ListItemNode.js
M modules/ve/dm/nodes/ve.dm.ParagraphNode.js
M modules/ve/dm/nodes/ve.dm.PreformattedNode.js
M modules/ve/dm/nodes/ve.dm.TableCaptionNode.js
M modules/ve/dm/nodes/ve.dm.TableNode.js
M modules/ve/dm/nodes/ve.dm.TableRowNode.js
M modules/ve/dm/ve.dm.Model.js
11 files changed, 5 insertions(+), 42 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve/dm/nodes/ve.dm.BreakNode.js 
b/modules/ve/dm/nodes/ve.dm.BreakNode.js
index cd5f8a7..eda1f2a 100644
--- a/modules/ve/dm/nodes/ve.dm.BreakNode.js
+++ b/modules/ve/dm/nodes/ve.dm.BreakNode.js
@@ -31,10 +31,6 @@
 
 ve.dm.BreakNode.static.matchTagNames = [ 'br' ];
 
-ve.dm.BreakNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'br' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.BreakNode );
diff --git a/modules/ve/dm/nodes/ve.dm.CenterNode.js 
b/modules/ve/dm/nodes/ve.dm.CenterNode.js
index 0626986..afd96a2 100644
--- a/modules/ve/dm/nodes/ve.dm.CenterNode.js
+++ b/modules/ve/dm/nodes/ve.dm.CenterNode.js
@@ -29,10 +29,6 @@
 
 ve.dm.CenterNode.static.matchTagNames = [ 'center' ];
 
-ve.dm.CenterNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'center' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.CenterNode );
diff --git a/modules/ve/dm/nodes/ve.dm.DefinitionListNode.js 
b/modules/ve/dm/nodes/ve.dm.DefinitionListNode.js
index 642429e..a53af7e 100644
--- a/modules/ve/dm/nodes/ve.dm.DefinitionListNode.js
+++ b/modules/ve/dm/nodes/ve.dm.DefinitionListNode.js
@@ -31,10 +31,6 @@
 
 ve.dm.DefinitionListNode.static.matchTagNames = [ 'dl' ];
 
-ve.dm.DefinitionListNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'dl' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.DefinitionListNode );
diff --git a/modules/ve/dm/nodes/ve.dm.DivNode.js 
b/modules/ve/dm/nodes/ve.dm.DivNode.js
index 3ce3003..83fbd71 100644
--- a/modules/ve/dm/nodes/ve.dm.DivNode.js
+++ b/modules/ve/dm/nodes/ve.dm.DivNode.js
@@ -29,10 +29,6 @@
 
 ve.dm.DivNode.static.matchTagNames = [ 'div' ];
 
-ve.dm.DivNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'div' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.DivNode );
diff --git a/modules/ve/dm/nodes/ve.dm.ListItemNode.js 
b/modules/ve/dm/nodes/ve.dm.ListItemNode.js
index 87a462c..03f0788 100644
--- a/modules/ve/dm/nodes/ve.dm.ListItemNode.js
+++ b/modules/ve/dm/nodes/ve.dm.ListItemNode.js
@@ -31,10 +31,6 @@
 
 ve.dm.ListItemNode.static.matchTagNames = [ 'li' ];
 
-ve.dm.ListItemNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'li' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.ListItemNode );
diff --git a/modules/ve/dm/nodes/ve.dm.ParagraphNode.js 
b/modules/ve/dm/nodes/ve.dm.ParagraphNode.js
index 8da5b33..5ab550c 100644
--- a/modules/ve/dm/nodes/ve.dm.ParagraphNode.js
+++ b/modules/ve/dm/nodes/ve.dm.ParagraphNode.js
@@ -31,10 +31,6 @@
 
 ve.dm.ParagraphNode.static.matchTagNames = [ 'p' ];
 
-ve.dm.ParagraphNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'p' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.ParagraphNode );
diff --git a/modules/ve/dm/nodes/ve.dm.PreformattedNode.js 
b/modules/ve/dm/nodes/ve.dm.PreformattedNode.js
index 4bcbf24..1d672be 100644
--- a/modules/ve/dm/nodes/ve.dm.PreformattedNode.js
+++ b/modules/ve/dm/nodes/ve.dm.PreformattedNode.js
@@ -33,10 +33,6 @@
 
 ve.dm.PreformattedNode.static.matchTagNames = [ 'pre' ];
 
-ve.dm.PreformattedNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'pre' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.PreformattedNode );
diff --git a/modules/ve/dm/nodes/ve.dm.TableCaptionNode.js 
b/modules/ve/dm/nodes/ve.dm.TableCaptionNode.js
index 4a723e2..ce85fed 100644
--- a/modules/ve/dm/nodes/ve.dm.TableCaptionNode.js
+++ b/modules/ve/dm/nodes/ve.dm.TableCaptionNode.js
@@ -31,10 +31,6 @@
 
 ve.dm.TableCaptionNode.static.matchTagNames = [ 'caption' ];
 
-ve.dm.TableCaptionNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'caption' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.TableCaptionNode );
diff --git a/modules/ve/dm/nodes/ve.dm.TableNode.js 
b/modules/ve/dm/nodes/ve.dm.TableNode.js
index 48f9c4b..60c7fa6 100644
--- a/modules/ve/dm/nodes/ve.dm.TableNode.js
+++ b/modules/ve/dm/nodes/ve.dm.TableNode.js
@@ -31,10 +31,6 @@
 
 ve.dm.TableNode.static.matchTagNames = [ 'table' ];
 
-ve.dm.TableNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'table' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.TableNode );
diff --git a/modules/ve/dm/nodes/ve.dm.TableRowNode.js 
b/modules/ve/dm/nodes/ve.dm.TableRowNode.js
index adcfd99..ddf4620 100644
--- a/modules/ve/dm/nodes/ve.dm.TableRowNode.js
+++ b/modules/ve/dm/nodes/ve.dm.TableRowNode.js
@@ -33,10 +33,6 @@
 
 ve.dm.TableRowNode.static.matchTagNames = [ 'tr' ];
 
-ve.dm.TableRowNode.static.toDomElements = function ( dataElement, doc ) {
-       return [ doc.createElement( 'tr' ) ];
-};
-
 /* Registration */
 
 ve.dm.modelRegistry.register( ve.dm.TableRowNode );
diff --git a/modules/ve/dm/ve.dm.Model.js b/modules/ve/dm/ve.dm.Model.js
index 411b861..0f2ee23 100644
--- a/modules/ve/dm/ve.dm.Model.js
+++ b/modules/ve/dm/ve.dm.Model.js
@@ -153,8 +153,11 @@
  * @param {ve.dm.Converter} converter Converter object to optionally call 
.getDomSubtreeFromData() on
  * @returns {HTMLElement[]} DOM elements
  */
-ve.dm.Model.static.toDomElements = function ( /*dataElement, doc, converter*/ 
) {
-       throw new Error( 've.dm.Model subclass must implement toDomElements' );
+ve.dm.Model.static.toDomElements = function ( dataElement, doc ) {
+       if ( this.matchTagNames && this.matchTagNames.length === 1 ) {
+               return [ doc.createElement( this.matchTagNames[0] ) ];
+       }
+       throw new Error( 've.dm.Model subclass must match a single tag name or 
implement toDomElements' );
 };
 
 /**

-- 
To view, visit https://gerrit.wikimedia.org/r/109092
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I0ac83c4eaff3c203f6126080fb6c695fee4faf83
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>
Gerrit-Reviewer: Catrope <roan.katt...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to