UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

150 lines 12 kB
/** * @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=