/* Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.*/ var widgets = { loader: { //显示loading showLoader: null, //设置loading文本,默认文本为'loading' setLoaderText: null, //设置loader显示相关属性 setAttributes: null, //移除掉loader removeLoader: null }, alert: { //弹出自定义弹框 showAlert: null, //clear alert clearAlert: null } }; (function (widgets, $) { var alertDiv; //弹出自定义提示框 // msg:提示语; // state:提示框颜色(true=success;false=danger); // width:提示框宽度;opacity:提示框透明度[0,1]; // withBorder:提示框是否加边框; function showAlert(msg, state, width, withBorder, opacity) { //提示框颜色 var className = "alert-", border, alpha; className += state ? "success" : "danger"; //提示框宽度 if (width === null || typeof (width) === 'undefined') { //默认值300 width = 300; } //是否开启边框 border = withBorder ? { "border": "1px solid" } : "none"; //设置透明度[0,1]之间 alpha = opacity; if (alertDiv) { $(alertDiv).remove(); } if (!$('#msg_container')[0]) { alertDiv = $(""); $('body').append(alertDiv) } $('#msg_container').css('width', width + 'px'); $('#msg_container').css(border); $('#msg_container').css('opacity', alpha); $('#msg_container').addClass(className); $('#msg_container').slideDown(300); $('#msg').html(msg); } //清除提示框 function clearAlert() { $('#msg_container').hide(); } /*显示loading*/ function showLoader(text, type, attributes) { if (!type) { type = "loader-default"; attributes = attributes || { 'data-half': true } } var $body = document.getElementsByTagName('body'); $body = $body && $body[0]; if ($body) { var $loader = document.getElementsByClassName('loader')[0]; if (!$loader) { $loader = createLoader(type); } $loader.classList.add('is-active'); setLoaderText(text); setAttributes(attributes); } } /*设置loading文本,默认文本为"loading"*/ function setLoaderText(text, textAttributeField) { text = text || 'loading...'; var txtAttrField = textAttributeField != null ? textAttributeField : "data-text"; var attributes = {}; attributes[txtAttrField] = text; setAttributes(attributes); } /*设置loader显示相关属性*/ function setAttributes(attributes) { var $loader = document.getElementsByClassName('loader')[0]; if ($loader && attributes) { for (var attr in attributes) { $loader.setAttribute(attr, attributes[attr]); } } } /*移除loader*/ function removeLoader() { var $loader = document.getElementsByClassName('loader')[0]; if ($loader) { $loader.parentNode.removeChild($loader); } } function createLoader(className) { var $loader, $body = document.getElementsByTagName('body'); $body = $body && $body[0]; if ($body) { $loader = document.createElement('div'); $loader.className = "loader " + className; $body.insertBefore($loader, $body.children[0]); var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = ".loader.is-active{" + "background-color: rgba(0, 0, 0, 0.4) !important;" + "}"; if (document.getElementsByTagName('head')) { document.getElementsByTagName('head')[0].appendChild(style); } } return $loader; } widgets.alert.showAlert = showAlert; widgets.alert.clearAlert = clearAlert; widgets.loader.showLoader = showLoader; widgets.loader.setLoaderText = setLoaderText; widgets.loader.setAttributes = setAttributes; widgets.loader.removeLoader = removeLoader; })(widgets, window.jQuery);