mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-14 18:12:09 +08:00
feat(core): initRootView event (#10442)
launchEvent is not triggered at the same moment on iOS and Android. iOS is firing after setting the rootView while Android is firing before. Consequently if you need an event for when the rootView is set (to read/write root css variables) you need this event. [skip ci]
This commit is contained in:
@ -12,7 +12,7 @@ import type { Frame } from '../ui/frame';
|
||||
import type { NavigationEntry } from '../ui/frame/frame-interfaces';
|
||||
import type { StyleScope } from '../ui/styling/style-scope';
|
||||
import type { AndroidApplication as IAndroidApplication, iOSApplication as IiOSApplication } from './';
|
||||
import type { ApplicationEventData, CssChangedEventData, DiscardedErrorEventData, FontScaleChangedEventData, LaunchEventData, LoadAppCSSEventData, NativeScriptError, OrientationChangedEventData, SystemAppearanceChangedEventData, UnhandledErrorEventData } from './application-interfaces';
|
||||
import type { ApplicationEventData, CssChangedEventData, DiscardedErrorEventData, FontScaleChangedEventData, InitRootViewEventData, LaunchEventData, LoadAppCSSEventData, NativeScriptError, OrientationChangedEventData, SystemAppearanceChangedEventData, UnhandledErrorEventData } from './application-interfaces';
|
||||
|
||||
// prettier-ignore
|
||||
const ORIENTATION_CSS_CLASSES = [
|
||||
@ -125,6 +125,7 @@ export class ApplicationCommon {
|
||||
readonly livesyncEvent = 'livesync';
|
||||
readonly loadAppCssEvent = 'loadAppCss';
|
||||
readonly cssChangedEvent = 'cssChanged';
|
||||
readonly initRootViewEvent = 'initRootView';
|
||||
|
||||
// Expose statically for backwards compat on AndroidApplication.on etc.
|
||||
/**
|
||||
@ -368,6 +369,7 @@ export class ApplicationCommon {
|
||||
this.setRootViewCSSClasses(rootView);
|
||||
initAccessibilityCssHelper();
|
||||
initAccessibilityFontScale();
|
||||
this.notify(<InitRootViewEventData>{ eventName: this.initRootViewEvent, rootView });
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -117,6 +117,13 @@ export interface CssChangedEventData extends ApplicationEventData {
|
||||
cssText?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Event data containing information about application css change.
|
||||
*/
|
||||
export interface InitRootViewEventData extends ApplicationEventData {
|
||||
rootView: View;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data for the Android activity events.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user