UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

384 lines (374 loc) 12.7 kB
import { __decorate, __metadata } from 'tslib'; import { fromEvent, Subject } from 'rxjs'; import { auditTime, takeUntil } from 'rxjs/operators'; import { InputBoolean } from 'ng-zorro-antd/core'; import { MediaMatcher, LayoutModule } from '@angular/cdk/layout'; import { Platform, PlatformModule } from '@angular/cdk/platform'; import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component, ElementRef, Renderer2, ViewEncapsulation, ChangeDetectorRef, EventEmitter, Host, Input, NgZone, Optional, Output, ViewChild, NgModule } from '@angular/core'; import { NzIconModule } from 'ng-zorro-antd/icon'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzContentComponent { /** * @param {?} elementRef * @param {?} renderer */ constructor(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.renderer.addClass(this.elementRef.nativeElement, 'ant-layout-content'); } } NzContentComponent.decorators = [ { type: Component, args: [{ selector: 'nz-content', exportAs: 'nzContent', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>", styles: [` nz-content { display: block; } `] }] } ]; /** @nocollapse */ NzContentComponent.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzFooterComponent { /** * @param {?} elementRef * @param {?} renderer */ constructor(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.renderer.addClass(this.elementRef.nativeElement, 'ant-layout-footer'); } } NzFooterComponent.decorators = [ { type: Component, args: [{ selector: 'nz-footer', exportAs: 'nzFooter', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>", styles: [` nz-footer { display: block; } `] }] } ]; /** @nocollapse */ NzFooterComponent.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzHeaderComponent { /** * @param {?} elementRef * @param {?} renderer */ constructor(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.renderer.addClass(this.elementRef.nativeElement, 'ant-layout-header'); } } NzHeaderComponent.decorators = [ { type: Component, args: [{ selector: 'nz-header', exportAs: 'nzHeader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<ng-content></ng-content>", styles: [` nz-header { display: block; } `] }] } ]; /** @nocollapse */ NzHeaderComponent.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzLayoutComponent { /** * @param {?} elementRef * @param {?} renderer */ constructor(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; renderer.addClass(elementRef.nativeElement, 'ant-layout'); } /** * @return {?} */ destroySider() { this.renderer.removeClass(this.elementRef.nativeElement, 'ant-layout-has-sider'); } /** * @return {?} */ initSider() { this.renderer.addClass(this.elementRef.nativeElement, 'ant-layout-has-sider'); } } NzLayoutComponent.decorators = [ { type: Component, args: [{ selector: 'nz-layout', exportAs: 'nzLayout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, template: "<ng-content></ng-content>" }] } ]; /** @nocollapse */ NzLayoutComponent.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzSiderComponent { /** * @param {?} nzLayoutComponent * @param {?} mediaMatcher * @param {?} ngZone * @param {?} platform * @param {?} cdr * @param {?} renderer * @param {?} elementRef */ constructor(nzLayoutComponent, mediaMatcher, ngZone, platform, cdr, renderer, elementRef) { this.nzLayoutComponent = nzLayoutComponent; this.mediaMatcher = mediaMatcher; this.ngZone = ngZone; this.platform = platform; this.cdr = cdr; this.below = false; this.destroy$ = new Subject(); this.dimensionMap = { xs: '480px', sm: '576px', md: '768px', lg: '992px', xl: '1200px', xxl: '1600px' }; this.nzWidth = 200; this.nzTheme = 'dark'; this.nzCollapsedWidth = 80; this.nzReverseArrow = false; this.nzCollapsible = false; this.nzCollapsed = false; this.nzCollapsedChange = new EventEmitter(); renderer.addClass(elementRef.nativeElement, 'ant-layout-sider'); } /** * @return {?} */ get flexSetting() { if (this.nzCollapsed) { return `0 0 ${this.nzCollapsedWidth}px`; } else { return `0 0 ${this.nzWidth}px`; } } /** * @return {?} */ get widthSetting() { if (this.nzCollapsed) { return this.nzCollapsedWidth; } else { return this.nzWidth; } } /** * @return {?} */ watchMatchMedia() { if (this.nzBreakpoint) { /** @type {?} */ const matchBelow = this.mediaMatcher.matchMedia(`(max-width: ${this.dimensionMap[this.nzBreakpoint]})`).matches; this.below = matchBelow; this.nzCollapsed = matchBelow; this.nzCollapsedChange.emit(matchBelow); this.ngZone.run((/** * @return {?} */ () => { this.cdr.markForCheck(); })); } } /** * @return {?} */ toggleCollapse() { this.nzCollapsed = !this.nzCollapsed; this.nzCollapsedChange.emit(this.nzCollapsed); } /** * @return {?} */ get isZeroTrigger() { return (this.nzCollapsible && this.nzTrigger && this.nzCollapsedWidth === 0 && ((this.nzBreakpoint && this.below) || !this.nzBreakpoint)); } /** * @return {?} */ get isSiderTrigger() { return this.nzCollapsible && this.nzTrigger && this.nzCollapsedWidth !== 0; } /** * @return {?} */ ngOnInit() { if (this.nzLayoutComponent) { this.nzLayoutComponent.initSider(); } } /** * @return {?} */ ngAfterViewInit() { if (this.platform.isBrowser) { Promise.resolve().then((/** * @return {?} */ () => this.watchMatchMedia())); this.ngZone.runOutsideAngular((/** * @return {?} */ () => { fromEvent(window, 'resize') .pipe(auditTime(16), takeUntil(this.destroy$)) .subscribe((/** * @return {?} */ () => this.watchMatchMedia())); })); } } /** * @return {?} */ ngOnDestroy() { this.destroy$.next(); this.destroy$.complete(); if (this.nzLayoutComponent) { this.nzLayoutComponent.destroySider(); } } } NzSiderComponent.decorators = [ { type: Component, args: [{ selector: 'nz-sider', exportAs: 'nzSider', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ant-layout-sider-children\">\n <ng-content></ng-content>\n</div>\n<span class=\"ant-layout-sider-zero-width-trigger\" *ngIf=\"isZeroTrigger\" (click)=\"toggleCollapse()\">\n <ng-template [ngTemplateOutlet]=\"nzZeroTrigger || zeroTrigger\"></ng-template>\n</span>\n<div class=\"ant-layout-sider-trigger\"\n *ngIf=\"isSiderTrigger\"\n (click)=\"toggleCollapse()\"\n [style.width.px]=\"nzCollapsed ? nzCollapsedWidth : nzWidth\">\n <ng-template [ngTemplateOutlet]=\"nzTrigger\"></ng-template>\n</div>\n<ng-template #defaultTrigger>\n <i nz-icon [type]=\"nzCollapsed ? 'right' : 'left'\" *ngIf=\"!nzReverseArrow\"></i>\n <i nz-icon [type]=\"nzCollapsed ? 'left' : 'right'\" *ngIf=\"nzReverseArrow\"></i>\n</ng-template>\n<ng-template #zeroTrigger>\n <i nz-icon type=\"bars\"></i>\n</ng-template>", host: { '[class.ant-layout-sider-zero-width]': 'nzCollapsed && nzCollapsedWidth === 0', '[class.ant-layout-sider-light]': `nzTheme === 'light'`, '[class.ant-layout-sider-collapsed]': 'nzCollapsed', '[style.flex]': 'flexSetting', '[style.max-width.px]': 'widthSetting', '[style.min-width.px]': 'widthSetting', '[style.width.px]': 'widthSetting' } }] } ]; /** @nocollapse */ NzSiderComponent.ctorParameters = () => [ { type: NzLayoutComponent, decorators: [{ type: Optional }, { type: Host }] }, { type: MediaMatcher }, { type: NgZone }, { type: Platform }, { type: ChangeDetectorRef }, { type: Renderer2 }, { type: ElementRef } ]; NzSiderComponent.propDecorators = { nzWidth: [{ type: Input }], nzTheme: [{ type: Input }], nzCollapsedWidth: [{ type: Input }], nzBreakpoint: [{ type: Input }], nzZeroTrigger: [{ type: Input }], nzTrigger: [{ type: Input }, { type: ViewChild, args: ['defaultTrigger',] }], nzReverseArrow: [{ type: Input }], nzCollapsible: [{ type: Input }], nzCollapsed: [{ type: Input }], nzCollapsedChange: [{ type: Output }] }; __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSiderComponent.prototype, "nzReverseArrow", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSiderComponent.prototype, "nzCollapsible", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzSiderComponent.prototype, "nzCollapsed", void 0); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzLayoutModule { } NzLayoutModule.decorators = [ { type: NgModule, args: [{ declarations: [NzLayoutComponent, NzHeaderComponent, NzContentComponent, NzFooterComponent, NzSiderComponent], exports: [NzLayoutComponent, NzHeaderComponent, NzContentComponent, NzFooterComponent, NzSiderComponent], imports: [CommonModule, NzIconModule, LayoutModule, PlatformModule] },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NzContentComponent, NzFooterComponent, NzHeaderComponent, NzLayoutComponent, NzSiderComponent, NzLayoutModule }; //# sourceMappingURL=ng-zorro-antd-layout.js.map