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

フィールド定義を取得(非同期)

概要

getFormFields 関数は、指定したアプリのフォームのフィールド定義を取得します。
REST API を経由するため非同期ですが、すべての画面(レコード一覧画面・ポータル画面を含む)で利用できます。

レコード詳細・作成・編集画面で、表示中のフォームの定義を同期的に取得する場合は フィールド定義を取得(同期) を使用してください。

getFormFields

構文

atPocket.app.getFormFields(appId);

引数

引数名説明
appIdnumberアプリID。省略した場合は表示中のアプリを対象にします
注意

ポータル画面など、表示中のアプリを特定できない画面では appId を省略できません。省略した場合は例外を送出せず、空のオブジェクト {} を返します。アプリ画面以外で使用する場合は appId を必ず指定してください。

戻り値

説明
Promise<object>フィールドUIDをキーにした定義のマップ。内容は フィールド定義を取得(同期) と同じです

使用可能画面

  • すべての画面

使用例

atPocket.events.on('app.record.index.show', async (event) => {
const map = await atPocket.app.getFormFields(event.appId);

Object.values(map).forEach((def) => {
console.log(def.fieldUid, def.label, def.type);
});
});

clearFormFieldsCache

取得したフィールド定義はアプリ単位でキャッシュされます。フォームの定義を変更した直後に再取得したい場合は、キャッシュを破棄してください。

構文

atPocket.app.clearFormFieldsCache(appId);

引数

引数名説明
appIdnumberキャッシュを破棄するアプリID。省略した場合はすべてのアプリのキャッシュを破棄します

戻り値

なし

使用可能画面

  • すべての画面

使用例

atPocket.app.clearFormFieldsCache(10);   // アプリID 10 のキャッシュを破棄
atPocket.app.clearFormFieldsCache(); // すべてのキャッシュを破棄

関連ページ