mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-12-24 20:13:08 +00:00
2c77e88d2c
Change-Id: I30539877543dc2a57bd1428a00d10ac46d8fc294
66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
/*!
|
|
* VisualEditor user interface MWVESwitchPopupWidget class.
|
|
*
|
|
* @copyright 2011-2020 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
mw.libs.ve = mw.libs.ve || {};
|
|
/**
|
|
*
|
|
*
|
|
* @class
|
|
* @extends OO.ui.PopupWidget
|
|
*
|
|
* @constructor
|
|
* @param {string} mode Current edit mode
|
|
* @param {Object} [config] Configuration options
|
|
*/
|
|
mw.libs.ve.SwitchPopupWidget = function MWLibsVESwitchPopupWidget( mode, config ) {
|
|
var $content, showAgainLayout, showAgainCheckbox,
|
|
prefix = mode === 'visual' ? 'visualeditor-mweditmodewt' : 'visualeditor-mweditmodeve',
|
|
option = mode === 'visual' ? 'visualeditor-hidevisualswitchpopup' : 'visualeditor-hidesourceswitchpopup';
|
|
|
|
// Parent constructor
|
|
mw.libs.ve.SwitchPopupWidget.super.call( this, $.extend( {
|
|
autoClose: true,
|
|
head: true,
|
|
// The following messages are used here:
|
|
// * visualeditor-mweditmodewt-popup-title
|
|
// * visualeditor-mweditmodeve-popup-title
|
|
label: mw.msg( prefix + '-popup-title' ),
|
|
padded: true
|
|
}, config ) );
|
|
|
|
// The following messages are used here:
|
|
// * visualeditor-mweditmodewt-popup-body
|
|
// * visualeditor-mweditmodeve-popup-body
|
|
$content = $( '<p>' ).text( mw.msg( prefix + '-popup-body' ) );
|
|
|
|
if ( !mw.user.isAnon() ) {
|
|
showAgainCheckbox = new OO.ui.CheckboxInputWidget()
|
|
.on( 'change', function ( value ) {
|
|
var configValue = value ? '1' : '';
|
|
new mw.Api().saveOption( option, configValue );
|
|
mw.user.options.set( option, configValue );
|
|
} );
|
|
|
|
showAgainLayout = new OO.ui.FieldLayout( showAgainCheckbox, {
|
|
align: 'inline',
|
|
label: mw.msg( 'visualeditor-mweditmodeve-showagain' )
|
|
} );
|
|
$content = $content.add( showAgainLayout.$element );
|
|
}
|
|
|
|
this.$body.append( $content );
|
|
|
|
this.$element
|
|
// HACK: Pretend to be a PopupTool
|
|
// TODO: Create upstream PopupListToolGroup
|
|
.addClass( 've-init-mw-switchPopupWidget' );
|
|
};
|
|
|
|
/* Inheritance */
|
|
|
|
OO.inheritClass( mw.libs.ve.SwitchPopupWidget, OO.ui.PopupWidget );
|