Merge branch 'master' into simon/block-tip-hash-api

This commit is contained in:
Felipe Knorr Kuhn 2022-06-28 06:44:41 -07:00 committed by GitHub
commit 431c8c35b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -34,13 +34,21 @@ export class ApiDocsComponent implements OnInit, AfterViewInit {
private route: ActivatedRoute, private route: ActivatedRoute,
) { } ) { }
ngAfterContentChecked() {
if (this.faqTemplates) {
this.faqTemplates.forEach((x) => this.dict[x.type] = x.template);
}
this.desktopDocsNavPosition = ( window.pageYOffset > 182 ) ? "fixed" : "relative";
}
ngAfterViewInit() { ngAfterViewInit() {
const that = this; const that = this;
this.faqTemplates.forEach((x) => this.dict[x.type] = x.template);
setTimeout( () => { setTimeout( () => {
if( this.route.snapshot.fragment ) { if( this.route.snapshot.fragment ) {
this.openEndpointContainer( this.route.snapshot.fragment ); this.openEndpointContainer( this.route.snapshot.fragment );
document.getElementById( this.route.snapshot.fragment ).scrollIntoView(); if (document.getElementById( this.route.snapshot.fragment )) {
document.getElementById( this.route.snapshot.fragment ).scrollIntoView();
}
} }
window.addEventListener('scroll', function() { window.addEventListener('scroll', function() {
that.desktopDocsNavPosition = ( window.pageYOffset > 182 ) ? "fixed" : "relative"; that.desktopDocsNavPosition = ( window.pageYOffset > 182 ) ? "fixed" : "relative";
@ -90,14 +98,17 @@ export class ApiDocsComponent implements OnInit, AfterViewInit {
} }
targetId = element.hash.substring(1); targetId = element.hash.substring(1);
} }
if( this.route.snapshot.fragment === targetId ) { if( this.route.snapshot.fragment === targetId && document.getElementById( targetId )) {
document.getElementById( targetId ).scrollIntoView(); document.getElementById( targetId ).scrollIntoView();
} }
this.openEndpointContainer( targetId ); this.openEndpointContainer( targetId );
} }
openEndpointContainer( targetId ) { openEndpointContainer( targetId ) {
const tabHeaderHeight = document.getElementById( targetId + "-tab-header" ).scrollHeight; let tabHeaderHeight = 0;
if (document.getElementById( targetId + "-tab-header" )) {
tabHeaderHeight = document.getElementById( targetId + "-tab-header" ).scrollHeight;
}
if( ( window.innerWidth <= 992 ) && ( ( this.whichTab === 'rest' ) || ( this.whichTab === 'faq' ) ) && targetId ) { if( ( window.innerWidth <= 992 ) && ( ( this.whichTab === 'rest' ) || ( this.whichTab === 'faq' ) ) && targetId ) {
const endpointContainerEl = document.querySelector<HTMLElement>( "#" + targetId ); const endpointContainerEl = document.querySelector<HTMLElement>( "#" + targetId );
const endpointContentEl = document.querySelector<HTMLElement>( "#" + targetId + " .endpoint-content" ); const endpointContentEl = document.querySelector<HTMLElement>( "#" + targetId + " .endpoint-content" );