Codeer.LowCode.Blazor.Extras 0.6.0

dotnet add package Codeer.LowCode.Blazor.Extras --version 0.6.0
                    
NuGet\Install-Package Codeer.LowCode.Blazor.Extras -Version 0.6.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Codeer.LowCode.Blazor.Extras" Version="0.6.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Codeer.LowCode.Blazor.Extras" Version="0.6.0" />
                    
Directory.Packages.props
<PackageReference Include="Codeer.LowCode.Blazor.Extras" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Codeer.LowCode.Blazor.Extras --version 0.6.0
                    
#r "nuget: Codeer.LowCode.Blazor.Extras, 0.6.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Codeer.LowCode.Blazor.Extras@0.6.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Codeer.LowCode.Blazor.Extras&version=0.6.0
                    
Install as a Cake Addin
#tool nuget:?package=Codeer.LowCode.Blazor.Extras&version=0.6.0
                    
Install as a Cake Tool

Codeer.LowCode.Blazor.Extras

Codeer.LowCode.Blazor に高機能UIコンポーネントと、 アプリケーション開発でよく使うクライアント/サーバーサービスを追加する拡張ライブラリです。 ソースは MIT で公開しているため、動作を変えたい場合はクラスを丸ごと差し替えたり、ソースをコピーして改変できます。

NuGet License: MIT

パッケージ構成

パッケージ 内容
Codeer.LowCode.Blazor.Extras 拡張フィールド (メール送信・承認フローを含む)、スクリプトオブジェクト (Excel / WebApi / Toaster)、クライアントサービス
Codeer.LowCode.Blazor.Extras.Designer デザイナ統合 (ツールボックス登録・AI 用ドキュメント登録)
Codeer.LowCode.Blazor.Extras.Server サーバーサービス (メール送信 / 承認フローエンジン / AI ドキュメント解析 / ファイルストレージ / ASP.NET Core ヘルパ)

提供フィールド

フィールド 説明
CalendarField 月・週・日表示のカレンダー。イベントの表示・追加・編集が可能
GanttField SVGベースのガントチャート。タスクのドラッグ移動・リサイズ、依存関係の管理が可能
TaskBoardField カンバンボード。ドラッグ&ドロップでステータス変更が可能
RichTextField 書式付きテキストエディタ。太字・色・リンクなどのHTMLフォーマットに対応
ColorPickerField カラーピッカー。HTML5ネイティブカラーピッカーで色をHEX文字列として保存
MarkerListField 画像上にマーカー(ピン)を配置・操作するフィールド
QrCodeField 文字列をQRコード画像として表示する表示専用フィールド (外部ライブラリ QRCoder を使用)
ProgressField 進捗率を横バー / 半円メーターで表示する表示専用フィールド。値・色を別フィールドから参照
EnterFocusMoveField Enterキーでモジュール内の次の入力要素にフォーカスを移動させるユーティリティフィールド
PasswordHashField パスワードを Submit 時にハッシュ + ソルトへ変換して DB に書き込む補助フィールド (サーバサイド実装が必要)
OrientationLockField タッチ端末で画面の向き(横/縦)が指定と異なるとき、全画面オーバーレイで回転を促すフィールド
AITextAnalyzerField 帳票ファイルや自由テキストを AI で解析し、モジュールのフィールドへ自動入力する入力補助フィールド (Azure OpenAI + Document Intelligence を使用)

業務機能

機能 説明
メール送信 MailField (単発送信ボタン) / BulkMailField (名簿への一斉送信) / 送信履歴 / 本人名義の送信 (差出人契約・GmailTokenField)。宛先・文面はレコードの値から組み立てる
承認フロー ApprovalFlowField を申請書に置くだけで申請・承認・却下・差し戻し・取り下げ・再申請・回覧。承認データは通常のモジュール。状態遷移はサーバーが検証

どちらもデザイナの Tools > メールのセットアップ / 承認フローのセットアップ (または CLI の mail-setup / approval-setup) で 必要なモジュール群を生成できます。

スクリプトオブジェクト

スクリプト (*.mod.cs) から利用できるサービス・型です。ExtrasClientInitializer.Initialize で一括登録されます。

オブジェクト 説明
Excel Excel ファイルの読み書き・テンプレートへの値書き込み・xlsx / PDF ダウンロード
WebApiService 外部 API への HTTP リクエスト (Get / Post / Put / Delete)
Toaster トースト通知の表示 (Success / Info / Warn / Error)

各オブジェクトの正確なシグネチャと使用例は、デザイナの入力補完、またはデザイナ CLI の script-catalog サブコマンドが生成するカタログで確認できます。

クライアントサービス

アプリテンプレートの DI に登録して使う実装です。インターフェース (IHttpService / IToastService 等) で 登録するため、自前実装への丸ごと差し替えができます。

  • HttpService — ローディング表示・エラー通知付きの HTTP 通信ラッパー
  • UIService — ファイルダウンロード・通知トースト
  • Logger — ブラウザコンソール + トースト通知のロガー
  • ToastService — Sotsera.Blazor.Toaster ベースのトースト実装
  • LocalizeService — TSV リソースによるローカライズ

サーバーサービス (Codeer.LowCode.Blazor.Extras.Server)

  • AITextAnalyzeService — Azure Document Intelligence + Azure OpenAI による帳票・テキスト解析 (AITextAnalyzerField のサーバー側)
  • メール送信 — MailDispatcher (テンプレート解決・一斉送信・送信履歴) と Gmail API 送信。独自の送信手段は IMailSender で追加
  • 承認フロー — ApprovalEngine (状態遷移の検証と実行)
  • StorageAccess / TemporaryFileManager — ファイルストレージ (ファイルシステム / Azure Blob) と一時ファイル管理
  • CustomFontResolver — Excel PDF 変換用のフォントリゾルバ
  • Web ヘルパ — ETag 付きファイル応答 (FileWithETag)、ホットリロード (HotReloadHub / FileWatcherService)

セットアップ

新しいアプリテンプレートで作成したプロジェクトには最初から組み込まれています。 既存プロジェクトに追加する場合は以下の手順で設定してください。

1. NuGet パッケージのインストール

インストール先プロジェクト パッケージ名
LowCodeApp.Client.Shared Codeer.LowCode.Blazor.Extras
LowCodeApp.Designer Codeer.LowCode.Blazor.Extras.Designer
LowCodeApp.Server (サーバーサービスを使う場合) Codeer.LowCode.Blazor.Extras.Server

2. コードの修正

LowCodeApp.Client.Shared

Services/AppInfoService.csAppInfoService コンストラクタに以下のコードを追加してください。

using Codeer.LowCode.Blazor.Extras;

// フィールドのみ使う場合
ExtrasClientInitializer.Initialize(this);

// スクリプトオブジェクト (Excel / WebApi / Toaster) も使う場合
ExtrasClientInitializer.Initialize(this, http, logger, toaster);

メール送信・承認フロー・Excel PDF 変換・AI 解析を使う場合は、エンドポイント URL を起動時に設定します (URL はアプリのコントローラに合わせて変更してください)。

using Codeer.LowCode.Blazor.Extras.Fields;
using Codeer.LowCode.Blazor.Extras.Mail;
using Codeer.LowCode.Blazor.Extras.Approval;

MailTransport.SendMailEndPoint = "/api/mail";
MailTransport.BulkSearchMailEndPoint = "/api/mail/bulk_search";
MailTransport.PreviewMailEndPoint = "/api/mail/preview";
MailTransport.BulkPreviewMailEndPoint = "/api/mail/bulk_preview";
ApprovalTransport.EndPointBase = "/api/approval";
Codeer.LowCode.Blazor.Extras.ScriptObjects.Excel.ConvertPdfEndPoint = "api/excel/pdf";
AITextAnalyzerField.FileToModuleDataEndPoint = "/api/ai_text_analyze/file";
AITextAnalyzerField.TextToModuleDataEndPoint = "/api/ai_text_analyze/text";
LowCodeApp.Server

Program.cs に以下のコードを追加してください。

using Codeer.LowCode.Blazor.Extras;

ExtrasServerInitializer.Initialize();

メール送信・承認フローを使う場合は、受け口となるコントローラ (MailController / ApprovalController) と 送信インフラの対応表 (MailSenderTable) が必要です。新しいアプリテンプレートには含まれています。 詳細は メール送信 / 承認フロー を参照してください。

LowCodeApp.Designer

App.xaml.cs に以下のコードを追加してください。

using Codeer.LowCode.Blazor.Extras.Designer;

// OnStartup メソッド内 (base.OnStartup(e) より前)
ExtrasDesignerInitializer.Initialize(BlazorRuntime);

// base.OnStartup(e) の後 (Tools メニュー: 承認フローのセットアップ / メール履歴モジュールの生成)
ExtrasDesignerInitializer.Setup(DesignerEnvironment);

セットアップメニューは承認フロー・メール履歴に必要なモジュール群をテンプレートから生成し、 申請書モジュールへの結線とテーブル作成 DDL の提示まで行います (headless CLI の approval-setup / mail-history-setup verb からも同じ生成を実行できます)。

3. セットアップ完了

以上でセットアップは完了です。Designer から Extras のフィールドが配置できるようになります。

カスタマイズ

ソースは MIT で公開しています。動作を変えたい場合は次のいずれかで対応できます。

  • インターフェースで登録するサービス (IHttpService / IToastService / ITemporaryFileManager 等) は、自前実装を DI 登録して丸ごと差し替える
  • それ以外のクラスは、このリポジトリのソースをコピーしてアプリ内で改変し、元のクラスの代わりに使う

各フィールドの詳細

各フィールドの詳しい説明は以下のドキュメントを参照してください。

CSS カスタマイズ

各フィールドの見た目はCSSで自由にカスタマイズできます。詳しくは CSS カスタマイズガイド を参照してください。

ライセンス

MIT License

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Codeer.LowCode.Blazor.Extras:

Package Downloads
Codeer.LowCode.Blazor.Extras.Designer

Designer support for Codeer.LowCode.Blazor.Extras. Provides property controls and initializers for the LowCode Designer application.

Codeer.LowCode.Blazor.Extras.Server

Server-side services for Codeer.LowCode.Blazor apps. Includes AI document analysis (Azure Document Intelligence + Azure OpenAI), SMTP mail sending, file storage (file system / Azure Blob), and ASP.NET Core helpers (hot reload, ETag file responses).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.6.0 0 8/26/2026
0.5.0 128 8/6/2026
0.4.0 142 7/23/2026
0.2.0 158 7/10/2026
0.1.2 112 7/7/2026
0.1.1 114 7/6/2026
0.0.20 109 7/3/2026
0.0.19 116 7/3/2026
0.0.18 119 5/23/2026
0.0.17 136 5/17/2026
0.0.15 121 5/13/2026
0.0.14 111 5/6/2026
0.0.13 110 4/30/2026
0.0.12 126 4/29/2026
0.0.11 116 4/27/2026
0.0.10 109 4/27/2026
0.0.9 113 4/27/2026
0.0.8 130 4/16/2026
0.0.7 111 4/16/2026
0.0.6 115 4/16/2026
Loading failed

Mail: MailField (single send with value/variable pairs, confirm dialog, preview), BulkMailField (bulk send to a list; recipients are resolved on the server so addresses never reach the client; preview), contract fields (MailSenderContractField, BulkMailRecipientContractField, MailHistoryContractField, MailHistoryDetailContractField) and GmailTokenField (per-user Gmail refresh token stored encrypted in a write-only column). BREAKING: the MailService script object and MailService.SendMailEndPoint are removed; use MailField / BulkMailField and MailTransport.SendMailEndPoint / BulkSearchMailEndPoint / PreviewMailEndPoint / BulkPreviewMailEndPoint. Approval flow: ApprovalFlowField (submit / approve / reject / return / withdraw / resubmit / confirm with built-in stepper, comment and history UI), ApprovalHistoryField, contract fields for the flow / member / history modules, ApprovalRouteData route builder (AddStep / AddMembers / AddMember) and the single command endpoint ApprovalTransport.EndPointBase. Bulk file transfer: BulkFileTransferService.Submit (bulk save from script, BulkSubmitEndPoint).