作成機能を実装する
Firestore に新しく商品を追加する
商品の一覧情報をテーブルに表示する
- [データフロー] 内の [新規作成] をクリックし、データフロー名を
listProductsに変更する。 - データソースで
Onboarding Firebaseを選択する。 - [Action] で
List documentsを選択し、 [Collection] にproductsと入力する。 - [実行する] をクリックする。
- [テーブル] を配置し、エディターの [データ] に
{{ listProducts.data }}と入力する。
商品の追加を行うコンポーネントを配置する
- [カラム] を配置する。
- [カラム] の左側に先ほど配置した**[テーブル]** を、右側に [インプット] を 2 つと [セレクト] と [テキストエリア] と [ボタン] を配置する。
- カラムの右側に設置した [input1] 、[input2] 、 [select1] 、 [textarea1] 、 [button1] のエディター内の [ラベル] にそれぞれ
id、title、category、description、商品を追加すると入力する。 - [カラム] の幅を調節する。
商品データのカテゴリ一覧をデータフローで取得し、セレクトの値として表示する
- [データフロー] 内の [新規作成] をクリックし、データフロー名を
listCategoriesに変更する。 - データソースで
Onboarding Firebaseを選択する。 - [Action] で
List documentsを選択し、 [Collection] にcategoriesと入力する。 - [実行する] をクリックする。
- [セレクト] を配置する。
- [セレクト] のエディターを開き、 [Values] に
{{ listCategories.data.map(d => d.id) }}と入力する。 - [Labels] に
{{ listCategories.data.map(d => d.name) }}と入力する。
商品の追加を行うデータフローを作成し、ボタンと紐づける
- [データフロー] 内の [新規作成] をクリックし、データフロー名を
createProductに変更する。 - データソースで
Onboarding Firebaseを選択する。 - [Action] で
Set documentを選択し、 [Collection] にproductsと入力する。 - [Data] に以下のように記述する。
{
"id": {{ input1.value }},
"title": {{ input2.value }},
"category": {{ select1.value }},
"description": {{ textarea1.value }}
}- [button1] を選択し、[イベントを追加する] をクリックし、[データフロー] で
createProductを選択する。
空欄がある場合にボタンを disable にする
- [button1] を選択し、[無効にする条件] に
{{ !input1.value || input2.value === '' || select1.value === '' || textarea1.value === '' }}と記述する。