/* * This file is part of the MediaWiki extension MultimediaViewer. * * MultimediaViewer is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * MultimediaViewer is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with MultimediaViewer. If not, see . */ const UiElement = require( './mmv.ui.js' ); /** * Represents the buttons which are displayed over the image - next, previous, close * and fullscreen. */ class CanvasButtons extends UiElement { /** * @param {jQuery} $container The parent element we should put the buttons into. * @param {jQuery} $closeButton The close button element from the parent class. * @param {jQuery} $fullscreenButton The fullscreen button from the parent class. * @fires MultimediaViewer#mmv-close */ constructor( $container, $closeButton, $fullscreenButton ) { super( $container ); this.$close = $closeButton; this.$fullscreen = $fullscreenButton; this.$reuse = $( '' ) .attr( 'role', 'button' ) .addClass( 'cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only mw-mmv-button mw-mmv-reuse-button' ) .prop( 'title', mw.msg( 'multimediaviewer-reuse-link' ) ) .append( $( '' ).addClass( 'mw-mmv-icon' ) ); this.$options = $( '