Skip to content

Commit 6244391

Browse files
authored
Merge pull request PrismLibrary#2110 from PrismLibrary/scopednavigation
Scope the NavigationService to the Page
2 parents 527faaf + 0374fcb commit 6244391

File tree

47 files changed

+512
-255
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+512
-255
lines changed

build/jobs/uno-uitest.yml

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,18 @@ jobs:
22

33
- job: UnoUITest_Wasm
44
displayName: Uno UITest WebAssembly
5-
65
container: unoplatform/wasm-build:2.0
7-
6+
condition: and(succeeded(), eq(variables['EnableUITest'], 'true'))
87
pool:
98
vmImage: $(LinuxImage)
10-
119
workspace:
1210
clean: all
13-
1411
steps:
15-
1612
- bash: |
1713
build/scripts/wasm-uitest-run.sh
18-
1914
env:
2015
BUILD_SOURCESDIRECTORY: "$(build.sourcesdirectory)"
2116
BUILD_ARTIFACTSTAGINGDIRECTORY: "$(build.artifactstagingdirectory)"
22-
2317
displayName: 'Run UI Tests'
2418
2519
- task: PublishTestResults@2
@@ -37,10 +31,9 @@ jobs:
3731
ArtifactName: UnoUITests
3832
ArtifactType: Container
3933

40-
4134
- job: UnoUITest_Android
4235
displayName: Uno UITest Android
43-
36+
condition: and(succeeded(), eq(variables['EnableUITest'], 'true'))
4437
pool:
4538
vmImage: $(MacImage)
4639

@@ -77,13 +70,11 @@ jobs:
7770

7871
- job: UnoUITest_iOS
7972
displayName: Uno UITest iOS
80-
73+
condition: and(succeeded(), eq(variables['EnableUITest'], 'true'))
8174
pool:
8275
vmImage: $(MacImage)
83-
8476
workspace:
8577
clean: all
86-
8778
steps:
8879
- template: ../steps/set-runtime.yml
8980

e2e/Forms/HelloWorld.sln

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.Forms", "..\..\src\Fo
3232
EndProject
3333
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Prism.DryIoc.Forms", "..\..\src\Forms\Prism.DryIoc.Forms\Prism.DryIoc.Forms.csproj", "{74F5E189-BF46-4D6A-BDF9-752D44E3E2DD}"
3434
EndProject
35+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "containers", "containers", "{65A6E069-67F8-494E-9B34-FFBDBD587A75}"
36+
EndProject
37+
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Prism.DryIoc.Shared", "..\..\src\Containers\Prism.DryIoc.Shared\Prism.DryIoc.Shared.shproj", "{6E7EC81D-DA39-4C4F-A898-0148558C34F4}"
38+
EndProject
3539
Global
40+
GlobalSection(SharedMSBuildProjectFiles) = preSolution
41+
..\..\src\Containers\Prism.DryIoc.Shared\Prism.DryIoc.Shared.projitems*{6e7ec81d-da39-4c4f-a898-0148558c34f4}*SharedItemsImports = 13
42+
..\..\src\Containers\Prism.DryIoc.Shared\Prism.DryIoc.Shared.projitems*{74f5e189-bf46-4d6a-bdf9-752d44e3e2dd}*SharedItemsImports = 5
43+
EndGlobalSection
3644
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3745
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
3846
Ad-Hoc|ARM = Ad-Hoc|ARM
@@ -701,6 +709,8 @@ Global
701709
{57CAB459-1FE8-45FB-9E73-EDBE84F7E190} = {FAF925D4-455B-448F-B048-6469DE52D341}
702710
{966CA02B-30A1-41A6-B514-BE8BDF942EF3} = {FAF925D4-455B-448F-B048-6469DE52D341}
703711
{74F5E189-BF46-4D6A-BDF9-752D44E3E2DD} = {FAF925D4-455B-448F-B048-6469DE52D341}
712+
{65A6E069-67F8-494E-9B34-FFBDBD587A75} = {FAF925D4-455B-448F-B048-6469DE52D341}
713+
{6E7EC81D-DA39-4C4F-A898-0148558C34F4} = {65A6E069-67F8-494E-9B34-FFBDBD587A75}
704714
EndGlobalSection
705715
GlobalSection(ExtensibilityGlobals) = postSolution
706716
SolutionGuid = {9E406BB3-20B9-4659-9660-A29BE45C4626}

e2e/Forms/src/HelloDialog/HelloDialog.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
77
</PropertyGroup>
88

9-
<ItemGroup>
10-
<PackageReference Include="Xamarin.Forms" Version="3.6.0.344457" />
11-
</ItemGroup>
12-
139
<ItemGroup>
1410
<ProjectReference Include="..\..\..\..\src\Forms\Prism.Forms\Prism.Forms.csproj" />
1511
<ProjectReference Include="..\..\..\..\src\Prism.Core\Prism.Core.csproj" />

e2e/Forms/src/HelloPageDialog/HelloPageDialog.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
77
</PropertyGroup>
88

9-
<ItemGroup>
10-
<PackageReference Include="Xamarin.Forms" Version="3.6.0.344457" />
11-
</ItemGroup>
12-
139
<ItemGroup>
1410
<ProjectReference Include="..\..\..\..\src\Forms\Prism.Forms\Prism.Forms.csproj" />
1511
<ProjectReference Include="..\..\..\..\src\Prism.Core\Prism.Core.csproj" />

e2e/Forms/src/HelloWorld.Android/HelloWorld.Android.csproj

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,6 @@
4747
<Reference Include="System.Xml.Linq" />
4848
<Reference Include="System.Xml" />
4949
</ItemGroup>
50-
<ItemGroup>
51-
<PackageReference Include="Xamarin.Forms" Version="3.6.0.344457" />
52-
<PackageReference Include="Xamarin.Android.Support.Design" Version="28.0.0.1" />
53-
<PackageReference Include="Xamarin.Android.Support.v7.AppCompat" Version="28.0.0.1" />
54-
<PackageReference Include="Xamarin.Android.Support.v4" Version="28.0.0.1" />
55-
<PackageReference Include="Xamarin.Android.Support.v7.CardView" Version="28.0.0.1" />
56-
<PackageReference Include="Xamarin.Android.Support.v7.MediaRouter" Version="28.0.0.1" />
57-
</ItemGroup>
5850
<ItemGroup>
5951
<Compile Include="AndroidInitializer.cs" />
6052
<Compile Include="MainActivity.cs" />

e2e/Forms/src/HelloWorld.UWP/HelloWorld.UWP.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@
146146
</Page>
147147
</ItemGroup>
148148
<ItemGroup>
149-
<PackageReference Include="Xamarin.Forms" Version="3.6.0.344457" />
150149
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform" Version="6.2.9" />
151150
</ItemGroup>
152151
<ItemGroup>

e2e/Forms/src/HelloWorld.iOS/HelloWorld.iOS.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@
165165
<Reference Include="Xamarin.iOS" />
166166
</ItemGroup>
167167
<ItemGroup>
168-
<PackageReference Include="Xamarin.Forms" Version="3.6.0.344457" />
169168
<PackageReference Include="Xamarin.TestCloud.Agent" Version="0.21.9" />
170169
</ItemGroup>
171170
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />

e2e/Forms/src/HelloWorld/App.xaml.cs

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,73 @@
11
using System;
2+
using System.Threading.Tasks;
23
using HelloWorld.ViewModels;
34
using HelloWorld.Views;
45
using Prism;
56
using Prism.Ioc;
67
using Prism.Modularity;
8+
using Prism.Navigation;
79
using Xamarin.Forms;
810
using Xamarin.Forms.Xaml;
911

10-
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
12+
[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
1113
namespace HelloWorld
1214
{
15+
#region Test Navigation Calls
16+
17+
//NavigationService.NavigateAsync("NavigationPage/MyTabbedPage"); //works
18+
//NavigationService.NavigateAsync("NavigationPage/MyTabbedPage/ViewC"); //works
19+
//NavigationService.NavigateAsync("NavigationPage/MyTabbedPage/ViewC/ViewA"); //works
20+
//NavigationService.NavigateAsync("NavigationPage/ViewA/MyTabbedPage"); //works
21+
//NavigationService.NavigateAsync("NavigationPage/ViewA/MyTabbedPage/ViewC"); //works
22+
//NavigationService.NavigateAsync("NavigationPage/ViewA/MyTabbedPage/ViewC/ViewA/ViewB"); //works
23+
//NavigationService.NavigateAsync("MyMasterDetail/NavigationPage/MyTabbedPage/ViewC"); //works
24+
25+
//NavigationService.NavigateAsync($"MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewA"); //works --
26+
//NavigationService.NavigateAsync($"NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC"); //works
27+
//NavigationService.NavigateAsync($"NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC"); //works
28+
//NavigationService.NavigateAsync($"NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC/ViewA"); //works
29+
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC"); //works
30+
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC"); //works
31+
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC/ViewA/ViewB"); //works
32+
//NavigationService.NavigateAsync($"MyMasterDetail/NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC"); //works
33+
34+
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC");
35+
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage/ViewA/ViewB/ViewC");
36+
//NavigationService.NavigateAsync($"NavigationPage/ViewA/ViewB/NavigationPage?{KnownNavigationParameters.UseModalNavigation}=true/ViewB/ViewC");
37+
//NavigationService.NavigateAsync($"NavigationPage/ViewA/ViewB/ViewC?{KnownNavigationParameters.UseModalNavigation}=true");
38+
//NavigationService.NavigateAsync($"MyMasterDetail/NavigationPage/MyTabbedPage/ViewA/ViewC?{KnownNavigationParameters.UseModalNavigation}=true");
39+
//NavigationService.NavigateAsync($"ViewA/ViewB/MyMasterDetail/NavigationPage/ViewA/ViewC");
40+
//NavigationService.NavigateAsync($"ViewA/ViewB/MyMasterDetail/ViewA/ViewC");
41+
//NavigationService.NavigateAsync($"ViewA/ViewB/MyMasterDetail/NavigationPage/ViewA/ViewB?{KnownNavigationParameters.UseModalNavigation}=true/ViewA/ViewC");
42+
//NavigationService.NavigateAsync($"MyMasterDetail/NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC");
43+
#endregion
1344
public sealed partial class App
1445
{
1546
public App()
1647
: this(null)
1748
{
18-
1949
}
2050

2151
public App(IPlatformInitializer initializer)
2252
: this(initializer, true)
2353
{
24-
2554
}
2655

2756
public App(IPlatformInitializer initializer, bool setFormsDependencyResolver)
2857
: base(initializer, setFormsDependencyResolver)
2958
{
30-
3159
}
3260

3361
protected override void OnInitialized()
3462
{
3563
InitializeComponent();
3664

37-
//NavigationService.NavigateAsync("NavigationPage/MyTabbedPage"); //works
38-
//NavigationService.NavigateAsync("NavigationPage/MyTabbedPage/ViewC"); //works
39-
//NavigationService.NavigateAsync("NavigationPage/MyTabbedPage/ViewC/ViewA"); //works
40-
//NavigationService.NavigateAsync("NavigationPage/ViewA/MyTabbedPage"); //works
41-
//NavigationService.NavigateAsync("NavigationPage/ViewA/MyTabbedPage/ViewC"); //works
42-
//NavigationService.NavigateAsync("NavigationPage/ViewA/MyTabbedPage/ViewC/ViewA/ViewB"); //works
43-
//NavigationService.NavigateAsync("MyMasterDetail/NavigationPage/MyTabbedPage/ViewC"); //works
44-
45-
//NavigationService.NavigateAsync($"MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewA"); //works --
46-
//NavigationService.NavigateAsync($"NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC"); //works
47-
//NavigationService.NavigateAsync($"NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC"); //works
48-
//NavigationService.NavigateAsync($"NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC/ViewA"); //works
49-
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC"); //works
50-
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC"); //works
51-
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC/ViewA/ViewB"); //works
52-
//NavigationService.NavigateAsync($"MyMasterDetail/NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC"); //works
53-
54-
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC/ViewC");
55-
//NavigationService.NavigateAsync($"NavigationPage/ViewA/MyTabbedPage/ViewA/ViewB/ViewC");
56-
//NavigationService.NavigateAsync($"NavigationPage/ViewA/ViewB/NavigationPage?{KnownNavigationParameters.UseModalNavigation}=true/ViewB/ViewC");
57-
//NavigationService.NavigateAsync($"NavigationPage/ViewA/ViewB/ViewC?{KnownNavigationParameters.UseModalNavigation}=true");
58-
//NavigationService.NavigateAsync($"MyMasterDetail/NavigationPage/MyTabbedPage/ViewA/ViewC?{KnownNavigationParameters.UseModalNavigation}=true");
59-
//NavigationService.NavigateAsync($"ViewA/ViewB/MyMasterDetail/NavigationPage/ViewA/ViewC");
60-
//NavigationService.NavigateAsync($"ViewA/ViewB/MyMasterDetail/ViewA/ViewC");
61-
//NavigationService.NavigateAsync($"ViewA/ViewB/MyMasterDetail/NavigationPage/ViewA/ViewB?{KnownNavigationParameters.UseModalNavigation}=true/ViewA/ViewC");
62-
//NavigationService.NavigateAsync($"MyMasterDetail/NavigationPage/MyTabbedPage?{KnownNavigationParameters.SelectedTab}=ViewC");
63-
64-
NavigationService.NavigateAsync($"MyMasterDetail/MyTabbedPage");
65+
NavigationService.NavigateAsync($"MyMasterDetail/MyTabbedPage").OnNavigationError(OnNavigationError);
66+
}
67+
68+
private void OnNavigationError(Exception ex)
69+
{
70+
6571
}
6672

6773
protected override void RegisterTypes(IContainerRegistry containerRegistry)

e2e/Forms/src/HelloWorld/HelloWorld.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
77
</PropertyGroup>
88

9-
<ItemGroup>
10-
<PackageReference Include="Xamarin.Forms" Version="3.6.0.344457" />
11-
</ItemGroup>
12-
139
<ItemGroup>
1410
<ProjectReference Include="..\..\..\..\src\Forms\Prism.DryIoc.Forms\Prism.DryIoc.Forms.csproj" />
1511
<ProjectReference Include="..\..\..\..\src\Forms\Prism.Forms\Prism.Forms.csproj" />

e2e/Forms/src/ModuleA/ModuleA.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
77
</PropertyGroup>
88

9-
<ItemGroup>
10-
<PackageReference Include="Xamarin.Forms" Version="3.6.0.344457" />
11-
</ItemGroup>
12-
139
<ItemGroup>
1410
<ProjectReference Include="..\..\..\..\src\Forms\Prism.Forms\Prism.Forms.csproj" />
1511
<ProjectReference Include="..\..\..\..\src\Prism.Core\Prism.Core.csproj" />

0 commit comments

Comments
 (0)