UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

150 lines 11.4 kB
/** * @fileoverview added by tsickle * Generated from: splitter.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangeDetectionStrategy, Component, Input, ContentChildren, QueryList, HostBinding, ElementRef } from '@angular/core'; import { SplitterPaneComponent } from './splitter-pane.component'; import { SplitterService } from './splitter.service'; var SplitterComponent = /** @class */ (function () { function SplitterComponent(el, splitter) { this.el = el; this.splitter = splitter; // 指定Splitter中窗格的方向,默认水平分割。 this.orientation = 'horizontal'; // 分隔条大小 this.splitBarSize = '2px'; // pane设置为不可调整大小时,生效 this.disabledBarSize = '1px'; } Object.defineProperty(SplitterComponent.prototype, "class", { get: /** * @return {?} */ function () { return 'devui-splitter devui-splitter-' + this.orientation; }, enumerable: true, configurable: true }); /** * @param {?} changes * @return {?} */ SplitterComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { if (changes.orientation && !changes.orientation.isFirstChange()) { this.reconfigure(); } }; /** * @return {?} */ SplitterComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { var _this = this; this.reconfigure(); // contentChildren 变化时,触发重新设置pane this.paneChangesSubscription = this.panes.changes.subscribe((/** * @param {?} panes * @return {?} */ function (panes) { _this.reconfigure(); })); }; /** * @return {?} */ SplitterComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { if (this.paneChangesSubscription) { this.paneChangesSubscription.unsubscribe(); } }; // 配置pane // 配置pane /** * @return {?} */ SplitterComponent.prototype.reconfigure = // 配置pane /** * @return {?} */ function () { var _this = this; this.splitter.configPane({ panes: this.panes.toArray(), orientation: this.orientation, // 内容投影进组件之后,组件还没有渲染出dom,此时获取不到宽度,此处设置一个回调函数 containerSize: (/** * @return {?} */ function () { if (_this.orientation === 'vertical') { return _this.el.nativeElement.clientHeight; } else { return _this.el.nativeElement.clientWidth; } }) }); }; SplitterComponent.decorators = [ { type: Component, args: [{ selector: 'd-splitter', exportAs: 'dSplitter', template: "<ng-content select=\"d-splitter-pane\"></ng-content>\r\n<ng-container *ngFor=\"let pane of panes; let index = index; let last = last\">\r\n <d-splitter-bar\r\n dResize\r\n [style.order]=\"index * 2 + 1\"\r\n *ngIf=\"!last\"\r\n [index]=\"index\"\r\n [splitBarSize]=\"splitBarSize\"\r\n [disabledBarSize]=\"disabledBarSize\"\r\n [orientation]=\"orientation\"\r\n >\r\n </d-splitter-bar>\r\n</ng-container>\r\n", changeDetection: ChangeDetectionStrategy.OnPush, providers: [ SplitterService ], styles: [":host{display:-webkit-box;display:flex;width:100%;height:auto;position:relative}:host.devui-splitter-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}:host.devui-splitter-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}"] }] } ]; /** @nocollapse */ SplitterComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: SplitterService } ]; }; SplitterComponent.propDecorators = { orientation: [{ type: Input }], splitBarSize: [{ type: Input }], disabledBarSize: [{ type: Input }], class: [{ type: HostBinding, args: ['class',] }], panes: [{ type: ContentChildren, args: [SplitterPaneComponent,] }] }; return SplitterComponent; }()); export { SplitterComponent }; if (false) { /** @type {?} */ SplitterComponent.prototype.orientation; /** @type {?} */ SplitterComponent.prototype.splitBarSize; /** @type {?} */ SplitterComponent.prototype.disabledBarSize; /** @type {?} */ SplitterComponent.prototype.panes; /** @type {?} */ SplitterComponent.prototype.paneChangesSubscription; /** * @type {?} * @private */ SplitterComponent.prototype.el; /** * @type {?} * @private */ SplitterComponent.prototype.splitter; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvc3BsaXR0ZXIvIiwic291cmNlcyI6WyJzcGxpdHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFDN0MsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRDtJQTBCRSwyQkFBb0IsRUFBYyxFQUFVLFFBQXlCO1FBQWpELE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFpQjs7UUFiNUQsZ0JBQVcsR0FBd0IsWUFBWSxDQUFDOztRQUVoRCxpQkFBWSxHQUFHLEtBQUssQ0FBQzs7UUFFckIsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFXakMsQ0FBQztJQVRELHNCQUEwQixvQ0FBSzs7OztRQUEvQjtZQUNFLE9BQU8sZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM3RCxDQUFDOzs7T0FBQTs7Ozs7SUFTRCx1Q0FBVzs7OztJQUFYLFVBQVksT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7O0lBRUQsOENBQWtCOzs7SUFBbEI7UUFBQSxpQkFNQztRQUxDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFDLEtBQUs7WUFDaEUsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELHVDQUFXOzs7SUFBWDtRQUNFLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxTQUFTOzs7OztJQUNULHVDQUFXOzs7OztJQUFYO1FBQUEsaUJBYUM7UUFaQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXOztZQUU3QixhQUFhOzs7WUFBRTtnQkFDYixJQUFJLEtBQUksQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFO29CQUNuQyxPQUFPLEtBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztpQkFDM0M7cUJBQU07b0JBQ0gsT0FBTyxLQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7aUJBQzVDO1lBQ0gsQ0FBQyxDQUFBO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBaEVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLDRiQUF3QztvQkFFeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDVCxlQUFlO3FCQUNoQjs7aUJBQ0Y7Ozs7Z0JBZDZDLFVBQVU7Z0JBRy9DLGVBQWU7Ozs4QkFlckIsS0FBSzsrQkFFTCxLQUFLO2tDQUVMLEtBQUs7d0JBRUwsV0FBVyxTQUFDLE9BQU87d0JBSW5CLGVBQWUsU0FBQyxxQkFBcUI7O0lBMEN4Qyx3QkFBQztDQUFBLEFBakVELElBaUVDO1NBdERZLGlCQUFpQjs7O0lBRTVCLHdDQUF5RDs7SUFFekQseUNBQThCOztJQUU5Qiw0Q0FBaUM7O0lBTWpDLGtDQUFnRjs7SUFDaEYsb0RBQXNDOzs7OztJQUUxQiwrQkFBc0I7Ozs7O0lBQUUscUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBIb3N0QmluZGluZyxcclxuICBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQsIFNpbXBsZUNoYW5nZXMsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcGxpdHRlclBhbmVDb21wb25lbnQgfSBmcm9tICcuL3NwbGl0dGVyLXBhbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3BsaXR0ZXJPcmllbnRhdGlvbiB9IGZyb20gJy4vc3BsaXR0ZXIudHlwZXMnO1xyXG5pbXBvcnQgeyBTcGxpdHRlclNlcnZpY2UgfSBmcm9tICcuL3NwbGl0dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkLXNwbGl0dGVyJyxcclxuICBleHBvcnRBczogJ2RTcGxpdHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwbGl0dGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zcGxpdHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgU3BsaXR0ZXJTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNwbGl0dGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8vIOaMh+WumlNwbGl0dGVy5Lit56qX5qC855qE5pa55ZCR77yM6buY6K6k5rC05bmz5YiG5Ymy44CCXHJcbiAgQElucHV0KCkgb3JpZW50YXRpb246IFNwbGl0dGVyT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCc7XHJcbiAgLy8g5YiG6ZqU5p2h5aSn5bCPXHJcbiAgQElucHV0KCkgc3BsaXRCYXJTaXplID0gJzJweCc7XHJcbiAgLy8gcGFuZeiuvue9ruS4uuS4jeWPr+iwg+aVtOWkp+Wwj+aXtu+8jOeUn+aViFxyXG4gIEBJbnB1dCgpIGRpc2FibGVkQmFyU2l6ZSA9ICcxcHgnO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGNsYXNzKCkge1xyXG4gICAgcmV0dXJuICdkZXZ1aS1zcGxpdHRlciBkZXZ1aS1zcGxpdHRlci0nICsgdGhpcy5vcmllbnRhdGlvbjtcclxuICB9XHJcbiAgLy8g5YaF5bWM6Z2i5p2/XHJcbiAgQENvbnRlbnRDaGlsZHJlbihTcGxpdHRlclBhbmVDb21wb25lbnQpIHBhbmVzOiBRdWVyeUxpc3Q8U3BsaXR0ZXJQYW5lQ29tcG9uZW50PjtcclxuICBwYW5lQ2hhbmdlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHNwbGl0dGVyOiBTcGxpdHRlclNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5vcmllbnRhdGlvbiAmJiAhY2hhbmdlcy5vcmllbnRhdGlvbi5pc0ZpcnN0Q2hhbmdlKCkpIHtcclxuICAgICAgICB0aGlzLnJlY29uZmlndXJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICB0aGlzLnJlY29uZmlndXJlKCk7XHJcbiAgICAvLyBjb250ZW50Q2hpbGRyZW4g5Y+Y5YyW5pe277yM6Kem5Y+R6YeN5paw6K6+572ucGFuZVxyXG4gICAgdGhpcy5wYW5lQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IHRoaXMucGFuZXMuY2hhbmdlcy5zdWJzY3JpYmUoKHBhbmVzKSA9PiB7XHJcbiAgICAgIHRoaXMucmVjb25maWd1cmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5wYW5lQ2hhbmdlc1N1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnBhbmVDaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyDphY3nva5wYW5lXHJcbiAgcmVjb25maWd1cmUoKSB7XHJcbiAgICB0aGlzLnNwbGl0dGVyLmNvbmZpZ1BhbmUoe1xyXG4gICAgICBwYW5lczogdGhpcy5wYW5lcy50b0FycmF5KCksXHJcbiAgICAgIG9yaWVudGF0aW9uOiB0aGlzLm9yaWVudGF0aW9uLFxyXG4gICAgICAvLyDlhoXlrrnmipXlvbHov5vnu4Tku7bkuYvlkI7vvIznu4Tku7bov5jmsqHmnInmuLLmn5Plh7pkb23vvIzmraTml7bojrflj5bkuI3liLDlrr3luqbvvIzmraTlpITorr7nva7kuIDkuKrlm57osIPlh73mlbBcclxuICAgICAgY29udGFpbmVyU2l6ZTogKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==