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:icon', @click_show)
\r
33 @listenTo(@header, 'click:caption', @click_show)
\r
34 @listenTo(@header, 'click:prof', @click_prof)
\r
35 @listenTo(@footer, 'click:panel', @click_show)
\r
36 @listenTo(@footer, 'click:author', @click_author)
\r
37 @listenTo(@footer, 'click:edit', @click_edit)
\r
38 @listenTo(@credits, 'click:credit:icon', @click_credit_icon)
\r
42 this.$el.append(@header.render().el)
\r
43 this.$el.append(@body.render().el)
\r
44 this.$el.append(@footer.render().el)
\r
45 this.$el.append(@credits.render().el)
\r
46 rb = new Tag.RowBreak()
\r
47 this.$el.append(rb.render().el)
\r
51 @trigger('http_get', @item.show_url())
\r
54 @trigger('http_get', @panel.author().show_url())
\r
57 @trigger('http_get', @panel.edit_url())
\r
60 @trigger('http_get', @item.prof_url())
\r
62 click_credit_icon: (item) ->
\r
63 @trigger('http_get', item.show_url())
\r
65 class Pettanr.Views.Panel.ShowModule
\r
66 class Pettanr.Views.Panel.ShowModule.Header extends Pettanr.Views.Show.Header
\r
68 initialize: (options) ->
\r
71 class Pettanr.Views.Panel.ShowModule.Credits extends Backbone.View
\r
73 className: 'credits'
\r
75 initialize: (options) ->
\r
76 @pictures = options.pictures
\r
81 _.each @pictures, (picture, pid) =>
\r
82 @add_picture(picture)
\r
85 add_picture: (picture) ->
\r
87 add_picture: (picture) ->
\r
88 pid = picture.get('id')
\r
89 if not @credited[pid]
\r
90 picture.fetch({cache: true}).done =>
\r
91 @credited[pid] = picture
\r
92 credit = picture.credit_view()
\r
93 @listenTo(credit, 'click:icon', @click_credit_icon)
\r
94 this.$el.append(credit.render().el)
\r
96 click_credit_icon: (item) ->
\r
97 @trigger('click:credit:icon', item)
\r