UNPKG

@dfeidao/atom-web

Version:

原子操作

66 lines (65 loc) 6 kB
"use strict"; /** * @module msgbox弹窗 */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const animation_1 = require("@dfeidao/animation"); const on_1 = __importDefault(require("@dfeidao/core/on")); const _z_index_1 = __importDefault(require("./_z-index")); /** * 成功提示 * @param content 提示内容 * @see [api](https://dfeidao.gitee.io/feidao-web/browser/msgbox) * @requires 使用本原子操作需要在package.json中devDependencies下加入`"@dfeidao/animation":"@version";"@dfeidao/core":"@version";` @version 为该模块的版本号,可以在[这里](https://feidao-edu.gitee.io/changelogs/)查询 * @example * ```ts * import success from '@dfeidao/atom-web/msgbox/success'; * success('删除成功!'); * ``` */ function success(content) { const icon = '<img style="width:20px;height:20px" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTM0MzMwNTk5NzE2IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0NzYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyLjA0MiA5NTguNzA4aC0xLjE3QzI2NC42IDk1OC4wOCA2NC43MDYgNzU3LjE4MyA2NS4yOTEgNTEwLjg3YzAuMjkzLTExOS4zMDkgNDcuMDQ3LTIzMS4zODMgMTMxLjY0NS0zMTUuNTY0IDg0LjMwNi04My44NDYgMTk2LjEzLTEzMC4wMTQgMzE1LjAyMS0xMzAuMDE0aDEuMTdjMTE5LjMxIDAuMjkzIDIzMS4zODQgNDcuMDA1IDMxNS41NjUgMTMxLjYwMyA4NC4xNCA4NC42IDEzMC4zMDcgMTk2Ljg4MyAxMzAuMDE0IDMxNi4yMzQtMC4yOTMgMTE5LjMwOS00Ny4wMDUgMjMxLjM4My0xMzEuNjAzIDMxNS41MjItODQuMzA2IDgzLjg5LTE5Ni4xNzEgMTMwLjA1Ny0zMTUuMDYyIDEzMC4wNTd6IG0tMC4wODQtODI5LjE4M2MtMTAxLjc4NyAwLTE5Ny41NTIgMzkuNTE5LTI2OS43MzEgMTExLjMyMS03Mi40MyA3Mi4wNTQtMTEyLjQ1MSAxNjguMDI4LTExMi43MDIgMjcwLjE5MS0wLjUwMSAyMTAuODkyIDE3MC42NjIgMzgyLjg5MyAzODEuNTEzIDM4My40MzZoMS4wMDRjMTAxLjc4NyAwIDE5Ny41NTItMzkuNTIgMjY5LjczMS0xMTEuMzYzIDcyLjQzLTcyLjA1NCAxMTIuNDUxLTE2Ny45ODYgMTEyLjcwMi0yNzAuMTUgMC4yNS0xMDIuMTYyLTM5LjI2Ny0xOTguMzQ2LTExMS4zMjEtMjcwLjczNC03Mi4wNTQtNzIuNDMtMTY4LjAyOC0xMTIuNDUxLTI3MC4xOTEtMTEyLjcwMmwtMS4wMDUgMC4wMDF6IiBwLWlkPSIxNDc3IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PHBhdGggZD0iTTQ1OS4yMjQgNjkwLjMxNWEzMi4wNzcgMzIuMDc3IDAgMCAxLTIxLjQ5NS04LjIzOGMtMTMuMTczLTExLjg3Ny0xNC4yNi0zMi4xNTktMi4zODMtNDUuMzc0TDY5OC42OCAzNDMuOTNjMTEuOTE4LTEzLjEzIDMyLjItMTQuMjE5IDQ1LjM3My0yLjM4MyAxMy4xNzMgMTEuODc2IDE0LjI2IDMyLjE1OCAyLjM4MyA0NS4zNzNMNDgzLjEwMyA2NzkuNjkzYTMyLjEyOCAzMi4xMjggMCAwIDEtMjMuODc5IDEwLjYyMnoiIHAtaWQ9IjE0NzgiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48cGF0aCBkPSJNNDU2LjYzMiA2OTAuNjkyYy04LjUzMSAwLTE3LjA2Mi0zLjM4Ny0yMy4zNzYtMTAuMDc5bC0xNTUuMTktMTY0Ljc2NWMtMTIuMTctMTIuOTIzLTExLjU0Mi0zMy4yNDcgMS4zMzktNDUuNDE2IDEyLjk2NC0xMi4xNjkgMzMuMjg4LTExLjU0MiA0NS40MTUgMS4zMzlsMTU1LjE5IDE2NC43NjVjMTIuMTY5IDEyLjkyMyAxMS41NDEgMzMuMjQ3LTEuMzQgNDUuNDE2YTMyLjA1NCAzMi4wNTQgMCAwIDEtMjIuMDM4IDguNzR6IiBwLWlkPSIxNDc5IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+" />'; const icon_close = '<img style="width:18px;height:18px;" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTM0MzMzMjc0ODg0IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjIxMzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiA0NTYuMzFMOTQuMjQ3IDM4LjU1OGEzOS41NDIgMzkuNTQyIDAgMCAwLTU1LjY5IDAgMzkuMjY2IDM5LjI2NiAwIDAgMCAwIDU1LjY5TDQ1Ni4zMSA1MTIgMzguNTU4IDkyOS43NTNhMzkuNTQyIDM5LjU0MiAwIDAgMCAwIDU1LjY5IDM5LjI2NiAzOS4yNjYgMCAwIDAgNTUuNjkgMEw1MTIgNTY3LjY5bDQxNy43NTMgNDE3Ljc1MmMxNS4xNjMgMTUuMTY0IDQwLjI5IDE1LjM2IDU1LjY5IDBhMzkuMjY2IDM5LjI2NiAwIDAgMCAwLTU1LjY5TDU2Ny42OSA1MTIgOTg1LjQ0MiA5NC4yNDdhMzkuNTQyIDM5LjU0MiAwIDAgMCAwLTU1LjY5IDM5LjI2NiAzOS4yNjYgMCAwIDAtNTUuNjkgMEw1MTIgNDU2LjMxeiIgcC1pZD0iMjEzOSIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjwvc3ZnPg==" />'; const html = `<div data-id='msg' style="position: fixed;width:100%;height:40px;top:0;left:0;text-align:center;"><div style="color:#fff;line-height: 40px;border-radius:4px;padding:0 15px;background:#79B23D;display:inline-block;" ><i style="">${icon}</i><span style="font-size:14px;margin:0 20px 0 15px;vertical-align:middle;">${content}</span><i style="cursor:pointer;" title="close">${icon_close}</i></div></div>`; return new Promise((resolve) => { const container = window.document.createElement('div'); container.style.position = 'fixed'; container.style.zIndex = _z_index_1.default(); window.document.body.appendChild(container); container.insertAdjacentHTML('beforeend', html); const div = container.querySelector('[data-id=msg]'); const h = div.getBoundingClientRect().height; function end() { h1.destroy(); h2.destroy(); window.document.body.removeChild(container); resolve(); } const a = animation_1.anim(div, { delay: 1000, duration: 1000 }, { top: { end: -h, start: 0 } }, { end }); animation_1.play(a); const h1 = on_1.default(div, 'click', () => { animation_1.stop(a, true); end(); }); const h2 = on_1.default(window, 'keydown', (e) => { if (e.keyCode === 27) { animation_1.stop(a, true); end(); } }); }); } exports.default = success;