App.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Bridge;
  2. using Bridge.Html5;
  3. using FrontendRouting;
  4. using LearnBridgeNet.Components;
  5. using Logging;
  6. using PseudoHotReload;
  7. using System.Collections.Generic;
  8. namespace LearnBridgeNet
  9. {
  10. internal class App
  11. {
  12. [Init(InitPosition.Top)]
  13. public static void Start()
  14. {
  15. Window.AddEventListener(EventType.Load, () =>
  16. {
  17. Window.Document.Body.InnerHTML = ""; // clear loading ui
  18. LazyMain(); // real main entry
  19. });
  20. }
  21. internal static PhrPollFile Phr;
  22. internal static NavigateBar NavigateBar;
  23. private static void LazyMain()
  24. {
  25. Logger.EnableDebug = true;
  26. Phr = new PhrPollFile("resources/phr-stamp.txt");
  27. FeRoutingViewsFinder<App>.RegisterAllView();
  28. NavigateBar = new NavigateBar(Window.Document.Body)
  29. {
  30. Items = new Dictionary<string, NavigateBarItem>
  31. {
  32. {"/",new NavigateBarItem( "Home") },
  33. {"/demo.html",new NavigateBarItem("Demo" ) },
  34. {"/editor.html",new NavigateBarItem("Editor" ) },
  35. {"/logoff.html",new NavigateBarItem("Logoff" ,true) }
  36. }
  37. };
  38. var routingContainer = new HTMLDivElement
  39. {
  40. ClassName = "page-container"
  41. };
  42. Window.Document.Body.AppendChild(routingContainer);
  43. FeRoutingManager.ParentNode = routingContainer;
  44. FeRoutingManager.Run();
  45. }
  46. }
  47. }