はじめに
hkob の雑記録の第284回目は、昨日リストを作成した Concerts のページレイアウトを構築していきます。
プロパティの確認
Concerts が持っているプロパティは以下のようになります。Perfomances のタイトルにはリンク先の ConcertHalls からオートメーションで設定されたホール名が含まれています。せっかくなのでコンサートホールの位置をマップビューで表示したい気がします。Album と同様に孫リレーションを子リレーションにコピーする仕組みを入れてみます。

ConcertHalls に Concerts へのリレーションを追加
ConcertHalls には以下のプロパティが設定されています。

ここに Concerts のリレーションを追加しました。Concerts と ConcertHalls は多対多の関係なので、プロパティ名はそれぞれ Concerts, ConcertHalls になります。

また、この後のオートメーションを簡単に実行するために、update というチェックボックスを時限的に用意します。

ConcertHalls のオートメーションを追加
先ほど設定した Concerts リレーションを設定する Set `Concerts' from Performances オートメーションを ConcertHalls に登録しました。通常時は、Performances が更新されたら設定されるのですが、すでに設定済みのものも更新したいので、update をチェックした場合にも更新されるようにしました。

オートメーションの実行
実際に update をチェックして Concerts が設定されることを確認しました。

あとは一気にオートメーションを実行するだけです。ページを選択すると、上部に update が表示されるので、それをクリックするだけです。

クリックした瞬間に全ての Concerts が一括で設定されました。オートメーション最強すぎです。

最後にオートメーションから update のトリガを削除した上で、update プロパティも削除しました。
Concert ページのレイアウト設定
前回と同様に部分ごとに解説していきます。

- ヘッダー
- Type: コンサートの種別 (Select)
- Performance date: コンサートの日付範囲 (Date)
- Bands: バンド名 (Relation)
- Comments: コメント

コンテンツ & ページ
コンテンツには Concert Lists の同期ブロックを置きました。

- プロパティグループ
- Year: 年 (Relation)
- SetLists: セットリスト一覧 (Relation)
- Performances: 講演一覧 (Relation)
- ConcertHalls: コンサートホール一覧 (Relation)
これらの属性はユーザに見せる必要はないので、デフォルトで非表示

- SetLists タブ
- リストビューで表示
- Name 順に並び替え

- Performances タブ
- テーブルビューで表示
- Order で並び替え

- ConcertHalls タブ
- 地図ビューで表示
- 今回追加した Concerts ↔ ConcertHalls のリレーションで実現
表示例
Performances タブはこんな感じになりました。「この街」の途中のセリフに出てくるご当地の名産もこんな感じで掲載されています。これも集計すると面白いかもしれませんね。

ConcertHalls タブはこんな感じになります。本来は全県ツアーなので、全ての県にピンが振られるはずなんですが、32箇所は登録できていません。すでに場所がなくなっていたりして、ピンを立てられていないホールなどがあるためです。

おわりに
今回は、約束通り Concert ごとのページレイアウトを作成しました。マップビューができてからやりたかったコンサートごとの会場一覧が実現できてよかったです。