mirror of
				https://github.com/jiawanlong/Cesium-Examples.git
				synced 2025-11-04 09:14:17 +00:00 
			
		
		
		
	
		
			
	
	
		
			147 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			147 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/* by jiawanlong*/
							 | 
						|||
| 
								 | 
							
								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 = $("<div class='alert alert-dismissible' id='msg_container' role='alert' style='z-index:999999;position: absolute;top: 20px;left: 40%; display: none;text-align: center'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true' >×</span></button><strong><p id='msg' style='word-wrap: break-word; margin: 0'></p></strong></div>");
							 | 
						|||
| 
								 | 
							
								            $('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);
							 |