OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / locmare / filer / body / file_body.js.coffee
index 48c54ee..ffb0b91 100644 (file)
@@ -5,14 +5,7 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
     @body = options.body\r
     @file_items = []\r
     @file_items = _.map @filer().items, (item) =>\r
-      fi = @file_item_class()\r
-      file_item_view = new fi({'file_body': this, 'item': item})\r
-      @listenTo(file_item_view, 'click:symbol', @click_symbol)\r
-      @listenTo(file_item_view, 'http_get', @http_get)\r
-      @listenTo(file_item_view, 'http_post', @http_post)\r
-      @listenTo(file_item_view, 'remove', @remove)\r
-      file_item_view\r
-    @render()\r
+      @init_file_item(item)\r
   \r
   render: () ->\r
     this.$el.html('')\r
@@ -20,8 +13,14 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
       this.$el.append(file_item.render().el)\r
     this\r
   \r
-  file_item_class: () ->\r
-    Locmare.FilerModule.BodyModule.FileBodyModule.FileItem\r
+  init_file_item: (item) ->\r
+    file_item_view = new (@module().FileItem)({'file_body': this, 'item': item})\r
+    @listenTo(file_item_view, 'click:pick', @click_pick)\r
+    @listenTo(file_item_view, 'click:symbol', @click_symbol)\r
+    @listenTo(file_item_view, 'http_get', @http_get)\r
+    @listenTo(file_item_view, 'http_post', @http_post)\r
+    @listenTo(file_item_view, 'remove', @remove)\r
+    file_item_view\r
   \r
   filer: () ->\r
     @body.filer\r
@@ -38,8 +37,15 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
   items: () ->\r
     @filer().items\r
   \r
-  click_symbol: (symbol_view) ->\r
-    @trigger('click:symbol', symbol_view)\r
+  add_pick: (target_model) ->\r
+    _.each @file_items, (file_item) =>\r
+      file_item.add_pick(target_model)\r
+  \r
+  click_pick: (file_item_view) ->\r
+    @trigger('click:pick', file_item_view)\r
+  \r
+  click_symbol: (file_item_view) ->\r
+    @trigger('click:symbol', file_item_view)\r
   \r
   http_get: (url) ->\r
     @trigger('http_get', url)\r
@@ -52,4 +58,7 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
     @file_items = _.without(@file_items, file_item_view)\r
     @render()\r
   \r
+  module: () ->\r
+    Locmare.FilerModule.BodyModule.FileBodyModule\r
+  \r
 class Locmare.FilerModule.BodyModule.FileBodyModule\r