@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
78 lines • 5.47 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: toast.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
export class ToastService {
/**
* @param {?} element
* @param {?} duration
* @return {?}
*/
fadeIn(element, duration) {
element.style.opacity = 0;
/** @type {?} */
let last = +new Date();
/** @type {?} */
let opacity = 0;
/** @type {?} */
const tick = (/**
* @return {?}
*/
function () {
opacity = +element.style.opacity + (new Date().getTime() - last) / duration;
element.style.opacity = opacity;
last = +new Date();
if (+opacity < 1) {
if (window.requestAnimationFrame) {
requestAnimationFrame(tick);
}
else {
setTimeout(tick, 16);
}
}
});
tick();
}
/**
* @param {?} element
* @param {?} ms
* @param {?=} fn
* @return {?}
*/
fadeOut(element, ms, fn) {
/** @type {?} */
let opacity = 1;
/** @type {?} */
const interval = 50;
/** @type {?} */
const duration = ms;
/** @type {?} */
const gap = interval / duration;
/** @type {?} */
const fading = setInterval((/**
* @return {?}
*/
() => {
opacity = opacity - gap;
if (opacity <= 0) {
opacity = 0;
clearInterval(fading);
if (fn) {
fn();
}
}
element.style.opacity = opacity;
}), interval);
}
}
ToastService.zIndex = 1060;
ToastService.decorators = [
{ type: Injectable }
];
if (false) {
/** @type {?} */
ToastService.zIndex;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL3RvYXN0LyIsInNvdXJjZXMiOlsidG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsTUFBTSxPQUFPLFlBQVk7Ozs7OztJQUVoQixNQUFNLENBQUMsT0FBTyxFQUFFLFFBQWdCO1FBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQzs7WUFFdEIsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUU7O1lBQ2xCLE9BQU8sR0FBRyxDQUFDOztjQUNULElBQUk7OztRQUFHO1lBQ1gsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUM1RSxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUVuQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxNQUFNLENBQUMscUJBQXFCLEVBQUU7b0JBQ2hDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUN0QjthQUNGO1FBQ0gsQ0FBQyxDQUFBO1FBRUQsSUFBSSxFQUFFLENBQUM7SUFDVCxDQUFDOzs7Ozs7O0lBRU0sT0FBTyxDQUFDLE9BQVksRUFBRSxFQUFPLEVBQUUsRUFBUTs7WUFDeEMsT0FBTyxHQUFHLENBQUM7O2NBQ1QsUUFBUSxHQUFHLEVBQUU7O2NBQ2IsUUFBUSxHQUFHLEVBQUU7O2NBQ2IsR0FBRyxHQUFHLFFBQVEsR0FBRyxRQUFROztjQUV6QixNQUFNLEdBQUcsV0FBVzs7O1FBQUMsR0FBRyxFQUFFO1lBQzlCLE9BQU8sR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBRXhCLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRTtnQkFDaEIsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDWixhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksRUFBRSxFQUFFO29CQUNOLEVBQUUsRUFBRSxDQUFDO2lCQUNOO2FBQ0Y7WUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxHQUFFLFFBQVEsQ0FBQztJQUNkLENBQUM7O0FBMUNhLG1CQUFNLEdBQUcsSUFBSSxDQUFDOztZQUY3QixVQUFVOzs7O0lBRVQsb0JBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcclxuICBwdWJsaWMgc3RhdGljIHpJbmRleCA9IDEwNjA7XHJcbiAgcHVibGljIGZhZGVJbihlbGVtZW50LCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBlbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAwO1xyXG5cclxuICAgIGxldCBsYXN0ID0gK25ldyBEYXRlKCk7XHJcbiAgICBsZXQgb3BhY2l0eSA9IDA7XHJcbiAgICBjb25zdCB0aWNrID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICBvcGFjaXR5ID0gK2VsZW1lbnQuc3R5bGUub3BhY2l0eSArIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIGxhc3QpIC8gZHVyYXRpb247XHJcbiAgICAgIGVsZW1lbnQuc3R5bGUub3BhY2l0eSA9IG9wYWNpdHk7XHJcbiAgICAgIGxhc3QgPSArbmV3IERhdGUoKTtcclxuXHJcbiAgICAgIGlmICgrb3BhY2l0eSA8IDEpIHtcclxuICAgICAgICBpZiAod2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSkge1xyXG4gICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRpY2spO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KHRpY2ssIDE2KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgdGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZhZGVPdXQoZWxlbWVudDogYW55LCBtczogYW55LCBmbj86IGFueSkge1xyXG4gICAgbGV0IG9wYWNpdHkgPSAxO1xyXG4gICAgY29uc3QgaW50ZXJ2YWwgPSA1MDtcclxuICAgIGNvbnN0IGR1cmF0aW9uID0gbXM7XHJcbiAgICBjb25zdCBnYXAgPSBpbnRlcnZhbCAvIGR1cmF0aW9uO1xyXG5cclxuICAgIGNvbnN0IGZhZGluZyA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgb3BhY2l0eSA9IG9wYWNpdHkgLSBnYXA7XHJcblxyXG4gICAgICBpZiAob3BhY2l0eSA8PSAwKSB7XHJcbiAgICAgICAgb3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChmYWRpbmcpO1xyXG4gICAgICAgIGlmIChmbikge1xyXG4gICAgICAgICAgZm4oKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGVsZW1lbnQuc3R5bGUub3BhY2l0eSA9IG9wYWNpdHk7XHJcbiAgICB9LCBpbnRlcnZhbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==