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=e72d708112a3fe040f510ae2bda348596f2e59ae;hpb=644f57fc419372cbe20d11bc96b4ec5a3d200448;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 e72d7081..fd139381 100644 --- a/app/assets/javascripts/views/panel_pictures/show.js.coffee +++ b/app/assets/javascripts/views/panel_pictures/show.js.coffee @@ -1,74 +1,29 @@ -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) + @header = new Pettanr.View.Show.Header(@item, this, @default_header_options()) -class Pettanr.Views.PanelPicture.Show extends Pettanr.View - tagName: 'div' - className: 'show' - - initialize: (options) -> - @item = options.item - 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, - caption: @item.get('caption'), - icon_url: icon_url, - caption_url: caption_url, - prof_url: prof_url - }) - @listenTo(this, 'ready', @ready) + render: () -> + this.$el.html('') @item.get_parent('panel', this, { success: (item) => @panel = item.with_elements() @panel.fetch().done => - @panel.attributes = @panel.replaced_attributes() - @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel}) + @panel.attributes = @panel.decoded_attributes() + @authored_by = @panel.authored_by() @body = new Pettanr.Views.Panel.Body({ panel: @panel, spot: @item }) - @credits = new Pettanr.Views.Common.Credits({ - parent: this - }) @listenTo(@header, 'click:pick', @click_pick) - @listenTo(@header, 'click:icon', @click_show) - @listenTo(@header, 'click:caption', @click_show) - @listenTo(@header, 'click:prof', @click_prof) - @listenTo(@author, 'click:author', @click_author) - @listenTo(@credits, 'click:credit:icon', @click_credit_icon) - @trigger('ready') + @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() }) - - render: () -> - this.$el.html('') this - ready: () -> - this.$el.html('') - this.$el.append(@header.render().el) - this.$el.append(@author.render().el) - this.$el.append(@body.render().el) - this.$el.append(@credits.render().el) - @credits.clear() - @credits.push(@panel.licensed_pictures()) - @rb() - - click_show: () -> - @trigger('http_get', @item.show_url()) - - click_author: () -> - @trigger('http_get', @panel.author().show_url()) - - click_prof: () -> - @trigger('http_get', @item.prof_url()) - - click_credit_icon: (item) -> - @trigger('http_get', item.show_url()) - click_pick: () -> @trigger('pick', @item)