/* * 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 . */ ( function () { let cachedRTL; /** * Represents a UI element. * * @abstract */ class UiElement { /** * @param {jQuery} $container */ constructor( $container ) { OO.EventEmitter.call( this ); /** @property {jQuery} $container The element that contains the UI element. */ this.$container = $container; /** @property {Object.} eventsRegistered Events that this element has registered with the DOM. */ this.eventsRegistered = {}; /** * @property {Object.} $inlineStyles a list of `