こいけるの日記

データサイエンス / データエンジニアリングに興味がある若手SIer社員の日記

【Pega】オートコンプリート機能を実装する

f:id:zaohgyu:20191110170601p:plain

やりたいこと

下の画像のように、データのリストを参照して入力を自動補完(オートコンプリート)してくれるフォームを作成したい。

f:id:zaohgyu:20191112231137p:plain

f:id:zaohgyu:20191112231200p:plain

現在(Pega Platform v8.3)では、リストのソースとして以下の4つから指定できる。

  • As defined on property
  • Data Page
  • Clipboard Page
  • Report Definition

今回はData Pageを使用する方法を紹介。

Step1:データタイプの作成

Dev StudioのData typesを選択し、Add data typeをクリック。

f:id:zaohgyu:20191112233404p:plain

LabelとDescriptionを適当につけてSubmitをクリック。

f:id:zaohgyu:20191112234415p:plain

Data modelタブで+Add fieldから、オートコンプリートのリストに表示させたい項目を作成する。

今回は犬種を表す "Breed"というPropertyと、犬種のグループを表す"Group"というPropertyを作成する。

f:id:zaohgyu:20191112234714j:plain

f:id:zaohgyu:20191112234908p:plain

Step2:データページの作成

次にSourceタブからCreate a locale sourceを選択する。

f:id:zaohgyu:20191113000241j:plain

するとこんな感じの画面が出てくるので、どの項目をレコードのキーにするか選択したうえ(Use as Key)Submitを押下する。

f:id:zaohgyu:20191113000428p:plain

次にRecordタブで、+Add recordからレコードを作成する。

f:id:zaohgyu:20191113000619j:plain

f:id:zaohgyu:20191113000630p:plain

Step3:フォームの作成

次は実際に画面でオートコンプリートを使ったフォームを作成する。

オートコンプリートを使いたい画面で、DesignタブからPickers>Autocompleteを使いたい箇所にドラッグ&ドロップする。

f:id:zaohgyu:20191113001649j:plain

作成した項目で、オートコンプリートで値を入れたいケースプロパティを指定する(ここでは .DogBreed.Breed)。

f:id:zaohgyu:20191113001959p:plain

さらにその下のList Sourceで、TypeData Pageに設定したうえ、Data Pageに先ほど作成したデータページを選択する。

作成したデータページは、先ほどのデータタイプのUsageタブから確認可能。

そしてSearch results configurationにて、オートコンプリートでリストとして表示するプロパティを選んだうえ(ここでは.Breed)、showUse For Searchにチェックをつけておく。

また、表示と補完に使う項目以外にも、先ほどレコードで作ったプロパティを参照し、Set valueにチェックを入れることで、ケースプロパティにその値を設定することも可能。ここでは.Groupを.DogBreed.Groupに設定している。

f:id:zaohgyu:20191113003606p:plain

完成図

該当のフィールドにカーソルを合わせ、↓を押すとリストが表示される。 f:id:zaohgyu:20191113003925p:plain

ワードを入力すると補完が走る。 f:id:zaohgyu:20191113003945p:plain

さらに、補完される項目以外の項目も自動で設定されている。 f:id:zaohgyu:20191113003955p:plain

環境

Pega Platform 8.3.0(Personal Edition)を使用

おわり~