mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-01 05:50:35 +03:00
Added timeout to help prevent site background flashes in portal previews
refs https://github.com/TryGhost/Team/issues/701 - `onload` event fires once the page has loaded but scripts may still be processing that would render an overlay. Wait for 100ms for renders to occur before making the iframe contents visible to allow for renders to occur
This commit is contained in:
parent
eb5536d8a4
commit
2826ebfac4
@ -1,6 +1,8 @@
|
||||
import Component from '@glimmer/component';
|
||||
import {action} from '@ember/object';
|
||||
import {inject as service} from '@ember/service';
|
||||
import {task} from 'ember-concurrency-decorators';
|
||||
import {timeout} from 'ember-concurrency';
|
||||
import {tracked} from '@glimmer/tracking';
|
||||
|
||||
export default class GhSiteIframeComponent extends Component {
|
||||
@ -39,8 +41,16 @@ export default class GhSiteIframeComponent extends Component {
|
||||
@action
|
||||
onLoad(event) {
|
||||
if (this.args.invisibleUntilLoaded) {
|
||||
this.isInvisible = false;
|
||||
this.makeVisible.perform();
|
||||
}
|
||||
this.args.onLoad?.(event);
|
||||
}
|
||||
|
||||
@task
|
||||
*makeVisible() {
|
||||
// give any scripts a bit of time to render before making visible
|
||||
// allows portal to render it's overlay and prevent site background flashes
|
||||
yield timeout(100);
|
||||
this.isInvisible = false;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user