UNPKG

@dbg-riskit/angular-testing

Version:

46 lines 5.44 kB
import { Directive, Input } from '@angular/core'; import { Router } from '@angular/router'; import * as i0 from "@angular/core"; export class RouterLinkStubDirective { constructor(injector) { this.navigatedTo = null; this._urlTree = null; this.routerStub = injector.get(Router, null); } ngOnChanges() { if (this.linkParams && this.routerStub) { this._urlTree = this.routerStub.getURLTree(this.linkParams); } } onClick() { this.navigatedTo = this.linkParams; if (this.routerStub) { if (Array.isArray(this.navigatedTo)) { this.routerStub.navigate(this.navigatedTo); } else { this.routerStub.navigateByUrl(this.navigatedTo); } } } get urlTree() { return this._urlTree; } } RouterLinkStubDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterLinkStubDirective, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); RouterLinkStubDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: RouterLinkStubDirective, selector: "[routerLink]", inputs: { linkParams: ["routerLink", "linkParams"] }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: RouterLinkStubDirective, decorators: [{ type: Directive, args: [{ /* eslint-disable @angular-eslint/directive-selector */ selector: '[routerLink]', /* eslint-enable */ host: { '(click)': 'onClick()' } }] }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { linkParams: [{ type: Input, args: ['routerLink'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmxpbmsuc3R1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItdGVzdGluZy9zcmMvbGliL3N0dWJzL3JvdXRlci9yb3V0ZXIubGluay5zdHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVksS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZaEQsTUFBTSxPQUFPLHVCQUF1QjtJQVVoQyxZQUFtQixRQUFrQjtRQUw5QixnQkFBVyxHQUFRLElBQUksQ0FBQztRQUN2QixhQUFRLEdBQW1CLElBQUksQ0FBQztRQUtwQyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBUSxDQUFDO0lBQ3hELENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDL0Q7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzlDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNuRDtTQUNKO0lBQ0wsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDOztvSEFqQ1EsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDUCx1REFBdUQ7b0JBQ3ZELFFBQVEsRUFBRSxjQUFjO29CQUN4QixtQkFBbUI7b0JBQ25CLElBQUksRUFBTTt3QkFDTixTQUFTLEVBQUUsV0FBVztxQkFDekI7aUJBQ0o7K0ZBSVUsVUFBVTtzQkFEaEIsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyLCBVcmxUcmVlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1JvdXRlclN0dWJ9IGZyb20gJy4vcm91dGVyLnN0dWInO1xuXG5ARGlyZWN0aXZlKHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yICovXG4gICAgc2VsZWN0b3I6ICdbcm91dGVyTGlua10nLFxuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgICBob3N0ICAgIDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJMaW5rU3R1YkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoJ3JvdXRlckxpbmsnKVxuICAgIHB1YmxpYyBsaW5rUGFyYW1zOiBhbnk7XG5cbiAgICBwdWJsaWMgbmF2aWdhdGVkVG86IGFueSA9IG51bGw7XG4gICAgcHJpdmF0ZSBfdXJsVHJlZTogVXJsVHJlZSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSByb3V0ZXJTdHViOiBSb3V0ZXJTdHViO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICB0aGlzLnJvdXRlclN0dWIgPSBpbmplY3Rvci5nZXQoUm91dGVyLCBudWxsKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5saW5rUGFyYW1zICYmIHRoaXMucm91dGVyU3R1Yikge1xuICAgICAgICAgICAgdGhpcy5fdXJsVHJlZSA9IHRoaXMucm91dGVyU3R1Yi5nZXRVUkxUcmVlKHRoaXMubGlua1BhcmFtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZWRUbyA9IHRoaXMubGlua1BhcmFtcztcbiAgICAgICAgaWYgKHRoaXMucm91dGVyU3R1Yikge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5uYXZpZ2F0ZWRUbykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlclN0dWIubmF2aWdhdGUodGhpcy5uYXZpZ2F0ZWRUbyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyU3R1Yi5uYXZpZ2F0ZUJ5VXJsKHRoaXMubmF2aWdhdGVkVG8pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB1cmxUcmVlKCk6IFVybFRyZWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VybFRyZWU7XG4gICAgfVxufVxuIl19