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