1 class Pettanr.Views.Story.PlayModule
\r
2 class Pettanr.Views.Story.PlayModule.Header extends Pettanr.Views.Show.Header
\r
4 initialize: (options) ->
\r
7 class Pettanr.Views.Story.PlayModule.Owner extends Pettanr.Views.Show.Owner
\r
9 initialize: (options) ->
\r
12 class Pettanr.Views.Story.PlayModule.Footer extends Pettanr.View
\r
14 className: 'no-border'
\r
16 initialize: (options) ->
\r
17 @panel = options.panel
\r
18 @scroll_panel = options.scroll_panel
\r
23 (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el
\r
26 (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el
\r
28 this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')))
\r
31 (new Pettanr.Views.Panel.Icon({item: @scroll_panel, half: true})).render().el
\r
34 (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el
\r
36 this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@scroll_panel.get('updated_at')))
\r
42 class Pettanr.Views.Story.PlayModule.Credits extends Pettanr.View
\r
44 className: 'credits'
\r
46 initialize: (options) ->
\r
47 @parent = options.parent
\r
48 @licensed_pictures = {}
\r
54 push: (append_pictures) ->
\r
55 _.each append_pictures, (retriever, pid) =>
\r
56 return if @licensed_pictures[pid]
\r
57 @listenTo(retriever, 'retrieve', @retrieve_picture)
\r
58 retriever.retrieve()
\r
60 retrieve_picture: (picture) ->
\r
61 @licensed_pictures[pid] = picture
\r
62 credit = picture.credit_view()
\r
63 this.$el.append(credit.render().el)
\r
65 class Pettanr.Views.Story.PlayModule.Sheet extends Pettanr.View
\r
68 initialize: (options) ->
\r
69 @story_sheet = options.story_sheet
\r
70 retriever = @story_sheet.sheet()
\r
71 @listenTo(retriever, 'retrieve', @retrieve_sheet)
\r
72 retriever.retrieve()
\r
74 retrieve_sheet: (@sheet) ->
\r
79 body = new Pettanr.Views.Sheet.PlayModule.Body({
\r
81 list: [], # list of sheets/by_story/1
\r
83 this.$el.append(body.render().el)
\r
86 class Pettanr.Views.Story.PlayModule.Sheets extends Pettanr.View
\r
89 initialize: (options) ->
\r
90 @parent = options.parent
\r
91 @items = options.items
\r
95 _.each @items, (story_sheet) =>
\r
96 return if not story_sheet.has_sheet()
\r
97 sheet_view = new Pettanr.Views.Story.PlayModule.Sheet({
\r
98 story_sheet: story_sheet,
\r
100 this.$el.append(sheet_view.render().el)
\r
103 class Pettanr.Views.Story.PlayModule.Body extends Pettanr.View
\r
106 initialize: (options) ->
\r
107 @parent = options.parent
\r
108 @list = options.list
\r
109 @items = @list.items()
\r
110 if @items.length < 1
\r
115 render_empty: () ->
\r
117 this.$el.append((new Tag.H2({content: I18n.t('stories.play.empty')})).render().el)
\r
123 sheets = new Pettanr.Views.Story.PlayModule.Sheets({
\r
127 this.$el.append(sheets.render().el)
\r
131 class Pettanr.Views.Story.Play extends Pettanr.View
\r
135 initialize: (options) ->
\r
136 @item = options.item
\r
137 @list = options.list
\r
138 icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})
\r
139 caption_url = Pettanr.url(@item.table_name(), 'play', {id: @item.get('id')})
\r
140 prof_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id'), format: 'prof'})
\r
141 @header = new Pettanr.Views.Story.PlayModule.Header({
\r
143 caption: @item.get('title'),
\r
144 icon_url: icon_url,
\r
145 caption_url: caption_url,
\r
148 @author = new Pettanr.Views.Show.HeaderAuthor({item: @item})
\r
149 @body = new Pettanr.Views.Story.PlayModule.Body({
\r
153 @owner = new Pettanr.Views.Story.PlayModule.Owner({item: @item})
\r
157 this.$el.append(@header.render().el)
\r
158 this.$el.append(@author.render().el)
\r
159 this.$el.append(@body.render().el)
\r
160 this.$el.append(@owner.render().el) if @item.is_own()
\r