メインコンテンツまでスキップ

概要

LucyスクリプトAPIは、フォーム(画面)のスクリプト内からアプリ・データ・画面フローを制御するプログラミングインターフェースです。ウィジェットを配置するだけでは表現しにくい動作 — ボタンを押したときにデータを要求する、別の画面へ遷移する、サーバーと通信するといった動作 — を実装するときに使います。スクリプトAPIは性質に応じて3つのグループに分かれます。

全体像

グループ何かスクリプトからの呼び方
Lifecycle Eventsフォームやデータが特定の時点に達すると、Lucyが自動的に呼び出すコールバックフォームスクリプトに同じ名前の関数を定義(例: onStartonMessage
Global Objectsどこからでも使える$グローバルオブジェクト(アプリ・フォーム・データ・通信)$オブジェクト.メンバー(例: $app.openPage(...)
Widget Methods画面のウィジェットを名前(ID)で制御widgetID.メンバー(例: textID.setText(...)

各グループの概要

Lifecycle Events

フォームやデータが特定の時点に達したときに、Lucyが自動的に呼び出すコールバックです。開発者が直接呼び出すのではなく、決められた名前の関数をフォームスクリプトに定義しておくと、その時点で実行されます。3つに分かれます。

  • Form/Page Events — フォームが開き(onStart)、画面に表示され(onActive)、隠れ(onInactive)、閉じる(onClose)時点。
  • Messaging Events — 他のフォームやアプリが送ったメッセージをonMessage(name, data)で受信。
  • Data Lifecycle Events — データ要求・応答・リアルタイムpushの流れの各段階に介入するコールバック。

詳細な一覧はLifecycle Eventsセクションで確認できます。

Global Objects

スクリプトのどこからでも$接頭の名前でそのまま使えるグローバルオブジェクトです。領域ごとに分かれます。

  • $app — アプリ全体: ページ遷移、共有・保存データ、テーマ、デバイス状態など
  • $form / $parentForm / $ownerForm / $rootForm — 実行中のフォーム: 画面を開く操作、フォーム変数・プロパティ、フォーム間のメッセージ
  • $vm — フォームのデータレイヤー: Data Set・Provider Instanceの取得/更新、要求・購読、ソート
  • $act — イベント応答: Action、State Transition、Detect Transition
  • $log — 診断ログ(d / i / w / e
  • $http — REST通信(get / post / put / patch / delete / head / options / multipart)
  • $mqtt — MQTT接続(接続オブジェクトMqttClientを返す)

詳細な一覧はGlobal Objectsセクションで確認できます。

Widget Methods

画面に配置したウィジェットをwidgetID.メンバーの形で制御します。2つに分かれます。

  • Common Widget Methods — すべてのウィジェットが共通で持つコントロール(プロパティの読み取り/書き込み、スタイル・レイアウト制御、状態など)。
  • Individual Widget Methods — ウィジェットの種類ごとに固有のコントロール(例: TextFieldのsetTextgetText)。

詳細な一覧はWidget Methodsセクションで確認できます。

表記規約

  • 例のwidgetIDtextIDなどは、キャンバスでウィジェットに指定した名前(ID)です。スクリプトではwidgetID.メンバーの形でアクセスします。
  • グローバルオブジェクトは$接頭の名前をそのまま使います。
  • ライフサイクルイベントは、フォームスクリプトに同じ名前の関数を定義すると、その時点で自動的に実行されます。