123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- 'use strict';
- var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- var _hexToRgb = require('./utils');
- var _removeClass$getTopMargin$fadeIn$show$addClass = require('./handle-dom');
- var _defaultParams = require('./default-params');
- var _defaultParams2 = _interopRequireWildcard(_defaultParams);
- /*
- * Add modal + overlay to DOM
- */
- var _injectedHTML = require('./injected-html');
- var _injectedHTML2 = _interopRequireWildcard(_injectedHTML);
- var modalClass = '.sweet-alert';
- var overlayClass = '.sweet-overlay';
- var sweetAlertInitialize = function sweetAlertInitialize() {
- var sweetWrap = document.createElement('div');
- sweetWrap.innerHTML = _injectedHTML2['default'];
- // Append elements to body
- while (sweetWrap.firstChild) {
- document.body.appendChild(sweetWrap.firstChild);
- }
- };
- /*
- * Get DOM element of modal
- */
- var getModal = (function (_getModal) {
- function getModal() {
- return _getModal.apply(this, arguments);
- }
- getModal.toString = function () {
- return _getModal.toString();
- };
- return getModal;
- })(function () {
- var $modal = document.querySelector(modalClass);
- if (!$modal) {
- sweetAlertInitialize();
- $modal = getModal();
- }
- return $modal;
- });
- /*
- * Get DOM element of input (in modal)
- */
- var getInput = function getInput() {
- var $modal = getModal();
- if ($modal) {
- return $modal.querySelector('input');
- }
- };
- /*
- * Get DOM element of overlay
- */
- var getOverlay = function getOverlay() {
- return document.querySelector(overlayClass);
- };
- /*
- * Add box-shadow style to button (depending on its chosen bg-color)
- */
- var setFocusStyle = function setFocusStyle($button, bgColor) {
- var rgbColor = _hexToRgb.hexToRgb(bgColor);
- $button.style.boxShadow = '0 0 2px rgba(' + rgbColor + ', 0.8), inset 0 0 0 1px rgba(0, 0, 0, 0.05)';
- };
- /*
- * Animation when opening modal
- */
- var openModal = function openModal(callback) {
- var $modal = getModal();
- _removeClass$getTopMargin$fadeIn$show$addClass.fadeIn(getOverlay(), 10);
- _removeClass$getTopMargin$fadeIn$show$addClass.show($modal);
- _removeClass$getTopMargin$fadeIn$show$addClass.addClass($modal, 'showSweetAlert');
- _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($modal, 'hideSweetAlert');
- window.previousActiveElement = document.activeElement;
- var $okButton = $modal.querySelector('button.confirm');
- $okButton.focus();
- setTimeout(function () {
- _removeClass$getTopMargin$fadeIn$show$addClass.addClass($modal, 'visible');
- }, 500);
- var timer = $modal.getAttribute('data-timer');
- if (timer !== 'null' && timer !== '') {
- var timerCallback = callback;
- $modal.timeout = setTimeout(function () {
- var doneFunctionExists = (timerCallback || null) && $modal.getAttribute('data-has-done-function') === 'true';
- if (doneFunctionExists) {
- timerCallback(null);
- } else {
- sweetAlert.close();
- }
- }, timer);
- }
- };
- /*
- * Reset the styling of the input
- * (for example if errors have been shown)
- */
- var resetInput = function resetInput() {
- var $modal = getModal();
- var $input = getInput();
- _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($modal, 'show-input');
- $input.value = _defaultParams2['default'].inputValue;
- $input.setAttribute('type', _defaultParams2['default'].inputType);
- $input.setAttribute('placeholder', _defaultParams2['default'].inputPlaceholder);
- resetInputError();
- };
- var resetInputError = function resetInputError(event) {
- // If press enter => ignore
- if (event && event.keyCode === 13) {
- return false;
- }
- var $modal = getModal();
- var $errorIcon = $modal.querySelector('.sa-input-error');
- _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($errorIcon, 'show');
- var $errorContainer = $modal.querySelector('.sa-error-container');
- _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($errorContainer, 'show');
- };
- /*
- * Set "margin-top"-property on modal based on its computed height
- */
- var fixVerticalPosition = function fixVerticalPosition() {
- var $modal = getModal();
- $modal.style.marginTop = _removeClass$getTopMargin$fadeIn$show$addClass.getTopMargin(getModal());
- };
- exports.sweetAlertInitialize = sweetAlertInitialize;
- exports.getModal = getModal;
- exports.getOverlay = getOverlay;
- exports.getInput = getInput;
- exports.setFocusStyle = setFocusStyle;
- exports.openModal = openModal;
- exports.resetInput = resetInput;
- exports.resetInputError = resetInputError;
- exports.fixVerticalPosition = fixVerticalPosition;
|