@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
47 lines • 3.45 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: breadcrumb.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
export class BreadCrumbService {
/**
* @param {?} router
*/
constructor(router) {
this.router = router;
}
// 与原生routerLink表现形式一致,navigateByUrl()可直接传入字符串类型的链接,并将链接解析为routerLink的urlTree的形式
/**
* @param {?} $event
* @param {?} item
* @return {?}
*/
navigateTo($event, item) {
// 兼容a标签与不同键的交互形式
if ($event.button !== 0 || $event.ctrlKey || $event.metaKey || $event.shiftKey) {
return;
}
if (typeof item.target === 'string' && item.target !== '_self') {
return;
}
$event.preventDefault();
this.router.navigateByUrl(item.link);
}
}
BreadCrumbService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
BreadCrumbService.ctorParameters = () => [
{ type: Router }
];
if (false) {
/**
* @type {?}
* @private
*/
BreadCrumbService.prototype.router;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvYnJlYWRjcnVtYi8iLCJzb3VyY2VzIjpbImJyZWFkY3J1bWIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pDLE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUFDMUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDOzs7Ozs7O0lBRXZDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSTtRQUNuQixpQkFBaUI7UUFDakIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUM1RSxPQUFPO1NBQ1Y7UUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUU7WUFDNUQsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7WUFkSixVQUFVOzs7O1lBRkYsTUFBTTs7Ozs7OztJQUlDLG1DQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJyZWFkQ3J1bWJTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG4gICAgLy8g5LiO5Y6f55Sfcm91dGVyTGlua+ihqOeOsOW9ouW8j+S4gOiHtO+8jG5hdmlnYXRlQnlVcmwoKeWPr+ebtOaOpeS8oOWFpeWtl+espuS4suexu+Wei+eahOmTvuaOpe+8jOW5tuWwhumTvuaOpeino+aekOS4unJvdXRlckxpbmvnmoR1cmxUcmVl55qE5b2i5byPXHJcbiAgICBuYXZpZ2F0ZVRvKCRldmVudCwgaXRlbSkge1xyXG4gICAgICAgIC8vIOWFvOWuuWHmoIfnrb7kuI7kuI3lkIzplK7nmoTkuqTkupLlvaLlvI9cclxuICAgICAgICBpZiAoJGV2ZW50LmJ1dHRvbiAhPT0gMCB8fCAkZXZlbnQuY3RybEtleSB8fCAkZXZlbnQubWV0YUtleSB8fCAkZXZlbnQuc2hpZnRLZXkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIGl0ZW0udGFyZ2V0ID09PSAnc3RyaW5nJyAmJiBpdGVtLnRhcmdldCAhPT0gJ19zZWxmJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoaXRlbS5saW5rKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19