@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
150 lines • 12 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: shared/utils.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { ElementRef } from '@angular/core';
export class Utils {
/**
* Polyfill for element.matches.
* See: https://developer.mozilla.org/en/docs/Web/API/Element/matches#Polyfill
* element
* @param {?} element
* @param {?} selectorName
* @return {?}
*/
static matches(element, selectorName) {
/** @type {?} */
const proto = Element.prototype;
/** @type {?} */
const func = proto['matches'] ||
proto.matchesSelector ||
proto.mozMatchesSelector ||
proto.msMatchesSelector ||
proto.oMatchesSelector ||
proto.webkitMatchesSelector ||
(/**
* @param {?} s
* @return {?}
*/
function (s) {
/** @type {?} */
const matches = (this.document || this.ownerDocument).querySelectorAll(s);
/** @type {?} */
let i = matches.length;
while (--i >= 0 && matches.item(i) !== this) {
// do nothing
}
return i > -1;
});
return func.call(element, selectorName);
}
/**
* Applies the specified css class on nativeElement
* elementRef
* className
* @param {?} elementRef
* @param {?} className
* @return {?}
*/
static addClass(elementRef, className) {
if (className === undefined) {
return;
}
/** @type {?} */
const e = this.getElementWithValidClassList(elementRef);
if (e) {
e.classList.add(className);
}
}
/**
* Removes the specified class from nativeElement
* elementRef
* className
* @param {?} elementRef
* @param {?} className
* @return {?}
*/
static removeClass(elementRef, className) {
if (className === undefined) {
return;
}
/** @type {?} */
const e = this.getElementWithValidClassList(elementRef);
if (e) {
e.classList.remove(className);
}
}
/**
* Gets element with valid classList
*
* elementRef
* @private
* @param {?} elementRef
* @return {?} ElementRef | null
*/
static getElementWithValidClassList(elementRef) {
/** @type {?} */
const e = elementRef instanceof ElementRef ? elementRef.nativeElement : elementRef;
if (e.classList !== undefined && e.classList !== null) {
return e;
}
return null;
}
/**
* @param {?} args
* @param {?=} slice
* @param {?=} sliceEnd
* @return {?}
*/
static slice(args, slice, sliceEnd) {
/** @type {?} */
const ret = [];
/** @type {?} */
let len = args.length;
if (0 === len) {
return ret;
}
/** @type {?} */
const start = slice < 0
? Math.max(0, slice + len)
: slice || 0;
if (sliceEnd !== undefined) {
len = sliceEnd < 0
? sliceEnd + len
: sliceEnd;
}
while (len-- > start) {
ret[len - start] = args[len];
}
return ret;
}
// 动态添加styles
/**
* @param {?} el
* @param {?} styles
* @return {?}
*/
static addElStyles(el, styles) {
if (styles instanceof Object) {
for (const s in styles) {
if (styles.hasOwnProperty(s)) {
if (Array.isArray(styles[s])) {
// 用于支持兼容渐退
styles[s].forEach((/**
* @param {?} val
* @return {?}
*/
val => {
el.style[s] = val;
}));
}
else {
el.style[s] = styles[s];
}
}
}
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9kcmFnZHJvcC8iLCJzb3VyY2VzIjpbInNoYXJlZC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxPQUFPLEtBQUs7Ozs7Ozs7OztJQU1ULE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBWSxFQUFFLFlBQW9COztjQUNoRCxLQUFLLEdBQVEsT0FBTyxDQUFDLFNBQVM7O2NBRTlCLElBQUksR0FDUixLQUFLLENBQUMsU0FBUyxDQUFDO1lBQ2hCLEtBQUssQ0FBQyxlQUFlO1lBQ3JCLEtBQUssQ0FBQyxrQkFBa0I7WUFDeEIsS0FBSyxDQUFDLGlCQUFpQjtZQUN2QixLQUFLLENBQUMsZ0JBQWdCO1lBQ3RCLEtBQUssQ0FBQyxxQkFBcUI7Ozs7O1lBQzNCLFVBQVUsQ0FBQzs7c0JBQ0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDOztvQkFDckUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDM0MsYUFBYTtpQkFDZDtnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUE7UUFFSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7Ozs7Ozs7OztJQU9NLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBNEIsRUFBRSxTQUFpQjtRQUNwRSxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFBQyxPQUFPO1NBQUU7O2NBQ2pDLENBQUMsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDO1FBRXZELElBQUksQ0FBQyxFQUFFO1lBQ0wsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDOzs7Ozs7Ozs7SUFPTSxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQTRCLEVBQUUsU0FBaUI7UUFDdkUsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQUMsT0FBTztTQUFFOztjQUNqQyxDQUFDLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFVBQVUsQ0FBQztRQUV2RCxJQUFJLENBQUMsRUFBRTtZQUNILENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzs7Ozs7Ozs7O0lBUU8sTUFBTSxDQUFDLDRCQUE0QixDQUFDLFVBQXNCOztjQUMxRCxDQUFDLEdBQUcsVUFBVSxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUVsRixJQUFJLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQ25ELE9BQU8sQ0FBQyxDQUFDO1NBQ1o7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7Ozs7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFNLEVBQUUsUUFBUzs7Y0FDbkMsR0FBRyxHQUFHLEVBQUU7O1lBQ1YsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNO1FBRXJCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRTtZQUFFLE9BQU8sR0FBRyxDQUFDO1NBQUU7O2NBRXhCLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQztZQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUMxQixDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7UUFFZCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsR0FBRyxHQUFHLFFBQVEsR0FBRyxDQUFDO2dCQUNoQixDQUFDLENBQUMsUUFBUSxHQUFHLEdBQUc7Z0JBQ2hCLENBQUMsQ0FBQyxRQUFRLENBQUM7U0FDZDtRQUVELE9BQU8sR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFO1lBQ3BCLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzs7Ozs7O0lBR00sTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFPLEVBQUUsTUFBVztRQUM1QyxJQUFJLE1BQU0sWUFBWSxNQUFNLEVBQUU7WUFDNUIsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUU7Z0JBQ3RCLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDNUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUM1QixXQUFXO3dCQUNYLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPOzs7O3dCQUFDLEdBQUcsQ0FBQyxFQUFFOzRCQUN0QixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQzt3QkFDcEIsQ0FBQyxFQUFDLENBQUM7cUJBQ0o7eUJBQU07d0JBQ0wsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3pCO2lCQUNGO2FBQ0Y7U0FDRjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlscyB7XHJcbiAgLyoqXHJcbiAgICogUG9seWZpbGwgZm9yIGVsZW1lbnQubWF0Y2hlcy5cclxuICAgKiBTZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuL2RvY3MvV2ViL0FQSS9FbGVtZW50L21hdGNoZXMjUG9seWZpbGxcclxuICAgKiBlbGVtZW50XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBtYXRjaGVzKGVsZW1lbnQ6IGFueSwgc2VsZWN0b3JOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHByb3RvOiBhbnkgPSBFbGVtZW50LnByb3RvdHlwZTtcclxuXHJcbiAgICBjb25zdCBmdW5jID1cclxuICAgICAgcHJvdG9bJ21hdGNoZXMnXSB8fFxyXG4gICAgICBwcm90by5tYXRjaGVzU2VsZWN0b3IgfHxcclxuICAgICAgcHJvdG8ubW96TWF0Y2hlc1NlbGVjdG9yIHx8XHJcbiAgICAgIHByb3RvLm1zTWF0Y2hlc1NlbGVjdG9yIHx8XHJcbiAgICAgIHByb3RvLm9NYXRjaGVzU2VsZWN0b3IgfHxcclxuICAgICAgcHJvdG8ud2Via2l0TWF0Y2hlc1NlbGVjdG9yIHx8XHJcbiAgICAgIGZ1bmN0aW9uIChzKSB7XHJcbiAgICAgICAgICBjb25zdCBtYXRjaGVzID0gKHRoaXMuZG9jdW1lbnQgfHwgdGhpcy5vd25lckRvY3VtZW50KS5xdWVyeVNlbGVjdG9yQWxsKHMpO1xyXG4gICAgICAgICAgbGV0IGkgPSBtYXRjaGVzLmxlbmd0aDtcclxuICAgICAgICAgIHdoaWxlICgtLWkgPj0gMCAmJiBtYXRjaGVzLml0ZW0oaSkgIT09IHRoaXMpIHtcclxuICAgICAgICAgICAgLy8gZG8gbm90aGluZ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIGkgPiAtMTtcclxuICAgICAgfTtcclxuXHJcbiAgICByZXR1cm4gZnVuYy5jYWxsKGVsZW1lbnQsIHNlbGVjdG9yTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBsaWVzIHRoZSBzcGVjaWZpZWQgY3NzIGNsYXNzIG9uIG5hdGl2ZUVsZW1lbnRcclxuICAgKiBlbGVtZW50UmVmXHJcbiAgICogY2xhc3NOYW1lXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBhZGRDbGFzcyhlbGVtZW50UmVmOiBFbGVtZW50UmVmIHwgYW55LCBjbGFzc05hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKGNsYXNzTmFtZSA9PT0gdW5kZWZpbmVkKSB7cmV0dXJuOyB9XHJcbiAgICBjb25zdCBlID0gdGhpcy5nZXRFbGVtZW50V2l0aFZhbGlkQ2xhc3NMaXN0KGVsZW1lbnRSZWYpO1xyXG5cclxuICAgIGlmIChlKSB7XHJcbiAgICAgIGUuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyB0aGUgc3BlY2lmaWVkIGNsYXNzIGZyb20gbmF0aXZlRWxlbWVudFxyXG4gICAqIGVsZW1lbnRSZWZcclxuICAgKiBjbGFzc05hbWVcclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIHJlbW92ZUNsYXNzKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCBhbnksIGNsYXNzTmFtZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoY2xhc3NOYW1lID09PSB1bmRlZmluZWQpIHtyZXR1cm47IH1cclxuICAgIGNvbnN0IGUgPSB0aGlzLmdldEVsZW1lbnRXaXRoVmFsaWRDbGFzc0xpc3QoZWxlbWVudFJlZik7XHJcblxyXG4gICAgaWYgKGUpIHtcclxuICAgICAgICBlLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgZWxlbWVudCB3aXRoIHZhbGlkIGNsYXNzTGlzdFxyXG4gICAqXHJcbiAgICogZWxlbWVudFJlZlxyXG4gICAqIEByZXR1cm5zIEVsZW1lbnRSZWYgfCBudWxsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RWxlbWVudFdpdGhWYWxpZENsYXNzTGlzdChlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBjb25zdCBlID0gZWxlbWVudFJlZiBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgPyBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgOiBlbGVtZW50UmVmO1xyXG5cclxuICAgIGlmIChlLmNsYXNzTGlzdCAhPT0gdW5kZWZpbmVkICYmIGUuY2xhc3NMaXN0ICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNsaWNlKGFyZ3MsIHNsaWNlPywgc2xpY2VFbmQ/KSB7XHJcbiAgICBjb25zdCByZXQgPSBbXTtcclxuICAgIGxldCBsZW4gPSBhcmdzLmxlbmd0aDtcclxuXHJcbiAgICBpZiAoMCA9PT0gbGVuKSB7IHJldHVybiByZXQ7IH1cclxuXHJcbiAgICBjb25zdCBzdGFydCA9IHNsaWNlIDwgMFxyXG4gICAgICA/IE1hdGgubWF4KDAsIHNsaWNlICsgbGVuKVxyXG4gICAgICA6IHNsaWNlIHx8IDA7XHJcblxyXG4gICAgaWYgKHNsaWNlRW5kICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgbGVuID0gc2xpY2VFbmQgPCAwXHJcbiAgICAgICAgPyBzbGljZUVuZCArIGxlblxyXG4gICAgICAgIDogc2xpY2VFbmQ7XHJcbiAgICB9XHJcblxyXG4gICAgd2hpbGUgKGxlbi0tID4gc3RhcnQpIHtcclxuICAgICAgcmV0W2xlbiAtIHN0YXJ0XSA9IGFyZ3NbbGVuXTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICAvLyDliqjmgIHmt7vliqBzdHlsZXNcclxuICBwdWJsaWMgc3RhdGljIGFkZEVsU3R5bGVzKGVsOiBhbnksIHN0eWxlczogYW55KSB7XHJcbiAgICBpZiAoc3R5bGVzIGluc3RhbmNlb2YgT2JqZWN0KSB7XHJcbiAgICAgIGZvciAoY29uc3QgcyBpbiBzdHlsZXMpIHtcclxuICAgICAgICBpZiAoc3R5bGVzLmhhc093blByb3BlcnR5KHMpKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzdHlsZXNbc10pKSB7XHJcbiAgICAgICAgICAgIC8vIOeUqOS6juaUr+aMgeWFvOWuuea4kOmAgFxyXG4gICAgICAgICAgICBzdHlsZXNbc10uZm9yRWFjaCh2YWwgPT4ge1xyXG4gICAgICAgICAgICAgIGVsLnN0eWxlW3NdID0gdmFsO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGVsLnN0eWxlW3NdID0gc3R5bGVzW3NdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=