The HTML Input element has many events, such as onInput, onChange, onClick and onKeyPress. To help learn when some of these events are triggered, in what order they occur, and what values are available in their arguments I created the Input Events Analyzer page on the Blazor Component Authority Demonstration web app. The input analyzer focuses on keyboard and form events providing a demonstration of the events that occur, the order in which they occur, and the values presented by …
Category: Components
In my experience one of the more time consuming and frequently performed operations in enterprise applications is the entry of descriptions. I’ve had to make many description entries and I’ve noticed that most of the time the description was the same or similar to other entries in the database. When a description I was entering didn’t match an existing description it almost always consisted of a new combination of terms that already existed in the database. Based on this experience …
I thought I’d take a stab at creating a generic autocomplete Blazor component. While researching I came across the HTML Datalist tag to add a list of options to an input element. The combination provided a lot of the functionality I was looking for. Specifically the dropdown filtered by the text in the input. I added some additional code to make the component generic and some validation to ensure what the user enters is on the list. If it isn't, …
Free hosting of static websites in Microsoft Azure! So hosting a Blazor client side application as a static website on Azure is free. Free is alway interesting so I thought I’d give it a try. Here’s what happened. I created a Webassembly or Client Side version of the Blazor Component Authority Demonstration application and discovered ProtectedLocalStorage works in a Blazor Server Side application but does not work in a Blazor Client Side application. The InputHistoryBCA component uses ProtectedLocalStorage so I …
Wouldn’t it be great to be able to change history or how it’s perceived. I thought about it and came up with a plan. I’ve decided to modify the InputHistoryBCA component to accommodate my desire. Now in addition to deleting select entries it also allows the user to change the order in which they appear. It’s now possible to order by the text, add date, or last used date in ascending or descending order. To accomplish persisting the history and …
Do you ever find yourself reentering some words or part numbers? Maybe it was a keyword or two for a search. Or maybe you need a part number you entered previously but can’t remember what it was. It’s happened to me enough that I wished I could see the history of what I entered before. Which is why I created a Blazor component to do just that. The component, I’ve aptly named InputHistoryBCA ,maintains a list of previous string inputs …
Alerts provide valuable feedback to the user. Toasts are often used to provide the messages. You know toasts. Those little messages that pop up from the bottom of the screen for just a few seconds then disappear. They’re unobtrusive and polite but in my opinion not appropriate for displaying error or warning messages in an enterprise application. The big problem I have with them is they quickly disappear making it difficult for the users to get a screenshot or just …
Maybe you can use a dropdown populated from an enumeration component that allows you to bind to the selected enumeration. It’s not likely you’re storing enumerations in your database but enumerations are more general purpose since you can cast them to the integer value or get the string value with the ToString method. So I put one together and named it SelectEnumBindEnum. You can find the code for the component and an example in Blazor Component Authority Demonstration. You’ll also …
A dropdown populated with values found in an enumeration can be a quick and efficient component. Quick in that it doesn’t take long to code (no need to write database access code to populate the list) and efficient because all the values are in memory (no resources are expended to fetch the list values). I believe binding the string value to a property would be the most common use case however sometimes you might want to bind the integer value …
Wouldn’t it be handy to have a dropdown component that is populated with all the elements of an enum (enumeration type) simply by providing the component the enum type? Of course it would! That’s why I created one. This version (SelectEnumBindText) allows binding to the text element of the selected enum. That is if you need the name or description from the enum to be bound to some value then this is the component for you. If you wrap the …