Skip to content

Commit cfa5963

Browse files
committed
Convert the hybrid webview from typescript
* Convert the JS file into TypeScript * Move the JS file into the Core project structure so it is not just a sample resource but part of the maui source * Link the output into the sample/test apps
1 parent 5b4193f commit cfa5963

File tree

8 files changed

+470
-298
lines changed

8 files changed

+470
-298
lines changed

Directory.Build.targets

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,4 +125,7 @@
125125
</ItemGroup>
126126
</Target>
127127

128+
<!-- Tell typescript to stop deleting everything before building the next TFM -->
129+
<Target Name="TypeScriptDeleteOutputFromOtherConfigs" />
130+
128131
</Project>

src/Controls/samples/Controls.Sample/Maui.Controls.Sample.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
<ItemGroup>
7878
<EmbeddedResource Include="Resources\Embedded\*" />
7979
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
80+
<MauiAsset Include="..\..\..\Core\src\Handlers\HybridWebView\HybridWebView.js" LogicalName="HybridSamplePage\scripts\HybridWebView.js" />
8081
<MauiImage Include="Resources\Images\*" />
8182
<MauiImage Update="Resources\Images\*.gif" Resize="false" />
8283
<MauiIcon Include="Resources\AppIcons\appicon.svg" ForegroundFile="Resources\AppIcons\appicon_foreground.svg" />

src/Controls/samples/Controls.Sample/Resources/Raw/HybridSamplePage/scripts/HybridWebView.js

Lines changed: 0 additions & 149 deletions
This file was deleted.

src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<!-- Raw Assets for HybridWebView tests (removes the "Resources\Raw" prefix, to mimic what project templates do) -->
3333
<None Remove="Resources\Raw\**" />
3434
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
35+
<MauiAsset Include="..\..\..\Core\src\Handlers\HybridWebView\HybridWebView.js" LogicalName="HybridTestRoot\scripts\HybridWebView.js" />
3536
</ItemGroup>
3637

3738
<PropertyGroup>

src/Controls/tests/DeviceTests/Resources/Raw/HybridTestRoot/scripts/HybridWebView.js

Lines changed: 0 additions & 149 deletions
This file was deleted.

src/Core/src/Core.csproj

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,24 @@
6969
<None Include="nuget\buildTransitive\net-windows\**" PackagePath="buildTransitive\net$(_MauiMinimumSupportedDotNetTfm)-windows$(MinimumWindowsTargetFrameworkVersion)" Pack="true" />
7070
</ItemGroup>
7171

72+
<!-- TypeScript compilation -->
73+
<PropertyGroup>
74+
<TypeScriptTarget>ES2020</TypeScriptTarget>
75+
<TypeScriptSourceMap>false</TypeScriptSourceMap>
76+
<TypeScriptNoImplicitAny>true</TypeScriptNoImplicitAny>
77+
<TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>
78+
</PropertyGroup>
79+
<ItemGroup>
80+
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="5.7.1">
81+
<PrivateAssets>all</PrivateAssets>
82+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
83+
</PackageReference>
84+
</ItemGroup>
85+
<ItemGroup>
86+
<!-- TODO: embed the JS into the dll -->
87+
<!-- <EmbeddedResource Include="Handlers\HybridWebView\HybridWebView.js" LogicalName="_framework/hybridwebview.js" /> -->
88+
</ItemGroup>
89+
7290
<Target Name="_CopyToBuildTasksDir" AfterTargets="Build">
7391
<ItemGroup>
7492
<_CopyItems Include="nuget\buildTransitive\**" SubFolder="" Exclude="nuget\**\*.in.*;nuget\**\net-*\*" />

0 commit comments

Comments
 (0)