workspace-blazor-mvvm

Build Blazor workspace pages using MVVM patterns with ObservableDataView.

1|Updated Apr 6, 2016
One-click install
npx skills add https://github.com/lionfire/Core --skill workspace-blazor-mvvm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: workspace-blazor-mvvm
Source: https://github.com/lionfire/Core/tree/main/claude-skills/workspace-blazor-mvvm
Command: npx skills add https://github.com/lionfire/Core --skill workspace-blazor-mvvm

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill guides developers to implement LionFire workspace documents in Blazor using MVVM patterns, addressing common DI and scoping challenges and providing ready-to-use patterns for list and detail pages.

Core Features & Use Cases

  • ObservableDataView pattern for reactive workspace document lists with automatic updates.
  • Manual VM pattern for detailed pages with workspace-scoped services.
  • CascadingParameter-based workspace service resolution to avoid root DI pitfalls.
  • Quick-start templates and examples (list and detail) to accelerate integration.

Quick Start

  1. Define a new workspace document type and register it in the DI container:
    • services.AddWorkspaceChildType<YourEntity>();
    • services.AddWorkspaceDocumentService<string, YourEntity>();
  2. Build a list page using ObservableDataView and pass DataServiceProvider="@WorkspaceServices".
  3. Build a detail page that resolves IObservableReader/ IObservableWriter from WorkspaceServices and binds to VM.Value.
  4. Reuse references/examples in references/ to complete pages quickly.

Frequently Asked Questions about workspace-blazor-mvvm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build Blazor workspace pages using MVVM patterns?

To build Blazor workspace pages with MVVM, use ObservableDataView for reactive list updates or manual VMs for detail pages, resolving services through CascadingParameter to ensure proper workspace service scoping.

Why do my Blazor workspace services resolve incorrectly from the root DI container?

Blazor workspace services resolve incorrectly from root DI because they require specific scoping. Use CascadingParameter-based workspace service resolution to pass DataServiceProvider and avoid root DI pitfalls.

How do I create a reactive Blazor list page for workspace documents?

Create a reactive Blazor list page by implementing the ObservableDataView pattern and passing DataServiceProvider="@WorkspaceServices" to enable automatic document updates.

What is the best way to handle workspace document detail pages in Blazor?

The best way to handle Blazor detail pages is using a manual VM pattern, resolving IObservableReader and IObservableWriter from WorkspaceServices and binding the UI elements directly to VM.Value.

Do I need to register workspace document types in DI before building Blazor pages?

Yes, you must register workspace document types in DI first. Call services.AddWorkspaceChildType<T>() and services.AddWorkspaceDocumentService<string, T>() to enable workspace page functionality.

When should I use a manual VM instead of ObservableDataView in Blazor MVVM?

Use a manual VM instead of ObservableDataView in Blazor MVVM when building detailed workspace document pages that require resolving IObservableReader and IObservableWriter for explicit read and write operations.