X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fviews%2Fshow.js.coffee;h=689363b5d7677170eb70dd129a6a2e160d6286c7;hb=15f4731682214e07ef1391befed5b5f8d2800379;hp=d1f16aa6d4d09c1c11779ce84d76dcf867e2b4c8;hpb=689d83c6bf755e7fa4912b48773ef6cfb0f64b13;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/views/show.js.coffee b/app/assets/javascripts/views/show.js.coffee index d1f16aa6..689363b5 100644 --- a/app/assets/javascripts/views/show.js.coffee +++ b/app/assets/javascripts/views/show.js.coffee @@ -87,6 +87,34 @@ class Pettanr.Views.Show.HeaderAuthor extends Backbone.View click: () -> @trigger('click:author') +class Pettanr.Views.Show.HeaderArtist extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @item = options.item + retriever = @item.artist() + @listenTo(retriever, 'retrieve', @retrieve_artist) + retriever.retrieve() + + retrieve_artist: (@artist) -> + name = @artist.escape('name') + artist_url = @artist.show_url() + @linked_artist = new Tag.A({ + attr: {href: '/' + artist_url}, + content: name + }) + @listenTo(@linked_artist, 'click', @click) + @render() + + render: () -> + this.$el.html('') + this.$el.append(Pettanr.AppHelper.t_a(@item.item_name(), 'artist_id')) + this.$el.append(@linked_artist.render().el) if @linked_artist + this + + click: () -> + @trigger('click:artist') + class Pettanr.Views.Show.LinkedEditButton extends Tag.A initialize: (options) -> @@ -96,9 +124,6 @@ class Pettanr.Views.Show.LinkedEditButton extends Tag.A content: I18n.t('link.edit') }) - url: () -> - @url - class Pettanr.Views.Show.LinkedDestroyButton extends Tag.A initialize: (options) -> @@ -108,8 +133,18 @@ class Pettanr.Views.Show.LinkedDestroyButton extends Tag.A content: I18n.t('link.destroy') }) - url: () -> - @destroy_url +class Pettanr.Views.Show.LinkedInspireIcon extends Tag.A + + initialize: (options) -> + item = options.item + half = options.half + img = new Pettanr.Image.SymbolImg({ + attr: {src: '/images/inspire.gif'}, half: half + }) + super({ + attr: {href: '/' + item.index_url() + '/inspire'}, + content: img.render().el + }) class Pettanr.Views.Show.OwnerFooter extends Backbone.View tagName: 'div' @@ -145,7 +180,8 @@ class Pettanr.Views.Show.Owner extends Backbone.View class_name: 'owner-header', content: I18n.t('editor') }) - @footer = new Pettanr.Views.Show.OwnerFooter({item: @item}) + fc = @footer_class() + @footer = new fc({item: @item}) @listenTo(@footer, 'click:edit', @click_edit) @listenTo(@footer, 'click:destroy', @click_destroy) @@ -163,3 +199,6 @@ class Pettanr.Views.Show.Owner extends Backbone.View @trigger('click:footer:destroy') @trigger('click:destroy') + footer_class: () -> + Pettanr.Views.Show.OwnerFooter +