コンテンツにスキップ

UIスクリプト

UIスクリプトとは、イベントをトリガーとしてクライアントサイドで実行する処理です。
アクション(サーバーサイド実行)と使い分けることで、入力チェックや画面内の値連携を高速に実装できます。

種類動作する箇所リクエスト消費
UIスクリプトクライアントサイドしない
アクションサーバーサイドする

UIスクリプトの主な利用例は次のとおりです。

  • 必須チェック
  • 入力内容の妥当性チェック
  • 入力内容の変更チェック
  • 事前メッセージの表示
  • セレクトコンポーネント変更時の連動更新

エディタ起動

  1. コンポーネントを選択して、右クリックからコンテキストメニューを開きます。
  2. コンテキストメニューから[UIスクリプト]を選択します。
  3. UIスクリプトエディタが起動します。

処理記述

UIスクリプトは、JavaScript言語を使って記述します。
見た目と操作性はアクションエディタと同様です。

記述にあたって次のサポートがあります。

  • $uiオブジェクト を使って、コンポーネントの値やプロパティを取得・設定できます。
  • ユーザ関数はスクリプトのみ利用できます(SQL/RESTはUIスクリプトでは選択不可)。
  • UIスクリプトからアクションを呼び出す場合は$fn.callAction()を利用できます。
  • UIスクリプトで利用できるビルトイン関数は以下になります。
    • $fn.message
    • $fn.openDialog
    • $fn.closeDialog
    • $fn.callAction

記述例

テキストフィールドの入力チェックをクライアント側で実行し、条件を満たした場合のみサーバーサイドのアクションを呼び出す例です。

if (!$ui.textfield.value) {
$ui.textfield.error = true;
$ui.textfield.helperText = "入力してください。";
return;
}
$ui.textfield.error = false;
$ui.textfield.helperText = "";
await $fn.callAction();

解説

1行目で入力値を確認し、未入力の場合はエラー表示を設定して処理を終了します。
入力値がある場合はエラー表示を解除し、最後にawait $fn.callAction()でアクションに記述された処理を実行します。

グローバル関数

  • UIスクリプト用のグローバル関数は、アクション用とは別管理となります。
  • リポジトリ上では、UIスクリプト用グローバル関数はラベルGlobal Functions UIで表示されます。
  • グローバル関数画面はUIスクリプトタブとアクションタブに分かれます。

ローディング表示

種類ローディング表示
UIスクリプト常に表示しない
アクション制御可能