OSDN Git Service

add scroll player
[pettanr/pettanr.git] / app / assets / javascripts / views / panels / body.js.coffee
1 # panel: panel item\r
2 # operators: operators\r
3 # spot: no opacity element\r
4 class Pettanr.Views.Panel.Body extends Backbone.View\r
5   tagName: 'div'\r
6   className: 'pettanr-comic-panel'\r
7   \r
8   initialize: (options) ->\r
9     @panel = options.panel\r
10     @operators = options.operators\r
11     @spot = options.spot\r
12   \r
13   render: () ->\r
14     attr = {style: Pettanr.to_style(@style())}\r
15     this.$el.attr(attr)\r
16     if @panel.is_visible(@operators)\r
17       this.$el.html('')\r
18       _this = this\r
19       l = @panel.scenario_elements()\r
20       _.each l, (element) ->\r
21         c = Pettanr.Views[element.singular()].Element\r
22         tag = new c({element: element, root: _this.panel, spot: _this.spot})\r
23         _this.$el.append(tag.render().el)\r
24     else\r
25       tag = new Tag.Div({\r
26         content: I18n.t('panels.hidden'), \r
27         class_name: 'hidden'\r
28       })\r
29       this.$el.html(tag.render().el)\r
30     this\r
31   \r
32   style: () ->\r
33     {\r
34       'width': Pettanr.to_s(@panel.get('width')) + 'px', \r
35       'height': Pettanr.to_s(@panel.get('height')) + 'px', \r
36       'border-style': 'solid', \r
37       'border-width': Pettanr.to_s(@panel.get('border')) + 'px', \r
38       'border-color': 'black', \r
39       'background-color': 'white'\r
40     }\r
41   \r
42 class Pettanr.Views.Panel.Footer extends Backbone.View\r
43   tagName: 'table'\r
44   className: 'no-border'\r
45   \r
46   initialize: (options) ->\r
47     @panel = options.panel\r
48     @operators = options.operators\r
49   \r
50   render: () ->\r
51     this.$el.html('')\r
52     this.$el.append(\r
53       (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el\r
54     )\r
55     this.$el.append(\r
56       (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el\r
57     )\r
58     this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')))\r
59     if @panel.is_own(@operators)\r
60       this.$el.append(\r
61         (new Pettanr.Views.Show.LinkedEditButton({item: @panel})).render().el\r
62       )\r
63     this\r
64   \r