UNPKG

oneframe-react

Version:

Oneframe React ## Components, Hooks, Helper Functions & State Management

121 lines (120 loc) 4.79 kB
"use strict"; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const iziToast = __importStar(require("izitoast/dist/js/iziToast")); const lodash_1 = require("lodash"); const prop_types_1 = __importDefault(require("prop-types")); const toastMessage = (messageOptions) => { const messageDefault = { theme: 'light', icon: null, title: '', confirmMessage: { buttonYes: 'Confirm', buttonNo: 'Cancel', message: 'Are you sure to continue?', }, message: messageOptions.confirmMessage ? messageOptions.confirmMessage.message : '', position: 'topRight', progressBar: false, progressColor: 'rgb(229, 61, 65)', close: true, timeout: 5000, overlay: false, overlayClose: true, displayMode: 1, target: null, zindex: 99999, maxWidth: 600, messageType: 'show', }; const buttonYes = messageOptions.confirmMessage ? messageOptions.confirmMessage.buttonYes : 'Yes'; const buttonNo = messageOptions.confirmMessage ? messageOptions.confirmMessage.buttonNo : 'No'; return new Promise(resolve => { let iziMessage = Object.assign(Object.assign(Object.assign({}, lodash_1.omit(messageDefault, 'confirmMessage')), lodash_1.omit(messageOptions, 'confirmMessage')), { buttons: [ [ `<button style="outline: none">${buttonYes}</button>`, function (instance, toast) { instance.hide({ transitionOut: 'fadeOutUp', onClosing: function () { resolve({ confirm: true }); }, }, toast, 'buttonName'); }, true, ], [ `<button>${buttonNo}</button>`, function (instance, toast) { instance.hide({ transitionOut: 'fadeOutUp', onClosing: function () { resolve({ confirm: false }); }, }, toast, 'buttonName'); }, ], ] }); if (!messageOptions.confirmMessage && lodash_1.isEmpty(messageOptions.confirmMessage)) { iziMessage = lodash_1.omit(iziMessage, 'buttons'); } else { iziMessage = Object.assign(Object.assign({}, iziMessage), { message: messageOptions.confirmMessage ? messageOptions.confirmMessage.message : '' }); } switch (iziMessage.messageType) { case 'show': iziToast.show(iziMessage); break; case 'info': iziToast.info(iziMessage); break; case 'success': iziToast.success(iziMessage); break; case 'warning': iziToast.warning(iziMessage); break; case 'error': iziToast.error(iziMessage); break; default: iziToast.success(iziMessage); } }); }; toastMessage.propTypes = { message: prop_types_1.default.string.isRequired, theme: prop_types_1.default.string, title: prop_types_1.default.string, icon: prop_types_1.default.node, confirmMessage: prop_types_1.default.shape({ buttonYes: prop_types_1.default.string, buttonNo: prop_types_1.default.string, message: prop_types_1.default.string, theme: prop_types_1.default.oneOf(['show', 'info', 'success', 'error', 'warning']), }), position: prop_types_1.default.string, progressBar: prop_types_1.default.bool, progressColor: prop_types_1.default.string, close: prop_types_1.default.bool, timeout: prop_types_1.default.number, overlay: prop_types_1.default.bool, overlayClose: prop_types_1.default.bool, displayMode: prop_types_1.default.number, target: prop_types_1.default.string, zindex: prop_types_1.default.number, maxWidth: prop_types_1.default.number, messageType: prop_types_1.default.string, color: prop_types_1.default.string, }; exports.default = toastMessage;