OSDN Git Service

conflict
[pettanr/pettanr.git] / app / assets / javascripts / views / resource_pictures / show.js.coffee
index 06885e8..d50ad42 100644 (file)
-class Pettanr.Views.ResourcePicture.ShowModule\r
-class Pettanr.Views.ResourcePicture.ShowModule.Header extends Pettanr.Views.Show.Header\r
+class Pettanr.Views.ResourcePicture.Show extends Pettanr.View.Show\r
   \r
   initialize: (options) ->\r
-    super(options)\r
-  \r
-class Pettanr.Views.ResourcePicture.ShowModule.LinkedReplaceButton extends Tag.A\r
-  \r
-  initialize: (options) ->\r
-    item = options.item\r
-    op = new Pettanr.OriginalPicture({id: item.get('original_picture_id')})\r
-    super({\r
-      attr: {href: '/' + op.edit_url()}, \r
-      content: I18n.t('original_pictures.show.replace')\r
-    })\r
-  \r
-class Pettanr.Views.ResourcePicture.ShowModule.LinkedSourceButton extends Tag.A\r
-  \r
-  initialize: (options) ->\r
-    item = options.item\r
-    op = new Pettanr.OriginalPicture({id: item.get('original_picture_id')})\r
-    super({\r
-      attr: {href: '/' + op.show_url()}, \r
-      content: I18n.t('original_pictures.show.title')\r
-    })\r
-  \r
-class Pettanr.Views.ResourcePicture.ShowModule.LinkedStopButton extends Tag.A\r
-  \r
-  initialize: (options) ->\r
-    item = options.item\r
-    super({\r
-      attr: {href: '/' + item.destroy_url()}, \r
-      content: I18n.t('original_pictures.index.stop')\r
-    })\r
-  \r
-class Pettanr.Views.ResourcePicture.ShowModule.OwnerFooter extends Pettanr.View\r
-  tagName: 'div'\r
-  className: 'show-owner-footer'\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-    @item = options.item\r
-    @replace = new Pettanr.Views.ResourcePicture.ShowModule.LinkedReplaceButton({item: @item})\r
-    @source = new Pettanr.Views.ResourcePicture.ShowModule.LinkedSourceButton({item: @item})\r
-    @stop = new Pettanr.Views.ResourcePicture.ShowModule.LinkedStopButton({item: @item})\r
-    @listenTo(@replace, 'click', @click_replace)\r
-    @listenTo(@source, 'click', @click_source)\r
-    @listenTo(@stop, 'click', @click_stop)\r
-  \r
-  render: () ->\r
-    super()\r
-    this.$el.append(@replace.render().el)\r
-    this.$el.append(@source.render().el)\r
-    this.$el.append(@stop.render().el)\r
-    this\r
-  \r
-  click_replace: () ->\r
-    @trigger('click:replace')\r
-  \r
-  click_source: () ->\r
-    @trigger('click:source')\r
-  \r
-  click_stop: () ->\r
-    @trigger('click:stop')\r
-  \r
-class Pettanr.Views.ResourcePicture.ShowModule.Owner extends Pettanr.Views.Show.Owner\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-    @listenTo(@footer, 'click:replace', @click_replace)\r
-    @listenTo(@footer, 'click:source', @click_source)\r
-    @listenTo(@footer, 'click:stop', @click_stop)\r
-  \r
-  click_replace: () ->\r
-    @trigger('click:replace')\r
-  \r
-  click_source: () ->\r
-    @trigger('click:source')\r
-  \r
-  click_stop: () ->\r
-    @trigger('click:stop')\r
-  \r
-  footer_class: () ->\r
-    Pettanr.Views.ResourcePicture.ShowModule.OwnerFooter\r
-  \r
-class Pettanr.Views.ResourcePicture.Show extends Pettanr.View\r
-  tagName: 'div'\r
-  className: 'show'\r
-  \r
-  initialize: (options) ->\r
-    @item = options.item\r
-    @header = new Pettanr.Views.ResourcePicture.ShowModule.Header({\r
-      item: @item, \r
-      icon_url: @item.show_url(),\r
-      caption_url: @item.show_url(),\r
-      prof_url: @item.prof_url()\r
-    })\r
-    @artist = new Pettanr.Views.Show.HeaderArtist({item: @item})\r
-    @img = new Pettanr.Views.ResourcePicture.Img({item: @item})\r
-    @credit = @item.credit_view(false)\r
-    @owner = new Pettanr.Views.ResourcePicture.ShowModule.Owner({item: @item, original_picture: @original_picture})\r
+    @header = new Pettanr.View.Show.Header(@item, this, @default_header_options())\r
+    @authored_by = @item.authored_by()\r
+    @img = @item.real_picture('full')\r
     @listenTo(@header, 'click:pick', @click_pick)\r
-    @listenTo(@header, 'click:icon', @click_show)\r
-    @listenTo(@header, 'click:prof', @click_prof)\r
-    @listenTo(@artist, 'click:artist', @click_artist)\r
-    @listenTo(@owner, 'click:replace', @click_replace)\r
-    @listenTo(@owner, 'click:source', @click_source)\r
-    @listenTo(@owner, 'click:stop', @click_stop)\r
+    @listenTo(@authored_by, 'click', @click_authored_by)\r
   \r
   render: () ->\r
     this.$el.html('')\r
     this.$el.append(@header.render().el)\r
-    this.$el.append(@artist.render().el)\r
+    this.$el.append(@authored_by.render().el)\r
     this.$el.append(@img.render().el)\r
-    this.$el.append(@credit.render().el)\r
-    this.$el.append(@owner.render().el)\r
+    @item.get_parent('picture', this, {\r
+      success: (picture) =>\r
+        @add_credit(picture)\r
+    })\r
+    if @item.is_own()\r
+      @item.get_parent('original_picture', this, {\r
+        success: (@original_picture) =>\r
+          @owner = new Pettanr.View.Show.Footer(null, this, {\r
+            actions: {\r
+              replace: {\r
+                item: @original_picture,\r
+                url: @original_picture.edit_url(),\r
+                dic_name: 'original_pictures.show.replace',\r
+                click: () =>\r
+                  @trigger('http_get', @original_picture.edit_url())\r
+              }, \r
+              source: {\r
+                item: @original_picture,\r
+                url: @original_picture.show_url(),\r
+                dic_name: 'original_pictures.show.title',\r
+                click: () =>\r
+                  @trigger('http_get', @original_picture.show_url())\r
+              }, \r
+              stop: {\r
+                item: @item,\r
+                url: @item.destroy_url(),\r
+                dic_name: 'original_pictures.index.stop',\r
+                click: () =>\r
+                  redirect = (url) =>\r
+                    @trigger('http_get', url)\r
+                  Pettanr.Proxy.destroy(@item, {redirect: redirect})\r
+              }, \r
+            }, \r
+          })\r
+          this.$el.append(@owner.render().el)\r
+      })\r
     this\r
   \r
-  click_show: () ->\r
-    @trigger('http_get', @item.show_url())\r
-  \r
-  click_prof: () ->\r
-    @trigger('http_get', @item.prof_url())\r
-  \r
-  click_artist: () ->\r
-    @trigger('http_get', @item.artist().show_url())\r
-  \r
-  click_replace: () ->\r
-    op = new Pettanr.OriginalPicture({id: @item.get('original_picture_id')})\r
-    @trigger('http_get', op.edit_url())\r
-  \r
-  click_source: () ->\r
-    op = new Pettanr.OriginalPicture({id: @item.get('original_picture_id')})\r
-    @trigger('http_get', op.show_url())\r
-  \r
-  click_stop: () ->\r
-    redirect = (url) =>\r
-      @trigger('http_get', url)\r
-    Pettanr.Proxy.destroy(@item, {redirect: redirect})\r
-  \r
   click_pick: () ->\r
     @trigger('pick', @item)\r
   \r