2 # spot: no opacity element
\r
3 class Pettanr.Views.Panel.Show extends Backbone.View
\r
6 initialize: (options) ->
\r
7 @panel = options.panel
\r
10 @header = new Pettanr.Views.Panel.ShowModule.Header({
\r
12 caption: @panel.get('caption'),
\r
13 icon_url: @panel.show_url(),
\r
14 caption_url: @panel.show_url(),
\r
15 prof_url: @panel.prof_url()
\r
17 @body = new Pettanr.Views.Panel.Body({
\r
21 @footer = new Pettanr.Views.Panel.Footer({
\r
24 @credits = new Pettanr.Views.Panel.ShowModule.Credits({
\r
25 pictures: @panel.licensed_pictures()
\r
27 @listenTo(@header, 'click:pick', @click_pick)
\r
28 @listenTo(@header, 'click:icon', @click_show)
\r
29 @listenTo(@header, 'click:caption', @click_show)
\r
30 @listenTo(@header, 'click:prof', @click_prof)
\r
31 @listenTo(@footer, 'click:panel', @click_show)
\r
32 @listenTo(@footer, 'click:author', @click_author)
\r
33 @listenTo(@footer, 'click:edit', @click_edit)
\r
34 @listenTo(@footer, 'click:inspire', @click_inspire)
\r
35 @listenTo(@credits, 'click:credit:icon', @click_credit_icon)
\r
39 this.$el.append(@header.render().el)
\r
40 this.$el.append(@body.render().el)
\r
41 this.$el.append(@footer.render().el)
\r
42 this.$el.append(@credits.render().el)
\r
43 rb = new Tag.RowBreak()
\r
44 this.$el.append(rb.render().el)
\r
48 @trigger('http_get', @panel.show_url())
\r
51 @trigger('http_get', @panel.author().show_url())
\r
54 @trigger('http_get', @panel.edit_url())
\r
56 click_inspire: () ->
\r
57 inspire = new Pettanr.Inspire({item: @panel})
\r
58 @listenTo(inspire, 'inspire', @inspire)
\r
62 @trigger('http_get', @panel.prof_url())
\r
64 click_credit_icon: (item) ->
\r
65 @trigger('http_get', item.show_url())
\r
68 @trigger('pick', @item)
\r
73 add_pick: (target_model) ->
\r
74 @header.add_pick(target_model)
\r
77 @trigger('http_get', item.show_url())
\r
79 class Pettanr.Views.Panel.ShowModule
\r
80 class Pettanr.Views.Panel.ShowModule.Header extends Pettanr.Views.Show.Header
\r
82 initialize: (options) ->
\r
85 class Pettanr.Views.Panel.ShowModule.Credits extends Backbone.View
\r
87 className: 'credits'
\r
89 initialize: (options) ->
\r
90 @pictures = options.pictures
\r
95 _.each @pictures, (picture, pid) =>
\r
96 @add_picture(picture)
\r
99 add_picture: (retriever) ->
\r
100 @listenTo(retriever, 'retrieve', @retrieve_picture)
\r
101 retriever.retrieve()
\r
103 retrieve_picture: (picture) ->
\r
104 pid = picture.get('id')
\r
105 if not @credited[pid]
\r
106 @credited[pid] = picture
\r
107 credit = picture.credit_view()
\r
108 @listenTo(credit, 'click:icon', @click_credit_icon)
\r
109 this.$el.append(credit.render().el)
\r
111 click_credit_icon: (item) ->
\r
112 @trigger('click:credit:icon', item)
\r
115 @trigger('pick', @item)
\r
120 add_pick: (target_model) ->
\r
121 @header.add_pick(target_model)
\r