Skip to content

Commit

Permalink
chore: changed to JSImport
Browse files Browse the repository at this point in the history
  • Loading branch information
rafael-rosa-knowcode committed Jan 30, 2024
1 parent 693fdc6 commit 296d4f9
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 30 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using System.Runtime.InteropServices.JavaScript;

namespace Uno.Gallery.Wasm
{
internal sealed partial class FragmentNavigationHandler
{
internal static partial class NativeMethods
{
private const string JsType = "globalThis.Uno.Gallery.Wasm.FragmentNavigation";

[JSImport($"{JsType}.getCurrentFragment")]
internal static partial string GetCurrentFragment();

[JSImport($"{JsType}.setCurrentFragment")]
internal static partial string SetCurrentFragment(string fragment);
}
}
}
11 changes: 3 additions & 8 deletions Uno.Gallery/Uno.Gallery.Wasm/FragmentNavigationHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,19 @@

namespace Uno.Gallery.Wasm
{
public class FragmentNavigationHandler
internal partial class FragmentNavigationHandler
{
public static string CurrentFragment
{
get
{
const string command = "Uno.Gallery.Wasm.FragmentNavigationHandler.getCurrentFragment()";
var fragment = WebAssemblyRuntime.InvokeJS(command);
return fragment;
return NativeMethods.GetCurrentFragment();
}

set
{
var escaped = WebAssemblyRuntime.EscapeJs(value);
var command =
"Uno.Gallery.Wasm.FragmentNavigationHandler.setCurrentFragment(\"" + escaped + "\")";

WebAssemblyRuntime.InvokeJS(command);
NativeMethods.SetCurrentFragment(escaped);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using System.Runtime.InteropServices.JavaScript;

namespace Uno.Gallery.Wasm
{
internal sealed partial class LocationHrefNavigationHandler
{
internal static partial class NativeMethods
{
private const string JsType = "globalThis.Uno.Gallery.Wasm.LocationHrefNavigation";

[JSImport($"{JsType}.getCurrentLocationHref")]
internal static partial string GetCurrentLocationHref();

[JSImport($"{JsType}.setCurrentLocationHref")]
internal static partial string SetCurrentLocationHref(string locationHref);
}
}
}
11 changes: 3 additions & 8 deletions Uno.Gallery/Uno.Gallery.Wasm/LocationHrefNavigationHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,19 @@

namespace Uno.Gallery.Wasm
{
public class LocationHrefNavigationHandler
internal partial class LocationHrefNavigationHandler
{
public static string CurrentLocationHref
{
get
{
const string command = "Uno.Gallery.Wasm.LocationHrefNavigationHandler.getCurrentLocationHref()";
var locationHref = WebAssemblyRuntime.InvokeJS(command);
return locationHref;
return NativeMethods.GetCurrentLocationHref();
}

set
{
var escaped = WebAssemblyRuntime.EscapeJs(value);
var command =
"Uno.Gallery.Wasm.LocationHrefNavigationHandler.setCurrentLocationHref(\"" + escaped + "\")";

WebAssemblyRuntime.InvokeJS(command);
NativeMethods.SetCurrentLocationHref(escaped);
}
}
}
Expand Down
2 changes: 2 additions & 0 deletions Uno.Gallery/Uno.Gallery.Wasm/Uno.Gallery.Wasm.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,8 @@
<Import Project="..\Uno.Gallery.Shared\Uno.Gallery.Shared.projitems" Label="Shared" Condition="Exists('..\Uno.Gallery.Shared\Uno.Gallery.Shared.projitems')" />
<ItemGroup>
<_Globbed_Compile Remove="FragmentNavigationHandler.cs" />
<_Globbed_Compile Remove="FragmentNavigationHandler.Interop.wasm.cs" />
<_Globbed_Compile Remove="LocationHrefNavigationHandler.cs" />
<_Globbed_Compile Remove="LocationHrefNavigationHandler.Interop.wasm.cs" />
</ItemGroup>
</Project>
4 changes: 2 additions & 2 deletions Uno.Gallery/Uno.Gallery.Wasm/WasmScripts/UnoGallery.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
declare namespace Uno.Gallery.Wasm {
class FragmentNavigationHandler {
class FragmentNavigation {
private static currentFragment;
static getCurrentFragment(): string;
static setCurrentFragment(fragment: string): string;
Expand All @@ -18,7 +18,7 @@ declare namespace Uno.UI.Demo {
}
}
declare namespace Uno.Gallery.Wasm {
class LocationHrefNavigationHandler {
class LocationHrefNavigation {
private static currentLocationHref;
static getCurrentLocationHref(): string;
static setCurrentLocationHref(locationHref: string): string;
Expand Down
16 changes: 8 additions & 8 deletions Uno.Gallery/Uno.Gallery.Wasm/WasmScripts/UnoGallery.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var Uno;
(function (Gallery) {
var Wasm;
(function (Wasm) {
class FragmentNavigationHandler {
class FragmentNavigation {
static getCurrentFragment() {
return window.location.hash;
}
Expand Down Expand Up @@ -37,12 +37,12 @@ var Uno;
return; // already initialized.
}
const asm = MonoRuntime.assembly_load("Uno.Gallery.WASM");
const handlerClass = MonoRuntime.find_class(asm, "Uno.UI.Wasm", "FragmentNavigationHandler");
const handlerClass = MonoRuntime.find_class(asm, "Uno.Gallery.Wasm", "FragmentNavigation");
this.notifyFragmentChangedMethod = MonoRuntime.find_method(handlerClass, "NotifyFragmentChanged", -1);
}
}
FragmentNavigationHandler.subscribed = false;
Wasm.FragmentNavigationHandler = FragmentNavigationHandler;
FragmentNavigation.subscribed = false;
Wasm.FragmentNavigation = FragmentNavigation;
})(Wasm = Gallery.Wasm || (Gallery.Wasm = {}));
})(Gallery = Uno.Gallery || (Uno.Gallery = {}));
})(Uno || (Uno = {}));
Expand Down Expand Up @@ -102,7 +102,7 @@ var Uno;
(function (Gallery) {
var Wasm;
(function (Wasm) {
class LocationHrefNavigationHandler {
class LocationHrefNavigation {
static getCurrentLocationHref() {
return window.location.href;
}
Expand Down Expand Up @@ -135,12 +135,12 @@ var Uno;
return; // already initialized.
}
const asm = MonoRuntime.assembly_load("Uno.Gallery.WASM");
const handlerClass = MonoRuntime.find_class(asm, "Uno.UI.Wasm", "LocationHrefHavigationHandler");
const handlerClass = MonoRuntime.find_class(asm, "Uno.Gallery.Wasm", "LocationHrefHavigation");
this.notifyLocationHrefChangedMethod = MonoRuntime.find_method(handlerClass, "NotifyLocationHrefChanged", -1);
}
}
LocationHrefNavigationHandler.subscribed = false;
Wasm.LocationHrefNavigationHandler = LocationHrefNavigationHandler;
LocationHrefNavigation.subscribed = false;
Wasm.LocationHrefNavigation = LocationHrefNavigation;
})(Wasm = Gallery.Wasm || (Gallery.Wasm = {}));
})(Gallery = Uno.Gallery || (Uno.Gallery = {}));
})(Uno || (Uno = {}));
4 changes: 2 additions & 2 deletions Uno.Gallery/Uno.Gallery.Wasm/ts/FragmentNavigation.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
namespace Uno.Gallery.Wasm {
export class FragmentNavigationHandler {
export class FragmentNavigation {

private static currentFragment: string;

Expand Down Expand Up @@ -55,7 +55,7 @@
}

const asm = MonoRuntime.assembly_load("Uno.Gallery.WASM");
const handlerClass = MonoRuntime.find_class(asm, "Uno.UI.Wasm", "FragmentNavigationHandler");
const handlerClass = MonoRuntime.find_class(asm, "Uno.Gallery.Wasm", "FragmentNavigation");
this.notifyFragmentChangedMethod = MonoRuntime.find_method(handlerClass, "NotifyFragmentChanged", -1);
}
}
Expand Down
4 changes: 2 additions & 2 deletions Uno.Gallery/Uno.Gallery.Wasm/ts/LocationHrefNavigation.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
namespace Uno.Gallery.Wasm {
export class LocationHrefNavigationHandler {
export class LocationHrefNavigation {

private static currentLocationHref: string;

Expand Down Expand Up @@ -55,7 +55,7 @@
}

const asm = MonoRuntime.assembly_load("Uno.Gallery.WASM");
const handlerClass = MonoRuntime.find_class(asm, "Uno.UI.Wasm", "LocationHrefHavigationHandler");
const handlerClass = MonoRuntime.find_class(asm, "Uno.Gallery.Wasm", "LocationHrefHavigation");
this.notifyLocationHrefChangedMethod = MonoRuntime.find_method(handlerClass, "NotifyLocationHrefChanged", -1);
}
}
Expand Down

0 comments on commit 296d4f9

Please sign in to comment.