ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
2 lines • 5.53 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("ng-zorro-antd/dropdown"),require("@angular/router"),require("rxjs"),require("rxjs/operators"),require("ng-zorro-antd/core"),require("@angular/cdk/overlay"),require("@angular/common"),require("ng-zorro-antd/icon")):"function"==typeof define&&define.amd?define("ng-zorro-antd/breadcrumb",["exports","@angular/core","ng-zorro-antd/dropdown","@angular/router","rxjs","rxjs/operators","ng-zorro-antd/core","@angular/cdk/overlay","@angular/common","ng-zorro-antd/icon"],n):n(((e=e||self)["ng-zorro-antd"]=e["ng-zorro-antd"]||{},e["ng-zorro-antd"].breadcrumb={}),e.ng.core,e["ng-zorro-antd"].dropdown,e.ng.router,e.rxjs,e.rxjs.operators,e["ng-zorro-antd"].core,e.ng.cdk.overlay,e.ng.common,e["ng-zorro-antd"].icon)}(this,function(e,n,r,t,o,a,u,c,i,s){"use strict";function l(e,n){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,n)}function p(e){var n="function"==typeof Symbol&&e[Symbol.iterator],r=0;return n?n.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}var d=function(){function e(e,n,r,t,a){this.injector=e,this.ngZone=n,this.cdr=r,this.nzAutoGenerate=!1,this.nzSeparator="/",this.nzRouteLabel="breadcrumb",this.breadcrumbs=[],this.destroy$=new o.Subject,a.addClass(t.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,n){var r=this;n.preventDefault(),this.ngZone.run(function(){return r.injector.get(t.Router).navigateByUrl(e).then()}).then()},e.prototype.registerRouterChange=function(){var e=this;try{var n=this.injector.get(t.Router),r=this.injector.get(t.ActivatedRoute);n.events.pipe(a.filter(function(e){return e instanceof t.NavigationEnd}),a.takeUntil(this.destroy$),a.startWith(!0)).subscribe(function(){e.breadcrumbs=e.getBreadcrumbs(r.root),e.cdr.markForCheck()})}catch(e){throw new Error(u.PREFIX+" You should import RouterModule if you want to use 'NzAutoGenerate'.")}},e.prototype.getBreadcrumbs=function(e,n,r){var o,a;void 0===n&&(n=""),void 0===r&&(r=[]);var u=e.children;if(0===u.length)return r;try{for(var c=p(u),i=c.next();!i.done;i=c.next()){var s=i.value;if(s.outlet===t.PRIMARY_OUTLET){var l=s.snapshot.url.map(function(e){return e.path}).join("/"),d=n+"/"+l,g=s.snapshot.data[this.nzRouteLabel];if(l&&g){var m={label:g,params:s.snapshot.params,url:d};r.push(m)}return this.getBreadcrumbs(s,d,r)}}}catch(e){o={error:e}}finally{try{i&&!i.done&&(a=c.return)&&a.call(c)}finally{if(o)throw o.error}}},e.decorators=[{type:n.Component,args:[{changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.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:n.Injector},{type:n.NgZone},{type:n.ChangeDetectorRef},{type:n.ElementRef},{type:n.Renderer2}]},e.propDecorators={nzAutoGenerate:[{type:n.Input}],nzSeparator:[{type:n.Input}],nzRouteLabel:[{type:n.Input}]},function(e,n,r,t){var o,a=arguments.length,u=a<3?n:null===t?t=Object.getOwnPropertyDescriptor(n,r):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,n,r,t);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(u=(a<3?o(u):a>3?o(n,r,u):o(n,r))||u);a>3&&u&&Object.defineProperty(n,r,u)}([u.InputBoolean(),l("design:type",Object)],e.prototype,"nzAutoGenerate",void 0),e}();var g=function(){function e(e){this.nzBreadCrumbComponent=e}return e.decorators=[{type:n.Component,args:[{changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None,selector:"nz-breadcrumb-item",exportAs:"nzBreadcrumbItem",preserveWhitespaces:!1,template:'<ng-container *ngIf="!!nzOverlay; else noMenuTpl">\n <span class="ant-breadcrumb-overlay-link" nz-dropdown [nzDropdownMenu]="nzOverlay">\n <ng-template [ngTemplateOutlet]="noMenuTpl"></ng-template>\n <i *ngIf="!!nzOverlay" nz-icon nzType="down"></i>\n </span>\n</ng-container>\n\n<ng-template #noMenuTpl>\n <span class="ant-breadcrumb-link">\n <ng-content></ng-content>\n </span>\n</ng-template>\n\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:d}]},e.propDecorators={nzOverlay:[{type:n.Input}]},e}();var m=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{imports:[i.CommonModule,u.NzAddOnModule,c.OverlayModule,u.NzOverlayModule,r.NzDropDownModule,s.NzIconModule],declarations:[d,g],exports:[d,g]}]}],e}();e.NzBreadCrumbComponent=d,e.NzBreadCrumbItemComponent=g,e.NzBreadCrumbModule=m,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=ng-zorro-antd-breadcrumb.umd.min.js.map