OSDN Git Service

fix:replace row break
[pettanr/pettanr.git] / app / assets / javascripts / locmare / profiler / association / has_many.js.coffee
index 919a74a..d8c6a89 100644 (file)
@@ -1,4 +1,4 @@
-class Locmare.ProfilerModule.AssociationModule.HasMany extends Backbone.View\r
+class Locmare.ProfilerModule.AssociationModule.HasMany extends Pettanr.View\r
   tagName: 'div'\r
   \r
   initialize: (options) ->\r
@@ -9,23 +9,34 @@ class Locmare.ProfilerModule.AssociationModule.HasMany extends Backbone.View
     action = controller.actions[@has_many_manifest.action_name]\r
     @list = Locmare.ListGroup.list(\r
       action.path_name(), action.name, \r
-      @profiler().operators, {id: @item().get('id'), page: 1, page_size: 3}\r
+      {id: @item().get('id'), page: 1, page_size: 3}\r
     )\r
+    @pager = new Locmare.ListGroupModule.LibModule.PagerModule.More({\r
+      params: {controller: action.path_name(), action: action.name, id: @item().get('id')}\r
+    })\r
+  \r
+  clear: () ->\r
+    this.$el.html('')\r
     @list.open((page_status) =>\r
-      @filer = new Locmare.Filer({\r
-        item_name: @has_many_model().item_name(), \r
-        items: @list.items(), \r
-        pager: @pager, \r
-        operators: @profiler().operators\r
-      })\r
-      @listenTo(@filer, 'http_get', @http_get)\r
+      @set_filer()\r
       @render()\r
     )\r
+    this\r
   \r
   render: () ->\r
-    this.$el.html(@filer.el) if @filer\r
+    this.$el.html(@filer.el)\r
     this\r
   \r
+  set_filer: () ->\r
+    @filer = new Locmare.Filer({\r
+      item_name: @has_many_model().item_name(), \r
+      items: @list.items(), \r
+      pager: @pager, \r
+    })\r
+    @filer.render()\r
+    @listenTo(@filer, 'http_get', @http_get)\r
+    @listenTo(@filer, 'pick', @pick)\r
+  \r
   item: () ->\r
     @profiler().item\r
   \r
@@ -35,6 +46,16 @@ class Locmare.ProfilerModule.AssociationModule.HasMany extends Backbone.View
   profiler: () ->\r
     @association.profiler\r
   \r
+  add_pick: (target_model) ->\r
+    @list.open((page_status) =>\r
+      @set_filer()\r
+      @render()\r
+      @filer.add_pick(target_model)\r
+    )\r
+  \r
   http_get: (url) ->\r
     @trigger('http_get', url)\r
  \r
+  pick: (item) ->\r
+    @trigger('pick', item)\r
+  \r