class Pettanr.Views.Comic.ShowModule class Pettanr.Views.Comic.ShowModule.Header extends Pettanr.Views.Show.Header initialize: (options) -> super(options) class Pettanr.Views.Comic.ShowModule.Owner extends Pettanr.Views.Show.Owner initialize: (options) -> super(options) class Pettanr.Views.Comic.Show extends Backbone.View tagName: 'div' className: 'show' initialize: (options) -> @item = options.item icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')}) caption_url = Pettanr.url(@item.table_name(), 'play', {id: @item.get('id')}) prof_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id'), format: 'prof'}) @header = new Pettanr.Views.Scroll.ShowModule.Header({ item: @item, caption: @item.get('title'), icon_url: icon_url, caption_url: caption_url, prof_url: prof_url }) @author = new Pettanr.Views.Show.HeaderAuthor({item: @item}) @owner = new Pettanr.Views.Comic.ShowModule.Owner({item: @item}) @listenTo(@header, 'click:pick', @click_pick) @listenTo(@header, 'click:icon', @click_show) @listenTo(@header, 'click:caption', @click_show) @listenTo(@header, 'click:prof', @click_prof) @listenTo(@author, 'click:author', @click_author) @listenTo(@owner, 'click:edit', @click_edit) @listenTo(@owner, 'click:destroy', @click_destroy) render: () -> this.$el.html('') this.$el.append(@header.render().el) this.$el.append(@author.render().el) this.$el.append(@owner.render().el) if @item.is_own() this click_show: () -> @trigger('http_get', @item.show_url()) click_author: () -> @trigger('http_get', @panel.author().show_url()) click_prof: () -> @trigger('http_get', @item.prof_url()) click_edit: () -> @trigger('http_get', @item.edit_url()) click_destroy: () -> redirect = (url) => @trigger('http_get', url) Pettanr.Proxy.destroy(@item, {redirect: redirect}) click_pick: () -> @trigger('pick', @item) is_pickable: () -> true add_pick: (target_model) -> @header.add_pick(target_model)