OSDN Git Service

add: oplg dialog
[pettanr/pettanr.git] / app / assets / javascripts / views / show.js.coffee
index d22d3ac..689363b 100644 (file)
@@ -5,7 +5,6 @@ class Pettanr.Views.Show.Header extends Backbone.View
   \r
   initialize: (options) ->\r
     @item = options.item\r
-    @operators = options.operators\r
     @title = options.caption\r
     @icon_url = options.icon_url\r
     @caption_url = options.caption_url\r
@@ -88,6 +87,34 @@ class Pettanr.Views.Show.HeaderAuthor extends Backbone.View
   click: () ->\r
     @trigger('click:author')\r
   \r
+class Pettanr.Views.Show.HeaderArtist extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @item = options.item\r
+    retriever = @item.artist()\r
+    @listenTo(retriever, 'retrieve', @retrieve_artist)\r
+    retriever.retrieve()\r
+    \r
+  retrieve_artist: (@artist) ->\r
+    name = @artist.escape('name')\r
+    artist_url = @artist.show_url()\r
+    @linked_artist =  new Tag.A({\r
+      attr: {href: '/' + artist_url}, \r
+      content: name\r
+    })\r
+    @listenTo(@linked_artist, 'click', @click)\r
+    @render()\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    this.$el.append(Pettanr.AppHelper.t_a(@item.item_name(), 'artist_id'))\r
+    this.$el.append(@linked_artist.render().el) if @linked_artist\r
+    this\r
+  \r
+  click: () ->\r
+    @trigger('click:artist')\r
+  \r
 class Pettanr.Views.Show.LinkedEditButton extends Tag.A\r
   \r
   initialize: (options) ->\r
@@ -97,9 +124,6 @@ class Pettanr.Views.Show.LinkedEditButton extends Tag.A
       content: I18n.t('link.edit')\r
     })\r
   \r
-  url: () ->\r
-    @url\r
-  \r
 class Pettanr.Views.Show.LinkedDestroyButton extends Tag.A\r
   \r
   initialize: (options) ->\r
@@ -109,8 +133,18 @@ class Pettanr.Views.Show.LinkedDestroyButton extends Tag.A
       content: I18n.t('link.destroy')\r
     })\r
   \r
-  url: () ->\r
-    @destroy_url\r
+class Pettanr.Views.Show.LinkedInspireIcon extends Tag.A\r
+  \r
+  initialize: (options) ->\r
+    item = options.item\r
+    half = options.half\r
+    img = new Pettanr.Image.SymbolImg({\r
+      attr: {src: '/images/inspire.gif'}, half: half\r
+    })\r
+    super({\r
+      attr: {href: '/' + item.index_url() + '/inspire'}, \r
+      content: img.render().el\r
+    })\r
   \r
 class Pettanr.Views.Show.OwnerFooter extends Backbone.View\r
   tagName: 'div'\r
@@ -119,7 +153,6 @@ class Pettanr.Views.Show.OwnerFooter extends Backbone.View
   initialize: (options) ->\r
     super(options)\r
     @item = options.item\r
-    @operators = options.operators\r
     @edit = new Pettanr.Views.Show.LinkedEditButton({item: @item})\r
     @destroy = new Pettanr.Views.Show.LinkedDestroyButton({item: @item})\r
     @listenTo(@edit, 'click', @click_edit)\r
@@ -143,12 +176,12 @@ class Pettanr.Views.Show.Owner extends Backbone.View
   initialize: (options) ->\r
     super(options)\r
     @item = options.item\r
-    @operators = options.operators\r
     @header = new Tag.H3({\r
       class_name: 'owner-header',\r
       content: I18n.t('editor')\r
     })\r
-    @footer = new Pettanr.Views.Show.OwnerFooter({item: @item, operators: @operators})\r
+    fc = @footer_class()\r
+    @footer = new fc({item: @item})\r
     @listenTo(@footer, 'click:edit', @click_edit)\r
     @listenTo(@footer, 'click:destroy', @click_destroy)\r
   \r
@@ -166,3 +199,6 @@ class Pettanr.Views.Show.Owner extends Backbone.View
     @trigger('click:footer:destroy')\r
     @trigger('click:destroy')\r
   \r
+  footer_class: () ->\r
+    Pettanr.Views.Show.OwnerFooter\r
+  \r