Codeer.LowCode.Blazor のスクリプトは、C# とほぼ同じ構文で書ける軽量スクリプトです。 デザイナで Field やイベントを選んで、画面の挙動をカスタマイズします。
| 書く場所 | 例 |
|---|---|
| Field のイベント | OnClick(Button)、OnDataChanged(TextField 等)、OnSelectedIndexChanged(List) |
| レイアウトのイベント | OnBeforeInitialization、OnAfterInitialization |
| Module の Scripts | 自由に書けるトップレベル領域。関数・モジュール変数を定義する |
| Field のスクリプト式 | IsVisible、IsEnabled などの式に短い式を書く |
スクリプトはデザイナのプロパティパネルから入って、専用エディタで編集します。
イベントから作られる関数の名前は {FieldName}_{EventName} が標準です。
この名前にしておくと、エディタで Field 名の補完が効きます。
// SaveButton (Button) の OnClick
void SaveButton_OnClick()
{
Toaster.Success("保存しました");
}
// EmailField (Text) の OnDataChanged
void EmailField_OnDataChanged()
{
if (!EmailField.Value.Contains("@"))
{
EmailField.SetError("@ が含まれていません");
}
}戻り値が Task / Task<T> のメソッドは await を付けて呼び出します。
async Task SaveButton_OnClick()
{
if (!await ValidateInput()) return;
if (await Submit())
{
Toaster.Success("保存しました");
}
}メソッド名に Async が付いていなくても、戻り値が Task なら対象です。
ハンドラ自体も非同期処理を含むなら async Task にします。
内部的には
Submit/ShowDialog/MessageBox.Show/ValidateInputなど多くの API が非同期です。
同じモジュール内では、Field・Layout・モジュール変数・モジュール関数は名前のまま参照できます。
// 同じモジュール内
var name = NameField.Value; // Field 参照
ListLayout.SetAdditionalCondition(s); // Layout 参照
var sum = CalcSum(10, 20); // モジュール関数
// this も使える(明示したい場面で)
this.NameField.Value = "山田";別モジュールは new で取得します。
var customer = new Customer();
var info = customer.GetInfo();- 使い方を覚える → チュートリアル: スクリプトの基本(30分)
- モジュール連携 → チュートリアル: モジュール連携(40分)
- 構文・型・名前解決の詳細 → スクリプト構文リファレンス
- 使えるサービスの一覧 → 組み込みサービスとテンプレート由来サービス
- 他モジュールの検索 → ModuleSearcher / BatchSearcher
- 独自の型・サービスを足す → スクリプトの拡張
- デバッグ → スクリプトデバッガ
各 Field 固有のプロパティ・メソッドはそれぞれの Field ドキュメントを参照してください。
- Field 共通プロパティ — すべての Field で使えるもの
- Field 一覧 — 個別ドキュメントの索引
- Module からスクリプトで使えるもの
- プロコード — C# / Blazor で本格的に拡張する
- 破壊的変更(1.2.57) — スクリプト仕様の変更履歴
