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

Change subject: Convert GeneratedContentNode into a mixing (instead of an 
abstract class).
......................................................................


Convert GeneratedContentNode into a mixing (instead of an abstract class).

Change-Id: I280d2a59326bd83357c7a09c3a188a70fbc75335
---
M modules/ve/ce/nodes/ve.ce.AlienNode.js
M modules/ve/ce/nodes/ve.ce.GeneratedContentNode.js
M modules/ve/ce/nodes/ve.ce.MWTemplateNode.js
M modules/ve/dm/nodes/ve.dm.AlienNode.js
M modules/ve/dm/nodes/ve.dm.GeneratedContentNode.js
M modules/ve/dm/nodes/ve.dm.MWTemplateNode.js
M modules/ve/test/ce/ve.ce.ContentBranchNode.test.js
7 files changed, 48 insertions(+), 50 deletions(-)

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



diff --git a/modules/ve/ce/nodes/ve.ce.AlienNode.js 
b/modules/ve/ce/nodes/ve.ce.AlienNode.js
index 002c1d3..f651f3a 100644
--- a/modules/ve/ce/nodes/ve.ce.AlienNode.js
+++ b/modules/ve/ce/nodes/ve.ce.AlienNode.js
@@ -10,8 +10,9 @@
  *
  * @class
  * @abstract
- * @extends ve.ce.GeneratedContentNode
+ * @extends ve.ce.LeafNode
  * @mixins ve.ce.ProtectedNode
+ * @mixins ve.ce.GeneratedContentNode
  *
  * @constructor
  * @param {ve.dm.AlienNode} model Model to observe
@@ -19,21 +20,24 @@
  */
 ve.ce.AlienNode = function VeCeAlienNode( model, config ) {
        // Parent constructor
-       ve.ce.GeneratedContentNode.call( this, model, config );
+       ve.ce.LeafNode.call( this, model, config );
 
        // Mixin constructors
        ve.ce.ProtectedNode.call( this );
+       ve.ce.GeneratedContentNode.call( this );
 
-       // Intitialization
+       // DOM Changes
        this.$.addClass( 've-ce-alienNode' );
 };
 
 /* Inheritance */
 
-ve.inheritClass( ve.ce.AlienNode, ve.ce.GeneratedContentNode );
+ve.inheritClass( ve.ce.AlienNode, ve.ce.LeafNode );
 
 ve.mixinClass( ve.ce.AlienNode, ve.ce.ProtectedNode );
 
+ve.mixinClass( ve.ce.AlienNode, ve.ce.GeneratedContentNode );
+
 /* Static Properties */
 
 ve.ce.AlienNode.static.name = 'alien';
diff --git a/modules/ve/ce/nodes/ve.ce.GeneratedContentNode.js 
b/modules/ve/ce/nodes/ve.ce.GeneratedContentNode.js
index a9c2c86..4253fcb 100644
--- a/modules/ve/ce/nodes/ve.ce.GeneratedContentNode.js
+++ b/modules/ve/ce/nodes/ve.ce.GeneratedContentNode.js
@@ -10,15 +10,10 @@
  *
  * @class
  * @abstract
- * @extends ve.ce.LeafNode
+ *
  * @constructor
- * @param {ve.dm.GeneratedContentNode} model Model to observe
- * @param {Object} [config] Config options
  */
-ve.ce.GeneratedContentNode = function VeCeGeneratedContentNode( model, config 
) {
-       // Parent constructor
-       ve.ce.LeafNode.call( this, model, config );
-
+ve.ce.GeneratedContentNode = function VeCeGeneratedContentNode() {
        // DOM Changes
        this.$.addClass( 've-ce-generatedContentNode' );
        this.$.attr( 'contenteditable', false );
@@ -29,14 +24,6 @@
        // Initialization
        this.onUpdate();
 };
-
-/* Inheritance */
-
-ve.inheritClass( ve.ce.GeneratedContentNode, ve.ce.LeafNode );
-
-/* Static Properties */
-
-ve.ce.GeneratedContentNode.static.name = 'generatedContent';
 
 /* Methods */
 
@@ -49,9 +36,13 @@
        var store = this.model.doc.getStore(),
                index = store.indexOfHash( ve.getHash( this.model ) );
        if ( index !== null ) {
-               this.emit( 'teardown' );
+               if ( this.live ) {
+                       this.emit( 'teardown' );
+               }
                this.$.empty().append( store.value( index ) );
-               this.emit( 'setup' );
+               if ( this.live ) {
+                       this.emit( 'setup' );
+               }
        } else {
                this.startGenerating();
                this.generateContents()
@@ -96,8 +87,4 @@
  */
 ve.ce.GeneratedContentNode.prototype.failGenerating = function () {
        // TODO: remove 'generating' style
-};
-
-/* Registration */
-
-ve.ce.nodeFactory.register( ve.ce.GeneratedContentNode );
+};
\ No newline at end of file
diff --git a/modules/ve/ce/nodes/ve.ce.MWTemplateNode.js 
b/modules/ve/ce/nodes/ve.ce.MWTemplateNode.js
index 3aaeb24..ca94fe3 100644
--- a/modules/ve/ce/nodes/ve.ce.MWTemplateNode.js
+++ b/modules/ve/ce/nodes/ve.ce.MWTemplateNode.js
@@ -12,9 +12,10 @@
  *
  * @class
  * @abstract
- * @extends ve.ce.GeneratedContentNode
+ * @extends ve.ce.LeafNode
  * @mixins ve.ce.ProtectedNode
  * @mixins ve.ce.FocusableNode
+ * @mixins ve.ce.GeneratedContentNode
  *
  * @constructor
  * @param {ve.dm.MWTemplateNode} model Model to observe
@@ -22,11 +23,12 @@
  */
 ve.ce.MWTemplateNode = function VeCeMWTemplateNode( model, config ) {
        // Parent constructor
-       ve.ce.GeneratedContentNode.call( this, model, config );
+       ve.ce.LeafNode.call( this, model, config );
 
        // Mixin constructors
        ve.ce.ProtectedNode.call( this );
        ve.ce.FocusableNode.call( this );
+       ve.ce.GeneratedContentNode.call( this );
 
        // DOM Changes
        this.$.addClass( 've-ce-mwTemplateNode' );
@@ -34,12 +36,14 @@
 
 /* Inheritance */
 
-ve.inheritClass( ve.ce.MWTemplateNode, ve.ce.GeneratedContentNode );
+ve.inheritClass( ve.ce.MWTemplateNode, ve.ce.LeafNode );
 
 ve.mixinClass( ve.ce.MWTemplateNode, ve.ce.ProtectedNode );
 
 ve.mixinClass( ve.ce.MWTemplateNode, ve.ce.FocusableNode );
 
+ve.mixinClass( ve.ce.MWTemplateNode, ve.ce.GeneratedContentNode );
+
 /* Static Properties */
 
 ve.ce.MWTemplateNode.static.name = 'mwTemplate';
diff --git a/modules/ve/dm/nodes/ve.dm.AlienNode.js 
b/modules/ve/dm/nodes/ve.dm.AlienNode.js
index 2cfe9c5..79be364 100644
--- a/modules/ve/dm/nodes/ve.dm.AlienNode.js
+++ b/modules/ve/dm/nodes/ve.dm.AlienNode.js
@@ -10,19 +10,26 @@
  *
  * @class
  * @abstract
- * @extends ve.dm.GeneratedContentNode
+ * @extends ve.dm.LeafNode
+ * @mixins ve.dm.GeneratedContentNode
+ *
  * @constructor
  * @param {number} [length] Length of content data in document; ignored and 
overridden to 0
  * @param {Object} [element] Reference to element in linear model
  */
 ve.dm.AlienNode = function VeDmAlienNode( length, element ) {
        // Parent constructor
-       ve.dm.GeneratedContentNode.call( this, 0, element );
+       ve.dm.LeafNode.call( this, 0, element );
+
+       // Mixin constructors
+       ve.dm.GeneratedContentNode.call( this );
 };
 
 /* Inheritance */
 
-ve.inheritClass( ve.dm.AlienNode, ve.dm.GeneratedContentNode );
+ve.inheritClass( ve.dm.AlienNode, ve.dm.LeafNode );
+
+ve.mixinClass( ve.dm.AlienNode, ve.dm.GeneratedContentNode );
 
 /* Static members */
 
diff --git a/modules/ve/dm/nodes/ve.dm.GeneratedContentNode.js 
b/modules/ve/dm/nodes/ve.dm.GeneratedContentNode.js
index 1eb081c..9ef8518 100644
--- a/modules/ve/dm/nodes/ve.dm.GeneratedContentNode.js
+++ b/modules/ve/dm/nodes/ve.dm.GeneratedContentNode.js
@@ -10,23 +10,16 @@
  *
  * @class
  * @abstract
- * @extends ve.dm.LeafNode
  * @constructor
  * @param {number} [length] Length of content data in document; ignored and 
overridden to 0
  * @param {Object} [element] Reference to element in linear model
  */
-ve.dm.GeneratedContentNode = function VeDmGeneratedContentNode( length, 
element ) {
-       // Parent constructor
-       ve.dm.LeafNode.call( this, 0, element );
+ve.dm.GeneratedContentNode = function VeDmGeneratedContentNode() {
 };
-
-/* Inheritance */
-
-ve.inheritClass( ve.dm.GeneratedContentNode, ve.dm.LeafNode );
 
 /* Static members */
 
-ve.dm.GeneratedContentNode.static.name = 'generatedContent';
+ve.dm.GeneratedContentNode.static = {};
 
 ve.dm.GeneratedContentNode.static.matchTagNames = [];
 
@@ -42,8 +35,4 @@
 ve.dm.GeneratedContentNode.static.storeDomElements = function ( dataElement, 
domElements, store ) {
        var hash = ve.getHash( this.getHashObject( dataElement ) );
        return store.index( domElements, hash );
-};
-
-/* Registration */
-
-ve.dm.modelRegistry.register( ve.dm.GeneratedContentNode );
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/modules/ve/dm/nodes/ve.dm.MWTemplateNode.js 
b/modules/ve/dm/nodes/ve.dm.MWTemplateNode.js
index 631ee7f..9e81259 100644
--- a/modules/ve/dm/nodes/ve.dm.MWTemplateNode.js
+++ b/modules/ve/dm/nodes/ve.dm.MWTemplateNode.js
@@ -10,19 +10,26 @@
  *
  * @class
  * @abstract
- * @extends ve.dm.GeneratedContentNode
+ * @extends ve.dm.LeafNode
+ * @mixins ve.dm.GeneratedContentNode
+ *
  * @constructor
  * @param {number} [length] Length of content data in document; ignored and 
overridden to 0
  * @param {Object} [element] Reference to element in linear model
  */
 ve.dm.MWTemplateNode = function VeDmMWTemplateNode( length, element ) {
        // Parent constructor
-       ve.dm.GeneratedContentNode.call( this, 0, element );
+       ve.dm.LeafNode.call( this, 0, element );
+
+       // Mixin constructors
+       ve.dm.GeneratedContentNode.call( this );
 };
 
 /* Inheritance */
 
-ve.inheritClass( ve.dm.MWTemplateNode, ve.dm.GeneratedContentNode );
+ve.inheritClass( ve.dm.MWTemplateNode, ve.dm.LeafNode );
+
+ve.mixinClass( ve.dm.MWTemplateNode, ve.dm.GeneratedContentNode );
 
 /* Static members */
 
diff --git a/modules/ve/test/ce/ve.ce.ContentBranchNode.test.js 
b/modules/ve/test/ce/ve.ce.ContentBranchNode.test.js
index 189bfa2..7a74a3c 100644
--- a/modules/ve/test/ce/ve.ce.ContentBranchNode.test.js
+++ b/modules/ve/test/ce/ve.ce.ContentBranchNode.test.js
@@ -246,7 +246,7 @@
                        ],
                        'html': 'a<b>b<span typeof="mw:Entity" 
class="ve-ce-leafNode ' +
                                've-ce-mwEntityNode" 
contenteditable="false">c</span>d<span ' +
-                               'class="ve-ce-leafNode 
ve-ce-generatedContentNode ve-ce-protectedNode ' +
+                               'class="ve-ce-leafNode ve-ce-protectedNode 
ve-ce-generatedContentNode ' +
                                've-ce-alienNode ve-ce-alienInlineNode" ' +
                                'contenteditable="false"><tt>e</tt></span></b>'
                }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I280d2a59326bd83357c7a09c3a188a70fbc75335
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Inez <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: Trevor Parscal <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to