ベースマキナ ドキュメント

画面の設定時に使える変数

画面編集 および、 画面 上の各イベント内で使える変数について説明します。

  • 画面上の各コンポーネントに紐づくイベントは、実行時にJavaScriptの式を評価したものを入力として使います。
  • この評価に使える変数は、コンポーネントや実行されるイベントの種類によって変わります。

変数の一覧

画面中のどこでも使える変数

  • panel
    • 画面に関連する情報
  • user
    • 現在ログイン中のユーザーの情報

使える場所が限定される変数

  • row
    • 行がクリックされたときの動作のみ
  • result / metadata
    • アクション内のみ
  • workflow
    • ワークフロー内のみ

各変数の詳細

panel

画面に関連する情報を格納するObject。

  • args
    • 画面に渡された引数の値。
    • 値が渡されていなければデフォルト値が設定されます。
  • data
    • 詳細画面、一覧画面の取得方法に設定されたイベントの結果。
      • 画面上に表示されている値がそのまま格納される変数です。(結果の加工も反映されます)
  • pagination(一覧画面のみ)
    • 一覧画面のページネーションの情報。
    • offset / limitの2値。

設定例です。

{
  args: {
    userId: 123,
  },
  data: [
    { id: 1, name: "aaaaa" },
    { id: 2, name: "bbbbb" },
  ],
  pagination: {
    offset: 10,
    limit: 20,
  }
}

user

現在ログイン中のユーザーの情報を格納するObject。内容は下記の2値。

  • email
  • name

row

一覧画面上で選択した行の情報を格納する変数。

// panel
{
  data: [
    { id: 1, name: "aaaaa" },
    { id: 2, name: "bbbbb" }, // これを選択する
  ],
  ...
}

// row
{
  id: 2,
  name: "bbbbb",
}

result / metadata

アクションを実行した結果を格納する。

  • result
    • success / failure の2値。
    • アクションの実行に成功すればsuccessに、失敗すればfailureに値が格納されます。
      • 注)アクションに設定されたAPIがエラーレスポンスを返したケース(status: 400, 500など)は、failureと判定されません。このケースをエラー扱いしたい場合は、metadata変数を使用して、エラー条件を記述してください。
  • metadata
    • アクションの実行結果の内容 (result) に含まれないデータを格納するObject。
    • アクションの種類によって項目が変わります。
      • 例)HTTP API ⇒ status, headers等

// result
{
  success: [{ id: 1, name: "aaaaa" }, { id: 2, name: "bbbbb" }],
  failure: undefined,
}

// metadata
{
  status: 200,
  headers: {...},
}

workflow

  • args
    • ワークフローに渡された引数の値。
  • steps
    • 各stepの結果を格納するObject。
      • stepの数字をキーとして結果を格納します。
        • step 1に対してsteps[1]が対応するので、見え方としては1 originの配列となります。
    • 各stepでは、前段のstepの結果までしか参照できません。
    • 項目は、アクション内で使える変数と同じ result / metadata の2値となります。

{
  args: {
    userId: 1,
    name: "ベースマキナ",
  },
  steps: {
    1: {
      result: {
        success: { id: 1, name: "ベースマキナ" },
        failure: undefined,
      },
			metadata: {
			  status: 200,
			  headers: {...},
			},
    },
    2: {
      result: {...},
			metadata: {...},
    },
  }
}