##はじめに
参考サイト①案内しているのは単一選択したレコードをオブジェクトに代入する方法です。
「変数に一覧データから選択したものを代入する」での複数選択はできません・・・
IM-BISの「一覧選択」アイテムに「マルチセレクト」機能はありますが・・・
この記事では BloomMakerのエレメントとアクションで、複数選択機能を作ってみました。
2021/10追記
2021Summer~ 以下の改善要件がありました。
アクションアイテム「変数○に一覧データ○から選択したものを複数代入する」を提供します。
残念ですが、個別バッチモジュールはない。古いバージョンでは使えません。
そして、BloomMakerのソースは公開していませんので、独自でカスタマイズも出来なさそう。
##参考サイト
①IM-BloomMaker のアクション「変数に一覧データから選択したものを代入する」
②IM-BloomMaker 繰り返しエレメントでの変数の使い方
##大まかな流れ
・リッチテーブルの複数選択機能を利用する
・リッチテーブルをダイアログに表示する
・選択したレコードを変数に設定する
・テーブル(繰り返し)エレメントに設定して検証する
##変数例
{
"sample_multiSelect_indexList1": [],
"sample_multiSelect_indexList2": [],
"sample_multiSelect_selectedData1": [
{
"string": null,
"number": null,
"date": null,
"boolean": null
}
],
"sample_multiSelect_selectedData2": [
{
"string": null,
"number": null,
"boolean": null
}
],
"sample_headerDesigner1": {
"string": "string",
"number": "number",
"date": "date",
"boolean": "boolean"
},
"sample_headerDesigner2": {
"string": "string",
"number": "number",
"boolean": "boolean"
},
"sample_listData1": [
{
"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
}
],
"sample_listData2": [
{
"string": "value1",
"number": 100,
"boolean": true
},
{
"string": "value2",
"number": 200,
"boolean": false
},
{
"string": "value3",
"number": 300,
"boolean": true
},
{
"string": "value4",
"number": 400,
"boolean": false
},
{
"string": "value5",
"number": 500,
"boolean": true
},
{
"string": "value6",
"number": 600,
"boolean": false
}
]
}
上記をJSONエディターに貼り付けた後、変数の型を確認してください、一部を変換する必要はあります。
##実装例
#####画面作成(エレメント配置)
※具体的な設定は省略・・・
Main画面
一覧選択画面(「一覧選択2」はコピーして作ってね)
#####アクション作成
※一覧選択の決定ボタン押下のイベント処理のみを例として挙げますね。
残りのアクションは適当に実装してください〜
#####エレメント設定
リッチテーブル
##結果
選択
※FormaDesignerの「一覧選択アイテム」と違って、ページ跨いても選択可能。
以下の例では1ページ目のvalue1と2ページ目のvalue6になります
Main画面に表示
##まとめ
今回のサンプルでは以下の点を勉強しました・・・
テーブル(繰り返し)の使い方
リッチテーブルの使い方
決定ボタン押下時のカスタムスクリプトの書き方
上記のサンプルでは一つの画面に2つの「複数選択機能のエレメント群」を設定しています。
もし、もっと選択機能を配置したい場合、多少手間かかりますね・・・
2020Summerから エレメントセット という機能が提供し始めました。重複なエレメント群とアクション設定などを共通部品として作れるかもしれませんね。試しているところです・・・
2021/11/27追記:変数に属性名を設定しないと、自動で変換してもらえないので、実現できませんでした。
(IML資格目指し、eLearning受講中です・・・誤りがありましたら、ご意見いただければ助かります!・・・)