X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fviews%2Fpanel_pictures%2Fshow.js.coffee;h=fd13938153a8d53363571ee1fcd94ef89180d780;hb=87dc80d4ea2b9b1cfb5273c403b50c001225a61a;hp=b9bafd22f6666b7031ec7ebea2721de78d2c5b4a;hpb=eec19634998fd448e4bb1be831260537199d8271;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/views/panel_pictures/show.js.coffee b/app/assets/javascripts/views/panel_pictures/show.js.coffee index b9bafd22..fd139381 100644 --- a/app/assets/javascripts/views/panel_pictures/show.js.coffee +++ b/app/assets/javascripts/views/panel_pictures/show.js.coffee @@ -1,36 +1,35 @@ -class Pettanr.Views.PanelPicture.ShowModule -class Pettanr.Views.PanelPicture.ShowModule.Header extends Pettanr.Views.Show.Header +class Pettanr.Views.PanelPicture.Show extends Pettanr.View.Show initialize: (options) -> - super(options) - -class Pettanr.Views.PanelPicture.Show extends Backbone.View - tagName: 'div' - className: 'show' - - initialize: (options) -> - @item = options.item - @operators = options.operators - icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')}) - caption_url = icon_url - prof_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id'), format: 'prof'}) - @header = new Pettanr.Views.PanelPicture.ShowModule.Header({ - item: @item, - operators: @operators, - caption: @item.get('caption'), - icon_url: icon_url, - caption_url: caption_url, - prof_url: prof_url - }) - _this = this - @panel = @item.panel() - @panel.fetch().done -> - _this.author = new Pettanr.Views.Show.HeaderAuthor({item: _this.panel}) - _this.render() + @header = new Pettanr.View.Show.Header(@item, this, @default_header_options()) render: () -> this.$el.html('') - this.$el.append(@header.render().el) - this.$el.append(@author.render().el) + @item.get_parent('panel', this, { + success: (item) => + @panel = item.with_elements() + @panel.fetch().done => + @panel.attributes = @panel.decoded_attributes() + @authored_by = @panel.authored_by() + @body = new Pettanr.Views.Panel.Body({ + panel: @panel, + spot: @item + }) + @listenTo(@header, 'click:pick', @click_pick) + @listenTo(@authored_by, 'click', @click_authored_by) + this.$el.append(@header.render().el) + this.$el.append(@authored_by.render().el) + this.$el.append(@body.render().el) + @add_credits() + }) this + click_pick: () -> + @trigger('pick', @item) + + is_pickable: () -> + true + + add_pick: (target_model) -> + @header.add_pick(target_model) +