2 # operators: operators
\r
3 # spot: no opacity element
\r
4 class Pettanr.Views.Panel.Show extends Backbone.View
\r
7 initialize: (options) ->
\r
8 @panel = options.panel
\r
9 @operators = options.operators
\r
10 @spot = options.spot
\r
12 @header = new Pettanr.Views.Panel.ShowModule.Header({
\r
14 operators: @operators,
\r
15 caption: @panel.get('caption'),
\r
16 icon_url: @panel.show_url(),
\r
17 caption_url: @panel.show_url(),
\r
18 prof_url: @panel.prof_url()
\r
20 @body = new Pettanr.Views.Panel.Body({
\r
22 operators: @operators,
\r
25 @footer = new Pettanr.Views.Panel.Footer({
\r
27 operators: @operators
\r
29 @credits = new Pettanr.Views.Panel.ShowModule.Credits({
\r
30 pictures: @panel.licensed_pictures()
\r
32 @listenTo(@header, 'click:pick', @click_pick)
\r
33 @listenTo(@header, 'click:icon', @click_show)
\r
34 @listenTo(@header, 'click:caption', @click_show)
\r
35 @listenTo(@header, 'click:prof', @click_prof)
\r
36 @listenTo(@footer, 'click:panel', @click_show)
\r
37 @listenTo(@footer, 'click:author', @click_author)
\r
38 @listenTo(@footer, 'click:edit', @click_edit)
\r
39 @listenTo(@credits, 'click:credit:icon', @click_credit_icon)
\r
43 this.$el.append(@header.render().el)
\r
44 this.$el.append(@body.render().el)
\r
45 this.$el.append(@footer.render().el)
\r
46 this.$el.append(@credits.render().el)
\r
47 rb = new Tag.RowBreak()
\r
48 this.$el.append(rb.render().el)
\r
52 @trigger('http_get', @panel.show_url())
\r
55 @trigger('http_get', @panel.author().show_url())
\r
58 @trigger('http_get', @panel.edit_url())
\r
61 @trigger('http_get', @panel.prof_url())
\r
63 click_credit_icon: (item) ->
\r
64 @trigger('http_get', item.show_url())
\r
67 @trigger('pick', @item)
\r
72 add_pick: (target_model) ->
\r
73 @header.add_pick(target_model)
\r
75 class Pettanr.Views.Panel.ShowModule
\r
76 class Pettanr.Views.Panel.ShowModule.Header extends Pettanr.Views.Show.Header
\r
78 initialize: (options) ->
\r
81 class Pettanr.Views.Panel.ShowModule.Credits extends Backbone.View
\r
83 className: 'credits'
\r
85 initialize: (options) ->
\r
86 @pictures = options.pictures
\r
91 _.each @pictures, (picture, pid) =>
\r
92 @add_picture(picture)
\r
95 add_picture: (retriever) ->
\r
96 @listenTo(retriever, 'retrieve', @retrieve_picture)
\r
97 retriever.retrieve()
\r
99 retrieve_picture: (picture) ->
\r
100 pid = picture.get('id')
\r
101 if not @credited[pid]
\r
102 @credited[pid] = picture
\r
103 credit = picture.credit_view()
\r
104 @listenTo(credit, 'click:icon', @click_credit_icon)
\r
105 this.$el.append(credit.render().el)
\r
107 click_credit_icon: (item) ->
\r
108 @trigger('click:credit:icon', item)
\r
111 @trigger('pick', @item)
\r
116 add_pick: (target_model) ->
\r
117 @header.add_pick(target_model)
\r