diff --git a/apps/demo/src/app/counter/counter.component.ts b/apps/demo/src/app/counter/counter.component.ts index 15037dcc..ac611c55 100644 --- a/apps/demo/src/app/counter/counter.component.ts +++ b/apps/demo/src/app/counter/counter.component.ts @@ -1,10 +1,9 @@ -import { Component, OnInit, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core'; @Component({ selector: 'counter', template: ` -
{{ count }}
- + `, changeDetection: ChangeDetectionStrategy.OnPush, }) diff --git a/libs/core/package.json b/libs/core/package.json index 26b8a2b1..fd83f5f2 100644 --- a/libs/core/package.json +++ b/libs/core/package.json @@ -1,7 +1,7 @@ { "$schema": "../../node_modules/ng-packagr/package.schema.json", "name": "@angular-react/core", - "version": "0.3.1", + "version": "0.4.0", "ngPackage": { "deleteDestPath": true, "whitelistedNonPeerDependencies": [ diff --git a/libs/core/src/lib/components/wrapper-component.ts b/libs/core/src/lib/components/wrapper-component.ts index 8113e2be..bac865ef 100644 --- a/libs/core/src/lib/components/wrapper-component.ts +++ b/libs/core/src/lib/components/wrapper-component.ts @@ -1,20 +1,10 @@ -import { - AfterViewInit, - ChangeDetectorRef, - ComponentFactoryResolver, - ComponentRef, - ElementRef, - Injector, - Input, - OnChanges, - SimpleChanges, - TemplateRef, - Type, -} from '@angular/core'; +import { AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, ElementRef, Injector, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, Type } from '@angular/core'; import toStyle from 'css-to-style'; import { ReactContentProps } from '../renderer/react-content'; import { isReactNode } from '../renderer/react-node'; +import { isReactRendererData } from '../renderer/renderer'; import { renderComponent, renderFunc, renderTemplate } from '../renderer/renderprop-helpers'; +import { afterRenderFinished } from '../utils/render/render-delay'; import { unreachable } from '../utils/types/unreachable'; // Forbidden attributes are still ignored, since they may be set from the wrapper components themselves (forbidden is only applied for users of the wrapper components) @@ -93,6 +83,7 @@ export abstract class ReactWrapperComponent implements AfterV constructor( public readonly elementRef: ElementRef, private readonly changeDetectorRef: ChangeDetectorRef, + private readonly renderer: Renderer2, private readonly setHostDisplay: boolean = false ) {} @@ -102,6 +93,19 @@ export abstract class ReactWrapperComponent implements AfterV if (this.setHostDisplay) { this._setHostDisplay(); } + + // NOTE: Workaround/fix for Issue #5 (https://github.com/Microsoft/angular-react/issues/5). + // The wrapper component isn't added to the root react nodes list when it's inside a `ReactContent` node, we manually add it (note that the root nodes list is a `Set`, so it won't duplicate nodes if already exist). + // There's potentially a better solution instead of this + const rendererData = this.renderer.data; + if (isReactRendererData(rendererData)) { + afterRenderFinished(() => { + const nativeElement = this.reactNodeRef.nativeElement; + if (isReactNode(nativeElement)) { + rendererData.addRootNode(nativeElement); + } + }); + } } ngOnChanges(changes: SimpleChanges) { @@ -165,10 +169,14 @@ export abstract class ReactWrapperComponent implements AfterV */ protected createRenderPropHandler( renderInputValue: InputRendererOptions, - jsxRenderer?: JsxRenderFunc, - additionalProps?: ReactContentProps + options?: { + jsxRenderer?: JsxRenderFunc; + additionalProps?: ReactContentProps; + } ): (props?: TProps, defaultRender?: JsxRenderFunc) => JSX.Element | null { - const renderer = jsxRenderer || this.createInputJsxRenderer(renderInputValue, additionalProps); + const renderer = + (options && options.jsxRenderer) || + this.createInputJsxRenderer(renderInputValue, options && options.additionalProps); return (props?: TProps, defaultRender?: JsxRenderFunc) => { if (!renderInputValue) { diff --git a/libs/core/src/lib/renderer/renderer.ts b/libs/core/src/lib/renderer/renderer.ts index 6e466a6a..11d3fa15 100644 --- a/libs/core/src/lib/renderer/renderer.ts +++ b/libs/core/src/lib/renderer/renderer.ts @@ -16,7 +16,7 @@ export class AngularReactRendererFactory extends ɵDomRendererFactory2 { // React elements cannot be "inserted" and later have their props // updated, so the "insert", or React.Render, can only be done once the // element has been fully defined. Only the topmost [root] nodes are added here. - public reactRootNodes: Array = []; + public reactRootNodes: Set = new Set(); private isRenderPending: boolean; // This flag can only be set to true from outside. It can only be reset @@ -56,29 +56,39 @@ export class AngularReactRendererFactory extends ɵDomRendererFactory2 { // are ReadOnly. // Workaround for ReactNodes inside ReactContent being added to the root of the VDOM and not removed from the VDOM when unmounted from the DOM. - for (let i = 0; i < this.reactRootNodes.length; i++) { - const node = this.reactRootNodes[i]; + this.reactRootNodes.forEach(node => { if ( !isReactNode(node.parent) && !document.body.contains(node.parent) && ReactDOM.unmountComponentAtNode(node.parent) ) { - this.reactRootNodes.splice(i--, 1); + this.reactRootNodes.delete(node); } - } + }); if (this.isRenderPending) { // Remove root nodes that are pending destroy after render. - this.reactRootNodes = this.reactRootNodes.filter(node => !node.render().destroyPending); + this.reactRootNodes = new Set(Array.from(this.reactRootNodes).filter(node => !node.render().destroyPending)); this.isRenderPending = false; } } } -class ReactRenderer implements Renderer2 { - readonly data: StringMap = Object.create(null); +export const isReactRendererData = (data: StringMap): data is ReactRendererData => + data && typeof (data as ReactRendererData).addRootNode === 'function'; + +export interface ReactRendererData { + readonly addRootNode: (node: ReactNode) => void; +} + +export class ReactRenderer implements Renderer2 { + readonly data: ReactRendererData = { + addRootNode: (node: ReactNode) => { + this.rootRenderer.reactRootNodes.add(node); + }, + }; - constructor(private rootRenderer: AngularReactRendererFactory) {} + constructor(public readonly rootRenderer: AngularReactRendererFactory) {} destroy(): void {} @@ -128,7 +138,8 @@ class ReactRenderer implements Renderer2 { console.warn('Renderer > appendChild > asDOM > parent:', parent.toString(), 'node:', node.toString()); } node.setRenderPendingCallback = this.rootRenderer.setRenderPendingCallback; - this.rootRenderer.reactRootNodes.push(node); + + this.rootRenderer.reactRootNodes.add(node); node.parent = parent; return; } diff --git a/libs/core/src/lib/utils/render/render-delay.ts b/libs/core/src/lib/utils/render/render-delay.ts new file mode 100644 index 00000000..6b831edd --- /dev/null +++ b/libs/core/src/lib/utils/render/render-delay.ts @@ -0,0 +1,3 @@ +export const afterRenderFinished = (callback: Function) => { + setTimeout(callback, 0); +}; diff --git a/libs/fabric/package.json b/libs/fabric/package.json index aba167a0..bf6a4b38 100644 --- a/libs/fabric/package.json +++ b/libs/fabric/package.json @@ -1,7 +1,7 @@ { "$schema": "../../node_modules/ng-packagr/package.schema.json", "name": "@angular-react/fabric", - "version": "0.3.1", + "version": "0.4.0", "ngPackage": { "lib": { "entryFile": "public-api.ts", @@ -70,7 +70,7 @@ ], "private": false, "peerDependencies": { - "@angular-react/core": "^0.3.0", + "@angular-react/core": "^0.4.0", "@angular/common": "^6.1.0", "@angular/core": "^6.1.0", "@angular/platform-browser-dynamic": "^6.1.0", diff --git a/libs/fabric/src/lib/components/breadcrumb/breadcrumb.component.ts b/libs/fabric/src/lib/components/breadcrumb/breadcrumb.component.ts index cd6df845..c73f4323 100644 --- a/libs/fabric/src/lib/components/breadcrumb/breadcrumb.component.ts +++ b/libs/fabric/src/lib/components/breadcrumb/breadcrumb.component.ts @@ -1,13 +1,5 @@ import { InputRendererOptions, JsxRenderFunc, ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - Input, - OnInit, - ViewChild, - ChangeDetectorRef, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core'; import { IBreadcrumbItem, IBreadcrumbProps } from 'office-ui-fabric-react/lib/Breadcrumb'; @Component({ @@ -66,8 +58,8 @@ export class FabBreadcrumbComponent extends ReactWrapperComponent) => JSX.Element; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } ngOnInit() { diff --git a/libs/fabric/src/lib/components/button/action-button.component.ts b/libs/fabric/src/lib/components/button/action-button.component.ts index cc3f1f3c..2c0fe0f8 100644 --- a/libs/fabric/src/lib/components/button/action-button.component.ts +++ b/libs/fabric/src/lib/components/button/action-button.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseButtonComponent } from './base-button.component'; @Component({ @@ -54,7 +54,7 @@ export class FabActionButtonComponent extends FabBaseButtonComponent { @ViewChild('reactNode') reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/button/base-button.component.ts b/libs/fabric/src/lib/components/button/base-button.component.ts index dd696046..593ff717 100644 --- a/libs/fabric/src/lib/components/button/base-button.component.ts +++ b/libs/fabric/src/lib/components/button/base-button.component.ts @@ -1,5 +1,5 @@ import { InputRendererOptions, JsxRenderFunc, ReactWrapperComponent } from '@angular-react/core'; -import { ChangeDetectorRef, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { ChangeDetectorRef, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core'; import { IButtonProps } from 'office-ui-fabric-react/lib/Button'; export abstract class FabBaseButtonComponent extends ReactWrapperComponent implements OnInit { @@ -87,8 +87,8 @@ export abstract class FabBaseButtonComponent extends ReactWrapperComponent) => JSX.Element; onRenderMenuIcon: (props?: IButtonProps, defaultRender?: JsxRenderFunc) => JSX.Element; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef, true); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer, true); // coming from React context - we need to bind to this so we can access the Angular Component properties this.onMenuClickHandler = this.onMenuClickHandler.bind(this); diff --git a/libs/fabric/src/lib/components/button/command-bar-button.component.ts b/libs/fabric/src/lib/components/button/command-bar-button.component.ts index 18f021e8..b73f8e76 100644 --- a/libs/fabric/src/lib/components/button/command-bar-button.component.ts +++ b/libs/fabric/src/lib/components/button/command-bar-button.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseButtonComponent } from './base-button.component'; @Component({ @@ -54,7 +54,7 @@ export class FabCommandBarButtonComponent extends FabBaseButtonComponent { @ViewChild('reactNode') reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/button/compound-button.component.ts b/libs/fabric/src/lib/components/button/compound-button.component.ts index f73fb389..d759b98e 100644 --- a/libs/fabric/src/lib/components/button/compound-button.component.ts +++ b/libs/fabric/src/lib/components/button/compound-button.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseButtonComponent } from './base-button.component'; @Component({ @@ -54,7 +54,7 @@ export class FabCompoundButtonComponent extends FabBaseButtonComponent { @ViewChild('reactNode') reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/button/default-button.component.ts b/libs/fabric/src/lib/components/button/default-button.component.ts index 423f7e8e..da3c0a54 100644 --- a/libs/fabric/src/lib/components/button/default-button.component.ts +++ b/libs/fabric/src/lib/components/button/default-button.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseButtonComponent } from './base-button.component'; @Component({ @@ -54,7 +54,7 @@ export class FabDefaultButtonComponent extends FabBaseButtonComponent { @ViewChild('reactNode') reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/button/icon-button.component.ts b/libs/fabric/src/lib/components/button/icon-button.component.ts index 995b1a07..7ee4872d 100644 --- a/libs/fabric/src/lib/components/button/icon-button.component.ts +++ b/libs/fabric/src/lib/components/button/icon-button.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseButtonComponent } from './base-button.component'; @Component({ @@ -54,7 +54,7 @@ export class FabIconButtonComponent extends FabBaseButtonComponent { @ViewChild('reactNode') reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/button/messagebar-button.component.ts b/libs/fabric/src/lib/components/button/messagebar-button.component.ts index 683dc2ca..6552b949 100644 --- a/libs/fabric/src/lib/components/button/messagebar-button.component.ts +++ b/libs/fabric/src/lib/components/button/messagebar-button.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseButtonComponent } from './base-button.component'; @Component({ @@ -54,7 +54,7 @@ export class FabMessageBarButtonComponent extends FabBaseButtonComponent { @ViewChild('reactNode') reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/button/primary-button.component.ts b/libs/fabric/src/lib/components/button/primary-button.component.ts index 2e0b3628..a4ea65b1 100644 --- a/libs/fabric/src/lib/components/button/primary-button.component.ts +++ b/libs/fabric/src/lib/components/button/primary-button.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseButtonComponent } from './base-button.component'; @Component({ @@ -54,7 +54,7 @@ export class FabPrimaryButtonComponent extends FabBaseButtonComponent { @ViewChild('reactNode') reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/button/split-button.component.ts b/libs/fabric/src/lib/components/button/split-button.component.ts index 78de32f0..45c2b256 100644 --- a/libs/fabric/src/lib/components/button/split-button.component.ts +++ b/libs/fabric/src/lib/components/button/split-button.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseButtonComponent } from './base-button.component'; @Component({ @@ -54,7 +54,7 @@ export class FabSplitButtonComponent extends FabBaseButtonComponent { @ViewChild('reactNode') reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/callout/callout.component.ts b/libs/fabric/src/lib/components/callout/callout.component.ts index 37d225d8..1d19de91 100644 --- a/libs/fabric/src/lib/components/callout/callout.component.ts +++ b/libs/fabric/src/lib/components/callout/callout.component.ts @@ -1,14 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { ICalloutProps } from 'office-ui-fabric-react/lib/Callout'; import { ICalloutPositionedInfo } from 'office-ui-fabric-react/lib/utilities/positioning/positioning.types'; @@ -126,7 +117,7 @@ export class FabCalloutComponent extends ReactWrapperComponent { @Output() readonly onScroll = new EventEmitter(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/checkbox/checkbox.component.ts b/libs/fabric/src/lib/components/checkbox/checkbox.component.ts index df7ae7c1..d87b4a43 100644 --- a/libs/fabric/src/lib/components/checkbox/checkbox.component.ts +++ b/libs/fabric/src/lib/components/checkbox/checkbox.component.ts @@ -1,15 +1,5 @@ import { InputRendererOptions, JsxRenderFunc, ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - EventEmitter, - Input, - OnInit, - Output, - ViewChild, - ChangeDetectorRef, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core'; import { ICheckboxProps } from 'office-ui-fabric-react/lib/Checkbox'; import { FormEvent } from 'react'; @@ -95,8 +85,8 @@ export class FabCheckboxComponent extends ReactWrapperComponent onRenderLabel: (props?: ICheckboxProps, defaultRender?: JsxRenderFunc) => JSX.Element; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); // coming from React context - we need to bind to this so we can access the Angular Component properties this.onChangeHandler = this.onChangeHandler.bind(this); diff --git a/libs/fabric/src/lib/components/choice-group/choice-group.component.ts b/libs/fabric/src/lib/components/choice-group/choice-group.component.ts index 328ca497..bea08a1c 100644 --- a/libs/fabric/src/lib/components/choice-group/choice-group.component.ts +++ b/libs/fabric/src/lib/components/choice-group/choice-group.component.ts @@ -1,14 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, - ChangeDetectorRef, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { IChoiceGroupOption, IChoiceGroupProps } from 'office-ui-fabric-react/lib/ChoiceGroup'; @Component({ @@ -61,8 +52,8 @@ export class FabChoiceGroupComponent extends ReactWrapperComponent(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); this.onChangedHandler = this.onChangedHandler.bind(this); this.onChangeHandler = this.onChangeHandler.bind(this); diff --git a/libs/fabric/src/lib/components/combo-box/base-combo-box.component.ts b/libs/fabric/src/lib/components/combo-box/base-combo-box.component.ts index 16ec138b..c340a903 100644 --- a/libs/fabric/src/lib/components/combo-box/base-combo-box.component.ts +++ b/libs/fabric/src/lib/components/combo-box/base-combo-box.component.ts @@ -1,5 +1,5 @@ import { InputRendererOptions, JsxRenderFunc, ReactWrapperComponent } from '@angular-react/core'; -import { ElementRef, EventEmitter, Input, OnInit, Output, ChangeDetectorRef } from '@angular/core'; +import { ChangeDetectorRef, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core'; import { IComboBoxOption, IComboBoxProps } from 'office-ui-fabric-react/lib/ComboBox'; export abstract class FabBaseComboBoxComponent extends ReactWrapperComponent implements OnInit { @@ -61,8 +61,8 @@ export abstract class FabBaseComboBoxComponent extends ReactWrapperComponent) => JSX.Element; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); // coming from React context - we need to bind to this so we can access the Angular Component properties this.onChangedHandler = this.onChangedHandler.bind(this); diff --git a/libs/fabric/src/lib/components/combo-box/combo-box.component.ts b/libs/fabric/src/lib/components/combo-box/combo-box.component.ts index 50593e00..604f6b61 100644 --- a/libs/fabric/src/lib/components/combo-box/combo-box.component.ts +++ b/libs/fabric/src/lib/components/combo-box/combo-box.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Component, ElementRef, ViewChild, ChangeDetectorRef } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseComboBoxComponent } from './base-combo-box.component'; @Component({ @@ -40,7 +40,7 @@ export class FabComboBoxComponent extends FabBaseComboBoxComponent { @ViewChild('reactNode') protected reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/combo-box/virtualized-combo-box.component.ts b/libs/fabric/src/lib/components/combo-box/virtualized-combo-box.component.ts index f690803a..b339fd18 100644 --- a/libs/fabric/src/lib/components/combo-box/virtualized-combo-box.component.ts +++ b/libs/fabric/src/lib/components/combo-box/virtualized-combo-box.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Component, ElementRef, ViewChild, ChangeDetectorRef } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewChild } from '@angular/core'; import { FabBaseComboBoxComponent } from './base-combo-box.component'; @Component({ @@ -40,7 +40,7 @@ export class FabVirtualizedComboBoxComponent extends FabBaseComboBoxComponent { @ViewChild('reactNode') protected reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/command-bar/command-bar.component.ts b/libs/fabric/src/lib/components/command-bar/command-bar.component.ts index 0a90bd22..97423dd9 100644 --- a/libs/fabric/src/lib/components/command-bar/command-bar.component.ts +++ b/libs/fabric/src/lib/components/command-bar/command-bar.component.ts @@ -1,5 +1,5 @@ import { InputRendererOptions, Omit, ReactWrapperComponent } from '@angular-react/core'; -import { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Input, OnDestroy, Output, QueryList, ViewChild } from '@angular/core'; +import { AfterContentInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Input, OnDestroy, Output, QueryList, Renderer2, ViewChild } from '@angular/core'; import { ICommandBarItemProps, ICommandBarProps } from 'office-ui-fabric-react/lib/CommandBar'; import { IContextualMenuItem } from 'office-ui-fabric-react/lib/ContextualMenu'; import { Subscription } from 'rxjs'; @@ -92,8 +92,8 @@ export class FabCommandBarComponent extends ReactWrapperComponent) { diff --git a/libs/fabric/src/lib/components/date-picker/date-picker.component.ts b/libs/fabric/src/lib/components/date-picker/date-picker.component.ts index 4f9acb35..7588aaf1 100644 --- a/libs/fabric/src/lib/components/date-picker/date-picker.component.ts +++ b/libs/fabric/src/lib/components/date-picker/date-picker.component.ts @@ -1,14 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, - ChangeDetectorRef, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { IDatePickerProps } from 'office-ui-fabric-react/lib/DatePicker'; @Component({ @@ -121,8 +112,8 @@ export class FabDatePickerComponent extends ReactWrapperComponent(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); this.onSelectDateHandler = this.onSelectDateHandler.bind(this); } diff --git a/libs/fabric/src/lib/components/dialog/dialog.component.ts b/libs/fabric/src/lib/components/dialog/dialog.component.ts index 7ba3176e..3aa40cd3 100644 --- a/libs/fabric/src/lib/components/dialog/dialog.component.ts +++ b/libs/fabric/src/lib/components/dialog/dialog.component.ts @@ -1,14 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { IDialogContentProps, IDialogFooterProps, IDialogProps } from 'office-ui-fabric-react/lib/Dialog'; @Component({ @@ -71,8 +62,8 @@ export class FabDialogComponent extends ReactWrapperComponent { @Output() readonly onDismiss = new EventEmitter(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); this.onDismissHandler = this.onDismissHandler.bind(this); } @@ -111,8 +102,8 @@ export class FabDialogFooterComponent extends ReactWrapperComponent(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/divider/divider.component.ts b/libs/fabric/src/lib/components/divider/divider.component.ts index 058fb7e1..0a587c4c 100644 --- a/libs/fabric/src/lib/components/divider/divider.component.ts +++ b/libs/fabric/src/lib/components/divider/divider.component.ts @@ -1,5 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ChangeDetectorRef } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core'; import { IVerticalDividerProps } from 'office-ui-fabric-react/lib/Divider'; @Component({ @@ -21,7 +21,7 @@ export class FabDividerComponent extends ReactWrapperComponent { @Input() theme?: IFabricProps['theme']; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/grouped-list/grouped-list.component.ts b/libs/fabric/src/lib/components/grouped-list/grouped-list.component.ts index f8bdc12d..b4982005 100644 --- a/libs/fabric/src/lib/components/grouped-list/grouped-list.component.ts +++ b/libs/fabric/src/lib/components/grouped-list/grouped-list.component.ts @@ -1,15 +1,5 @@ import { InputRendererOptions, JsxRenderFunc, ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - EventEmitter, - Input, - OnInit, - Output, - ViewChild, - ChangeDetectorRef, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core'; import { IGroupedListProps, IGroupRenderProps } from 'office-ui-fabric-react/lib/GroupedList'; import { IListProps } from 'office-ui-fabric-react/lib/List'; @@ -82,8 +72,8 @@ export class FabGroupedListComponent extends ReactWrapperComponent; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); // coming from React context - we need to bind to this so we can access the Angular Component properties this.onRenderCell = this.onRenderCell.bind(this); diff --git a/libs/fabric/src/lib/components/hover-card/hover-card.component.ts b/libs/fabric/src/lib/components/hover-card/hover-card.component.ts index 2ca82264..ad9aee22 100644 --- a/libs/fabric/src/lib/components/hover-card/hover-card.component.ts +++ b/libs/fabric/src/lib/components/hover-card/hover-card.component.ts @@ -1,14 +1,5 @@ import { InputRendererOptions, Omit, ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { IExpandingCardProps, IHoverCardProps } from 'office-ui-fabric-react/lib/HoverCard'; import { omit } from '../../utils/omit'; @@ -90,8 +81,8 @@ export class FabHoverCardComponent extends ReactWrapperComponent { @Input() styles?: IIconProps['styles']; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef, true); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer, true); } } diff --git a/libs/fabric/src/lib/components/image/image.component.ts b/libs/fabric/src/lib/components/image/image.component.ts index 391714b0..e89c28e1 100644 --- a/libs/fabric/src/lib/components/image/image.component.ts +++ b/libs/fabric/src/lib/components/image/image.component.ts @@ -1,14 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, - ChangeDetectorRef, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { IImageProps, ImageLoadState } from 'office-ui-fabric-react/lib/Image'; @Component({ @@ -85,7 +76,7 @@ export class FabImageComponent extends ReactWrapperComponent { @ViewChild('reactNode') protected reactNodeRef: ElementRef; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/link/link.component.ts b/libs/fabric/src/lib/components/link/link.component.ts index 92f01286..df8e6ba2 100644 --- a/libs/fabric/src/lib/components/link/link.component.ts +++ b/libs/fabric/src/lib/components/link/link.component.ts @@ -1,5 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ChangeDetectorRef } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core'; import { ILinkProps, Link } from 'office-ui-fabric-react/lib/Link'; @Component({ @@ -91,7 +91,7 @@ export class FabLinkComponent extends ReactWrapperComponent { @Input() keytipProps?: ILinkProps['keytipProps']; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/message-bar/message-bar.component.ts b/libs/fabric/src/lib/components/message-bar/message-bar.component.ts index 35cc5c6c..e6f2f2ad 100644 --- a/libs/fabric/src/lib/components/message-bar/message-bar.component.ts +++ b/libs/fabric/src/lib/components/message-bar/message-bar.component.ts @@ -1,17 +1,6 @@ -import { ReactWrapperComponent, InputRendererOptions } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, - OnInit, - ChangeDetectorRef, -} from '@angular/core'; +import { InputRendererOptions, ReactWrapperComponent } from '@angular-react/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core'; import { IMessageBarProps } from 'office-ui-fabric-react/lib/MessageBar'; -import { BaseButton, Button } from 'office-ui-fabric-react/lib/Button'; @Component({ selector: 'fab-message-bar', @@ -74,8 +63,8 @@ export class FabMessageBarComponent extends ReactWrapperComponent @Output() readonly onDismissed = new EventEmitter(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); this.onDismissHandler = this.onDismissHandler.bind(this); } diff --git a/libs/fabric/src/lib/components/panel/panel.component.ts b/libs/fabric/src/lib/components/panel/panel.component.ts index b176ba66..3e72477a 100644 --- a/libs/fabric/src/lib/components/panel/panel.component.ts +++ b/libs/fabric/src/lib/components/panel/panel.component.ts @@ -1,15 +1,5 @@ import { InputRendererOptions, JsxRenderFunc, ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - EventEmitter, - Input, - OnInit, - Output, - ViewChild, - ChangeDetectorRef, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core'; import { IPanelHeaderRenderer, IPanelProps } from 'office-ui-fabric-react/lib/Panel'; @Component({ @@ -121,8 +111,8 @@ export class FabPanelComponent extends ReactWrapperComponent implem onRenderFooter: (props?: IPanelProps, defaultRender?: JsxRenderFunc) => JSX.Element; onRenderFooterContent: (props?: IPanelProps, defaultRender?: JsxRenderFunc) => JSX.Element; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); // coming from React context - we need to bind to this so we can access the Angular Component properties this.onRenderHeader = this.onRenderHeader.bind(this); diff --git a/libs/fabric/src/lib/components/persona/persona.component.ts b/libs/fabric/src/lib/components/persona/persona.component.ts index bb7e7115..01c6f990 100644 --- a/libs/fabric/src/lib/components/persona/persona.component.ts +++ b/libs/fabric/src/lib/components/persona/persona.component.ts @@ -1,15 +1,5 @@ import { InputRendererOptions, JsxRenderFunc, ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ElementRef, - EventEmitter, - Input, - OnInit, - Output, - ViewChild, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core'; import { ImageLoadState } from 'office-ui-fabric-react/lib/components/Image/Image.types'; import { IPersonaCoinProps, IPersonaProps, IPersonaSharedProps } from 'office-ui-fabric-react/lib/Persona'; @@ -136,8 +126,8 @@ export class FabPersonaComponent extends FabPersonaBaseComponent onRenderTertiaryText: (props?: IPersonaProps, defaultRender?: JsxRenderFunc) => JSX.Element; onRenderOptionalText: (props?: IPersonaProps, defaultRender?: JsxRenderFunc) => JSX.Element; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } ngOnInit() { @@ -196,7 +186,7 @@ export class FabPersonaCoinComponent extends FabPersonaBaseComponent> @@ -89,7 +84,7 @@ export abstract class FabBasePickerComponent) => JSX.Element; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef, true); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer, true); } ngOnInit() { @@ -153,8 +141,8 @@ export class FabPivotComponent extends ReactWrapperComponent { @Output() readonly onLinkClick = new EventEmitter<{ item?: PivotItem; ev?: MouseEvent }>(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef, true); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer, true); this.onLinkClickHandler = this.onLinkClickHandler.bind(this); } diff --git a/libs/fabric/src/lib/components/search-box/search-box.component.ts b/libs/fabric/src/lib/components/search-box/search-box.component.ts index 1656cef8..863c8b97 100644 --- a/libs/fabric/src/lib/components/search-box/search-box.component.ts +++ b/libs/fabric/src/lib/components/search-box/search-box.component.ts @@ -1,14 +1,5 @@ import { InputRendererOptions, Omit, ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { IButtonProps } from 'office-ui-fabric-react/lib/Button'; import { ISearchBoxProps } from 'office-ui-fabric-react/lib/SearchBox'; import omit from '../../utils/omit'; @@ -86,8 +77,8 @@ export class FabSearchBoxComponent extends ReactWrapperComponent { private _renderCustomElementsGroup?: InputRendererOptions<{}>; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef, true); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer, true); } } @@ -113,7 +105,7 @@ export class FabShimmerElementsGroupComponent extends ReactWrapperComponent { @Output() readonly onChange = new EventEmitter(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/spinner/spinner.component.ts b/libs/fabric/src/lib/components/spinner/spinner.component.ts index ca4e6b84..c957db81 100644 --- a/libs/fabric/src/lib/components/spinner/spinner.component.ts +++ b/libs/fabric/src/lib/components/spinner/spinner.component.ts @@ -1,5 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ChangeDetectorRef } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core'; import { ISpinnerProps } from 'office-ui-fabric-react/lib/Spinner'; @Component({ @@ -45,7 +45,7 @@ export class FabSpinnerComponent extends ReactWrapperComponent { @Input() styles?: ISpinnerProps['styles']; - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/toggle/toggle.component.ts b/libs/fabric/src/lib/components/toggle/toggle.component.ts index dbf9ef7b..5d643cb4 100644 --- a/libs/fabric/src/lib/components/toggle/toggle.component.ts +++ b/libs/fabric/src/lib/components/toggle/toggle.component.ts @@ -1,14 +1,5 @@ import { ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, - ChangeDetectorRef, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { IToggleProps } from 'office-ui-fabric-react/lib/Toggle'; @Component({ @@ -79,7 +70,7 @@ export class FabToggleComponent extends ReactWrapperComponent { @Output() readonly onChanged = new EventEmitter(); - constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef) { - super(elementRef, changeDetectorRef); + constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, renderer: Renderer2) { + super(elementRef, changeDetectorRef, renderer); } } diff --git a/libs/fabric/src/lib/components/tooltip/tooltip-host.component.ts b/libs/fabric/src/lib/components/tooltip/tooltip-host.component.ts index a71f02c7..4d6701e1 100644 --- a/libs/fabric/src/lib/components/tooltip/tooltip-host.component.ts +++ b/libs/fabric/src/lib/components/tooltip/tooltip-host.component.ts @@ -1,14 +1,5 @@ import { InputRendererOptions, Omit, ReactWrapperComponent } from '@angular-react/core'; -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ElementRef, - EventEmitter, - Input, - Output, - ViewChild, -} from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewChild } from '@angular/core'; import { ITooltipHostProps, ITooltipProps } from 'office-ui-fabric-react/lib/Tooltip'; import { omit } from '../../utils/omit'; @@ -80,8 +71,8 @@ export class FabTooltipHostComponent extends ReactWrapperComponent