Esanders has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/357811 )
Change subject: [DEPRECATING CHANGE] Make Target#createModelFromDom static
......................................................................
[DEPRECATING CHANGE] Make Target#createModelFromDom static
Change-Id: I019689f87ac0f7f40a8a7600029b5ce1bc92e77f
---
M build/screenshots.diffs.js
M modules/ve-mw/init/ve.init.mw.ArticleTarget.js
M modules/ve-mw/init/ve.init.mw.Target.js
3 files changed, 41 insertions(+), 36 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/11/357811/1
diff --git a/build/screenshots.diffs.js b/build/screenshots.diffs.js
index 4fc3dac..f8c168a 100644
--- a/build/screenshots.diffs.js
+++ b/build/screenshots.diffs.js
@@ -21,12 +21,12 @@
}
}
- target.originalDmDoc = target.createModelFromDom(
target.parseDocument( oldHtml ), 'visual' );
+ target.originalDmDoc =
target.constructor.static.createModelFromDom( target.parseDocument( oldHtml ),
'visual' );
surface.getModel().getDocument().getStore().merge(
target.originalDmDoc.getStore() );
surface.getModel().getLinearFragment( new ve.Range( 0 )
).insertDocument(
- target.createModelFromDom(
target.parseDocument( newHtml ), 'visual' )
+ target.constructor.static.createModelFromDom(
target.parseDocument( newHtml ), 'visual' )
).collapseToEnd().adjustLinearSelection( 0, 3
).removeContent();
target.once( 'saveReview', function () {
diff --git a/modules/ve-mw/init/ve.init.mw.ArticleTarget.js
b/modules/ve-mw/init/ve.init.mw.ArticleTarget.js
index e132b5a..eae257b 100644
--- a/modules/ve-mw/init/ve.init.mw.ArticleTarget.js
+++ b/modules/ve-mw/init/ve.init.mw.ArticleTarget.js
@@ -1070,7 +1070,7 @@
if ( !this.originalDmDoc ) {
if ( !this.fromEditedState ) {
- this.originalDmDoc = this.createModelFromDom( this.doc,
'visual' );
+ this.originalDmDoc =
this.constructor.static.createModelFromDom( this.doc, 'visual' );
} else {
mw.libs.ve.targetLoader.requestParsoidData(
this.pageName,
@@ -1080,7 +1080,7 @@
var doc, data = response ? (
response.visualeditor || response.visualeditoredit ) : null;
if ( data && typeof data.content === 'string' )
{
doc = target.parseDocument(
data.content, 'visual' );
- target.originalDmDoc =
target.createModelFromDom( doc, 'visual' );
+ target.originalDmDoc =
target.constructor.static.createModelFromDom( doc, 'visual' );
deferred.resolve( function () {
return new ve.dm.VisualDiff(
target.originalDmDoc, dmDoc );
} );
diff --git a/modules/ve-mw/init/ve.init.mw.Target.js
b/modules/ve-mw/init/ve.init.mw.Target.js
index 0404e36..b0fa020 100644
--- a/modules/ve-mw/init/ve.init.mw.Target.js
+++ b/modules/ve-mw/init/ve.init.mw.Target.js
@@ -149,6 +149,42 @@
) );
};
+/**
+ * Create a document model from an HTML document.
+ *
+ * @param {HTMLDocument} doc HTML document
+ * @param {string} mode Editing mode
+ * @return {ve.dm.Document} Document model
+ */
+ve.init.mw.Target.static.createModelFromDom = function ( doc, mode ) {
+ var i, l, children, data,
+ conf = mw.config.get( 'wgVisualEditor' );
+
+ if ( mode === 'source' ) {
+ children = doc.body.children;
+ data = [];
+
+ // Wikitext documents are just plain text paragraphs, so we can
just do a simple manual conversion.
+ for ( i = 0, l = children.length; i < l; i++ ) {
+ data.push( { type: 'paragraph' } );
+ ve.batchPush( data, children[ i ].textContent.split( ''
) );
+ data.push( { type: '/paragraph' } );
+ }
+ data.push( { type: 'internalList' }, { type: '/internalList' }
);
+ return new ve.dm.Document( data, doc, null, null, null,
conf.pageLanguageCode, conf.pageLanguageDir );
+ } else {
+ return ve.dm.converter.getModelFromDom( doc, {
+ lang: conf.pageLanguageCode,
+ dir: conf.pageLanguageDir
+ } );
+ }
+};
+
+// Deprecated alias
+ve.init.mw.Target.prototype.createModelFromDom = function () {
+ return this.constructor.static.createModelFromDom.apply(
this.constructor.static, arguments );
+};
+
/* Methods */
/**
@@ -300,37 +336,6 @@
};
/**
- * Create a document model from an HTML document.
- *
- * @param {HTMLDocument} doc HTML document
- * @param {string} mode Editing mode
- * @return {ve.dm.Document} Document model
- */
-ve.init.mw.Target.prototype.createModelFromDom = function ( doc, mode ) {
- var i, l, children, data,
- conf = mw.config.get( 'wgVisualEditor' );
-
- if ( mode === 'source' ) {
- children = doc.body.children;
- data = [];
-
- // Wikitext documents are just plain text paragraphs, so we can
just do a simple manual conversion.
- for ( i = 0, l = children.length; i < l; i++ ) {
- data.push( { type: 'paragraph' } );
- ve.batchPush( data, children[ i ].textContent.split( ''
) );
- data.push( { type: '/paragraph' } );
- }
- data.push( { type: 'internalList' }, { type: '/internalList' }
);
- return new ve.dm.Document( data, doc, null, null, null,
conf.pageLanguageCode, conf.pageLanguageDir );
- } else {
- return ve.dm.converter.getModelFromDom( doc, {
- lang: conf.pageLanguageCode,
- dir: conf.pageLanguageDir
- } );
- }
-};
-
-/**
* Switch to editing mode.
*
* @method
@@ -344,7 +349,7 @@
var dmDoc;
target.track( 'trace.convertModelFromDom.enter' );
- dmDoc = target.createModelFromDom( doc, target.getDefaultMode()
);
+ dmDoc = target.constructor.static.createModelFromDom( doc,
target.getDefaultMode() );
target.track( 'trace.convertModelFromDom.exit' );
// Build DM tree now (otherwise it gets lazily built when
building the CE tree)
--
To view, visit https://gerrit.wikimedia.org/r/357811
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I019689f87ac0f7f40a8a7600029b5ce1bc92e77f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits