From 3165fd3dc9a3f74e058576cfd66bf39f2a26df1b Mon Sep 17 00:00:00 2001 From: Pawel Kozlowski Date: Tue, 20 Jun 2017 13:24:39 +0200 Subject: [PATCH] refactor(router): remove usage of deprecated Renderer --- packages/router/src/directives/router_link.ts | 6 +++--- .../router/src/directives/router_link_active.ts | 13 +++++++++---- tools/public_api_guard/router/router.d.ts | 4 ++-- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/router/src/directives/router_link.ts b/packages/router/src/directives/router_link.ts index 0b011c0907..554fc2157c 100644 --- a/packages/router/src/directives/router_link.ts +++ b/packages/router/src/directives/router_link.ts @@ -7,7 +7,7 @@ */ import {LocationStrategy} from '@angular/common'; -import {Attribute, Directive, ElementRef, HostBinding, HostListener, Input, OnChanges, OnDestroy, Renderer, isDevMode} from '@angular/core'; +import {Attribute, Directive, ElementRef, HostBinding, HostListener, Input, OnChanges, OnDestroy, Renderer2, isDevMode} from '@angular/core'; import {Subscription} from 'rxjs/Subscription'; import {QueryParamsHandling} from '../config'; @@ -106,9 +106,9 @@ export class RouterLink { constructor( private router: Router, private route: ActivatedRoute, - @Attribute('tabindex') tabIndex: string, renderer: Renderer, el: ElementRef) { + @Attribute('tabindex') tabIndex: string, renderer: Renderer2, el: ElementRef) { if (tabIndex == null) { - renderer.setElementAttribute(el.nativeElement, 'tabindex', '0'); + renderer.setAttribute(el.nativeElement, 'tabindex', '0'); } } diff --git a/packages/router/src/directives/router_link_active.ts b/packages/router/src/directives/router_link_active.ts index 27b07cf900..97d9d8d53a 100644 --- a/packages/router/src/directives/router_link_active.ts +++ b/packages/router/src/directives/router_link_active.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {AfterContentInit, ChangeDetectorRef, ContentChildren, Directive, ElementRef, Input, OnChanges, OnDestroy, QueryList, Renderer, SimpleChanges} from '@angular/core'; +import {AfterContentInit, ChangeDetectorRef, ContentChildren, Directive, ElementRef, Input, OnChanges, OnDestroy, QueryList, Renderer2, SimpleChanges} from '@angular/core'; import {Subscription} from 'rxjs/Subscription'; import {NavigationEnd} from '../events'; import {Router} from '../router'; @@ -91,7 +91,7 @@ export class RouterLinkActive implements OnChanges, @Input() routerLinkActiveOptions: {exact: boolean} = {exact: false}; constructor( - private router: Router, private element: ElementRef, private renderer: Renderer, + private router: Router, private element: ElementRef, private renderer: Renderer2, private cdr: ChangeDetectorRef) { this.subscription = router.events.subscribe(s => { if (s instanceof NavigationEnd) { @@ -123,8 +123,13 @@ export class RouterLinkActive implements OnChanges, // react only when status has changed to prevent unnecessary dom updates if (this.active !== hasActiveLinks) { - this.classes.forEach( - c => this.renderer.setElementClass(this.element.nativeElement, c, hasActiveLinks)); + this.classes.forEach((c) => { + if (hasActiveLinks) { + this.renderer.addClass(this.element.nativeElement, c); + } else { + this.renderer.removeClass(this.element.nativeElement, c); + } + }); Promise.resolve(hasActiveLinks).then(active => this.active = active); } } diff --git a/tools/public_api_guard/router/router.d.ts b/tools/public_api_guard/router/router.d.ts index e1bdc09264..cf69e51832 100644 --- a/tools/public_api_guard/router/router.d.ts +++ b/tools/public_api_guard/router/router.d.ts @@ -300,7 +300,7 @@ export declare class RouterLink { routerLink: any[] | string; skipLocationChange: boolean; readonly urlTree: UrlTree; - constructor(router: Router, route: ActivatedRoute, tabIndex: string, renderer: Renderer, el: ElementRef); + constructor(router: Router, route: ActivatedRoute, tabIndex: string, renderer: Renderer2, el: ElementRef); onClick(): boolean; } @@ -313,7 +313,7 @@ export declare class RouterLinkActive implements OnChanges, OnDestroy, AfterCont routerLinkActiveOptions: { exact: boolean; }; - constructor(router: Router, element: ElementRef, renderer: Renderer, cdr: ChangeDetectorRef); + constructor(router: Router, element: ElementRef, renderer: Renderer2, cdr: ChangeDetectorRef); ngAfterContentInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void;