OSDN Git Service

change: picker
[pettanr/pettanr.git] / app / assets / javascripts / locmare / filer.js.coffee
1 class Locmare.Filer extends Backbone.View\r
2   tagName: 'div'\r
3   className: 'filer'\r
4   \r
5   initialize: (options) ->\r
6     @item_name = options.item_name\r
7     @items = options.items\r
8     @pager = options.pager\r
9     @operators = options.operators\r
10     @manifest = LocalManifest.manifest().filers[@item_name]\r
11     @header = new (@module().Header)({'filer': this})\r
12     @body = new (@module().Body)({'filer': this})\r
13     @listenTo(@header, 'click', @click_header)\r
14     @listenTo(@body, 'click:pick', @click_pick)\r
15     @listenTo(@body, 'click:symbol', @click_symbol)\r
16     @listenTo(@body, 'click:caption', @click_caption)\r
17     @listenTo(@body, 'click:prof', @click_prof)\r
18     @listenTo(@body, 'http_get', @http_get)\r
19     @listenTo(@body, 'http_post', @http_post)\r
20     @listenTo(@body, 'remove', @remove)\r
21     @listenTo(@pager, 'http_get', @http_get) if @pager\r
22   \r
23   render: () ->\r
24     this.$el.html('')\r
25     this.$el.append(@header.render().el)\r
26     this.$el.append(@body.render().el)\r
27     this.$el.append(@pager.render().el) if @pager\r
28     this\r
29   \r
30   model: () ->\r
31     Manifest.item_name_to_model @item_name\r
32   \r
33   image_dir: () ->\r
34     '/images/'\r
35   \r
36   is_pickable: () ->\r
37     true\r
38   \r
39   add_pick: (target_model) ->\r
40     @body.add_pick(target_model)\r
41   \r
42   click_header: (url) ->\r
43     @trigger('click:header', url)\r
44     @http_get(url)\r
45   \r
46   click_pick: (file_item_view) ->\r
47     @trigger('pick', file_item_view.item)\r
48   \r
49   click_symbol: (item_view) ->\r
50     @trigger('click:symbol', item_view)\r
51   \r
52   click_caption: (item_view) ->\r
53     @trigger('click:caption', item_view)\r
54   \r
55   click_prof: (item_view) ->\r
56     @trigger('click:prof', item_view)\r
57   \r
58   http_get: (url) ->\r
59     @trigger('http_get', url)\r
60   \r
61   http_post: (url) ->\r
62     @trigger('http_post', url)\r
63   \r
64   remove: (item) ->\r
65     @items = _.without(@items, item)\r
66   \r
67   module: () ->\r
68     Locmare.FilerModule\r
69   \r
70 class Locmare.FilerModule\r
71 \r