mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-27 04:06:51 +00:00
Merge "[DEPRECATING CHANGE] Make Target#createModelFromDom static"
This commit is contained in:
commit
27c6f624ae
|
@ -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 () {
|
||||
|
|
|
@ -1070,7 +1070,7 @@ ve.init.mw.ArticleTarget.prototype.getVisualDiffGeneratorPromise = function () {
|
|||
|
||||
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 @@ ve.init.mw.ArticleTarget.prototype.getVisualDiffGeneratorPromise = function () {
|
|||
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 );
|
||||
} );
|
||||
|
|
|
@ -149,6 +149,42 @@ ve.init.mw.Target.static.fixBase = function ( doc ) {
|
|||
) );
|
||||
};
|
||||
|
||||
/**
|
||||
* 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 */
|
||||
|
||||
/**
|
||||
|
@ -299,37 +335,6 @@ ve.init.mw.Target.prototype.createSurface = function ( dmDoc, config ) {
|
|||
return surface;
|
||||
};
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
|
@ -344,7 +349,7 @@ ve.init.mw.Target.prototype.setupSurface = function ( doc, callback ) {
|
|||
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)
|
||||
|
|
Loading…
Reference in a new issue