ngx-pluto
Version:
113 lines • 8.69 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { NpSharedModule } from '../shared.module';
import * as i0 from "@angular/core";
import * as i1 from "../shared.module";
export class LoadingService {
constructor() { }
// 生成加载条
/**
* @param {?} contain
* @param {?=} times
* @return {?}
*/
renderDOM(contain, times = 0) {
// 遮罩层
// 加载条
/** @type {?} */
let oDiv = document.createElement('div');
oDiv.id = 'loading-container';
oDiv.className = 'loading-container';
oDiv.innerHTML = `
<div class="loading-mark"></div>
<div class="loading">
<div class="sk-circle">
<div class="sk-circle1 sk-child"></div>
<div class="sk-circle2 sk-child"></div>
<div class="sk-circle3 sk-child"></div>
<div class="sk-circle4 sk-child"></div>
<div class="sk-circle5 sk-child"></div>
<div class="sk-circle6 sk-child"></div>
<div class="sk-circle7 sk-child"></div>
<div class="sk-circle8 sk-child"></div>
<div class="sk-circle9 sk-child"></div>
<div class="sk-circle10 sk-child"></div>
<div class="sk-circle11 sk-child"></div>
<div class="sk-circle12 sk-child"></div>
</div>
<div class="loading-text">${contain}</div>
</div>
`;
/** @type {?} */
const parentNode = document.body;
parentNode.appendChild(oDiv);
// 超时自动取消 默认10s
if (times > 10000) {
setTimeout((/**
* @return {?}
*/
() => {
if (oDiv) {
parentNode.removeChild(oDiv);
}
}), times);
}
}
/**
* @return {?}
*/
deleteDOM() {
/** @type {?} */
const parentNode = document.body;
/** @type {?} */
const oDiv = document.getElementById('loading-container');
if (oDiv) {
parentNode.removeChild(oDiv);
}
}
/**
* @return {?}
*/
begin() {
if (document.getElementById('loading-container')) {
return;
}
this.renderDOM('处理中');
this.prevTime = Date.now();
}
/**
* @return {?}
*/
end() {
this.afterTime = Date.now();
/** @type {?} */
let times = this.afterTime - this.prevTime;
if (times < 500) {
setTimeout((/**
* @return {?}
*/
() => { this.deleteDOM(); }), 500 - times);
}
else {
this.deleteDOM();
}
}
}
LoadingService.decorators = [
{ type: Injectable, args: [{
providedIn: NpSharedModule
},] }
];
/** @nocollapse */
LoadingService.ctorParameters = () => [];
/** @nocollapse */ LoadingService.ngInjectableDef = i0.defineInjectable({ factory: function LoadingService_Factory() { return new LoadingService(); }, token: LoadingService, providedIn: i1.NpSharedModule });
if (false) {
/** @type {?} */
LoadingService.prototype.prevTime;
/** @type {?} */
LoadingService.prototype.afterTime;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1wbHV0by8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvc2VydmljZXMvbG9hZGluZy5zZXJ2aWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUtsRCxNQUFNLE9BQU8sY0FBYztJQUd6QixnQkFBZ0IsQ0FBQzs7Ozs7OztJQUdqQixTQUFTLENBQUMsT0FBTyxFQUFFLFFBQWdCLENBQUM7Ozs7WUFHOUIsSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxFQUFFLEdBQUcsbUJBQW1CLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7OztvQ0FpQmUsT0FBTzs7T0FFcEMsQ0FBQzs7Y0FDRSxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQUk7UUFDaEMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixlQUFlO1FBQ2YsSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO1lBQ2pCLFVBQVU7OztZQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLElBQUksRUFBRTtvQkFDUixVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM5QjtZQUNILENBQUMsR0FBRSxLQUFLLENBQUMsQ0FBQztTQUNYO0lBQ0gsQ0FBQzs7OztJQUVELFNBQVM7O2NBQ0QsVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJOztjQUMxQixJQUFJLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztRQUN6RCxJQUFJLElBQUksRUFBRTtZQUNSLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOzs7O0lBRUQsS0FBSztRQUNILElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQ2hELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7OztJQUVELEdBQUc7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQzs7WUFDeEIsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVE7UUFDMUMsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFO1lBQ2YsVUFBVTs7O1lBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFFLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztTQUN0RDthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7O1lBdkVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsY0FBYzthQUMzQjs7Ozs7OztJQUVDLGtDQUFpQjs7SUFDakIsbUNBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOcFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC5tb2R1bGUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IE5wU2hhcmVkTW9kdWxlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU2VydmljZSB7XHJcbiAgcHJldlRpbWU6IG51bWJlcjtcclxuICBhZnRlclRpbWU6IG51bWJlcjtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAvLyDnlJ/miJDliqDovb3mnaFcclxuICByZW5kZXJET00oY29udGFpbiwgdGltZXM6IG51bWJlciA9IDApIHtcclxuICAgIC8vIOmBrue9qeWxglxyXG4gICAgLy8g5Yqg6L295p2hXHJcbiAgICBsZXQgb0RpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgb0Rpdi5pZCA9ICdsb2FkaW5nLWNvbnRhaW5lcic7XHJcbiAgICBvRGl2LmNsYXNzTmFtZSA9ICdsb2FkaW5nLWNvbnRhaW5lcic7XHJcbiAgICBvRGl2LmlubmVySFRNTCA9IGBcclxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmctbWFya1wiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzay1jaXJjbGVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzay1jaXJjbGUxIHNrLWNoaWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2stY2lyY2xlMiBzay1jaGlsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNrLWNpcmNsZTMgc2stY2hpbGRcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzay1jaXJjbGU0IHNrLWNoaWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2stY2lyY2xlNSBzay1jaGlsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNrLWNpcmNsZTYgc2stY2hpbGRcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzay1jaXJjbGU3IHNrLWNoaWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2stY2lyY2xlOCBzay1jaGlsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNrLWNpcmNsZTkgc2stY2hpbGRcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzay1jaXJjbGUxMCBzay1jaGlsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNrLWNpcmNsZTExIHNrLWNoaWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2stY2lyY2xlMTIgc2stY2hpbGRcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy10ZXh0XCI+JHtjb250YWlufTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgYDtcclxuICAgIGNvbnN0IHBhcmVudE5vZGUgPSBkb2N1bWVudC5ib2R5O1xyXG4gICAgcGFyZW50Tm9kZS5hcHBlbmRDaGlsZChvRGl2KTtcclxuICAgIC8vIOi2heaXtuiHquWKqOWPlua2iCDpu5jorqQxMHNcclxuICAgIGlmICh0aW1lcyA+IDEwMDAwKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmIChvRGl2KSB7XHJcbiAgICAgICAgICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9EaXYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgdGltZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlRE9NKCkge1xyXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IGRvY3VtZW50LmJvZHk7XHJcbiAgICBjb25zdCBvRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvYWRpbmctY29udGFpbmVyJyk7XHJcbiAgICBpZiAob0Rpdikge1xyXG4gICAgICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkKG9EaXYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYmVnaW4oKSB7XHJcbiAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvYWRpbmctY29udGFpbmVyJykpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZW5kZXJET00oJ+WkhOeQhuS4rScpO1xyXG4gICAgdGhpcy5wcmV2VGltZSA9IERhdGUubm93KCk7XHJcbiAgfVxyXG5cclxuICBlbmQoKSB7XHJcbiAgICB0aGlzLmFmdGVyVGltZSA9IERhdGUubm93KCk7XHJcbiAgICBsZXQgdGltZXMgPSB0aGlzLmFmdGVyVGltZSAtIHRoaXMucHJldlRpbWU7XHJcbiAgICBpZiAodGltZXMgPCA1MDApIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuZGVsZXRlRE9NKCk7IH0sIDUwMCAtIHRpbWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlRE9NKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==