| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- /* global $, APP */
 - 
 - /**
 -  * Base class for overlay components - the components which are displayed on
 -  * top of the application with semi-transparent background covering the whole
 -  * screen.
 -  */
 - export default class Overlay{
 -     /**
 -      * Creates new <tt>Overlay</tt> instance.
 -      */
 -     constructor() {
 -         /**
 -          *
 -          * @type {jQuery}
 -          */
 -         this.$overlay = null;
 - 
 -         /**
 -          * Indicates if this overlay should use the light look & feel or the
 -          * standard one.
 -          * @type {boolean}
 -          */
 -         this.isLightOverlay = false;
 -     }
 -     /**
 -      * Template method which should be used by subclasses to provide the overlay
 -      * content. The contents provided by this method are later subject to
 -      * the translation using {@link APP.translation.translateElement}.
 -      * @return {string} HTML representation of the overlay dialog contents.
 -      * @protected
 -      */
 -     _buildOverlayContent() {
 -         return '';
 -     }
 -     /**
 -      * Constructs the HTML body of the overlay dialog.
 -      *
 -      * @private
 -      */
 -     _buildOverlayHtml() {
 - 
 -         let overlayContent = this._buildOverlayContent();
 - 
 -         let containerClass = this.isLightOverlay    ? "overlay__container-light"
 -                                                     : "overlay__container";
 - 
 -         this.$overlay = $(`
 -             <div class=${containerClass}>
 -                 <div class='overlay__content'>
 -                     ${overlayContent}
 -                 </div>
 -             </div>`);
 - 
 -         APP.translation.translateElement(this.$overlay);
 -     }
 -     /**
 -      * Checks whether the page reload overlay has been displayed.
 -      * @return {boolean} <tt>true</tt> if the page reload overlay is currently
 -      * visible or <tt>false</tt> otherwise.
 -      */
 -     isVisible() {
 -         return this.$overlay && this.$overlay.parents('body').length > 0;
 -     }
 -     /**
 -      * Template method called just after the overlay is displayed for the first
 -      * time.
 -      * @protected
 -      */
 -     _onShow() {
 -         // To be overridden by subclasses.
 -     }
 -     /**
 -      * Shows the overlay dialog and attaches the underlying HTML representation
 -      * to the DOM.
 -      */
 -     show() {
 - 
 -         !this.$overlay && this._buildOverlayHtml();
 - 
 -         if (!this.isVisible()) {
 -             this.$overlay.appendTo('body');
 -             this._onShow();
 -         }
 -     }
 - 
 -     /**
 -      * Hides the overlay dialog and detaches it's HTML representation from
 -      * the DOM.
 -      */
 -     hide() {
 -         this.$overlay && this.$overlay.detach();
 -     }
 - }
 
 
  |