mediawiki-extensions-Visual.../modules/ve-mw/ui/elements/ve.ui.MWPreviewElement.js
Ed Sanders 60e129062a Add missing mw-content-(dir) class to MWPreviewElement
Also allow preview elements to existing with an mw-body-content
area withouth the font size being applied twice.

Depends-On: Ibbf989dcebf2d21fd2ac481f17062f366ff29e41
Change-Id: I284bcd5dd25cdbb883427ebacb41af1bbf50b60f
2018-05-11 16:59:12 +00:00

55 lines
1.3 KiB
JavaScript

/*!
* VisualEditor UserInterface MWPreviewElement class.
*
* @copyright 2011-2018 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* Creates an ve.ui.MWPreviewElement object.
*
* @class
* @extends ve.ui.PreviewElement
*
* @constructor
* @param {ve.dm.Node} [model]
* @param {Object} [config]
*/
ve.ui.MWPreviewElement = function VeUiMwPreviewElement() {
// Parent constructor
ve.ui.MWPreviewElement.super.apply( this, arguments );
// Initialize
this.$element.addClass( 've-ui-mwPreviewElement mw-body-content mw-parser-output' );
};
/* Inheritance */
OO.inheritClass( ve.ui.MWPreviewElement, ve.ui.PreviewElement );
/* Method */
/**
* @inheritdoc
*/
ve.ui.MWPreviewElement.prototype.setModel = function ( model ) {
// Parent method
ve.ui.MWPreviewElement.super.prototype.setModel.call( this, model );
this.$element.addClass( 'mw-content-' + this.model.getDocument().getDir() );
};
/**
* @inheritdoc
*/
ve.ui.MWPreviewElement.prototype.replaceWithModelDom = function () {
// Parent method
ve.ui.MWPreviewElement.super.prototype.replaceWithModelDom.apply( this, arguments );
ve.init.platform.linkCache.styleParsoidElements(
this.$element,
// The DM node should be attached, but check just in case.
this.model.getDocument() && this.model.getDocument().getHtmlDocument()
);
};