森高千里データベースの再構築(27) : hkob の雑記録 (284)

はじめに

hkob の雑記録の第284回目は、昨日リストを作成した Concerts のページレイアウトを構築していきます。

プロパティの確認

Concerts が持っているプロパティは以下のようになります。Perfomances のタイトルにはリンク先の ConcertHalls からオートメーションで設定されたホール名が含まれています。せっかくなのでコンサートホールの位置をマップビューで表示したい気がします。Album と同様に孫リレーションを子リレーションにコピーする仕組みを入れてみます。

Concerts が持っているプロパティ

ConcertHalls に Concerts へのリレーションを追加

ConcertHalls には以下のプロパティが設定されています。

ConcertHalls のプロパティ

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

Concerts と ConcertHalls のリレーションを追加

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

update チェックボックスを追加

ConcertHalls のオートメーションを追加

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

Set `Concerts' from Performances オートメーション

オートメーションの実行

実際に update をチェックして Concerts が設定されることを確認しました。

update をチェックして確認

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

全てのページを選択

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

update を一括チェック → オートメーション実行

最後にオートメーションから update のトリガを削除した上で、update プロパティも削除しました。

Concert ページのレイアウト設定

前回と同様に部分ごとに解説していきます。

ヘッダー

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

コンテンツ & ページ

  • コンテンツ & ページ

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

プロパティグループ

  • プロパティグループ
    • Year: 年 (Relation)
    • SetLists: セットリスト一覧 (Relation)
    • Performances: 講演一覧 (Relation)
    • ConcertHalls: コンサートホール一覧 (Relation)

    これらの属性はユーザに見せる必要はないので、デフォルトで非表示

SetLists タブ

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

Performances タブ

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

ConcertHalls タブ

  • ConcertHalls タブ
    • 地図ビューで表示
    • 今回追加した Concerts ↔ ConcertHalls のリレーションで実現

表示例

Performances タブはこんな感じになりました。「この街」の途中のセリフに出てくるご当地の名産もこんな感じで掲載されています。これも集計すると面白いかもしれませんね。

Performances タブの表示例

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

ConcertHalls タブの表示例

おわりに

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

hkob.notion.site