Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 019a835

Browse files
author
farfromrefug
committed
fix: export navigation util methods like resolveFrame and resolveComponentElement
1 parent f74b1aa commit 019a835

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/dom/navigation.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import { ViewBase, View, NavigatedData, NavigationTransition, Frame, BackstackEntry } from "@nativescript/core";
1+
import { ViewBase, View, NavigatedData, NavigationTransition, Frame, BackstackEntry, Application } from "@nativescript/core";
22
import FrameElement from "./native/FrameElement";
33
import { createElement, DocumentNode, logger as log } from "./basicdom";
44
import PageElement from "./native/PageElement";
55
import NativeViewElementNode from "./native/NativeViewElementNode";
6-
import { getRootView } from "@nativescript/core/application";
76
import { _rootModalViews } from "@nativescript/core/ui/core/view";
87

98
export type ViewSpec = View | NativeViewElementNode<View>
@@ -22,7 +21,7 @@ export interface NavigationOptions<T> {
2221
transitioniOS?: NavigationTransition;
2322
}
2423

25-
function resolveFrame(frameSpec: FrameSpec): Frame {
24+
export function resolveFrame(frameSpec: FrameSpec): Frame {
2625
let targetFrame: Frame;
2726
if (!frameSpec) targetFrame = Frame.topmost();
2827
if (frameSpec instanceof FrameElement) targetFrame = frameSpec.nativeView as Frame;
@@ -34,7 +33,7 @@ function resolveFrame(frameSpec: FrameSpec): Frame {
3433
return targetFrame;
3534
}
3635

37-
function resolveTarget(viewSpec: ViewSpec): View {
36+
export function resolveTarget(viewSpec: ViewSpec): View {
3837
if (viewSpec instanceof View) {
3938
return viewSpec;
4039
}
@@ -43,7 +42,7 @@ function resolveTarget(viewSpec: ViewSpec): View {
4342

4443
interface ComponentInstanceInfo<T = any> { element: NativeViewElementNode<View>, pageInstance: SvelteComponent<T> }
4544

46-
function resolveComponentElement<T>(pageSpec: PageSpec<T>, props?: T): ComponentInstanceInfo<T> {
45+
export function resolveComponentElement<T>(pageSpec: PageSpec<T>, props?: T): ComponentInstanceInfo<T> {
4746
let dummy = createElement('fragment', window.document as unknown as DocumentNode);
4847
let pageInstance = new pageSpec({ target: dummy, props: props });
4948
let element = dummy.firstElement() as NativeViewElementNode<View>;
@@ -140,7 +139,7 @@ export interface ShowModalOptions<T> {
140139
export function showModal<T, U>(modalOptions: ShowModalOptions<U>): Promise<T> {
141140
let { page, props = {}, target, ...options } = modalOptions;
142141

143-
let modalLauncher = resolveTarget(target) || getRootView();
142+
let modalLauncher = resolveTarget(target) || Application.getRootView();
144143

145144
let componentInstanceInfo = resolveComponentElement(page, props);
146145
let modalView: ViewBase = componentInstanceInfo.element.nativeView;

0 commit comments

Comments
 (0)