class Pettanr.Views.Comic.PlayModule class Pettanr.Views.Comic.PlayModule.Footer extends Pettanr.View tagName: 'table' className: 'no-border' initialize: (options) -> @panel = options.panel @scroll_panel = options.scroll_panel render: () -> this.$el.html('') this.$el.append( (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el ) this.$el.append( (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el ) this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at'))) # this.$el.append( (new Pettanr.Views.Panel.Icon({item: @scroll_panel, half: true})).render().el ) this.$el.append( (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el ) this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@scroll_panel.get('updated_at'))) # if @panel.is_own() this.$el.append('') this class Pettanr.Views.Comic.PlayModule.Story extends Pettanr.View tagName: 'div' initialize: (options) -> @comic_story = options.comic_story @comic_story.get_parent('story', this, { success: (@story) => @render() }) render: () -> this.$el.html('') this.$el.append('title') this.$el.append('order') this class Pettanr.Views.Comic.PlayModule.Stories extends Pettanr.View tagName: 'div' initialize: (options) -> @parent = options.parent @items = options.items render: () -> this.$el.html('') _.each @items, (comic_story) => return if not comic_story.has_story() story_view = new Pettanr.Views.Comic.PlayModule.Story({ comic_story: comic_story }) this.$el.append(story_view.render().el) this class Pettanr.Views.Comic.PlayModule.Body extends Pettanr.View tagName: 'div' initialize: (options) -> @parent = options.parent @list = options.list @items = @list.items() if @items.length < 1 @render_empty() else @render() render_empty: () -> this.$el.html('') this.$el.append((new Tag.H2({content: I18n.t('comics.play.empty')})).render().el) this render: () -> this.$el.html('') panels = new Pettanr.Views.Comic.PlayModule.Stories({ parent: this, items: @items, }) this.$el.append(panels.render().el) this class Pettanr.Views.Comic.Play extends Pettanr.View tagName: 'div' className: 'show' initialize: (options) -> @item = options.item @list = options.list 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.Comic.PlayModule.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}) @body = new Pettanr.Views.Comic.PlayModule.Body({ parent: this, list: @list, }) @owner = new Pettanr.Views.Comic.PlayModule.Owner({item: @item}) render: () -> this.$el.html('') this.$el.append(@header.render().el) this.$el.append(@author.render().el) this.$el.append(@body.render().el) this.$el.append(@owner.render().el) if @item.is_own() this