1 class Pettanr.Views.Sheet.PlayModule
\r
2 class Pettanr.Views.Sheet.PlayModule.Header extends Pettanr.Views.Show.Header
\r
4 initialize: (options) ->
\r
7 class Pettanr.Views.Sheet.PlayModule.Owner extends Pettanr.Views.Show.Owner
\r
9 initialize: (options) ->
\r
12 class Pettanr.Views.Sheet.PlayModule.Footer extends Backbone.View
\r
14 className: 'no-border'
\r
16 initialize: (options) ->
\r
17 @panel = options.panel
\r
18 @sheet_panel = options.sheet_panel
\r
19 @operators = options.operators
\r
24 (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el
\r
27 (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el
\r
29 this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')))
\r
32 (new Pettanr.Views.Panel.Icon({item: @sheet_panel, half: true})).render().el
\r
35 (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el
\r
37 this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@sheet_panel.get('updated_at')))
\r
39 if @panel.is_own(@operators)
\r
43 class Pettanr.Views.Sheet.PlayModule.Credits extends Backbone.View
\r
45 className: 'credits'
\r
47 initialize: (options) ->
\r
48 @parent = options.parent
\r
49 @licensed_pictures = {}
\r
55 push: (append_pictures) ->
\r
56 _.each append_pictures, (retriever, pid) =>
\r
57 return if @licensed_pictures[pid]
\r
58 @listenTo(retriever, 'retrieve', @retrieve_picture)
\r
59 retriever.retrieve()
\r
61 retrieve_picture: (picture) ->
\r
62 @licensed_pictures[pid] = picture
\r
63 credit = picture.credit_view()
\r
64 this.$el.append(credit.render().el)
\r
66 class Pettanr.Views.Sheet.PlayModule.Panel extends Backbone.View
\r
69 initialize: (options) ->
\r
70 @sheet_panel = options.sheet_panel
\r
71 @operators = options.operators
\r
75 retriever = @sheet_panel.panel()
\r
76 @listenTo(retriever, 'retrieve', @retrieve_panel)
\r
77 retriever.retrieve()
\r
80 retrieve_panel: (@panel) ->
\r
85 body = new Pettanr.Views.Panel.Body({
\r
87 operators: @operators,
\r
90 this.$el.append(body.render().el)
\r
91 footer = new Pettanr.Views.Panel.Footer({
\r
92 sheet_panel: sheet_panel,
\r
94 operators: @operators
\r
96 this.$el.append(footer.render().el)
\r
97 this.credits.push(@panel.licensed_pictures())
\r
100 class Pettanr.Views.Sheet.PlayModule.Panels extends Backbone.View
\r
103 initialize: (options) ->
\r
104 @parent = options.parent
\r
105 @items = options.items
\r
106 @credits = options.credits
\r
107 @operators = options.operators
\r
111 _.each @items, (sheet_panel) =>
\r
112 return if not sheet_panel.has_panel()
\r
113 panel_view = new Pettanr.Views.Sheet.PlayModule.Panel({
\r
114 sheet_panel: sheet_panel,
\r
115 operators: @operators,
\r
117 this.$el.append(panel_view.render().el)
\r
120 class Pettanr.Views.Sheet.PlayModule.Body extends Backbone.View
\r
123 initialize: (options) ->
\r
124 @parent = options.parent
\r
125 @list = options.list
\r
126 @operators = options.operators
\r
127 @items = @list.items()
\r
128 if @items.length < 1
\r
133 render_empty: () ->
\r
135 this.$el.append((new Tag.H2({content: I18n.t('sheets.play.empty')})).render().el)
\r
141 credits = new Pettanr.Views.Sheet.PlayModule.Credits({parent: this})
\r
142 panels = new Pettanr.Views.Sheet.PlayModule.Panels({
\r
146 operators: @operators
\r
148 this.$el.append(panels.render().el)
\r
149 this.$el.append(credits.render().el)
\r
150 rb = new Tag.RowBreak()
\r
151 this.$el.append(rb.render().el)
\r
155 class Pettanr.Views.Sheet.Play extends Backbone.View
\r
159 initialize: (options) ->
\r
160 @item = options.item
\r
161 @list = options.list
\r
162 @operators = options.operators
\r
163 icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})
\r
164 caption_url = Pettanr.url(@item.table_name(), 'play', {id: @item.get('id')})
\r
165 prof_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id'), format: 'prof'})
\r
166 @header = new Pettanr.Views.Sheet.PlayModule.Header({
\r
168 operators: @operators,
\r
169 caption: @item.get('caption'),
\r
170 icon_url: icon_url,
\r
171 caption_url: caption_url,
\r
174 @author = new Pettanr.Views.Show.HeaderAuthor({item: @item})
\r
175 @body = new Pettanr.Views.Sheet.PlayModule.Body({
\r
178 operators: @operators
\r
180 @owner = new Pettanr.Views.Sheet.PlayModule.Owner({item: @item, operators: @operators})
\r
184 this.$el.append(@header.render().el)
\r
185 this.$el.append(@author.render().el)
\r
186 this.$el.append(@body.render().el)
\r
187 this.$el.append(@owner.render().el) if @item.is_own(@operators)
\r