UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

105 lines 8.1 kB
/** * @fileoverview added by tsickle * Generated from: tree-mask.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { TreeUtils } from '@duoduo-oba/ng-devui/utils'; var TreeMaskService = /** @class */ (function () { function TreeMaskService() { } /** * @return {?} */ TreeMaskService.creatMaskElement = /** * @return {?} */ function () { /** @type {?} */ var maskElement = document.createElement('span'); /** @type {?} */ var style = { display: 'none', position: 'absolute', top: '0', right: '0', 'z-index': '-1' // 设置z-index防止挡住tree }; maskElement.classList.add('devui-tree-mask'); TreeUtils.addElStyles(maskElement, style); return maskElement; }; /** * @param {?} hostElement * @param {?} maskElement * @param {?} treeWidth * @return {?} */ TreeMaskService.addMask = /** * @param {?} hostElement * @param {?} maskElement * @param {?} treeWidth * @return {?} */ function (hostElement, maskElement, treeWidth) { event.stopPropagation(); if (treeWidth) { /** @type {?} */ var nodeHeight = hostElement.clientHeight; maskElement.style.width = treeWidth + 'px'; maskElement.style.height = nodeHeight + 'px'; maskElement.style.display = 'block'; hostElement.appendChild(maskElement); } }; /** * @param {?} hostElement * @param {?} maskElement * @return {?} */ TreeMaskService.removeMask = /** * @param {?} hostElement * @param {?} maskElement * @return {?} */ function (hostElement, maskElement) { maskElement.style.display = 'none'; hostElement.removeChild(maskElement); }; /** * @param {?} treeNode * @param {?=} index * @return {?} */ TreeMaskService.calcWidth = /** * @param {?} treeNode * @param {?=} index * @return {?} */ function (treeNode, index) { /** @type {?} */ var treeWidth; // 若传入的有width说明是nativeElement则直接设置宽度,若有Length说明是queryList则找子元素宽度 if (treeNode.clientWidth) { treeWidth = treeNode.clientWidth; } else if (treeNode.length) { /** @type {?} */ var nodeList = treeNode['_results']; if (index >= 0) { // 若index小于0则必定不合法,NaN和undefined都不大于0 treeWidth = nodeList[index].nativeElement.clientWidth; } else { // index不合法的和没传的都找子element里最大的 treeWidth = Math.max.apply(Math, tslib_1.__spread(nodeList.map((/** * @param {?} node * @return {?} */ function (node) { return node.nativeElement.clientWidth; })))); } } return treeWidth; }; return TreeMaskService; }()); export { TreeMaskService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1tYXNrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS90cmVlLyIsInNvdXJjZXMiOlsidHJlZS1tYXNrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDO0lBQUE7SUErQ0EsQ0FBQzs7OztJQTdDZSxnQ0FBZ0I7OztJQUE5Qjs7WUFDUSxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7O1lBQzVDLEtBQUssR0FBRztZQUNaLE9BQU8sRUFBRSxNQUFNO1lBQ2YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsR0FBRyxFQUFFLEdBQUc7WUFDUixLQUFLLEVBQUUsR0FBRztZQUNWLFNBQVMsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1NBQ3JDO1FBQ0QsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3QyxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7Ozs7O0lBRWEsdUJBQU87Ozs7OztJQUFyQixVQUFzQixXQUFnQixFQUFFLFdBQWdCLEVBQUUsU0FBaUI7UUFDekUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksU0FBUyxFQUFFOztnQkFDUCxVQUFVLEdBQUcsV0FBVyxDQUFDLFlBQVk7WUFDM0MsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQztZQUMzQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQzdDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUNwQyxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs7Ozs7O0lBRWEsMEJBQVU7Ozs7O0lBQXhCLFVBQXlCLFdBQWdCLEVBQUUsV0FBZ0I7UUFDekQsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ25DLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7O0lBRWEseUJBQVM7Ozs7O0lBQXZCLFVBQXdCLFFBQWEsRUFBRSxLQUFjOztZQUMvQyxTQUFTO1FBQ2IsZ0VBQWdFO1FBQ2hFLElBQUksUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUN4QixTQUFTLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztTQUNsQzthQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTs7Z0JBQ3BCLFFBQVEsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ3JDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFLHFDQUFxQztnQkFDckQsU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO2FBQ3ZEO2lCQUFNLEVBQUUsOEJBQThCO2dCQUNyQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsT0FBUixJQUFJLG1CQUFRLFFBQVEsQ0FBQyxHQUFHOzs7O2dCQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQTlCLENBQThCLEVBQUMsRUFBQyxDQUFDO2FBQy9FO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0gsc0JBQUM7QUFBRCxDQUFDLEFBL0NELElBK0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJlZVV0aWxzIH0gZnJvbSAnbmctZGV2dWkvdXRpbHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRyZWVNYXNrU2VydmljZSB7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRNYXNrRWxlbWVudCgpIHtcclxuICAgIGNvbnN0IG1hc2tFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgY29uc3Qgc3R5bGUgPSB7XHJcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcclxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXHJcbiAgICAgIHRvcDogJzAnLFxyXG4gICAgICByaWdodDogJzAnLFxyXG4gICAgICAnei1pbmRleCc6ICctMScgLy8g6K6+572uei1pbmRleOmYsuatouaMoeS9j3RyZWVcclxuICAgIH07XHJcbiAgICBtYXNrRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdkZXZ1aS10cmVlLW1hc2snKTtcclxuICAgIFRyZWVVdGlscy5hZGRFbFN0eWxlcyhtYXNrRWxlbWVudCwgc3R5bGUpO1xyXG4gICAgcmV0dXJuIG1hc2tFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhZGRNYXNrKGhvc3RFbGVtZW50OiBhbnksIG1hc2tFbGVtZW50OiBhbnksIHRyZWVXaWR0aDogbnVtYmVyKSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICh0cmVlV2lkdGgpIHtcclxuICAgICAgY29uc3Qgbm9kZUhlaWdodCA9IGhvc3RFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgbWFza0VsZW1lbnQuc3R5bGUud2lkdGggPSB0cmVlV2lkdGggKyAncHgnO1xyXG4gICAgICBtYXNrRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBub2RlSGVpZ2h0ICsgJ3B4JztcclxuICAgICAgbWFza0VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XHJcbiAgICAgIGhvc3RFbGVtZW50LmFwcGVuZENoaWxkKG1hc2tFbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlTWFzayhob3N0RWxlbWVudDogYW55LCBtYXNrRWxlbWVudDogYW55KSB7XHJcbiAgICBtYXNrRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgaG9zdEVsZW1lbnQucmVtb3ZlQ2hpbGQobWFza0VsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjYWxjV2lkdGgodHJlZU5vZGU6IGFueSwgaW5kZXg/OiBudW1iZXIpIHtcclxuICAgIGxldCB0cmVlV2lkdGg7XHJcbiAgICAvLyDoi6XkvKDlhaXnmoTmnIl3aWR0aOivtOaYjuaYr25hdGl2ZUVsZW1lbnTliJnnm7TmjqXorr7nva7lrr3luqbvvIzoi6XmnIlMZW5ndGjor7TmmI7mmK9xdWVyeUxpc3TliJnmib7lrZDlhYPntKDlrr3luqZcclxuICAgIGlmICh0cmVlTm9kZS5jbGllbnRXaWR0aCkge1xyXG4gICAgICB0cmVlV2lkdGggPSB0cmVlTm9kZS5jbGllbnRXaWR0aDtcclxuICAgIH0gZWxzZSBpZiAodHJlZU5vZGUubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IG5vZGVMaXN0ID0gdHJlZU5vZGVbJ19yZXN1bHRzJ107XHJcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7IC8vIOiLpWluZGV45bCP5LqOMOWImeW/heWumuS4jeWQiOazle+8jE5hTuWSjHVuZGVmaW5lZOmDveS4jeWkp+S6jjBcclxuICAgICAgICB0cmVlV2lkdGggPSBub2RlTGlzdFtpbmRleF0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgICAgfSBlbHNlIHsgLy8gaW5kZXjkuI3lkIjms5XnmoTlkozmsqHkvKDnmoTpg73mib7lrZBlbGVtZW506YeM5pyA5aSn55qEXHJcbiAgICAgICAgdHJlZVdpZHRoID0gTWF0aC5tYXgoLi4ubm9kZUxpc3QubWFwKG5vZGUgPT4gbm9kZS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cmVlV2lkdGg7XHJcbiAgfVxyXG59XHJcbiJdfQ==