Skip to content

Instantly share code, notes, and snippets.

SQL-MisterMagoo

View GitHub Profile
View keybase.md

Keybase proof

I hereby claim:

  • I am sql-mistermagoo on github.
  • I am mistermagoo (https://keybase.io/mistermagoo) on keybase.
  • I have a public key ASCTkLaGBA_EDhhbNjGEqQ4XvGa8yX4oYSS27T4ZoaIeZgo

To claim this, I am signing this object:

View ConnectionManager.cs
using McMaster.Extensions.CommandLineUtils;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Newtonsoft.Json;
using StreamDeckLib.Messages;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net.WebSockets;
@SQL-MisterMagoo
SQL-MisterMagoo / sample.cshtml
Last active Sep 2, 2019
Blazor Radio Buttons Binding - Preview 8 - test it here - https://blazorfiddle.com/s/2e9zk56j
View sample.cshtml
@foreach (var item in new string[] { "AspNetCore","AspNet","SomeJsThingWhatever"})
{
<div>
<input type="radio" name="technology" id="@item" value="@item" @onchange="RadioSelection" checked=@(RadioValue.Equals(item,StringComparison.OrdinalIgnoreCase)) />
<label for="@item">@item</label>
</div>
}
<div>
<label>Selected Value is @RadioValue</label>
</div>
@SQL-MisterMagoo
SQL-MisterMagoo / CSSProperties.cs
Last active Nov 22, 2019
C# Class for CSS Properties with ToString() override suitable for a `style` attribute - https://github.com/SQL-MisterMagoo/SampleStyle
View CSSProperties.cs
using System.Reflection;
using System.Text;
using System.Text.Json.Serialization;
public class CssProperties
{
[JsonPropertyName("align-content")] public string AlignContent { get; set; }
[JsonPropertyName("align-items")] public string AlignItems { get; set; }
[JsonPropertyName("alignment-baseline")] public string AlignmentBaseline { get; set; }
[JsonPropertyName("align-self")] public string AlignSelf { get; set; }
@SQL-MisterMagoo
SQL-MisterMagoo / BrowserRenderer.ts
Last active Nov 30, 2019
Playing with autofocus
View BrowserRenderer.ts
import { RenderBatch, ArrayBuilderSegment, RenderTreeEdit, RenderTreeFrame, EditType, FrameType, ArrayValues } from './RenderBatch/RenderBatch';
import { EventDelegator } from './EventDelegator';
import { EventForDotNet, UIEventArgs, EventArgsType } from './EventForDotNet';
import { LogicalElement, PermutationListEntry, toLogicalElement, insertLogicalChild, removeLogicalChild, getLogicalParent, getLogicalChild, createAndInsertLogicalContainer, isSvgElement, getLogicalChildrenArray, getLogicalSiblingEnd, permuteLogicalChildren, getClosestDomElement } from './LogicalElements';
import { applyCaptureIdToElement } from './ElementReferenceCapture';
import { EventFieldInfo } from './EventFieldInfo';
import { dispatchEvent } from './RendererEventDispatcher';
import { attachToEventDelegator as attachNavigationManagerToEventDelegator } from '../Services/NavigationManager';
const selectValuePropname = '_blazorSelectValue';
const sharedTemplateElemForParsing = document.createElement('template');
@SQL-MisterMagoo
SQL-MisterMagoo / App.razor
Created Dec 29, 2019
Sample code to handle deep links to anchors in Blazor components
View App.razor
@* Code below handles deep links to anchors through the entire application *@
@inject NavigationManager NavMan
@inject IJSRuntime JS
@code
{
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender && NavMan.Uri.Contains('#'))
{
@SQL-MisterMagoo
SQL-MisterMagoo / index.html
Last active Mar 19, 2020
Monitor Blazor WASM loading and report errors
View index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>Blazor Loading</title>
<base href="/" />
<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" />
<link href="css/site.css" rel="stylesheet" />
</head>
@SQL-MisterMagoo
SQL-MisterMagoo / Custom Blazor Startup.html
Created Nov 27, 2019
Custom Blazor Startup Example with custom Retries/Interval and custom Reconnection Handler (not production code)
View Custom Blazor Startup.html
<script autostart="false" src="_framework/blazor.server.js"></script>
<script>
async function connectionDown(options) {
console.log("Connection Down - you could do some UI here...");
for (let i = 0; i < options.maxRetries; i++) {
console.log("Waiting for reconnect attempt #"+(i+1)+" ...");
await this.delay(options.retryIntervalMilliseconds);
if (this.isDisposed) {
break;
}
View example.razor
<table class="table-bordered">
<tr>
<td @ondblclick="StartEdit">
@if (Editing)
{
<input @bind="Name" @onblur="EndEdit" />
}
else
{
<span>@(Name ?? "double-click here")</span>
@SQL-MisterMagoo
SQL-MisterMagoo / App.razor
Created Apr 24, 2020
TouchEvents example
View App.razor
<main @ontouchstart="TouchStart" @ontouchend="TouchEnd" style="height:100vh;">
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
You can’t perform that action at this time.