mediawiki-extensions-Revisi.../modules/ext.RevisionSlider.HelpButtonView.js
Ed Sanders 57f9876e27 build: Update eslint-config-wikimedia to 0.10.1
Change-Id: I8aeddc384d25318e8618bb617884205f1c0c1f00
2019-02-10 16:54:28 +00:00

55 lines
1.3 KiB
JavaScript

( function () {
/**
* Module containing presentation logic for the helper button
*/
var HelpButtonView = {
/**
* Renders the help button and renders and adds the popup for it.
*
* @return {jQuery} the help button object
*/
render: function () {
var helpButton, helpPopup;
helpButton = new OO.ui.ButtonWidget( {
icon: 'helpNotice',
framed: false,
classes: [ 'mw-revslider-show-help' ]
} );
helpPopup = new OO.ui.PopupWidget( {
$content: $( '<p>' ).text( mw.msg( 'revisionslider-show-help-tooltip' ) ),
$floatableContainer: helpButton.$element,
padded: true,
width: 200,
classes: [ 'mw-revslider-tooltip', 'mw-revslider-help-tooltip' ]
} );
helpButton.connect( this, {
click: 'showDialog'
} );
helpButton.$element
.on( 'mouseover', function () {
helpPopup.toggle( true );
} )
.on( 'mouseout', function () {
helpPopup.toggle( false );
} )
.children().attr( {
'aria-haspopup': 'true',
'aria-label': mw.msg( 'revisionslider-show-help-tooltip' )
} );
$( 'body' ).append( helpPopup.$element );
return helpButton.$element;
},
showDialog: function () {
mw.libs.revisionSlider.HelpDialog.show();
}
};
mw.libs.revisionSlider = mw.libs.revisionSlider || {};
mw.libs.revisionSlider.HelpButtonView = HelpButtonView;
}() );