Пример #1
0
    public void RendererRegistry_Find_ThrowsErrorOnNonWASM()
    {
        // Act
        Exception ex = Assert.Throws <ArgumentException>(() => RendererRegistry.Find(123));

        // Assert
        Assert.Equal("There is no renderer with ID 123.", ex.Message);
    }
Пример #2
0
        public static Task DispatchEvent(WebEventDescriptor eventDescriptor, string eventArgsJson)
        {
            var renderer = RendererRegistry.Find(eventDescriptor.BrowserRendererId);
            var webEvent = WebEventData.Parse(renderer, eventDescriptor, eventArgsJson);

            return(renderer.DispatchEventAsync(
                       webEvent.EventHandlerId,
                       webEvent.EventFieldInfo,
                       webEvent.EventArgs));
        }
Пример #3
0
        public static Task DispatchEvent(WebEventDescriptor eventDescriptor, string eventArgsJson)
        {
            var renderer = RendererRegistry.Find(eventDescriptor.BrowserRendererId);
            var jsonSerializerOptions = DefaultWebAssemblyJSRuntime.Instance.ReadJsonSerializerOptions();
            var webEvent = WebEventData.Parse(renderer, jsonSerializerOptions, eventDescriptor, eventArgsJson);

            return(renderer.DispatchEventAsync(
                       webEvent.EventHandlerId,
                       webEvent.EventFieldInfo,
                       webEvent.EventArgs));
        }
Пример #4
0
        public static async Task DispatchEvent(byte[] eventInfo)
        {
            var payload         = GetJsonElements(eventInfo);
            var eventDescriptor = WebEventDescriptorReader.Read(payload.EventDescriptor);
            var renderer        = RendererRegistry.Find(eventDescriptor.BrowserRendererId);

            var webEvent = WebEventData.Parse(
                renderer,
                DefaultWebAssemblyJSRuntime.Instance.ReadJsonSerializerOptions(),
                eventDescriptor,
                payload.EventArgs);

            await renderer.DispatchEventAsync(
                webEvent.EventHandlerId,
                webEvent.EventFieldInfo,
                webEvent.EventArgs);
        }
Пример #5
0
        public static Task DispatchEvent(WebEventDescriptor eventDescriptor, string eventArgsJson)
        {
            var renderer = RendererRegistry.Find(eventDescriptor.BrowserRendererId);

            // JsonSerializerOptions are tightly bound to the JsonContext. Cache it on first use using a copy
            // of the serializer settings.
            if (_jsonContext is null)
            {
                var jsonSerializerOptions = DefaultWebAssemblyJSRuntime.Instance.ReadJsonSerializerOptions();
                _jsonContext = new(new JsonSerializerOptions(jsonSerializerOptions));
            }

            var webEvent = WebEventData.Parse(renderer, _jsonContext, eventDescriptor, eventArgsJson);

            return(renderer.DispatchEventAsync(
                       webEvent.EventHandlerId,
                       webEvent.EventFieldInfo,
                       webEvent.EventArgs));
        }