UI アクション API - ServiceNow Fluent
UI アクション API は、フォームやリストのボタン、リンク、コンテキストメニューアイテムなどのカスタムユーザーインターフェイス (UI) アクション [sys_ui_action] を定義します。
UI アクションに関する一般的な情報については、「 Create a UI action」を参照してください。
UiAction オブジェクト
フォームに表示する UI アクション [sys_ui_action] を作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| $id | 文字列または数値 | 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。 形式: |
| table | 文字列 | 必須。UI アクションが利用可能なテーブルの名前。 デフォルトでは、選択したテーブルを拡張するテーブルにも UI アクションが表示されます。たとえば、タスクアクションはインシデントテーブルに表示されます。すべてのテーブルでアクションを使用できるようにするには、値を |
| 名前 | 文字列 | 必須。ボタン、リンク、またはコンテキストメニューアイテムに表示されるテキスト。名前は、指定されたテーブル内で一意である必要があります。 |
| actionName | 文字列 | スクリプトで UI アクションを参照するときに使用する一意の名前。 |
| アクティブ | ブール | UI アクションが有効かどうかを示すフラグ。 有効な値:
デフォルト:true |
| フォーム | オブジェクト | フォームでの UI アクションの表示方法のオプション。詳細については、「フォームオブジェクト」を参照してください。 |
| list | オブジェクト | リストビューでの UI アクションの表示方法のオプション。詳細については、「リストオブジェクト」を参照してください。 |
| クライアント | オブジェクト | ブラウザーでスクリプトを実行するオプション。詳細については、「クライアントオブジェクト」を参照してください。 |
| ワークスペース | オブジェクト | ワークスペースでの UI アクションの機能と表示方法のオプション。詳細については、「ワークスペースオブジェクト」を参照してください。 |
| overrides | 文字列または参照 | UI アクションが上書きする別の UI アクションの名前または変数識別子。 |
| インサートを表示 | ブール | 新しいレコードを挿入する前に、新しいレコードにボタンを表示するかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| showUpdate | ブール | 既存のレコードにボタンを表示するかどうかを示すフラグ。 有効な値:
デフォルト:true |
| クエリを表示 | ブール | フィルタークエリが適用されたときに、UI アクションをリストに表示するかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| showMultipleUpdate | ブール | 複数のレコードが選択されている場合にボタンを表示するかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| ステータス | 文字列 | スクリプトを実行するために true でなければならないフィールドと値を指定する JavaScript 条件ステートメント。 注:
Format (形式):
|
| スクリプト | スクリプト | UI アクションが実行されたときに実行されるクライアント側またはサーバー側のスクリプト。関数名は一意である必要があります。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。 Format (形式):
|
| コメント | 文字列 | UI アクションに関する内部メモ。 |
| メッセージ | 文字列 | UI アクションが、メッセージ [sys_ui_message] テーブルからローカライズされた代替メッセージを検索するためのキーとして使用できるテキスト文字列。[メッセージ] フィールドの個別の行にある各メッセージキー。 インスタンスは、UI アクションがメッセージ文字列が [メッセージ] フィールドのキーと一致する getmessage('[message]') 呼び出しを行うたびに、ローカライズされたメッセージ文字列を探します。詳細については、「クライアントスクリプトメッセージの翻訳」を参照してください。 |
| ヒント | 文字列 | UI アクションにカーソルを合わせたときにツールヒントとして表示される簡単な説明。 |
| 順序 | 番号 | UI アクションが表示される順番。ボタンには左から右へ、メニューアクションには上から下への順番が適用されます。 デフォルト:100 |
| isolateScript | ブール | スクリプトが strict モードで実行され、直接 DOM、jQuery、prototype、および window オブジェクトへのアクセスがオフになっているかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| ロール | アレイ | 適用する UI アクションに必要な ロール オブジェクトの変数識別子またはロールの名前のリスト。詳細については、「ロール API - ServiceNow Fluent」を参照してください。 |
| includeInView | アレイ | UI アクションを含むビューの名前のリスト。 |
| excludeFromView | アレイ | UI アクションが除外されるビューの名前のリスト。 |
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
import { UiAction } from '@servicenow/sdk/core'
UiAction({
$id: Now.ID['car_info'],
table: 'x_snc_ts_custom_cars',
actionName: 'Car Information',
name: 'View car info',
active: true,
showInsert: true,
showUpdate: true,
hint: 'View car info',
condition: "current.type == 'SUV'",
form: {
showButton: true,
showLink: true,
showContextMenu: false,
style: 'destructive',
},
list: {
showLink: true,
style: 'primary',
showButton: true,
showContextMenu: false,
showListChoice: false,
showBannerButton: true,
showSaveWithFormButton: true,
},
workspace: {
isConfigurableWorkspace: true,
showFormButtonV2: true,
showFormMenuButtonV2: true,
clientScriptV2: `function onClick(g_form) {
}`,
},
script: `current.name = "updated by script";
current.update();`,
roles: ['u_requestor'],
client: {
isClient: true,
isUi11Compatible: true,
isUi16Compatible: true,
},
order: 100,
showQuery: false,
showMultipleUpdate: false,
isolateScript: false,
includeInViews: ['specialView'],
excludeFromViews: [],
})
フォームオブジェクト
フォームでの UI アクションの表示方法を構成します。
フォームオブジェクトは、UiAction オブジェクト内のプロパティです。
| 名前 | タイプ | 説明 |
|---|---|---|
| 表示ボタン | ブール | フォームにボタンを含めるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| リンクの表示 | ブール | フォームの [関連リンク] セクションにリンクを含めるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| showContextMenu | ブール | フォームのコンテキストメニューにアイテムを含めるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| style | 文字列 | フォームでの UI アクションボタンの表示方法を定義するスタイル。 有効な値:
|
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
form: {
showButton: true,
showLink: true,
showContextMenu: false,
style: 'destructive',
}
リストオブジェクト
リストビューでの UI アクションの表示方法を設定します。
リストオブジェクトは、UiAction オブジェクト内のプロパティです。
| 名前 | タイプ | 説明 |
|---|---|---|
| 表示ボタン | ブール | リストの下部にボタンを含めるかどうかを示すフラグ。 注: リストの下部にあるボタンは、条件に関係なく表示され、実行時にレコードごとに評価されます。 有効な値:
デフォルト値:false |
| リンクの表示 | ブール | リストの [関連リンク] セクションにリンクを含めるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| showContextMenu | ブール | リストのコンテキストメニューにアイテムを含めるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| style | 文字列 | リストビューでの UI アクションボタンの表示方法を定義するスタイル。 有効な値:
|
| showListChoice | ブール | リストの [アクション] リストに選択肢を含めるかどうかを示すフラグ。 注: [アクション] リストの選択肢は条件に関係なく表示され、実行時にレコードごとに評価されます。 有効な値:
デフォルト値:false |
| showBannerButton | ブール | リストのバナーにボタンを含めるかどうかを示すフラグ。 注: リストのバナーのボタンは、レコード固有の条件をサポートすることを意図したものではありません。リストにボタンを表示するかどうかを判断するために条件が評価されるときには、最初の行のみが考慮されます。 current.getValue('state') === 'closed' などのレコード固有の条件は使用しないでください。有効な値:
デフォルト値:false |
| showSaveWithFormButton | ブール | UI アクションボタンを実行する前にリストからフォームにアクセスしたときにフォームが保存されるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
list: {
showButton: true,
showLink: true,
showContextMenu: false,
style: 'primary',
showListChoice: false,
showBannerButton: true,
showSaveWithFormButton: true,
}
クライアントオブジェクト
ブラウザーで UI アクションスクリプトを実行するためのオプションを設定します。
クライアントオブジェクトは、UiAction オブジェクト内のプロパティです。
| 名前 | タイプ | 説明 |
|---|---|---|
| クライアント | ブール | UI アクションスクリプトが実行される場所を示すフラグ。 有効な値:
デフォルト値:false |
| isUi11 互換 | ブール | UI アクションが従来の UI 11 でサポートされているかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| isUi16互換 | ブール | UI アクションがコア UI でサポートされているかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| クリック時 | 文字列 | UI アクションを実行したときに実行される JavaScript 関数の名前。関数は スクリプト プロパティで定義されます。 |
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
client: {
isClient: true,
isUi11Compatible: true,
isUi16Compatible: true,
onClick: 'reopenIncident()'
}
ワークスペースオブジェクト
ワークスペースでの UI アクションの機能および表示方法を構成します。
ワークスペースオブジェクトは、UiAction オブジェクト内のプロパティです。
| 名前 | タイプ | 説明 |
|---|---|---|
| isConfigurableWorkspace | ブール | UI アクションが適用されるワークスペースのタイプを示すフラグ。 有効な値:
デフォルト値:false |
| showFormButtonV2 | ブール | ワークスペースのフォームにボタンを含めるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| showFormMenuButtonV2 | ブール | ワークスペースの [その他のアクション] メニューにアイテムを含めるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| clientScriptV2 | 文字列 | ワークスペースで UI アクションが実行されるときに実行されるスクリプト。 このプロパティは、インライン JavaScript、またはスクリプトを含むアプリケーション内の別のファイルへの参照をサポートします。 Format (形式):
|
| $meta | オブジェクト | アプリケーションメタデータのメタデータ。 installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。 installMethod の有効な値:
|
workspace: {
isConfigurableWorkspace: true,
showFormButtonV2: true,
showFormMenuButtonV2: true,
clientScriptV2: `function onClick(g_form) {
}`,
}