/*! * VisualEditor UserInterface MWTargetWidget class. * * @copyright 2011-2020 VisualEditor Team and others; see AUTHORS.txt * @license The MIT License (MIT); see LICENSE.txt */ /** * Creates an ve.ui.MWTargetWidget object. * * @class * @abstract * @extends ve.ui.TargetWidget * * @constructor * @param {Object} config * @cfg {string[]} [surfaceClasses] Surface classes to apply */ ve.ui.MWTargetWidget = function VeUiMWTargetWidget( config ) { this.surfaceClasses = ve.copy( config.surfaceClasses ) || []; // HACK: T287733 // This assumes the target widget is being shown outside of vector-body, otherwise this // will apply the class a second time and cause problems. if ( mw.config.get( 'skin' ) === 'vector' || mw.config.get( 'skin' ) === 'vector-2022' ) { this.surfaceClasses.push( 'vector-body' ); } // Parent constructor ve.ui.MWTargetWidget.super.apply( this, arguments ); // Initialization this.$element.addClass( 've-ui-mwTargetWidget' ); }; /* Inheritance */ OO.inheritClass( ve.ui.MWTargetWidget, ve.ui.TargetWidget ); /** * @inheritdoc */ ve.ui.MWTargetWidget.prototype.createTarget = function () { return new ve.init.mw.Target( { register: false, toolbarGroups: this.toolbarGroups, modes: this.modes, defaultMode: this.defaultMode, surfaceClasses: this.surfaceClasses } ); };