mirror of
https://github.com/Redocly/redoc.git
synced 2025-04-18 15:51:58 +03:00
Fix change-detection on Safari/IE
This commit is contained in:
parent
a23008e839
commit
b6a711b25d
|
@ -40,7 +40,7 @@ export default class JsonSchemaLazy {
|
||||||
this.dcl.loadNextToLocation(JsonSchema, this.elementRef).then((compRef) => {
|
this.dcl.loadNextToLocation(JsonSchema, this.elementRef).then((compRef) => {
|
||||||
compRef.instance.pointer = this.pointer;
|
compRef.instance.pointer = this.pointer;
|
||||||
// trigger change detection
|
// trigger change detection
|
||||||
compRef.location.internalElement.parentView.changeDetector.detectChanges();
|
compRef.hostView.changeDetectorRef.detectChanges();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.loaded = true;
|
this.loaded = true;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import {NgZone, ChangeDetectionStrategy, ElementRef} from 'angular2/core';
|
import {ChangeDetectorRef, ChangeDetectionStrategy, ElementRef} from 'angular2/core';
|
||||||
import {document} from 'angular2/src/facade/browser';
|
import {document} from 'angular2/src/facade/browser';
|
||||||
import {BrowserDomAdapter} from 'angular2/platform/browser';
|
import {BrowserDomAdapter} from 'angular2/platform/browser';
|
||||||
import {global} from 'angular2/src/facade/lang';
|
import {global} from 'angular2/src/facade/lang';
|
||||||
|
@ -28,19 +28,16 @@ const INVIEW_POSITION = {
|
||||||
changeDetection: ChangeDetectionStrategy.Default
|
changeDetection: ChangeDetectionStrategy.Default
|
||||||
})
|
})
|
||||||
@Reflect.metadata('parameters', [[SchemaManager], [ElementRef],
|
@Reflect.metadata('parameters', [[SchemaManager], [ElementRef],
|
||||||
[BrowserDomAdapter], [NgZone], OptionsManager])
|
[BrowserDomAdapter], [ChangeDetectorRef], [OptionsManager]])
|
||||||
export default class SideMenu extends BaseComponent {
|
export default class SideMenu extends BaseComponent {
|
||||||
constructor(schemaMgr, elementRef, dom, zone, optionsMgr) {
|
constructor(schemaMgr, elementRef, dom, changeDetectorRef, optionsMgr) {
|
||||||
super(schemaMgr);
|
super(schemaMgr);
|
||||||
this.$element = elementRef.nativeElement;
|
this.$element = elementRef.nativeElement;
|
||||||
|
this.changeDetector = changeDetectorRef;
|
||||||
this.dom = dom;
|
this.dom = dom;
|
||||||
this.options = optionsMgr.options;
|
this.options = optionsMgr.options;
|
||||||
this.$scrollParent = this.options.$scrollParent;
|
this.$scrollParent = this.options.$scrollParent;
|
||||||
// for some reason constructor is not run inside zone
|
this.bindEvents();
|
||||||
// as workaround running it manually
|
|
||||||
zone.run(() => {
|
|
||||||
this.bindEvents();
|
|
||||||
});
|
|
||||||
this.activeCatIdx = 0;
|
this.activeCatIdx = 0;
|
||||||
this.activeMethodIdx = -1;
|
this.activeMethodIdx = -1;
|
||||||
this.prevOffsetY = null;
|
this.prevOffsetY = null;
|
||||||
|
@ -221,6 +218,7 @@ export default class SideMenu extends BaseComponent {
|
||||||
}
|
}
|
||||||
stable = true;
|
stable = true;
|
||||||
}
|
}
|
||||||
|
this.changeDetector.detectChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
prepareModel() {
|
prepareModel() {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user