예제 #1
0
        public static void DispatchEvent(
            BrowserEventDescriptor eventDescriptor, string eventArgsJson)
        {
            var eventArgs       = ParseEventArgsJson(eventDescriptor.EventArgsType, eventArgsJson);
            var browserRenderer = BrowserRendererRegistry.Find(eventDescriptor.BrowserRendererId);

            browserRenderer.DispatchBrowserEvent(
                eventDescriptor.ComponentId,
                eventDescriptor.EventHandlerId,
                eventArgs);
        }
예제 #2
0
        // We receive the information as JSON strings because of current interop limitations:
        // - Can't pass unboxed value types from JS to .NET (yet all the IDs are ints)
        // - Can't pass more than 4 args from JS to .NET
        // This can be simplified in the future when the Mono WASM runtime is enhanced.
        public static void DispatchEvent(string eventDescriptorJson, string eventArgsJson)
        {
            var eventDescriptor = Json.Deserialize <BrowserEventDescriptor>(eventDescriptorJson);
            var eventArgs       = ParseEventArgsJson(eventDescriptor.EventArgsType, eventArgsJson);
            var browserRenderer = BrowserRendererRegistry.Find(eventDescriptor.BrowserRendererId);

            browserRenderer.DispatchBrowserEvent(
                eventDescriptor.ComponentId,
                eventDescriptor.ReferenceTreeFrameIndex,
                eventArgs);
        }
예제 #3
0
 /// <summary>
 /// Constructs an instance of <see cref="BrowserRenderer"/>.
 /// </summary>
 /// <param name="serviceProvider">The <see cref="IServiceProvider"/> to use when initializing components.</param>
 public BrowserRenderer(IServiceProvider serviceProvider) : base(serviceProvider)
 {
     _browserRendererId = BrowserRendererRegistry.Add(this);
 }
예제 #4
0
 /// <summary>
 /// Disposes the instance.
 /// </summary>
 public void Dispose()
 {
     BrowserRendererRegistry.TryRemove(_browserRendererId);
 }
예제 #5
0
 /// <summary>
 /// Constructs an instance of <see cref="BrowserRenderer"/>.
 /// </summary>
 public BrowserRenderer()
 {
     _browserRendererId = BrowserRendererRegistry.Add(this);
 }