OSDN Git Service

clean
[pettanr/pettanr.git] / app / assets / javascripts / locmare / list_group / list / base.js.coffee
index 4fc3d30..0c04999 100644 (file)
@@ -1,59 +1,36 @@
 class Locmare.ListGroupModule.Base extends Backbone.Collection\r
   \r
   initialize: (options) ->\r
-    @item_name = options.item_name\r
+    @list_group_name = options.list_group_name\r
     @list_name = options.list_name\r
-    @list_group_manifest = LocalManifest.manifest().list_groups[@item_name]\r
+    @operators = options.operators\r
+    @params = options.options\r
+    \r
+    @list_group_manifest = LocalManifest.manifest().list_groups[@list_group_name]\r
     @list_manifest = @list_group_manifest.lists[@list_name]\r
-    @model_manifest = Manifest.manifest().models[@item_name]\r
-    @model_list_manifest = @model_manifest.list\r
+    \r
+    @controller_name = @list_group_name\r
+    @action_name = @list_name\r
+    @controller_manifest = Manifest.manifest().controllers[@controller_name]\r
+    @action_manifest = @controller_manifest.actions[@action_name]\r
+    @item_name = @action_manifest.item_name\r
     @model_class = Manifest.item_name_to_model @item_name\r
     @table_name = @model_class.table_name()\r
+    \r
+  parse: (res) ->\r
+    @page_status = res.page_status\r
+    res.list\r
   \r
-  page_number: (prm = null) ->\r
-    page = Pettanr.to_i(parseInt(prm))\r
-    page = 1 if page < 1\r
-    page\r
-  \r
-  page_size: (prm) ->\r
-    page_size = Pettanr.to_i(parseInt(prm))\r
-    page_size = @max_page_size() if page_size > @max_page_size()\r
-    page_size = @default_page_size() if page_size < 1\r
-    page_size\r
-  \r
-  default_page_size: () ->\r
-    @model_list_manifest.default_page_size\r
-  \r
-  max_page_size: () ->\r
-    @model_list_manifest.max_page_size\r
-  \r
-  count: (operators, params, action) ->\r
-    new Pettanr.CounterModel({}, {url: '/' + action.counter_url(params)})\r
-  \r
-  open: (operators, params, action, options, cb) ->\r
-    page = @page_number(params['page']) \r
-    page_size = @page_size(params['page_size'])\r
-    #offset = (page - 1) * page_size\r
-    #items = @items(operators, params, offset, page_size, action)\r
-    @url = '/' + action.url(params)\r
-    @model = Manifest.item_name_to_model action.item_name\r
-    _this = this\r
-    counter = new Locmare.ListGroupModule.Counter({}, {url: '/' + action.counter_url(params)})\r
-    counter.fetch({cache: true}).done ->\r
-      page_status = new Locmare.ListGroupModule.PageStatus(page, page_size, counter.count(), params)\r
-      _this.fetch({cache: true}).done ->\r
-        #_this.boost(items)\r
-        cb(page_status)\r
-  \r
-class Locmare.ListGroupModule.Counter extends Backbone.Model\r
-  initialize: (attr, options) ->\r
-    @url = options['url']\r
+  items: () ->\r
+    _.map @models, (model) =>\r
+      new @model_class(model.attributes)\r
   \r
   count: () ->\r
-    @get('count')\r
-  \r
-class Locmare.ListGroupModule.PageStatus\r
+    new Pettanr.CounterModel({}, {url: '/' + @action_manifest.counter_url(@params)})\r
   \r
-  constructor: (@current_page, @per_page, @count, @params) ->\r
-    @window_size = 3\r
+  open: (cb) ->\r
+    @url = '/' + @action_manifest.url(@params)\r
+    @fetch({cache: true}).done =>\r
+      # @boost(items)\r
+      cb()\r
   \r