Amazon Honeycodeで欲しいものリストを作る

# 概要
Amazon Honeycodeで欲しいものリストを作ってみた。
備忘録として作り方をまとめる。

# 前提
- Amazon Honeycodeのアカウントを持っていること
※持ってない人は[こちら](https://www.honeycode.aws/)から。無料で作れます。

# 完成イメージ
![ezgif-6-edc39cb16482.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/03730b72-7b18-e874-5e54-016fb501bf25.gif)

# 作り方

## １．workbookを作る
複数のテーブルをまとめたworkbookを作る。
Excelでいうところのbookのようなもの。
#### workbookを作る
以下からログインする
`https://builder.honeycode.aws/auth/login`

表示された画面の右上のにある青いボタン（Create workbook）を押して、[Start from scratch]を選択する
![01_createworkbook.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/0c6da393-1d43-04e8-167b-7c851af62318.png)

しばらく待つと、こんな画面にリダイレクトする。
![スクリーンショット 2020-06-29 23.03.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/31d46f9d-853c-eed1-61a0-dbabab1d49e2.png)

左のメニューから表のマークを選んで、workbookに名前を付ける。
ここでは、[Wish Management]とした。
![スクリーンショット 2020-06-29 23.03.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/1e2740ba-f5a6-cabf-d428-bf251c09b534.png)

これでworkbookができた。

## ２．欲しいものを保持するテーブルを作る
Excelっぽくテーブルを作っていく。
#### テーブルを作る
左のメニューから表のマークを選んで、表示された[Table1]を右クリック→[Rename]と選択してテーブルの名前を変更する。
ここでは、[WishItem]とした。
![スクリーンショット 2020-06-29 23.04.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/6e1d1515-aa1a-d080-b58b-242fe8125712.png)

#### データを登録する
下記の図のようにデータを入力する。
![スクリーンショット 2020-06-29 23.06.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/f1876afa-1207-5fdf-0cec-ea722ca48aec.png)

これでテーブルができた。

## ３．欲しいものリストを画面に表示する
まずは、アプリケーションを作って、その中に欲しいものリストを表示する画面を作成していく。
#### アプリケーションを作成する
左側のメニューの真ん中のアイコンを選んで、プラスアイコンをクリックして、[Build your own]を選択してアプリケーションを作成する。
![スクリーンショット 2020-06-29 23.07.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/8403f1d8-bb68-43f2-5e94-fb80b292ebd4.png)

[App1]を右クリック→Renameと選択し、名前を[Wish list]に変更する。
![スクリーンショット 2020-06-29 23.07.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/090c3b11-3936-366b-2167-742091a9e7b8.png)

#### 欲しいものリストを表示する画面を作る
作成した[Wish list]をクリックして、画面を切りかえる。
左側のメニューの上段にある[Webタブ]を選択する。
画面名を[Wishes]にし、画面上部のContentBoxに[Wishes]と入力する。
![スクリーンショット 2020-06-29 23.08.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/a26e2848-a554-4b1b-46a2-5de8081dca96.png)

左下の青いボタン（Add objects）を選択し、[Content Box]を選択し、[Content Box]を画面に配置し、下記のように編集する。
- 表示文言：欲しいものリスト
- 文字の太さ：Bold
- 文字サイズ：16px
![スクリーンショット 2020-06-29 23.11.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/c19f1019-e61f-5aec-e3ed-28cf1ca973aa.png)

左下の青いボタン（Add objects）から[Column list]を選択し、画面に配置する。ポップアップが出てきたら、そのまま[Create]を押す。

ここまで出来たら、画面右上の[view app]を押して表示を確認する。
こんな感じの画面が表示されればOK。
![スクリーンショット 2020-06-29 23.12.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/6c6cc691-bc23-7db6-eb47-cb09318e2e03.png)

#### 見た目を変える
本質的ではないけど、好みで見た目を整える。
##### Searchの入力フォームを消す
[Column list]のプロパティで[Search]のチェックボックスを外す。
![スクリーンショット 2020-06-29 23.13.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/47e4f230-1d22-06a7-fa29-3fd32f280d28.png)
##### リストのヘッダを消す
下記の画像で選択しているBlockを削除する。
![スクリーンショット 2020-06-29 23.13.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/ed992acb-9fc7-6246-ead7-dcad9014d2ab.png)
##### 金額項目を見やすくする
金額項目の[DataCell]を選択し、プロパティでDISPLAYタブを開き、下記のように設定する。
良くなったかはわからないが、見た目が変わる。
- Format：Currency
- Decimal Piaces：0
さらに金額項目の[DataCell]の一つ外側にある[ContentBox]を右揃えにする。
![スクリーンショット 2020-06-29 23.14.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/8dc033c2-cc16-fabb-b483-0a1cf3d96681.png)

ここまで来たら、もう一度[view app]で表示を確認する。
![スクリーンショット 2020-06-29 23.14.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/cfd56a5a-d172-4f08-3545-6e0977f08d73.png)

これで欲しいものリストを表示する画面ができた。

## ４．優先度に応じてバッジの色を変える
優先度highを赤色で、midをオレンジで、lowを青色で表示したい。
#### 赤/オレンジ/青のバッジを用意する
優先度を表示している[ContentBox]を選んで、下記のようにスタイルを変更する。
- 背景色：赤
- 文字色：白
- 文字配置：中央寄せ
![スクリーンショット 2020-06-29 23.17.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/bb1e08e8-1f85-ed0f-21cd-4c100c61e2fa.png)

さらに上記で編集した[ContentBox]を２回コピーする。
コピーで作成された２つの[ContentBox]について、それぞれ背景色をオレンジと青に変更する。
![スクリーンショット 2020-06-29 23.18.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/d9f77fa3-4360-9db6-4ae2-54fc2a10d714.png)

#### 優先度の値に応じて、表示するバッチを変える
赤色の[ContentBox]を選択して、プロパティを開き、DisplayタグのSet visibilityのところに下記のように入力する。
`=[priority]="high"`
![スクリーンショット 2020-06-29 23.19.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/0f4b9df2-2bc0-0585-689e-a328c0c5b698.png)

同様にオレンジの[ContentBox]には、`=[priority]="mid"`と入力し、青の[ContentBox]には`=[priority]="low"`と入力する。

ここまで来たら、[view app]で表示を確認する。
![スクリーンショット 2020-06-29 23.20.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/f4cf0002-2611-b621-6502-b3cbc2608c3d.png)

## ５．ステータスによって表示を変える
完了済みのアイテムは、✔マークが表示されるようにしたい。
#### 完了済みと未完了のマークを用意する
欲しいものの名前を表示している[ContentBox]の幅を少し短くして、左側に隙間を作る。
![スクリーンショット 2020-06-29 23.21.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/8bdee4d7-8433-cc65-d983-eec476a5ca5a.png)

作った隙間にContent Boxを追加する。
![スクリーンショット 2020-06-29 23.22.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/d484d48d-b359-b109-545c-da0865041540.png)

追加したContentBoxに「✔」のマークを入れる。このマークは、ひらがなで「ちぇっく」と入力して変換したら出てくると思う。入力したら中央ぞろえにして、太文字にして、緑色にする。
![スクリーンショット 2020-06-29 23.23.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/e48d4b86-96e4-759d-4ee1-d824142adc73.png)

上記で作ったContentBoxをコピーして、もう一つContentBoxを作る。
中身を「✔」から「〇」に変更する。このマークは、ひらがなで「まる」と入力して変換したら出てくると思う。
入力したら文字の色を、グレーに変更する。
![スクリーンショット 2020-06-29 23.23.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/dcf3a322-7dc9-56da-d50a-b4cc3347877c.png)

#### ステータスの値に応じて、表示するマークを変える
緑の✔のプロパティを開き、DisplayのSet visibilityに`=[status]="done"`と入力する。
同様にグレーの〇のプロパティを開き、DisplayのSet visibilityに`=[status]<>"done"`と入力する。
これで、ステータスがdoneの時に✔が表示されて、ステータスがdoneじゃないときに〇が表示されるようになる。

これで、一番右側のステータスを表示しているContentBoxがいらなくなるので削除する。
![スクリーンショット 2020-06-29 23.25.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/b4edd23f-088f-a219-f6df-a7263ecc50f0.png)

ここまできたらview appで表示を確認する。
ステータスに応じてチェックの表示が変わっていることがわかる。
![スクリーンショット 2020-06-29 23.26.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/43645006-de23-8d62-7056-f06dbc8d037b.png)

## ６．欲しいもの追加機能を作る
欲しいものリスト追加画面を用意し、欲しいものリストを追加できるようにする。
#### 欲しいものリスト追加画面を作る
左側のScreensの「＋」ボタンを押して画面を追加し、画面名を[Add]に変更する。
![スクリーンショット 2020-06-29 23.26.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/64668a1f-bb92-5fb2-d345-f010ee69d8c5.png)

画面の一番上のContentBoxに[Add]と入力し、さらにその下にContentBoxを追加して[欲しいものを追加する]と入力する。
[欲しいものを追加する]の文字サイズを16pxで太文字にする。
![スクリーンショット 2020-06-29 23.27.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/657265de-665e-7e65-c67a-31ad094a75b7.png)

#### 入力フォームを作る
左下の青いボタン（Add Object）からSegmentを選び、[欲しいものを追加する]の下に追加する。
![スクリーンショット 2020-06-29 23.27.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/20600ac7-924c-1f93-178a-f85a7ab486a6.png)

Segmentの中にあるContentBoxの幅を狭くし、空いた領域にDataCellを追加する。
![スクリーンショット 2020-06-29 23.28.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/ba7b9841-3c70-b92c-58a0-bc1ef4d7cab0.png)

DataCellを追加すると自動的にContentBoxも追加されるため、Segmentの中にはContentBoxが左右に並んでいる状態になると思う。
それぞれのContentBoxを3回コピーして、下記のようにする。
![スクリーンショット 2020-06-29 23.28.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/83a6c03d-7934-1e7d-d6cb-147f7a28bd5a.png)

左側のContentBoxに[欲しいもの][金額][優先度]と入力する。
![スクリーンショット 2020-06-29 23.29.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/2f370196-7b68-6987-6e12-5f1d26bb4dac.png)

[欲しいもの]の横にあるDataCellのプロパティを開き、名前を[name]に変更する。
![スクリーンショット 2020-06-29 23.29.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/20bc9470-c980-01f8-9c50-f698c1f31e3d.png)

[金額]の横にあるDataCellのプロパティを開き、名前を[price]に、Formatを[Currency]に、Decimalを[0]に設定する。
![スクリーンショット 2020-06-29 23.29.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/1e1d7d90-d40f-d8dd-7974-ce2c7b503e2f.png)

[優先度]の横にあるDataCellのプロパティを開き、名前を[priority]に変更する。
![スクリーンショット 2020-06-29 23.30.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/a39e820b-a719-dfa5-c809-6712d3672a83.png)

#### 追加ボタンを配置する
BlockにさらにSegmentを追加する。
![スクリーンショット 2020-06-29 23.30.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/47ddad12-127e-b77d-4420-ec54d13b7443.png)

Segmentの中にボタンを追加する。
![スクリーンショット 2020-06-29 23.32.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/156d9a1f-5ac5-4f80-e9af-a424c0dec739.png)

表示文言を[追加]に変更する。横幅と背景色を好みで変える。
![スクリーンショット 2020-06-29 23.32.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/31819221-cd87-d0cc-6641-be162e2b3ec0.png)

#### 追加ボタン押下時の動作を定義する
追加ボタンのプロパティを開き、Actionsタブ→Edit automationを選択する。
![スクリーンショット 2020-06-29 23.33.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/9101260c-c989-2442-26ed-a00cfe531a92.png)

[Add Actions]→[Add row]を選択する。
![スクリーンショット 2020-06-29 23.33.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/58a45ff8-b19e-0b8a-2562-535d1ebc1588.png)

Add row toのプルダウンで[WishItem]を選択する。
![スクリーンショット 2020-06-29 23.33.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/3c93dbac-86cd-df4d-74b8-4237e5da74e7.png)

[Take data from]に`=$[name]`を、[and write to]に`=[name]`と入力する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/fb2fe155-2439-5bdd-ea5e-9b77059eebc8.png)

Add anotherをクリックして次のフォームを表示し、同様に下記を入力する。
- [Take data from]：`=$[price]`
- [and write to]  ：`=[price]`

さらにAdd anotherをクリックして次のフォームを表示し、同様に下記を入力する。
- [Take data from]：`=$[priority]`
- [and write to]  ：`=[priority]`

[+ Add actions]→Navigateを選択する。
![スクリーンショット 2020-06-29 23.34.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/1da992ec-f795-2544-1cb2-f02aee7131cc.png)

[Navigate to new screen]を選択して、プルダウンで[Wishes]を選択する。
![スクリーンショット 2020-06-29 23.34.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/54125a4e-2a1f-183f-a52d-71fd726d65a7.png)

#### 欲しいものリスト画面に欲しいもの追加画面へのリンクを配置する
Wishes画面に戻って、画面一番下にSegmentを追加する。
![スクリーンショット 2020-06-29 23.35.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/468b5064-14de-4ea3-d50e-e2257bcec269.png)

Segmentの中にボタンを追加して、表示文言を[追加]に変更する。適当に幅や色を調整する。
![スクリーンショット 2020-06-29 23.36.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/9e869df6-9e37-4ede-af2c-26b30562627f.png)

ボタンのプロパティを開き、Actionsタブ→[Navigate to new screen]を選択し、プルダウンで[Add]を選択する。
![スクリーンショット 2020-06-29 23.36.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/e50d9dd8-e966-7849-fcaa-8cf7a24c3bec.png)

## ７．優先度をプルダウンで選べるようにする
欲しいもの追加画面で優先度の入力がフリーテキストになっているので、プルダウンから選べるようにする。

#### プルダウンの内容を保持するテーブルを作る
左のメニューからテーブルのマークを選び、Tablesの横の＋ボタンを選択する。プルダウンが出てくるので、[add a blank table]を選択し、テーブルを追加する。テーブルの名前は、[M_Priority]にする。
![スクリーンショット 2020-06-29 23.38.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/7dc05bad-a650-4ea8-d766-26f1c8005019.png)

作ったテーブルに下記のようにデータを登録する。
![スクリーンショット 2020-06-29 23.38.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/f9e4737f-2732-3c2f-b56b-7cebcee49af4.png)

#### 優先度のフォームをプルダウンにする
Add画面に戻り、priorityのDataCellのプロパティを下記の通り変更する。
- Format：Rowlink
- Source Type:Table
- Source table:M_Priority
![スクリーンショット 2020-06-29 23.39.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/ede632a2-1fc6-b881-d238-861e8a9fb172.png)

view appで追加画面を確認する。
優先度がドロップダウンリストで入力できるようになっているはず。
![スクリーンショット 2020-06-29 23.39.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/0ca9ca71-1dcb-0429-a90b-a4bd1ad36f30.png)

## ８．欲しいもの編集機能を作る
欲しいもの編集画面を用意し、既存の欲しいものを編集できるようにする。
遷移元の画面から編集対象レコードの情報を受け取り、編集画面で編集する流れとなる。

#### 編集画面を作る
Addページをコピーして、Editページを作る。
下記の図で星がついている箇所の文言を、図の通り変更する。
![スクリーンショット 2020-06-29 23.40.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/cf29143a-c8e6-7f87-3206-6d5c1e7aece4.png)

#### 遷移元画面から編集対象レコードを受け取るための変数を定義する
画面の最下部にDataCellを追加し、DataCellのプロパティを下記の通り編集する。
- 名前：WishItem
- DataタブのType：Variable
![スクリーンショット 2020-06-29 23.42.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/d9faad0b-50df-8617-164e-6566646b7dd9.png)

さらに、DataCellのプロパティのDisplayタブのVisibilityに`=false`と入力する。
![スクリーンショット 2020-06-29 23.41.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/1ab5db3f-dfe8-85fc-50e8-b0920470a433.png)

#### 変数の内容を編集フォームに渡す
フォームをかこっているBlockのプロパティを開き、DataタブのSetSourceに`=$[WishItem]`と入力する。
![スクリーンショット 2020-06-29 23.42.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/8b750ffc-33d8-f24c-e54f-a7023b7f2601.png)

#### 編集ボタンを作る
ボタンを修正する。
ボタンの文言を[更新]に変更する。
![スクリーンショット 2020-06-29 23.42.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/6a0b18d2-1f14-6780-7467-56c2984287e7.png)

ボタンのプロパティを開いて、Actionsタブ→Edit automationを選択して、ボンタ押下時の動作定義を開く。
中断に[Add row to WishItem..(中略)]と記載されたカードがあると思うので、下記図のようにメニューを開いて、Deleteを選択する。
![スクリーンショット 2020-06-29 23.43.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/180e4e4b-5c9e-e3b2-2ca3-19e5fe59d313.png)

Add Actionsボタン→Overwriteを選択する。
表示された入力フォームに下記のように登録する。
![スクリーンショット 2020-06-29 23.43.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/20236671-87fe-86c4-8c5b-068c0c3264f0.png)

+Add anotherを選択して、同様に下記のように入力する。
![スクリーンショット 2020-06-29 23.44.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/e47f8d2f-96b5-3518-32c3-2afe6c489c91.png)

さらに+Add anotherを選択して、同様に下記を入力する。
![スクリーンショット 2020-06-29 23.44.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/a2d05023-016a-62bd-81c2-ec5125161410.png)

#### 欲しいものリスト画面に編集画面へのリンクを用意する
Wishes画面を開き、Listの中に編集ボタンを配置する。
追加したら、適当に色や文言を変更する。
※図ではDataCellを追加しているが、ボタンのほうが良い。
![スクリーンショット 2020-06-29 23.46.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/34f638e1-d024-77ce-03f7-08f217bf2a7c.png)

#### ボタンを押したときに、編集画面に対象レコードを渡すように設定する
編集ボタンのプロパティでActionsタブを下記のように編集する。
- On Click：Navigation to new screenを選択
- 対象画面のプルダウン：Editを選択
- Set VaiablesのTake Data From：`=THISROW()`を入力
- Set Valiablesのadd write to:`=$[WishItem]`を入力
![スクリーンショット 2020-06-29 23.46.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/0a1e0cb3-72cd-6483-1e6c-990f74efa230.png)

## ９．欲しいもの削除機能を作る
既存のレコードを削除する機能を作る。
#### 削除ボタンを配置する
Wishes画面のListの中にボタンを追加して、文言を[削除]にする。
色を適当に変える。
![スクリーンショット 2020-06-29 23.53.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/d73465b2-3379-c72b-10d4-fcedc4dfdcb4.png)

#### ボタン押下時のアクションを定義する
削除ボタンのプロパティを開き、ACTIONSタブ→Create an auttomationを選択する。
さらにAdd Actionsを選択し、Delete a rowを選択する。
![スクリーンショット 2020-06-29 23.53.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/18588f42-cb3d-11c8-cb02-59f496ccb998.png)

List内の各要素の幅や位置を微修正し、下記のように整える。
![スクリーンショット 2020-06-29 23.54.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/31969f41-7077-56c0-d024-6ddfb837323f.png)

## １０．完了済みのアイテムの表示非表示を切り替えるトグルを作る
欲しいものリストに完了済みのアイテムを表示するか否かを切り替えるトグルを作る。

#### トグルの状態を保持する変数を宣言する
画面の一番下にDataCellを追加し、名前を[isDisplayDoneItem]にする。
画面に表示しないため、Visibitlityを`=false`にする。
![スクリーンショット 2020-06-29 23.56.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/d4698123-b6a7-d5b0-c958-79d5405654ec.png)

#### とるグルを切り替えるためのリンクを配置する
[欲しいものリスト]の文言の下に、Content Boxを２つ追加し、それぞれ下記の文言を設定する。フォントサイズは12pxとする。
- ▼完了済みのアイテムを隠す
- ▼完了済みのアイテムを表示する。
![スクリーンショット 2020-06-29 23.57.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/ff4172fe-06ba-3228-b6b1-4619e2435d98.png)

[▼完了済みのアイテムを隠す]のVisibilityを`=$[isDisplayDoneItem]=true`にする。
[▼完了済みのアイテムを表示する]のVisibilityを`=$[isDisplayDoneItem]=false`にする。
※図は、[▼完了済みのアイテムを隠す]の設定イメージ
![スクリーンショット 2020-06-29 23.58.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/790c7203-f64d-a2a2-128d-6ef46f105f25.png)

[▼完了済みのアイテムを隠す]のプロパティでACTIONSタブを開き、下記のように設定。
- On click:Update current screenを選択
- valiablesのtake data from:`=false`を設定
- valiablesのand write to:`=$[isDisplayDoneItem]`を設定
![スクリーンショット 2020-06-29 23.59.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/5ea34637-f330-572e-c25a-843bb6d94cdc.png)

[▼完了済みのアイテムを表示する]のプロパティでACTIONSタブを開き、下記のように設定。
- On click:Update current screenを選択
- valiablesのtake data from:`=true`を設定
- valiablesのand write to:`=$[isDisplayDoneItem]`を設定
![スクリーンショット 2020-06-29 23.59.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/add9f2f9-4533-7e67-8220-08137be238fa.png)

#### トグルの状態によって、Listにバインドするデータの内容を変える
Listのプロパティを開き、DataタブのSet Sourceに下記の内容を入力する。
`=if($[isDisplayDoneItem]=true,WishItem,FILTER(WishItem,"WishItem[status]<>""done"""))`
![スクリーンショット 2020-06-30 00.06.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/ca77066c-d877-89d6-28cc-c245b411a840.png)

## １１・完了済みのステータスをワンクリックで切替らっれるようにする
✔のContent Boxのプロパティを開き、ACTIONSタブのCreate an automationを選択する。
表示された画面で、Add actionsをクリックし、Overwriteを選択する。
![スクリーンショット 2020-06-30 00.09.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/6f246af7-c021-2f2e-8937-c4abe90c8712.png)

表示された画面の入力フォームで、下記のように入力する。
- Take data from:`=""`
- and write to:`=[status]
- ![スクリーンショット 2020-06-30 00.09.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/fd9156e2-c401-e8a4-b521-3134dccfb198.png)

上記と同様に〇のContent Boxについても、プロパティ→ACTIONSタブ→Create an automation→Add Actions→Overwriteと進み、入力フォームで下記のように入力する。
- Take data from:`="done"`
- and write to:`=[status]
![スクリーンショット 2020-06-30 00.10.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178845/fcbb1868-3015-44f3-edc7-0e78cbd42781.png)

おわり