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