123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- 'use strict';
- var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- // SweetAlert
- // 2014-2015 (c) - Tristan Edwards
- // github.com/t4t5/sweetalert
- /*
- * jQuery-like functions for manipulating the DOM
- */
- var _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation = require('./modules/handle-dom');
- /*
- * Handy utilities
- */
- var _extend$hexToRgb$isIE8$logStr$colorLuminance = require('./modules/utils');
- /*
- * Handle sweetAlert's DOM elements
- */
- var _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition = require('./modules/handle-swal-dom');
- // Handle button events and keyboard events
- var _handleButton$handleConfirm$handleCancel = require('./modules/handle-click');
- var _handleKeyDown = require('./modules/handle-key');
- var _handleKeyDown2 = _interopRequireWildcard(_handleKeyDown);
- // Default values
- var _defaultParams = require('./modules/default-params');
- var _defaultParams2 = _interopRequireWildcard(_defaultParams);
- var _setParameters = require('./modules/set-params');
- var _setParameters2 = _interopRequireWildcard(_setParameters);
- /*
- * Remember state in cases where opening and handling a modal will fiddle with it.
- * (We also use window.previousActiveElement as a global variable)
- */
- var previousWindowKeyDown;
- var lastFocusedButton;
- /*
- * Global sweetAlert function
- * (this is what the user calls)
- */
- var sweetAlert, swal;
- exports['default'] = sweetAlert = swal = function () {
- var customizations = arguments[0];
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass(document.body, 'stop-scrolling');
- _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.resetInput();
- /*
- * Use argument if defined or default value from params object otherwise.
- * Supports the case where a default value is boolean true and should be
- * overridden by a corresponding explicit argument which is boolean false.
- */
- function argumentOrDefault(key) {
- var args = customizations;
- return args[key] === undefined ? _defaultParams2['default'][key] : args[key];
- }
- if (customizations === undefined) {
- _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('SweetAlert expects at least 1 attribute!');
- return false;
- }
- var params = _extend$hexToRgb$isIE8$logStr$colorLuminance.extend({}, _defaultParams2['default']);
- switch (typeof customizations) {
- // Ex: swal("Hello", "Just testing", "info");
- case 'string':
- params.title = customizations;
- params.text = arguments[1] || '';
- params.type = arguments[2] || '';
- break;
- // Ex: swal({ title:"Hello", text: "Just testing", type: "info" });
- case 'object':
- if (customizations.title === undefined) {
- _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('Missing "title" argument!');
- return false;
- }
- params.title = customizations.title;
- for (var customName in _defaultParams2['default']) {
- params[customName] = argumentOrDefault(customName);
- }
- // Show "Confirm" instead of "OK" if cancel button is visible
- params.confirmButtonText = params.showCancelButton ? 'Confirm' : _defaultParams2['default'].confirmButtonText;
- params.confirmButtonText = argumentOrDefault('confirmButtonText');
- // Callback function when clicking on "OK"/"Cancel"
- params.doneFunction = arguments[1] || null;
- break;
- default:
- _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('Unexpected type of argument! Expected "string" or "object", got ' + typeof customizations);
- return false;
- }
- _setParameters2['default'](params);
- _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.fixVerticalPosition();
- _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.openModal(arguments[1]);
- // Modal interactions
- var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal();
- /*
- * Make sure all modal buttons respond to all events
- */
- var $buttons = modal.querySelectorAll('button');
- var buttonEvents = ['onclick', 'onmouseover', 'onmouseout', 'onmousedown', 'onmouseup', 'onfocus'];
- var onButtonEvent = function onButtonEvent(e) {
- return _handleButton$handleConfirm$handleCancel.handleButton(e, params, modal);
- };
- for (var btnIndex = 0; btnIndex < $buttons.length; btnIndex++) {
- for (var evtIndex = 0; evtIndex < buttonEvents.length; evtIndex++) {
- var btnEvt = buttonEvents[evtIndex];
- $buttons[btnIndex][btnEvt] = onButtonEvent;
- }
- }
- // Clicking outside the modal dismisses it (if allowed by user)
- _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getOverlay().onclick = onButtonEvent;
- previousWindowKeyDown = window.onkeydown;
- var onKeyEvent = function onKeyEvent(e) {
- return _handleKeyDown2['default'](e, params, modal);
- };
- window.onkeydown = onKeyEvent;
- window.onfocus = function () {
- // When the user has focused away and focused back from the whole window.
- setTimeout(function () {
- // Put in a timeout to jump out of the event sequence.
- // Calling focus() in the event sequence confuses things.
- if (lastFocusedButton !== undefined) {
- lastFocusedButton.focus();
- lastFocusedButton = undefined;
- }
- }, 0);
- };
- // Show alert with enabled buttons always
- swal.enableButtons();
- };
- /*
- * Set default params for each popup
- * @param {Object} userParams
- */
- sweetAlert.setDefaults = swal.setDefaults = function (userParams) {
- if (!userParams) {
- throw new Error('userParams is required');
- }
- if (typeof userParams !== 'object') {
- throw new Error('userParams has to be a object');
- }
- _extend$hexToRgb$isIE8$logStr$colorLuminance.extend(_defaultParams2['default'], userParams);
- };
- /*
- * Animation when closing modal
- */
- sweetAlert.close = swal.close = function () {
- var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal();
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.fadeOut(_sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getOverlay(), 5);
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.fadeOut(modal, 5);
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass(modal, 'showSweetAlert');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass(modal, 'hideSweetAlert');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass(modal, 'visible');
- /*
- * Reset icon animations
- */
- var $successIcon = modal.querySelector('.sa-icon.sa-success');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($successIcon, 'animate');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($successIcon.querySelector('.sa-tip'), 'animateSuccessTip');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($successIcon.querySelector('.sa-long'), 'animateSuccessLong');
- var $errorIcon = modal.querySelector('.sa-icon.sa-error');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorIcon, 'animateErrorIcon');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorIcon.querySelector('.sa-x-mark'), 'animateXMark');
- var $warningIcon = modal.querySelector('.sa-icon.sa-warning');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($warningIcon, 'pulseWarning');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($warningIcon.querySelector('.sa-body'), 'pulseWarningIns');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($warningIcon.querySelector('.sa-dot'), 'pulseWarningIns');
- // Reset custom class (delay so that UI changes aren't visible)
- setTimeout(function () {
- var customClass = modal.getAttribute('data-custom-class');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass(modal, customClass);
- }, 300);
- // Make page scrollable again
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass(document.body, 'stop-scrolling');
- // Reset the page to its previous state
- window.onkeydown = previousWindowKeyDown;
- if (window.previousActiveElement) {
- window.previousActiveElement.focus();
- }
- lastFocusedButton = undefined;
- clearTimeout(modal.timeout);
- return true;
- };
- /*
- * Validation of the input field is done by user
- * If something is wrong => call showInputError with errorMessage
- */
- sweetAlert.showInputError = swal.showInputError = function (errorMessage) {
- var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal();
- var $errorIcon = modal.querySelector('.sa-input-error');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass($errorIcon, 'show');
- var $errorContainer = modal.querySelector('.sa-error-container');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass($errorContainer, 'show');
- $errorContainer.querySelector('p').innerHTML = errorMessage;
- setTimeout(function () {
- sweetAlert.enableButtons();
- }, 1);
- modal.querySelector('input').focus();
- };
- /*
- * Reset input error DOM elements
- */
- sweetAlert.resetInputError = swal.resetInputError = function (event) {
- // If press enter => ignore
- if (event && event.keyCode === 13) {
- return false;
- }
- var $modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal();
- var $errorIcon = $modal.querySelector('.sa-input-error');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorIcon, 'show');
- var $errorContainer = $modal.querySelector('.sa-error-container');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorContainer, 'show');
- };
- /*
- * Disable confirm and cancel buttons
- */
- sweetAlert.disableButtons = swal.disableButtons = function (event) {
- var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal();
- var $confirmButton = modal.querySelector('button.confirm');
- var $cancelButton = modal.querySelector('button.cancel');
- $confirmButton.disabled = true;
- $cancelButton.disabled = true;
- };
- /*
- * Enable confirm and cancel buttons
- */
- sweetAlert.enableButtons = swal.enableButtons = function (event) {
- var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal();
- var $confirmButton = modal.querySelector('button.confirm');
- var $cancelButton = modal.querySelector('button.cancel');
- $confirmButton.disabled = false;
- $cancelButton.disabled = false;
- };
- if (typeof window !== 'undefined') {
- // The 'handle-click' module requires
- // that 'sweetAlert' was set as global.
- window.sweetAlert = window.swal = sweetAlert;
- } else {
- _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('SweetAlert is a frontend module!');
- }
- module.exports = exports['default'];
|