OSDN Git Service

fix: fetch fail
[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   \r
20   render: () ->\r
21     this.$el.html('')\r
22     this.$el.append(@header.render().el)\r
23     this.$el.append(@authored_by.render().el)\r
24     this.$el.append(@body.render().el)\r
25     this.$el.append(@footer.render().el)\r
26     @add_credits()\r
27     this.$el.append(@owner.render().el) if @item.is_own()\r
28     this\r
29   \r
30   click_pick: () ->\r
31     @trigger('pick', @item)\r
32   \r
33   is_pickable: () ->\r
34     true\r
35   \r
36   add_pick: (target_model) ->\r
37     @header.add_pick(target_model)\r
38   \r
39 class Pettanr.Views.Panel.Show.Footer extends Pettanr.View\r
40   tagName: 'ul'\r
41   \r
42   constructor: (@panel, @context, options) ->\r
43     super(options)\r
44   \r
45   initialize: (options) ->\r
46     super(options)\r
47   \r
48   render: () ->\r
49     super()\r
50     this.$el.html('')\r
51     this.$el.append(\r
52       Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at'))\r
53     )\r
54     if Pettanr.cache.operators.is_author()\r
55       inspire_button = Pettanr.View.mini_face_button(\r
56         @panel, \r
57         Pettanr.View.Image.icon_inspire_file(), {\r
58           context: @context,\r
59           click: () =>\r
60             inspire = new Pettanr.Inspire(@panel)\r
61             inspire.go(@context, {\r
62               success: (item) ->\r
63                 @trigger('http_get', item.show_url())\r
64               fail: (response, opt) =>\r
65                 @open_error_dialog(response, opt)\r
66             })\r
67         }\r
68       )\r
69       this.$el.append(inspire_button.render().el)\r
70     this\r
71   \r