IM-BloomMaker のアクション「変数に一覧データから選択したものを代入する」の使い方

公開日: 2019-07-31 / カテゴリ: CookBook

このCookBookでは、「変数に一覧データから選択したものを代入する」アクションの使用方法について紹介します。 「変数に一覧データから選択したものを代入する」アクションは、一覧データをダイアログの画面に表示し、一覧から選択したデータを任意の変数に代入することができます。 実際にサンプル画面を作成しながら「変数に一覧データから選択したものを代入する」アクションについて解説を行います。

完成イメージ

このCookBookで作成するサンプル画面です。 動作内容は以下のとおりです。

  1. 「Open Dialog」ボタンをクリックすると、一覧データを表示しているダイアログが開きます。
  2. 一覧からデータを選択すると、元の画面に選択したデータが表示されます。

完成サンプル

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

IM-BloomMaker のインポート機能からインポートしてください。 インポート機能の詳細は以下のドキュメントをご参照ください。

サンプルに含まれる定義情報は以下のとおりです。

種類定義名補足説明
コンテンツim_cookbook_163551アプリケーション画面を管理するための定義情報です。
ルーティング定義im_cookbook_163551アプリケーション画面へアクセスするときに利用する定義情報です。

レシピ

このレシピでは、「変数に一覧データから選択したものを代入する」アクションを使用する画面の作り方を紹介します。

  1. コンテンツカテゴリを登録する
  2. コンテンツを登録する
  3. デザイン編集を行う
  4. ルーティングカテゴリを登録する
  5. ルーティングを登録する
  6. 実行画面で確認する

コンテンツカテゴリを登録する

  1. 「サイトマップ」から、「BloomMaker」 - 「コンテンツ一覧」をクリックします。

  2. 「カテゴリ新規作成」をクリックします。

  3. 以下のように設定し、「登録」ボタンをクリックします。

    • カテゴリID:im_cookbook
    • カテゴリ名:im_cookbook

コンテンツを登録する

  1. 「サイトマップ」から、「BloomMaker」 - 「コンテンツ一覧」をクリックします。

  2. コンテンツツリーから「im_cookbook」カテゴリを選択します。

  3. 「コンテンツ新規作成」をクリックします。

  4. 以下のように設定し、「登録」ボタンをクリックします。

    • コンテンツID:im_cookbook_163551
    • コンテンツ名:im_cookbook_163551

デザイン編集を行う

  1. 前項で登録したコンテンツを選択します。
  2. 「デザイン編集」ボタンをクリックします。

変数の定義

一覧データの変数と、選択したデータを代入する変数を定義します。

  1. 「変数」タブをクリックします。

  2. プルダウンの「変数」が選択されていることを確認し、「JSON」アイコンをクリックします。

  3. 「JSONエディタ」に以下のJSONを貼り付け、「決定」ボタンをクリックします。

    { "resultData": { "string": "value", "number": 0, "date": null, "boolean": true }, "listData": [ { "string": "value", "number": 0, "date": null, "boolean": true } ] }

  4. 変数「resultData」の「date」を選択し、「編集」アイコンをクリックします。

  5. 以下のように設定します。

    • 値の型:日付・時刻
  6. 変数「listData」の「date」を選択し、「編集」アイコンをクリックします。

  7. 以下のように設定します。

    • 値の型:日付・時刻
  8. 「$variable」を選択し、「JSON」アイコンをクリックします。

  9. 「JSONエディタ」に以下のJSONを貼り付け、「決定」ボタンをクリックします。

    { "resultData": { "string": null, "number": null, "date": null, "boolean": null }, "listData": [ { "string": "value1", "number": 100, "date": "2019-01-01T00:00:00.000Z", "boolean": true }, { "string": "value2", "number": 200, "date": "2019-02-02T00:00:00.000Z", "boolean": false }, { "string": "value3", "number": 300, "date": "2019-03-03T00:00:00.000Z", "boolean": true }, { "string": "value4", "number": 400, "date": "2019-04-04T00:00:00.000Z", "boolean": false }, { "string": "value5", "number": 500, "date": "2019-05-05T00:00:00.000Z", "boolean": true }, { "string": "value6", "number": 600, "date": "2019-06-06T00:00:00.000Z", "boolean": false }, { "string": "value7", "number": 700, "date": "2019-07-07T00:00:00.000Z", "boolean": true }, { "string": "value8", "number": 800, "date": "2019-08-08T00:00:00.000Z", "boolean": false }, { "string": "value9", "number": 900, "date": "2019-09-09T00:00:00.000Z", "boolean": true }, { "string": "value10", "number": 1000, "date": "2019-10-10T00:00:00.000Z", "boolean": false }, { "string": "value11", "number": 1100, "date": "2019-11-11T00:00:00.000Z", "boolean": true }, { "string": "value12", "number": 1200, "date": "2019-12-12T00:00:00.000Z", "boolean": false } ] }

アクションの作成

「変数に一覧データから選択したものを代入する」アクションを作成します。

  1. 「アクション」タブをクリックします。

  2. 「作成」アイコンをクリックします。

  3. 「変数に一覧データから選択したものを代入する」アクションをドラッグ&ドロップで配置します。

  4. 以下のように設定し、「決定」ボタンをクリックします。

    • アクション名:item_select_action

    • 変数:$variable.resultData

    • 一覧データ:$variable.listData

    • カラム:

      カラムのキーカラムの表示文字列
      stringStringColumn
      numberNumberColumn
      dateDateColumn
      booleanBooleanColumn

画面の作成

  1. エレメントパレットから、「レイアウト(imui)」 - 「フォームコンテナ」をドラッグ&ドロップで配置します。

  2. 「フォームコンテナ」の内側にある「見出しレベル2」を選択します。

  3. 「プロパティ」タブをクリックします。

    • 「エレメント固有」プロパティを以下のように設定します。
      • textContent(固定値):Item Select
  4. 「フォームコンテナ」の内側にある「入力フォーム用テーブル」を選択します。

  5. 「プロパティ」タブをクリックします。

    • 「エレメント固有」プロパティを以下のように設定します。
      • rowCount(固定値):4
  6. 「入力フォーム用テーブル」の一番上の見出しセル部分を選択します。

  7. プロパティを設定します。

    • 「エレメント固有」プロパティを以下のように設定します。
      • align:left
      • textContent(固定値):string
  8. 同様の手順で、他の見出しセル部分のプロパティを設定します。

    • 「エレメント固有」プロパティを以下のように設定します。
      • align:left
      • textContent(固定値):number
      • textContent(固定値):date
      • textContent(固定値):boolean
  9. エレメントパレットから、「汎用」 - 「ラベル」を「入力フォーム用テーブル」の各データセル部分にドラッグ&ドロップで配置します。

  10. 配置した一番上のラベルを選択します。

  11. プロパティを設定します。

    • 「エレメント固有」プロパティを以下のように設定します。
      • textContent(変数値):$variable.result.string
  12. 同様の手順で、他のラベルのプロパティを設定します。

    • 「エレメント固有」プロパティを、以下のように設定します。
      • textContent(変数値):$variable.result.number
      • textContent(変数値):$variable.result.date
      • textContent(変数値):$variable.result.boolean
  13. エレメントパレットから、「レイアウト」 - 「ボックス」を「フォームコンテナ」の内側、「見出しレベル2」の下にドラッグ&ドロップで配置します。

  14. 「プロパティ」タブをクリックします。

    • 「テキストスタイル」プロパティを以下のように設定します。
      • 横揃え:center
    • 「余白」プロパティを以下のように設定します。
      • 外余白(下):50px

  15. エレメントパレットから、「フォーム部品(imui)」 - 「ボタン」を「ボックス」の内側にドラッグ&ドロップで配置します。

  16. 「プロパティ」タブをクリックします。

    • 「エレメント固有」プロパティを以下のように設定します。
      • value(固定値):Open Dialog
    • 「イベント」プロパティを以下のように設定します。
      • クリック時:item_select_action

  17. ツールバーから「上書き保存」アイコンをクリックし、デザインを保存します。

ルーティングカテゴリを登録する

  1. 「サイトマップ」から、「BloomMaker」 - 「ルーティング定義一覧」をクリックします。

  2. 「カテゴリ新規作成」をクリックします。

  3. 以下のように設定し、「登録」ボタンをクリックします。

    • カテゴリID:im_cookbook
    • カテゴリ名:im_cookbook

ルーティングを登録する

  1. 「サイトマップ」から、「BloomMaker」 - 「ルーティング定義一覧」をクリックします。

  2. ルーティングツリーから「im_cookbook」カテゴリを選択します。

  3. 「ルーティング定義一覧」画面の「ルーティング新規作成」をクリックします。

  4. 以下のように設定し、「登録」ボタンをクリックします。

    • ルーティングID:im_cookbook_163551
    • コンテンツ:im_cookbook_163551 検索ボタンをクリックして「im_cookbook_163551」を選択します。
    • URL:im_cookbook/163551
    • ルーティング名:im_cookbook_163551

  5. 登録完了後、「認可URI」の「歯車」アイコンをクリックします。

  6. 「認可設定」画面で必要な認可設定を行います。 認可設定の詳細は以下のドキュメントをご参照ください。 intra-mart Accel Platform テナント管理者操作ガイド - 認可を設定する

実行画面で確認する

  1. デザイン編集を行った画面を表示します。 「http://localhost:8080/imart/im\_cookbook/163551」にアクセスし、画面が表示されることを確認します。

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

  2. 「Open Dialog」ボタンをクリックします。 デザイン編集時に作成したアクション「item_select_action」が実行され、ダイアログが表示されます。

  3. 一覧データから以下のデータを選択します。

    StringColumnNumberColumnDateColumnBooleanColumn
    value77002019/07/07true
    • 一覧データは文字列、数値、日付での絞り込みが可能です。
    • 一覧選択画面のデータを選択せずにダイアログを閉じた場合は、変数の代入がキャンセルされます。

  4. 元の画面に選択したデータが表示されていることを確認します。