UNPKG

ng-zorro-antd

Version:

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

2 lines 4.9 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/router"),require("rxjs"),require("rxjs/internal/operators/startWith"),require("rxjs/operators"),require("ng-zorro-antd/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("ng-zorro-antd/breadcrumb",["exports","@angular/core","@angular/router","rxjs","rxjs/internal/operators/startWith","rxjs/operators","ng-zorro-antd/core","@angular/common"],t):t((e["ng-zorro-antd"]=e["ng-zorro-antd"]||{},e["ng-zorro-antd"].breadcrumb={}),e.ng.core,e.ng.router,e.rxjs,e.rxjs["internal/operators/startWith"],e.rxjs.operators,e["ng-zorro-antd"].core,e.ng.common)}(this,function(e,t,b,a,o,u,r,n){"use strict";var f="breadcrumb",c=function(){function e(e,t,r,n,o){this.injector=e,this.ngZone=t,this.cdr=r,this.nzAutoGenerate=!1,this.nzSeparator="/",this.breadcrumbs=[],this.destroy$=new a.Subject,o.addClass(n.nativeElement,"ant-breadcrumb")}return e.prototype.ngOnInit=function(){this.nzAutoGenerate&&this.registerRouterChange()},e.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},e.prototype.navigate=function(e,t){var r=this;t.preventDefault(),this.ngZone.run(function(){return r.injector.get(b.Router).navigateByUrl(e).then()}).then()},e.prototype.registerRouterChange=function(){var e=this;try{var t=this.injector.get(b.Router),r=this.injector.get(b.ActivatedRoute);t.events.pipe(u.filter(function(e){return e instanceof b.NavigationEnd}),u.takeUntil(this.destroy$),o.startWith(!0)).subscribe(function(){e.breadcrumbs=e.getBreadcrumbs(r.root),e.cdr.markForCheck()})}catch(n){throw new Error("[NG-ZORRO] You should import RouterModule if you want to use `NzAutoGenerate`")}},e.prototype.getBreadcrumbs=function(e,t,r){var n,o;void 0===t&&(t=""),void 0===r&&(r=[]);var a=e.children;if(0===a.length)return r;try{for(var u=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}(a),c=u.next();!c.done;c=u.next()){var i=c.value;if(i.outlet===b.PRIMARY_OUTLET){var s=i.snapshot.url.map(function(e){return e.path}).join("/"),p=t+"/"+s,d=i.snapshot.data[f];if(s&&d){var l={label:d,params:i.snapshot.params,url:p};r.push(l)}return this.getBreadcrumbs(i,p,r)}}}catch(m){n={error:m}}finally{try{c&&!c.done&&(o=u["return"])&&o.call(u)}finally{if(n)throw n.error}}},e.decorators=[{type:t.Component,args:[{changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,selector:"nz-breadcrumb",exportAs:"nzBreadcrumb",preserveWhitespaces:!1,template:'<ng-content></ng-content>\n<ng-container *ngIf="nzAutoGenerate">\n <nz-breadcrumb-item *ngFor="let breadcrumb of breadcrumbs">\n <a [attr.href]="breadcrumb.url" (click)="navigate(breadcrumb.url, $event)">{{ breadcrumb.label }}</a>\n </nz-breadcrumb-item>\n</ng-container>',styles:["\n nz-breadcrumb {\n display: block;\n }\n "]}]}],e.ctorParameters=function(){return[{type:t.Injector},{type:t.NgZone},{type:t.ChangeDetectorRef},{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={nzAutoGenerate:[{type:t.Input}],nzSeparator:[{type:t.Input}]},function(e,t,r,n){var o,a=arguments.length,u=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;0<=c;c--)(o=e[c])&&(u=(a<3?o(u):3<a?o(t,r,u):o(t,r))||u);3<a&&u&&Object.defineProperty(t,r,u)}([r.InputBoolean(),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}("design:type",Object)],e.prototype,"nzAutoGenerate",void 0),e}(),i=function(){function e(e){this.nzBreadCrumbComponent=e}return e.decorators=[{type:t.Component,args:[{changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,selector:"nz-breadcrumb-item",exportAs:"nzBreadcrumbItem",preserveWhitespaces:!1,template:'<span class="ant-breadcrumb-link">\n <ng-content></ng-content>\n</span>\n<span class="ant-breadcrumb-separator">\n <ng-container *nzStringTemplateOutlet="nzBreadCrumbComponent.nzSeparator">\n {{ nzBreadCrumbComponent.nzSeparator }}\n </ng-container>\n</span>\n',styles:["\n nz-breadcrumb-item:last-child {\n color: rgba(0, 0, 0, 0.65);\n }\n\n nz-breadcrumb-item:last-child .ant-breadcrumb-separator {\n display: none;\n }\n "]}]}],e.ctorParameters=function(){return[{type:c}]},e}(),s=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,r.NzAddOnModule],declarations:[c,i],exports:[c,i]}]}],e}();e.NzBreadCrumbItemComponent=i,e.NZ_ROUTE_DATA_BREADCRUMB=f,e.NzBreadCrumbComponent=c,e.NzBreadCrumbModule=s,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=ng-zorro-antd-breadcrumb.umd.min.js.map