Avoid use of $.parseHTML in model

Change-Id: Ide671e7459b14bfbb7385261221c2edd17bd1153
This commit is contained in:
Ed Sanders 2019-11-04 12:16:14 +00:00 committed by Divec
parent 2d4234fac8
commit cc217cef29
2 changed files with 9 additions and 18 deletions

View file

@ -105,6 +105,8 @@
var contentNodes;
if ( ve.getProp( response, 'visualeditor', 'result' ) === 'success' ) {
// This method is only ever run by a client, so it is okay to use jQuery
// eslint-disable-next-line no-undef
contentNodes = $.parseHTML( response.visualeditor.content, surfaceFragment.getDocument().getHtmlDocument() ) || [];
contentNodes = ve.ce.MWTransclusionNode.static.filterRendering( contentNodes );
insertNode(

View file

@ -215,8 +215,7 @@ ve.dm.MWLanguageVariantNode.static.insertPreviewElements = function ( element, v
* @return {string} HTML string
*/
ve.dm.MWLanguageVariantNode.static.getPreviewHtml = function ( variantInfo, opts ) {
var languageIndex,
$holder;
var languageIndex, html;
if ( variantInfo.disabled ) {
return variantInfo.disabled.t;
} else if ( variantInfo.name ) {
@ -224,29 +223,19 @@ ve.dm.MWLanguageVariantNode.static.getPreviewHtml = function ( variantInfo, opts
} else if ( variantInfo.filter ) {
return variantInfo.filter.t;
} else if ( variantInfo.describe || ( opts && opts.describeAll ) ) {
$holder = $( '<body>' );
if ( variantInfo.twoway && variantInfo.twoway.length ) {
variantInfo.twoway.forEach( function ( item ) {
$holder.append(
ve.init.platform.getLanguageName( item.l.toLowerCase() )
);
$holder.append( ':' );
$holder.append( $.parseHTML( item.t ) );
$holder.append( ';' );
html += ve.init.platform.getLanguageName( item.l.toLowerCase() ) + ':' +
item.t + ';';
} );
} else if ( variantInfo.oneway && variantInfo.oneway.length ) {
variantInfo.oneway.forEach( function ( item ) {
$holder.append( $.parseHTML( item.f ) );
$holder.append( '⇒' );
$holder.append(
ve.init.platform.getLanguageName( item.l.toLowerCase() )
);
$holder.append( ':' );
$holder.append( $.parseHTML( item.t ) );
$holder.append( ';' );
html += item.f + '⇒' +
ve.init.platform.getLanguageName( item.l.toLowerCase() ) + ':' +
item.t + ';';
} );
}
return $holder.html();
return html;
} else {
if ( variantInfo.twoway && variantInfo.twoway.length ) {
languageIndex = this.matchLanguage( variantInfo.twoway );