X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fviews%2Fground_colors%2Fshow.js.coffee;h=7e8b6b3fb39d9ea81c6e612e9076ad4ffd321368;hp=622a836a26fdbe5d8f306e5f769233903dd319e7;hb=9cca4674c4f2cdd5100618f8f12cad779832aaae;hpb=68192c602eef406802ac79d72ab9612f184dda8d diff --git a/app/assets/javascripts/views/ground_colors/show.js.coffee b/app/assets/javascripts/views/ground_colors/show.js.coffee index 622a836a..7e8b6b3f 100644 --- a/app/assets/javascripts/views/ground_colors/show.js.coffee +++ b/app/assets/javascripts/views/ground_colors/show.js.coffee @@ -1,75 +1,29 @@ -class Pettanr.Views.GroundColor.ShowModule -class Pettanr.Views.GroundColor.ShowModule.Header extends Pettanr.Views.Show.Header +class Pettanr.Views.GroundColor.Show extends Pettanr.View.Show initialize: (options) -> - super(options) - -class Pettanr.Views.GroundColor.Show extends Backbone.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.GroundColor.ShowModule.Header({ - item: @item, - caption: @item.get('caption'), - icon_url: icon_url, - caption_url: caption_url, - prof_url: prof_url - }) - @listenTo(this, 'ready', @ready) - retriever = @item.panel() - @listenTo(retriever, 'retrieve', @retrieve_panel) - retriever.retrieve() - - retrieve_panel: (item) -> - @panel = item.with_elements() - @panel.fetch().done => - @panel.attributes = @panel.replaced_attributes() - @author = new Pettanr.Views.Show.HeaderAuthor({item: @panel}) - @body = new Pettanr.Views.Panel.Body({ - panel: @panel, - spot: @item - }) - @credits = new Pettanr.Views.Panel.ShowModule.Credits({ - pictures: @panel.licensed_pictures() - }) - @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') + @header = new Pettanr.View.Show.Header(@item, this, @default_header_options()) render: () -> this.$el.html('') + @item.get_parent('panel', this, { + success: (item) => + @panel = item.play() + @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 - 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) - rb = new Tag.RowBreak() - this.$el.append(rb.render().el) - - 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)