ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
16 lines (14 loc) • 6.99 kB
JavaScript
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/core"),require("ng-zorro-antd/dropdown"),require("@angular/router"),require("ng-zorro-antd/core/logger"),require("ng-zorro-antd/core/util"),require("rxjs"),require("rxjs/operators"),require("@angular/cdk/overlay"),require("@angular/common"),require("ng-zorro-antd/core/outlet"),require("ng-zorro-antd/core/overlay"),require("ng-zorro-antd/icon")):"function"==typeof define&&define.amd?define("ng-zorro-antd/breadcrumb",["exports","@angular/core","ng-zorro-antd/dropdown","@angular/router","ng-zorro-antd/core/logger","ng-zorro-antd/core/util","rxjs","rxjs/operators","@angular/cdk/overlay","@angular/common","ng-zorro-antd/core/outlet","ng-zorro-antd/core/overlay","ng-zorro-antd/icon"],r):r(((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["ng-zorro-antd"].core.logger,e["ng-zorro-antd"].core.util,e.rxjs,e.rxjs.operators,e.ng.cdk.overlay,e.ng.common,e["ng-zorro-antd"].core.outlet,e["ng-zorro-antd"].core.overlay,e["ng-zorro-antd"].icon)}(this,(function(e,r,n,t,o,a,u,c,i,p,s,l,d){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */function g(e,r){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,r)}function m(e){var r="function"==typeof Symbol&&Symbol.iterator,n=r&&e[r],t=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&t>=e.length&&(e=void 0),{value:e&&e[t++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}var f=function(){function e(e,r,n,t,o){this.injector=e,this.ngZone=r,this.cdr=n,this.nzAutoGenerate=!1,this.nzSeparator="/",this.nzRouteLabel="breadcrumb",this.breadcrumbs=[],this.destroy$=new u.Subject,o.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,r){var n=this;r.preventDefault(),this.ngZone.run((function(){return n.injector.get(t.Router).navigateByUrl(e).then()})).then()},e.prototype.registerRouterChange=function(){var e=this;try{var r=this.injector.get(t.Router),n=this.injector.get(t.ActivatedRoute);r.events.pipe(c.filter((function(e){return e instanceof t.NavigationEnd})),c.takeUntil(this.destroy$),c.startWith(!0)).subscribe((function(){e.breadcrumbs=e.getBreadcrumbs(n.root),e.cdr.markForCheck()}))}catch(e){throw new Error(o.PREFIX+" You should import RouterModule if you want to use 'NzAutoGenerate'.")}},e.prototype.getBreadcrumbs=function(e,r,n){var o,a;void 0===r&&(r=""),void 0===n&&(n=[]);var u=e.children;if(0===u.length)return n;try{for(var c=m(u),i=c.next();!i.done;i=c.next()){var p=i.value;if(p.outlet===t.PRIMARY_OUTLET){var s=p.snapshot.url.map((function(e){return e.path})).join("/"),l=r+"/"+s,d=p.snapshot.data[this.nzRouteLabel];if(s&&d){var g={label:d,params:p.snapshot.params,url:l};n.push(g)}return this.getBreadcrumbs(p,l,n)}}}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:r.Component,args:[{changeDetection:r.ChangeDetectionStrategy.OnPush,encapsulation:r.ViewEncapsulation.None,selector:"nz-breadcrumb",exportAs:"nzBreadcrumb",preserveWhitespaces:!1,template:'\n <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>\n '}]}],e.ctorParameters=function(){return[{type:r.Injector},{type:r.NgZone},{type:r.ChangeDetectorRef},{type:r.ElementRef},{type:r.Renderer2}]},e.propDecorators={nzAutoGenerate:[{type:r.Input}],nzSeparator:[{type:r.Input}],nzRouteLabel:[{type:r.Input}]},function(e,r,n,t){var o,a=arguments.length,u=a<3?r:null===t?t=Object.getOwnPropertyDescriptor(r,n):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,r,n,t);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(u=(a<3?o(u):a>3?o(r,n,u):o(r,n))||u);a>3&&u&&Object.defineProperty(r,n,u)}([a.InputBoolean(),g("design:type",Object)],e.prototype,"nzAutoGenerate",void 0),e}();var b=function(){function e(e){this.nzBreadCrumbComponent=e}return e.decorators=[{type:r.Component,args:[{changeDetection:r.ChangeDetectionStrategy.OnPush,encapsulation:r.ViewEncapsulation.None,selector:"nz-breadcrumb-item",exportAs:"nzBreadcrumbItem",preserveWhitespaces:!1,template:'\n <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" *ngIf="nzBreadCrumbComponent.nzSeparator">\n <ng-container *nzStringTemplateOutlet="nzBreadCrumbComponent.nzSeparator">\n {{ nzBreadCrumbComponent.nzSeparator }}\n </ng-container>\n </span>\n '}]}],e.ctorParameters=function(){return[{type:f}]},e.propDecorators={nzOverlay:[{type:r.Input}]},e}();var y=function(){function e(){}return e.decorators=[{type:r.Component,args:[{selector:"nz-breadcrumb-separator",exportAs:"nzBreadcrumbSeparator",template:'\n <span class="ant-breadcrumb-separator">\n <ng-content></ng-content>\n </span>\n '}]}],e}(),z=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[p.CommonModule,s.NzOutletModule,i.OverlayModule,l.NzOverlayModule,n.NzDropDownModule,d.NzIconModule],declarations:[f,b,y],exports:[f,b,y]}]}],e}();e.NzBreadCrumbComponent=f,e.NzBreadCrumbItemComponent=b,e.NzBreadCrumbModule=z,e.NzBreadCrumbSeparatorComponent=y,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ng-zorro-antd-breadcrumb.umd.min.js.map