CookBook

IM-BloomMaker キー押下時プロパティの使い方

投稿日:

このCookBookでは、2024Springでリリースした「キー押下時」プロパティの使い方について紹介しています。

数値入力エレメントに数値入力後、Enter キーを押下したときに、一致する案件番号の情報を取得するアクションを実行させるサンプルです。

完成イメージ

※「2」を入力後、Enter キーを押下しています。

完成サンプル

以下の完成サンプルをダウンロードしてご活用ください。

このサンプルは、2024 Spring 版以降でインポートできます。

  • IM-BloomMaker インポートデータ:im_cookbook_235920_im_bloommaker-data
    • IM-BloomMakerのインポート機能を利用してインポートしてください。
      インポート後、インポートしたルーティング定義の認可 URI の設定を行ってください。
  • IM-LogicDesigner インポートデータ:im_cookbook_235920_im_logicdesigner-data
    • IM-LogicDesignerのインポート機能を利用してインポートしてください。
      インポート後、インポートしたルーティング定義の認可 URI の設定を行ってください。
  • 「テナント管理」→「データベース操作」にて、以下のSQL文を実行してください。
  • テーブル インポートデータ:im_cookbook_235920
    • テーブルのインポート機能を利用してインポートしてください。

ローカル環境で表示させる場合は、以下のURLにアクセスしてください。 http://localhost:8080/imart/im_cookbook/bloommaker/235920

なおベースURLである以下の部分は、環境に合わせて適宜変更してください。 http://localhost:8080/imart

レシピ

  1. (事前準備)テーブルの説明
  2. (事前準備)LogicDesignerのフローの説明
  3. (事前準備)BloomMakerの画面の説明
  4. BloomMakerのアクションの作成
  5. キーの指定方法について補足

1.(事前準備)テーブルの説明

以下のような案件情報のテーブルを用意しています。

テーブル名:「im_cookbook_235920」

2.(事前準備)LogicDesignerのフローの説明

以下のようなユーザ定義を含んだLogicDesignerのフローを用意しています。

案件番号を入力値として受け取り、一致する案件番号の案件情報を返却しています。

3.(事前準備)BloomMakerの画面の説明

以下のような画面と変数を用意しています。

4-1. BloomMakerのアクションの作成(カスタムスクリプトを使用する場合)

ここから、「キー押下時」プロパティに指定するアクションを作成していきます。

こちらのアクションでは、Enter キー押下時に以下を実行します。

  • 検索結果を表示するボックスエレメントの表示・非表示の切り替え
  • LogicDesignerにリクエストを送信することで、入力された案件番号と一致する案件情報の獲得

「キー押下時」プロパティに指定するアクションには、カスタムスクリプトを含めるか、「キーが押下されたとき」実行条件を含める必要があります。

まず、カスタムスクリプトを使用した場合のアクション作成を見ていきましょう。(アクション名:search project)

①アクションタブを開き、「アクションを追加」アイコンをクリックして、「アクションエディタ」を開きます。「変数◯に◯を代入する」アクションアイテムと「IM-LogicDesigner フロールーティング◯にリクエストを送信する」アクションアイテムを追加します。

②それぞれのアクションアイテムのプロパティを埋めます。

③それぞれのアクションアイテムに、「上記のカスタムスクリプトの返却値が true のとき」実行条件を追加します。

④ ③で追加した実行条件に、以下のように記述します。

⑤最後に、数値入力エレメントの「キー押下時」プロパティに、作成したアクションを指定します。

このようにアクションを作成することで、数値入力エレメント選択時に Enter キーを押すと、アクションが実行されるようになりました。

4-2. BloomMakerのアクションの作成(「キーが押下されたとき」実行条件を使用する場合)

次に、「キーが押下されたとき」実行条件を使用する場合のアクション作成をご紹介します。(アクション名:search project2)

①②は、4-1. と全く同じ工程です。

③それぞれのアクションアイテムに、「キーが押下されたとき」実行条件を追加します。

④ ③で追加した実行条件に、以下のように記述します。


⑤最後に、数値入力エレメントの「キー押下時」プロパティに、作成したアクションを指定します。

5. キーの指定方法について補足

4. で示した通り、「キー押下時」プロパティを使用するには、カスタムスクリプトを使用するか、または「キーが押下されたとき」実行条件を使用する必要があります。

カスタムスクリプトで、キーを指定する条件式について
  • Enter キーを指定
    • $im.event.keyboard.key == "Enter"
  • Ctrl キー+任意の文字キーを指定
    • $im.event.keyboard.ctrlkey && $im.event.keyboard.key == "任意の文字キー"
    • ctrlkey の他に、altkey、shiftkey、metakey(Windows の場合は win キー、 Mac の command キーが押されている場合は true)が使用できます。
  • 記号を指定
    • $im.event.keyboard.key == "任意の記号"
    • 例:右矢印(ArrowRight)
  • Fn キーを指定
    • $im.event.keyboard.key == "F1"
カスタムスクリプトについて
  • 今回のCookBookで示したように、「上記のカスタムスクリプトの返却値が true のとき」実行条件に、「return 「キーを指定する条件式」」のように指定する方法があります。
  • もしくは、「カスタムスクリプトを実行する」アクションを使用する場合、「if(「キーを指定する条件式」)「{実行したい内容」}」のように指定する方法もあります。
カスタムスクリプトと「キーが押下されたとき」実行条件でキーを指定するときの違い
  • カスタムスクリプトでキーを指定した場合、キーの既存の機能を打ち消しません。(例:WindowsでCtrl キー + Fで、キーを指定した場合、標準装備されたブラウザ検索機能を打ち消しません。)
  • 「キーが押下されたとき」実行条件でキーを指定した場合、キーの既存の機能を打ち消します。(例:WindowsでCtrl キー + Fで、キーを指定した場合、標準装備されたブラウザ検索機能が打ち消されます。)

-CookBook

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

IM-BloomMaker リッチテーブルの行の詳細画面を別タブで開く方法

このCookBookでは、リッチテーブルの行をクリックした時に別タブで詳細画面を開く方法について紹介しています。 リッチテーブルから詳細画面を開く方法は複数ありますが、このCookBookではそのうち …

no image

No.1 メールに添付されているExcelファイル読み込み → ワークフロー申請

この記事は、EWS 2017で行われたLogicDesignerの講演内容に関する記事です。 こちらの例では、メールサーバと連携し、メールの添付ファイルの内容から自動的にワークフローを申請できます。 …

no image

IM-共通マスタのユーザ検索画面の検索ダブを制御する。

IM-共通マスタのユーザ検索画面で利用可能な検索タブは以下の8種類があります。 ・キーワード検索・キーワード(認可考慮なし)・会社組織(キーワード)・会社組織(ツリー)・パブリックグループ(キーワード …

no image

スクリプト開発で登録フォームを作成する

このCookBookでは、スクリプト開発で登録フォームを作成する際に役立つ Tips を紹介します。 第1回:スクリプト開発で登録フォームを作成する 第2回:フォームに入力した内容をデータベースに登録 …

no image

申請時の注意事項を添付ファイルとして配置する方法

このCookBookでは、申請時の注意事項を記載したファイルを、申請画面の添付ファイルとして配置する方法について紹介しています。 FormaDesignerの前処理プログラムで任意の添付ファイルを設定 …