feat(ios): add setupRootViewCssClasses function

This commit is contained in:
Vasil Chimev
2019-09-30 14:27:03 +03:00
parent 6e1eae005d
commit f98b6cbab6

View File

@@ -286,6 +286,8 @@ class IOSApplication implements IOSApplicationDefinition {
if (!haveController) {
this._window.makeKeyAndVisible();
}
setupRootViewCssClasses(controller, rootView);
}
}
@@ -316,13 +318,6 @@ function createRootView(v?: View) {
}
}
resetRootViewCssClasses();
const deviceType = device.deviceType.toLowerCase();
pushToRootViewCssClasses(`${CLASS_PREFIX}${IOS_PLATFORM}`);
pushToRootViewCssClasses(`${CLASS_PREFIX}${deviceType}`);
pushToRootViewCssClasses(`${CLASS_PREFIX}${iosApp.orientation}`);
return rootView;
}
@@ -362,6 +357,8 @@ export function _start(entry?: string | NavigationEntry) {
let visibleVC = getVisibleViewController(rootController);
visibleVC.presentViewControllerAnimatedCompletion(controller, true, null);
}
setupRootViewCssClasses(controller, rootView);
iosApp.notifyAppStarted();
}
}
@@ -413,14 +410,6 @@ function getViewController(rootView: View): UIViewController {
rootView.viewController = viewController;
}
const userInterfaceStyle = viewController.traitCollection.userInterfaceStyle;
const userInterfaceStyleValue = getUserInterfaceStyleValue(userInterfaceStyle);
pushToRootViewCssClasses(`${CLASS_PREFIX}${userInterfaceStyleValue}`);
const rootViewCssClasses = getRootViewCssClasses();
rootViewCssClasses.forEach(c => rootView.cssClasses.add(c));
return viewController;
}
@@ -437,6 +426,22 @@ function setViewControllerView(view: View): void {
}
}
function setupRootViewCssClasses(controller: UIViewController, rootView: View): void {
resetRootViewCssClasses();
const deviceType = device.deviceType.toLowerCase();
const userInterfaceStyle = controller.traitCollection.userInterfaceStyle;
const userInterfaceStyleValue = getUserInterfaceStyleValue(userInterfaceStyle);
pushToRootViewCssClasses(`${CLASS_PREFIX}${IOS_PLATFORM}`);
pushToRootViewCssClasses(`${CLASS_PREFIX}${deviceType}`);
pushToRootViewCssClasses(`${CLASS_PREFIX}${iosApp.orientation}`);
pushToRootViewCssClasses(`${CLASS_PREFIX}${userInterfaceStyleValue}`);
const rootViewCssClasses = getRootViewCssClasses();
rootViewCssClasses.forEach(c => rootView.cssClasses.add(c));
}
export function orientation(): "portrait" | "landscape" | "unknown" {
return iosApp.orientation;
}