UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

191 lines 14.8 kB
/** * @fileoverview added by tsickle * Generated from: splitter-pane.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2 } from '@angular/core'; export class SplitterPaneComponent { /** * @param {?} el * @param {?} renderer */ constructor(el, renderer) { this.el = el; this.renderer = renderer; // 当前panel是否可调整大小 this.resizable = true; // 面板是否可折叠 this.collapsible = false; // 非边缘面板折叠方向,before只生成向前折叠的按钮,after生成向后折叠按钮,both生成两个 this.collapseDirection = 'both'; // 大小改变事件 this.sizeChange = new EventEmitter(); // 收起和展开事件 this.collapsedChange = new EventEmitter(); this.paneClass = true; // 分割条方向 this._order = 0; // flex布局下pane位置 // flex布局下pane位置 this.collapsed = false; // 标记是否折叠 this.element = this.el.nativeElement; } /** * @param {?} newSize * @return {?} */ set size(newSize) { this._size = newSize; this.renderer.setStyle(this.element, 'flex-basis', newSize); /** @type {?} */ const paneFixedClass = 'devui-splitter-pane-fixed'; if (this.size) { // 设置 flex-grow 和 flex-shrink this.renderer.addClass(this.element, paneFixedClass); } else { this.renderer.removeClass(this.element, paneFixedClass); } } /** * @return {?} */ get size() { return this._size; } // nativeElement句柄 /** * @param {?} paneOrder * @return {?} */ set order(paneOrder) { this._order = paneOrder; this.setOrderStyles(); } /** * @return {?} */ get order() { return this._order; } // 设置order /** * @return {?} */ setOrderStyles() { this.renderer.setStyle(this.element, 'order', this.order); } // 获取当前pane大小 /** * @return {?} */ get computedSize() { if (this.orientation === 'vertical') { return this.element.offsetHeight; } else { return this.element.offsetWidth; } } // 收起时隐藏当前pane /** * @return {?} */ toggleCollapseClass() { /** @type {?} */ const paneHiddenClass = 'devui-splitter-pane-hidden'; if (!this.collapsed) { this.renderer.removeClass(this.element, paneHiddenClass); } else { this.renderer.addClass(this.element, paneHiddenClass); } } // 收起时用于改变相邻pane的flex-grow属性来改变非自适应pane的size /** * @return {?} */ toggleNearPaneFlexGrow() { /** @type {?} */ const flexGrowClass = 'devui-splitter-pane-grow'; /** @type {?} */ const hasFlexGrowClass = this.element.classList.contains(flexGrowClass); if (hasFlexGrowClass) { this.renderer.removeClass(this.element, flexGrowClass); } else { this.renderer.addClass(this.element, flexGrowClass); } } /** * @return {?} */ ngAfterViewChecked() { // 视图检查完对resizeable pane设置flex属性 if (!this.size && !this.resizable) { this.renderer.addClass(this.element, 'devui-splitter-pane-fixed'); } } } SplitterPaneComponent.decorators = [ { type: Component, args: [{ selector: 'd-splitter-pane', template: "<ng-content></ng-content>\r\n", changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host.devui-splitter-pane{position:relative;-webkit-box-flex:1;flex:1 1 auto;display:block;min-width:0;max-width:100%;min-height:0;max-height:100%;height:100%}:host.devui-splitter-pane-fixed{-webkit-box-flex:0;flex-grow:0;flex-shrink:0}:host.devui-splitter-pane-hidden{-webkit-box-flex:0!important;flex:0!important;overflow:hidden!important}:host.devui-splitter-pane-grow{-webkit-box-flex:1!important;flex-grow:1!important}"] }] } ]; /** @nocollapse */ SplitterPaneComponent.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; SplitterPaneComponent.propDecorators = { minSize: [{ type: Input }], maxSize: [{ type: Input }], resizable: [{ type: Input }], collapsible: [{ type: Input }], collapseDirection: [{ type: Input }], size: [{ type: Input }], sizeChange: [{ type: Output }], collapsedChange: [{ type: Output }], paneClass: [{ type: HostBinding, args: ['class.devui-splitter-pane',] }] }; if (false) { /** @type {?} */ SplitterPaneComponent.prototype.minSize; /** @type {?} */ SplitterPaneComponent.prototype.maxSize; /** @type {?} */ SplitterPaneComponent.prototype.resizable; /** @type {?} */ SplitterPaneComponent.prototype.collapsible; /** @type {?} */ SplitterPaneComponent.prototype.collapseDirection; /** @type {?} */ SplitterPaneComponent.prototype._size; /** @type {?} */ SplitterPaneComponent.prototype.sizeChange; /** @type {?} */ SplitterPaneComponent.prototype.collapsedChange; /** @type {?} */ SplitterPaneComponent.prototype.paneClass; /** @type {?} */ SplitterPaneComponent.prototype.orientation; /** @type {?} */ SplitterPaneComponent.prototype._order; /** @type {?} */ SplitterPaneComponent.prototype.collapsed; /** @type {?} */ SplitterPaneComponent.prototype.element; /** * @type {?} * @private */ SplitterPaneComponent.prototype.el; /** * @type {?} * @private */ SplitterPaneComponent.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXItcGFuZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9zcGxpdHRlci8iLCJzb3VyY2VzIjpbInNwbGl0dGVyLXBhbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFvQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFDckYsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUy9ELE1BQU0sT0FBTyxxQkFBcUI7Ozs7O0lBaURoQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7O1FBM0NyRCxjQUFTLEdBQUcsSUFBSSxDQUFDOztRQUVqQixnQkFBVyxHQUFHLEtBQUssQ0FBQzs7UUFFcEIsc0JBQWlCLEdBQXNCLE1BQU0sQ0FBQzs7UUFtQjlDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDOztRQUdoQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFTCxjQUFTLEdBQUcsSUFBSSxDQUFDOztRQUczRCxXQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCOztRQUM1QixjQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsU0FBUztRQVkxQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7Ozs7O0lBdENELElBQ0ksSUFBSSxDQUFDLE9BQU87UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQzs7Y0FDdEQsY0FBYyxHQUFHLDJCQUEyQjtRQUNsRCxJQUFJLElBQUksQ0FBQyxJ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Qyx1Q0FBVzs7SUFDWCwwQ0FBa0I7O0lBQ2xCLHdDQUFROzs7OztJQVVJLG1DQUFzQjs7Ozs7SUFBRSx5Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcGxpdHRlck9yaWVudGF0aW9uLCBDb2xsYXBzZURpcmVjdGlvbiB9IGZyb20gJy4vc3BsaXR0ZXIudHlwZXMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Qtc3BsaXR0ZXItcGFuZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwbGl0dGVyLXBhbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwbGl0dGVyLXBhbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTcGxpdHRlclBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcclxuICAgLy8gcGFuZeeahOacgOWwj+WAvFxyXG4gICBASW5wdXQoKSBtaW5TaXplOiBzdHJpbmc7XHJcbiAgIC8vIHBhbmXnmoTmnIDlpKflgLxcclxuICAgQElucHV0KCkgbWF4U2l6ZTogc3RyaW5nO1xyXG4gICAvLyDlvZPliY1wYW5lbOaYr+WQpuWPr+iwg+aVtOWkp+Wwj1xyXG4gICBASW5wdXQoKSByZXNpemFibGUgPSB0cnVlO1xyXG4gICAvLyDpnaLmnb/mmK/lkKblj6/mipjlj6BcclxuICAgQElucHV0KCkgY29sbGFwc2libGUgPSBmYWxzZTtcclxuICAgLy8g6Z2e6L6557yY6Z2i5p2/5oqY5Y+g5pa55ZCR77yMYmVmb3Jl5Y+q55Sf5oiQ5ZCR5YmN5oqY5Y+g55qE5oyJ6ZKu77yMYWZ0ZXLnlJ/miJDlkJHlkI7mipjlj6DmjInpkq7vvIxib3Ro55Sf5oiQ5Lik5LiqXHJcbiAgIEBJbnB1dCgpIGNvbGxhcHNlRGlyZWN0aW9uOiBDb2xsYXBzZURpcmVjdGlvbiA9ICdib3RoJztcclxuICAvLyBwYW5l5Yid5aeL5YyW5aSn5bCPXHJcbiAgX3NpemU7XHJcbiAgQElucHV0KClcclxuICBzZXQgc2l6ZShuZXdTaXplKSB7XHJcbiAgICB0aGlzLl9zaXplID0gbmV3U2l6ZTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50LCAnZmxleC1iYXNpcycsIG5ld1NpemUpO1xyXG4gICAgY29uc3QgcGFuZUZpeGVkQ2xhc3MgPSAnZGV2dWktc3BsaXR0ZXItcGFuZS1maXhlZCc7XHJcbiAgICBpZiAodGhpcy5zaXplKSB7XHJcbiAgICAgIC8vIOiuvue9riBmbGV4LWdyb3cg5ZKMIGZsZXgtc2hyaW5rXHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50LCBwYW5lRml4ZWRDbGFzcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudCwgcGFuZUZpeGVkQ2xhc3MpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgc2l6ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zaXplO1xyXG4gIH1cclxuICAvLyDlpKflsI/mlLnlj5jkuovku7ZcclxuICBAT3V0cHV0KCkgc2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgLy8g5pS26LW35ZKM5bGV5byA5LqL5Lu2XHJcbiAgQE91dHB1dCgpIGNvbGxhcHNlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kZXZ1aS1zcGxpdHRlci1wYW5lJykgcGFuZUNsYXNzID0gdHJ1ZTtcclxuXHJcbiAgb3JpZW50YXRpb246IFNwbGl0dGVyT3JpZW50YXRpb247IC8vIOWIhuWJsuadoeaWueWQkVxyXG4gIF9vcmRlciA9IDA7IC8vIGZsZXjluIPlsYDkuItwYW5l5L2N572uXHJcbiAgY29sbGFwc2VkID0gZmFsc2U7IC8vIOagh+iusOaYr+WQpuaKmOWPoFxyXG4gIGVsZW1lbnQ7IC8vIG5hdGl2ZUVsZW1lbnTlj6Xmn4RcclxuXHJcbiAgc2V0IG9yZGVyKHBhbmVPcmRlcikge1xyXG4gICAgdGhpcy5fb3JkZXIgPSBwYW5lT3JkZXI7XHJcbiAgICB0aGlzLnNldE9yZGVyU3R5bGVzKCk7XHJcbiAgfVxyXG4gIGdldCBvcmRlcigpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX29yZGVyO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICB0aGlzLmVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICAvLyDorr7nva5vcmRlclxyXG4gIHNldE9yZGVyU3R5bGVzKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQsICdvcmRlcicsIHRoaXMub3JkZXIpO1xyXG4gIH1cclxuXHJcbiAgLy8g6I635Y+W5b2T5YmNcGFuZeWkp+Wwj1xyXG4gIGdldCBjb21wdXRlZFNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyDmlLbotbfml7bpmpDol4/lvZPliY1wYW5lXHJcbiAgdG9nZ2xlQ29sbGFwc2VDbGFzcygpIHtcclxuICAgIGNvbnN0IHBhbmVIaWRkZW5DbGFzcyA9ICdkZXZ1aS1zcGxpdHRlci1wYW5lLWhpZGRlbic7XHJcbiAgICBpZiAoIXRoaXMuY29sbGFwc2VkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50LCBwYW5lSGlkZGVuQ2xhc3MpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnQsIHBhbmVIaWRkZW5DbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyDmlLbotbfml7bnlKjkuo7mlLnlj5jnm7jpgrtwYW5l55qEZmxleC1ncm935bGe5oCn5p2l5pS55Y+Y6Z2e6Ieq6YCC5bqUcGFuZeeahHNpemVcclxuICB0b2dnbGVOZWFyUGFuZUZsZXhHcm93KCkge1xyXG4gICAgY29uc3QgZmxleEdyb3dDbGFzcyA9ICdkZXZ1aS1zcGxpdHRlci1wYW5lLWdyb3cnO1xyXG4gICAgY29uc3QgaGFzRmxleEdyb3dDbGFzcyA9IHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoZmxleEdyb3dDbGFzcyk7XHJcbiAgICBpZiAoaGFzRmxleEdyb3dDbGFzcykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudCwgZmxleEdyb3dDbGFzcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxlbWVudCwgZmxleEdyb3dDbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICAvLyDop4blm77mo4Dmn6Xlrozlr7lyZXNpemVhYmxlIHBhbmXorr7nva5mbGV45bGe5oCnXHJcbiAgICBpZiAoIXRoaXMuc2l6ZSAmJiAhdGhpcy5yZXNpemFibGUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnQsICdkZXZ1aS1zcGxpdHRlci1wYW5lLWZpeGVkJyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==