/** * Copyright (c) 2014-2026 Alexandru Boia and Contributors * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. Neither the name of the copyright holder nor the names of its contributors * may be used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. */ /// /// /// (function($) { "use strict"; function disableWindowScroll(): void { window.abp01.disableWindowScroll(); } function enableWindowScroll(): void { window.abp01.enableWindowScroll(); } $.fn.abp01ProgressModal = function(spec: WpTripSummaryProgressModalOptions): WpTripSummaryProgressModal { var $me = $(this); var opts: WpTripSummaryProgressModalOptions = spec || {}; var shouldDisableScroll = opts.hasOwnProperty('shouldDisableScroll') ? !!opts.shouldDisableScroll : true; function getStyle(): any { var style = $.extend({ width: 400, height: 20, border: '0px none', background: 'transparent' }, opts.style || {}); return $.extend(style, { position: 'fixed' , left: '50%', top: '50%', transform: 'translate(-50%, -50%)' }); } function hasHtml(): boolean { return $('#abp01-progress-container').length == 1; } function getHtml(): string { return [ ('
'), '
', '
', ('
'), ('
'), '
', '
', '
', '
' ].join(''); } function show(): void { const text = arguments.length == 1 ? arguments[0] || '' : ''; const style = getStyle(); $me.block({ message: $('#abp01-progress-container'), centerX: false, centerY: false, css: style, baseZ: 9999999, onBlock: function() { $('#abp01-progress-label').html(text); if (shouldDisableScroll) { disableWindowScroll(); } if (!!opts.onBlock && typeof opts.onBlock === "function") { opts.onBlock(); } }, onUnblock: function() { $('#abp01-progress-label').html(''); if (shouldDisableScroll) { enableWindowScroll(); } if (!!opts.onUnblock && typeof opts.onUnblock === "function") { opts.onUnblock(); } } }); } function hide(): void { $me.unblock(); } if (!hasHtml()) { $('body').append(getHtml()); } return { show: show, hide: hide } }; })(jQuery);