/*! * VisualEditor UserInterface MWPreviewElement class. * * @copyright 2011-2020 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] * @cfg {boolean} [useView=false] Use the view HTML, and don't bother generating model HTML, which * is a bit slower */ 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 ); // The following classes are used here: // * mw-content-ltr // * mw-content-rtl 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() ); };