コミック閲覧表示 @ ComicsView

参考:ComicsPlay

htmlのとき

  • comic (*)
    • author (*)

jsonのとき

このときcomicモデルの単体出力オプションを利用する。

  • comic (*)
    • author (*)

コマの部品の扱い方

コマ上の部品であるコマ絵とフキダシは時系列tでソートして返さなければならない。表示的にはすべてが時間で上から下に流れるのがぺったんRの仕様である。しかし、sqlでは二つのテーブルを混ぜてソートはできないので時系列順に配置しなおして(配列のキーをtにして)戻さなければならない。balloons配下のspeachesも同様にtでソートしておくが、こちらはコマの部品のように複数オブジェクトにまたがらないので、配列に置き直すまでもなく、ただのソートでよい。

panels: [
  {
    id: 1, width: 100, height: 100,
    panel_elements: [
      balloons: {t: 0, ...},
      panel_pictures: {t: 1, ...},
      balloons: {t: 2, speaches: [{t: 0,...}, {t:1,...}]},
      panel_pictures: {t: 3, ...},
    ]
  }, 
  {...}
]

表示

表示義務

  • 下記のカラムを表示する場合、表示義務が発生する。
    • comic.title
    • panelsのすべてのカラムと配下のmodelのすべてのカラム
  • comic.titleを表示しなければならない。
  • comic.author.nameを表示しなければならない。
  • すべてのpanelsについて、panel.authorを表示しなければならない。
    • ただし、すべてのコマの作家が同一であれば、一つにまとめてよい。
  • すべてのresource_pictureについて、次のカラムを表示しなければならない。
    • artistの名前
    • licenseの名前
    • ただし、同一素材が複数枚出現するときは、それらを一つにまとめてよい。
  • 下記のModelについて、より詳細な情報を閲覧できるページへ遷移する措置を用意しなければならない。
    • comic.author
    • panel.author
    • resource_picture.artist
    • resource_picture.license

表示推奨

  • 最新投稿日時は表示したほうが良い。
  • 公開フラグ
  • 一般投稿可否フラグ