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 @operators = options.operators 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, operators: @operators, 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, operators: @operators}) @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(@operators) this click_show: () -> @trigger('navigate', @item.show_url()) click_author: () -> @trigger('navigate', @panel.author().show_url()) click_prof: () -> @trigger('navigate', @item.prof_url()) click_edit: () -> @trigger('navigate', @item.edit_url()) click_destroy: () -> @trigger('navigate', @item.destroy_url())