initialize: (options) ->\r
super(options)\r
\r
-class Pettanr.Views.Panel.ShowModule.Credits extends Pettanr.View\r
- tagName: 'div'\r
- className: 'credits'\r
- \r
- initialize: (options) ->\r
- @pictures = options.pictures\r
- @credited = {}\r
- \r
- render: () ->\r
- this.$el.html('')\r
- _.each @pictures, (picture, pid) =>\r
- @add_picture(picture)\r
- this\r
- \r
- add_picture: (retriever) ->\r
- @listenTo(retriever, 'retrieve', @retrieve_picture)\r
- retriever.retrieve()\r
- \r
- retrieve_picture: (picture) ->\r
- pid = picture.get('id')\r
- if not @credited[pid]\r
- @credited[pid] = picture\r
- credit = picture.credit_view()\r
- @listenTo(credit, 'click:icon', @click_credit_icon)\r
- this.$el.append(credit.render().el)\r
- \r
- click_credit_icon: (item) ->\r
- @trigger('click:credit:icon', item)\r
- \r
- click_pick: () ->\r
- @trigger('pick', @item)\r
- \r
- is_pickable: () ->\r
- true\r
- \r
- add_pick: (target_model) ->\r
- @header.add_pick(target_model)\r
- \r
# panel: panel item\r
# spot: no opacity element\r
class Pettanr.Views.Panel.Show extends Pettanr.View\r
@footer = new Pettanr.Views.Panel.Footer({\r
panel: @panel,\r
})\r
- @credits = new Pettanr.Views.Panel.ShowModule.Credits({\r
- pictures: @panel.licensed_pictures()\r
+ @credits = new Pettanr.Views.Common.Credits({\r
+ parent: this\r
})\r
@owner = new Pettanr.Views.Panel.ShowModule.Owner({item: @panel})\r
@listenTo(@header, 'click:pick', @click_pick)\r
this.$el.append(@body.render().el)\r
this.$el.append(@footer.render().el)\r
this.$el.append(@credits.render().el)\r
+ @credits.clear()\r
+ @credits.push(@panel.licensed_pictures())\r
@rb()\r
this.$el.append(@owner.render().el)\r
this\r