OSDN Git Service

fix:pp link
[pettanr/pettanr.git] / app / assets / javascripts / views / panels / show.js.coffee
1 # panel: panel item\r
2 # spot: no opacity element\r
3 class Pettanr.Views.Panel.Show extends Pettanr.View.Show\r
4   \r
5   initialize: (options) ->\r
6     @panel = @item\r
7     @spot = options.spot\r
8     \r
9     @header = new Pettanr.View.Show.Header(@item, this, @default_header_options())\r
10     @authored_by = @item.authored_by()\r
11     @body = new Pettanr.Views.Panel.Body({\r
12       panel: @panel,\r
13       spot: @spot\r
14     })\r
15     @footer = new Pettanr.Views.Panel.Show.Footer(@panel, this, {})\r
16     @owner = new Pettanr.View.Show.Footer(@item, this, @default_footer_options())\r
17     @listenTo(@header, 'click:pick', @click_pick)\r
18     @listenTo(@authored_by, 'click', @click_authored_by)\r
19     @listenTo(@body, 'http_get', @http_get)\r
20   \r
21   render: () ->\r
22     this.$el.html('')\r
23     this.$el.append(@header.render().el)\r
24     this.$el.append(@authored_by.render().el)\r
25     this.$el.append(@body.render().el)\r
26     this.$el.append(@footer.render().el)\r
27     @add_credits()\r
28     this.$el.append(@owner.render().el) if @item.is_own()\r
29     this\r
30   \r
31   http_get: (url) ->\r
32     @trigger('http_get', url)\r
33   \r
34   click_pick: () ->\r
35     @trigger('pick', @item)\r
36   \r
37   is_pickable: () ->\r
38     true\r
39   \r
40   add_pick: (target_model) ->\r
41     @header.add_pick(target_model)\r
42   \r
43 class Pettanr.Views.Panel.Show.Footer extends Pettanr.View\r
44   tagName: 'ul'\r
45   \r
46   constructor: (@panel, @context, options) ->\r
47     super(options)\r
48   \r
49   initialize: (options) ->\r
50     super(options)\r
51   \r
52   render: () ->\r
53     super()\r
54     this.$el.html('')\r
55     this.$el.append(\r
56       Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at'))\r
57     )\r
58     if Pettanr.cache.operators.is_author()\r
59       inspire_button = Pettanr.View.mini_face_button(\r
60         @panel, \r
61         Pettanr.View.Image.icon_inspire_file(), {\r
62           context: @context,\r
63           click: () =>\r
64             inspire = new Pettanr.Inspire(@panel)\r
65             inspire.go(@context, {\r
66               success: (item) ->\r
67                 @trigger('http_get', item.show_url())\r
68               fail: (response, opt) =>\r
69                 @open_error_dialog(response, opt)\r
70             })\r
71         }\r
72       )\r
73       this.$el.append(inspire_button.render().el)\r
74     this\r
75   \r