UI アクションの作成

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:6分
  • 新しい UI アクションを作成することも、既存の UI アクションを編集することもできます。

    始める前に

    必要なロール:ui_action_admin または admin

    このタスクについて

    UI アクションと同じスコープ内にあるテーブルとデータベースビューに UI アクションを追加することも、別のアプリケーションスコープの UI アクションを実行できるテーブルに UI アクションを追加することもできます。

    手順

    1. 移動先 すべて > システム定義 > UI アクション.
    2. [新規] をクリックするか既存のレコードを開きます。
    3. フィールドに入力して UI アクションを定義します。
      すべてのフィールドを表示するようにフォームを構成する必要があります。
      表 : 1. UI アクションフィールド
      フィールド 説明
      名前 ボタン、リンク、またはコンテキストメニューアイテムに表示されるテキスト。
      テーブル UI アクションを使用できるテーブル。デフォルトでは、選択したテーブルを拡張するテーブルにも UI アクションが表示されます (たとえば、タスクアクションはインシデントテーブルに表示されます)。

      [グローバル] を選択すると、アクションがすべてのテーブルで使用できるようになります。

      順序 UI アクションが表示される順序。ボタンには左から右へ、メニューアクションには上から下への順番が適用されます。
      アクション名 スクリプトで UI アクションを参照するときに使用する一意の名前。
      アクティブ 選択すると UI アクションを有効にするオプション。UI アクションを無効にするには、このチェック ボックスをオフにします。
      レコード作成時に表示 挿入されていない新しいレコードにボタンを表示するオプション。
      レコード更新時に表示 既存のレコードにボタンを表示するオプション。
      クライアント UI アクションが、サーバーではなくユーザーのブラウザーでスクリプトを実行するためのオプション。有効にすると、[条件] フィールドの上に [クリック時] フィールドが表示されます。
      フォームボタン フォームにボタンを配置するオプション。
      フォームのコンテキストメニュー フォームのコンテキストメニューにアイテムを配置するオプション (フォームヘッダーを右クリック)。
      フォームリンク フォームの [関連リンク] セクションにリンクを配置するオプション。
      フォームスタイル
      • プライマリ: UI アクションを青色にします。
      • 破棄: UI アクションを赤色にします。
      • 書式設定なし: UI アクションに色を付けません。
      バナーリストボタン リストのバナーにボタンを配置するオプション。
      注:
      リストバナーボタンはレコード固有の条件をサポートすることを意図していないため、リストにボタンを表示するかどうかを決定するために条件が評価されるときに最初の行のみが考慮されます。リストバナーボタンの UI アクションでは、レコード固有の条件 (current.getValue('state') === 'closed' など) を使用しないでください。
      リスト下部ボタン リストの下部にボタンを配置するオプション。
      注:
      リスト下部のボタンは、条件に関係なく表示され、実行時にレコードごとに評価されます。
      リストコンテキストメニュー リストフィールドのコンテキストメニュー (リスト内のセルを右クリック) にアイテムを配置するオプション。
      リスト選択肢 リストの下部にあるアクション選択リストにアイテムを配置するオプション。
      注:
      リスト下部のボタンは、リスト選択アクションと同様、条件に関係なく表示され、実行時にレコードごとに評価されます。
      リストリンク リスト下部の [関連リンク] セクションにリンクを配置するオプション。
      リストスタイル
      • プライマリ: UI アクションを青色にします。
      • 破棄: UI アクションを赤色にします。
      • 書式設定なし: UI アクションに色を付けません。
      上書き この UI アクションが上書きする UI アクション。
      メッセージ UI アクションが、メッセージ [sys_ui_message] テーブルからローカライズされた代替メッセージを検索するためのキーとして使用できるテキスト文字列。各メッセージ・キーは、「メッセージ」フィールドの個別の行にあります。

      UI アクションが getMessage(msg) 呼び出しを行うたびに、インスタンスはローカライズされたメッセージ文字列を探します。ここで、msg 文字列が [Messages] フィールドのキーと一致します。

      コメント この UI アクションに関する説明コンテンツ。
      ヒント ユーザーが UI アクションコントロールをポイントしたときに表示されるテキスト。
      クリック時 UI アクションを実行したときに実行される JavaScript 関数の名前。関数は [スクリプト] フィールドで定義されます。
      条件 UI アクションが表示されるタイミングを制限する JavaScript 条件ステートメント。条件は常にサーバー上で実行されます。
      注:
      • 現在のオブジェクトは、リストコンテキストメニューの条件に使用できません。[リスト] コンテキストメニューオプションが選択されている場合、これらのアクションでのcurrentの使用は無視されます。
      • 関連リストボタンの UI アクション条件の親レコードを参照できます。たとえば、クローズした変更の [影響を受ける CI] 関連リストで [新規] ボタンと [編集] ボタンを無効にするには、グローバル m2m UI アクションを task_ci テーブルにコピーして、parent.active の条件を追加します。
      • 条件ステートメントで指定したフィールドのいずれかを空のままにすると、その条件はデフォルトで true になります。
      スクリプト UI アクションの実行時に実行されるスクリプト。関数名は一意である必要があります。
      ワークスペース
      ワークスペースフォームボタン ワークスペース内の UI アクションのリストに UI アクションを表示するオプション。
      ワークスペースフォームメニュー ワークスペース内の UI アクションに関連付けられたメニューに UI アクションをリストアイテムとして表示するオプション。
      構成可能なワークスペースの形式 構成可能なワークスペースで UI アクションを使用するためのオプション。オフにすると、UI アクションが従来のワークスペースに適用されます。
      ワークスペースクライアントスクリプト UI アクションがワークスペースで実行されるときに実行するスクリプト。
      ロールが必要
      ロール 適用する UI アクションに必要なロール。適用する UI アクションには、ユーザーが少なくとも 1 つのロールを持っている必要があります。
      フォームビューでの関連したリスト
      UI アクション可視化 UI アクションが適用されるフォームのビュー。このオプションを使用して、UI アクションを指定したフォームビューに制限します。指定されたビューでは、次のルールに従って UI アクションを使用できます。
      1. 可視化ルールがない場合、アクションはすべてのビューに表示されます。
      2. 特定のビューに除外ルールがある場合、そのビューにはアクションが表示されません。
      3. 少なくとも 1 つのインクルードルールがある場合、アクションは明確にインクルードされるビューにのみ表示されます。
      バージョン UI アクションのすべてのバージョン。バージョンを比較したり以前のバージョンに戻したりするには、このリストを使用します。
    4. [送信] または [更新] をクリックします。
      注:
      UI アクションがクライアント側で実行できるようになっている場合は、関数でラップします。それ以外の場合は、ページがロードされたときに、[スクリプト] フィールドのコンテンツが実行されます。

    UI アクションスクリプトの一部として、ユーザーを URL にリダイレクトできます。たとえば、UI アクションからフォームを作成した後に、フォームにリンクを追加したり、新しいレコードを開いたりすることができます。ユーザーを UI アクションから URL にリダイレクトするには、[スクリプト] フィールドで次の構文を使用してリダイレクトリンクを定義します。
    action.setRedirectURL ( 'http://www.mysite.com/mypage.htm' );
    ユーザーをレコードに誘導するには、次の構文を使用します。ここで、new_recordGlideRecord の変数名です。
    action.setRedirectURL (new_record );