Skip to main content

 

OutSystems 11オンラインヘルプ

 

モバイルアプリが対象
OutSystems

JavaScriptを使用してモバイルアプリを拡張する

JavaScriptコードは、JavaScriptのフロー要素を介して、モバイルアプリのクライアントアクションで使用できます。

JavaScriptのフロー要素は、JavaScriptコードを使用してOutSystemsの機能を拡張することができます。コードエディタでは、以下のような標準的なJavaScriptコードを入力できます。

  • 変数を宣言し、値を代入する。
  • ユーザー定義関数またはビルトイン関数を呼び出す。
  • クライアントアクションを同期または非同期のどちらかで呼び出す、など。

要素または要素のJavaScriptプロパティをダブルクリックすると開く[コードエディタ]ウィンドウには、JavaScriptキーワード、事前定義されたJavaScriptオブジェクト、OutSystemsで利用可能なクライアントアクションとクライアントロールのオートコンプリート機能があります。また、構文を強調表示してJavaScriptコードのエラーや警告を確認します。[TrueChange]ペインには、最終的なJavaScript構文エラーが表示されます。

入出力パラメータを使用する

各JavaScript要素には独自のスコープが定義されています。つまり、クライアントアクション内の他の要素とデータをやりとりする入出力パラメータを定義する必要があります。

JavaScriptの要素の入力パラメータまたは出力パラメータを追加および設定するには、コードエディタの下にあるペインのParametersツリー要素を右クリックします。

入出力パラメータには、事前定義された$parametersオブジェクトを介して、JavaScriptコードでアクセスできます。以下の例は、「Name」という入力パラメータの値を取得する方法と、「OutEmail」という出力パラメータの値を設定する方法を示しています。NameとOutEmailは、どちらも現在のJavaScript要素で定義されています。

var nameValue = $parameters.Name;
$parameters.OutEmail = "john@example.com";

出力パラメータは、$parametersオブジェクトに値を設定するだけでは動的に追加できません。JavaScript要素のコードエディタウィンドウで定義する必要があります。そうしない場合、[TrueChange]ペインにエラーが表示され、モジュールをパブリッシュできなくなります。

クライアントアクションを呼び出す

クライアントアクションは、事前定義された$actionsオブジェクトを介して利用できます。このオブジェクトには以下への参照が含まれています。

  • 現在のモジュールで定義されるか、他のモジュールから参照されたグローバルクライアントアクション
  • JavaScriptの要素が画面/ブロックのクライアントアクションフローに配置されている場合、同じ画面/ブロックに属する他のクライアントアクション

戻り値は、各クライアントアクションの出力パラメータを含む、シンプルなJavaScriptオブジェクトです。

「Out1」という名前の出力パラメータを持つ(同期)クライアントアクションを呼び出すには、以下の例に従います。

var result = $actions.GlobalClientAction();
var outValue = result.Out1;

コードエディタで「"$actions.<client_action_name>()」と入力する代わりに、コードエディタの下にある要素のツリーまたは[Logic]アプリケーションレイヤータブから、コードエディタにクライアントアクションをドラッグ&ドロップすることができます。

OutSystems JavaScript API関数を呼び出す

OutSystems JavaScript APIは、事前定義された$publicオブジェクトを介して利用可能です。このオブジェクトには、サポートされている各JavaScript APIへの参照が含まれます。

以下の例は、データが正常に送信されたことをユーザーに通知するフィードバックメッセージです。

$public.FeedbackMessage.showFeedbackMessage("Your data has been submitted.", 1);

使用できるOutSystems APIの詳細については、OutSystemsのJavaScript APIリファレンスをご覧ください。

各JavaScript要素で使用できるオブジェクト

定義したローカル変数や入力/出力パラメータのほかに、JavaScriptコードが実行されるコンテキストには、事前定義された複数のオブジェクトが定義されています。

オブジェクト名は以下のように「$」記号で始まります。

  • $parameters: 現在のJavaScriptの要素に定義された入出力パラメータが含まれています。
  • $actions: 現在のJavaScriptの要素のスコープから呼び出し可能なクライアントアクションへの参照が含まれています(現在のモジュールで定義されるか、システムアクションなどのように別のモジュールから参照されるクライアントアクション)。
  • $roles: 現在のモジュールでカスタム定義されたすべてのロールが含まれています。
  • $public – すべての公開JavaScript APIのクラスとモジュールをインスタンス化するオブジェクトが含まれています。すべての利用可能なモジュールと関数については、JavaScript APIリファレンスをご覧ください。

window、document、JSON、RegExpオブジェクトなど、ブラウザのコンテキストのJavaScriptで一般的に使用可能な他のオブジェクトも利用することができます。

このセクションの記事

  • Was this article helpful?