| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- var _isIE8 = require('./utils');
- var _getModal$getInput$setFocusStyle = require('./handle-swal-dom');
- var _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide = require('./handle-dom');
- var alertTypes = ['error', 'warning', 'info', 'success', 'input', 'prompt'];
- /*
- * Set type, text and actions on modal
- */
- var setParameters = function setParameters(params) {
- var modal = _getModal$getInput$setFocusStyle.getModal();
- var $title = modal.querySelector('h2');
- var $text = modal.querySelector('p');
- var $cancelBtn = modal.querySelector('button.cancel');
- var $confirmBtn = modal.querySelector('button.confirm');
- /*
- * Title
- */
- $title.innerHTML = params.html ? params.title : _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.title).split('\n').join('<br>');
- /*
- * Text
- */
- $text.innerHTML = params.html ? params.text : _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.text || '').split('\n').join('<br>');
- if (params.text) _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($text);
- /*
- * Custom class
- */
- if (params.customClass) {
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass(modal, params.customClass);
- modal.setAttribute('data-custom-class', params.customClass);
- } else {
- // Find previously set classes and remove them
- var customClass = modal.getAttribute('data-custom-class');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.removeClass(modal, customClass);
- modal.setAttribute('data-custom-class', '');
- }
- /*
- * Icon
- */
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide(modal.querySelectorAll('.sa-icon'));
- if (params.type && !_isIE8.isIE8()) {
- var _ret = (function () {
- var validType = false;
- for (var i = 0; i < alertTypes.length; i++) {
- if (params.type === alertTypes[i]) {
- validType = true;
- break;
- }
- }
- if (!validType) {
- logStr('Unknown alert type: ' + params.type);
- return {
- v: false
- };
- }
- var typesWithIcons = ['success', 'error', 'warning', 'info'];
- var $icon = undefined;
- if (typesWithIcons.indexOf(params.type) !== -1) {
- $icon = modal.querySelector('.sa-icon.' + 'sa-' + params.type);
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($icon);
- }
- var $input = _getModal$getInput$setFocusStyle.getInput();
- // Animate icon
- switch (params.type) {
- case 'success':
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'animate');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-tip'), 'animateSuccessTip');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-long'), 'animateSuccessLong');
- break;
- case 'error':
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'animateErrorIcon');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-x-mark'), 'animateXMark');
- break;
- case 'warning':
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'pulseWarning');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-body'), 'pulseWarningIns');
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-dot'), 'pulseWarningIns');
- break;
- case 'input':
- case 'prompt':
- $input.setAttribute('type', params.inputType);
- $input.value = params.inputValue;
- $input.setAttribute('placeholder', params.inputPlaceholder);
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass(modal, 'show-input');
- setTimeout(function () {
- $input.focus();
- $input.addEventListener('keyup', swal.resetInputError);
- }, 400);
- break;
- }
- })();
- if (typeof _ret === 'object') {
- return _ret.v;
- }
- }
- /*
- * Custom image
- */
- if (params.imageUrl) {
- var $customIcon = modal.querySelector('.sa-icon.sa-custom');
- $customIcon.style.backgroundImage = 'url(' + params.imageUrl + ')';
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($customIcon);
- var _imgWidth = 80;
- var _imgHeight = 80;
- if (params.imageSize) {
- var dimensions = params.imageSize.toString().split('x');
- var imgWidth = dimensions[0];
- var imgHeight = dimensions[1];
- if (!imgWidth || !imgHeight) {
- logStr('Parameter imageSize expects value with format WIDTHxHEIGHT, got ' + params.imageSize);
- } else {
- _imgWidth = imgWidth;
- _imgHeight = imgHeight;
- }
- }
- $customIcon.setAttribute('style', $customIcon.getAttribute('style') + 'width:' + _imgWidth + 'px; height:' + _imgHeight + 'px');
- }
- /*
- * Show cancel button?
- */
- modal.setAttribute('data-has-cancel-button', params.showCancelButton);
- if (params.showCancelButton) {
- $cancelBtn.style.display = 'inline-block';
- } else {
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide($cancelBtn);
- }
- /*
- * Show confirm button?
- */
- modal.setAttribute('data-has-confirm-button', params.showConfirmButton);
- if (params.showConfirmButton) {
- $confirmBtn.style.display = 'inline-block';
- } else {
- _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide($confirmBtn);
- }
- /*
- * Custom text on cancel/confirm buttons
- */
- if (params.cancelButtonText) {
- $cancelBtn.innerHTML = _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.cancelButtonText);
- }
- if (params.confirmButtonText) {
- $confirmBtn.innerHTML = _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.confirmButtonText);
- }
- /*
- * Custom color on confirm button
- */
- if (params.confirmButtonColor) {
- // Set confirm button to selected background color
- $confirmBtn.style.backgroundColor = params.confirmButtonColor;
- // Set the confirm button color to the loading ring
- $confirmBtn.style.borderLeftColor = params.confirmLoadingButtonColor;
- $confirmBtn.style.borderRightColor = params.confirmLoadingButtonColor;
- // Set box-shadow to default focused button
- _getModal$getInput$setFocusStyle.setFocusStyle($confirmBtn, params.confirmButtonColor);
- }
- /*
- * Allow outside click
- */
- modal.setAttribute('data-allow-outside-click', params.allowOutsideClick);
- /*
- * Callback function
- */
- var hasDoneFunction = params.doneFunction ? true : false;
- modal.setAttribute('data-has-done-function', hasDoneFunction);
- /*
- * Animation
- */
- if (!params.animation) {
- modal.setAttribute('data-animation', 'none');
- } else if (typeof params.animation === 'string') {
- modal.setAttribute('data-animation', params.animation); // Custom animation
- } else {
- modal.setAttribute('data-animation', 'pop');
- }
- /*
- * Timer
- */
- modal.setAttribute('data-timer', params.timer);
- };
- exports['default'] = setParameters;
- module.exports = exports['default'];
|