Message.js 1.57 KB
import style from "antd/lib/message/style/index.css";

angular.module("esNgAntd").factory("message", function () {
    return {
        info: function (content, second = 3) {
            if (!document.querySelector("#ant-message")) {
                let styleElement = document.createElement("style");
                styleElement.setAttribute("id", "ant-message");
                styleElement.setAttribute("type", "text/css");
                styleElement.innerHTML = style.toString();
                document.head.appendChild(styleElement);
            }
            let antMessage = document.querySelector(".ant-message");
            if (!antMessage) {
                let wrapperTemplate = `<div class="ant-message"><span></span></div>`;
                let wrapperElement = document.createElement("div");
                wrapperElement.innerHTML = wrapperTemplate;
                document.body.appendChild(wrapperElement);
            }
            let messageTemplate = `<div class="ant-message-notice"><div class="ant-message-notice-content"><div class="ant-message-custom-content ant-message-info"><i class="anticon anticon-info-circle"></i><span>${content}</span></div></div></div>`;
            let messageWrapperElement = document.createElement("div");
            messageWrapperElement.innerHTML = messageTemplate;
            let messageElement = messageWrapperElement.childNodes[0];
            document.querySelector(".ant-message span").appendChild(messageElement);
            setTimeout(() => {
                messageElement.remove();
            }, second * 1000);
        },
    };
});