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().getDocument().getStore().merge( target.originalDmDoc.getStore() );
|
||||||
|
|
||||||
surface.getModel().getLinearFragment( new ve.Range( 0 ) ).insertDocument(
|
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();
|
).collapseToEnd().adjustLinearSelection( 0, 3 ).removeContent();
|
||||||
|
|
||||||
target.once( 'saveReview', function () {
|
target.once( 'saveReview', function () {
|
||||||
|
|
|
@ -1070,7 +1070,7 @@ ve.init.mw.ArticleTarget.prototype.getVisualDiffGeneratorPromise = function () {
|
||||||
|
|
||||||
if ( !this.originalDmDoc ) {
|
if ( !this.originalDmDoc ) {
|
||||||
if ( !this.fromEditedState ) {
|
if ( !this.fromEditedState ) {
|
||||||
this.originalDmDoc = this.createModelFromDom( this.doc, 'visual' );
|
this.originalDmDoc = this.constructor.static.createModelFromDom( this.doc, 'visual' );
|
||||||
} else {
|
} else {
|
||||||
mw.libs.ve.targetLoader.requestParsoidData(
|
mw.libs.ve.targetLoader.requestParsoidData(
|
||||||
this.pageName,
|
this.pageName,
|
||||||
|
@ -1080,7 +1080,7 @@ ve.init.mw.ArticleTarget.prototype.getVisualDiffGeneratorPromise = function () {
|
||||||
var doc, data = response ? ( response.visualeditor || response.visualeditoredit ) : null;
|
var doc, data = response ? ( response.visualeditor || response.visualeditoredit ) : null;
|
||||||
if ( data && typeof data.content === 'string' ) {
|
if ( data && typeof data.content === 'string' ) {
|
||||||
doc = target.parseDocument( data.content, 'visual' );
|
doc = target.parseDocument( data.content, 'visual' );
|
||||||
target.originalDmDoc = target.createModelFromDom( doc, 'visual' );
|
target.originalDmDoc = target.constructor.static.createModelFromDom( doc, 'visual' );
|
||||||
deferred.resolve( function () {
|
deferred.resolve( function () {
|
||||||
return new ve.dm.VisualDiff( target.originalDmDoc, dmDoc );
|
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 */
|
/* Methods */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -299,37 +335,6 @@ ve.init.mw.Target.prototype.createSurface = function ( dmDoc, config ) {
|
||||||
return surface;
|
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.
|
* Switch to editing mode.
|
||||||
*
|
*
|
||||||
|
@ -344,7 +349,7 @@ ve.init.mw.Target.prototype.setupSurface = function ( doc, callback ) {
|
||||||
var dmDoc;
|
var dmDoc;
|
||||||
|
|
||||||
target.track( 'trace.convertModelFromDom.enter' );
|
target.track( 'trace.convertModelFromDom.enter' );
|
||||||
dmDoc = target.createModelFromDom( doc, target.getDefaultMode() );
|
dmDoc = target.constructor.static.createModelFromDom( doc, target.getDefaultMode() );
|
||||||
target.track( 'trace.convertModelFromDom.exit' );
|
target.track( 'trace.convertModelFromDom.exit' );
|
||||||
|
|
||||||
// Build DM tree now (otherwise it gets lazily built when building the CE tree)
|
// Build DM tree now (otherwise it gets lazily built when building the CE tree)
|
||||||
|
|
Loading…
Reference in a new issue