OSDN Git Service

fix: view
[pettanr/pettanr.git] / app / assets / javascripts / views / sheets / play.js.coffee
1 class Pettanr.Views.Sheet.PlayModule\r
2 class Pettanr.Views.Sheet.PlayModule.Footer extends Pettanr.View\r
3   tagName: 'table'\r
4   className: 'no-border'\r
5   \r
6   initialize: (options) ->\r
7     @panel = options.panel\r
8     @sheet_panel = options.sheet_panel\r
9   \r
10   render: () ->\r
11     this.$el.html('')\r
12     this.$el.append(\r
13       (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el\r
14     )\r
15     this.$el.append(\r
16       (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el\r
17     )\r
18     this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')))\r
19     #\r
20     this.$el.append(\r
21       (new Pettanr.Views.Panel.Icon({item: @sheet_panel, half: true})).render().el\r
22     )\r
23     this.$el.append(\r
24       (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el\r
25     )\r
26     this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@sheet_panel.get('updated_at')))\r
27     #\r
28     if @panel.is_own()\r
29       this.$el.append('')\r
30     this\r
31   \r
32 class Pettanr.Views.Sheet.PlayModule.Panel extends Pettanr.View\r
33   tagName: 'div'\r
34   \r
35   initialize: (options) ->\r
36     @sheet_panel = options.sheet_panel\r
37   \r
38   clear: () ->\r
39     this.$el.html('')\r
40     @sheet_panel.get_parent('panel', this, {\r
41       success: (@panel) =>\r
42         @render()\r
43     })\r
44     this\r
45   \r
46   render: () ->\r
47     this.$el.html('')\r
48     body = new Pettanr.Views.Panel.Body({\r
49       panel: @panel,\r
50       spot: null\r
51     })\r
52     this.$el.append(body.render().el)\r
53     footer = new Pettanr.Views.Panel.Footer({\r
54       sheet_panel: sheet_panel,\r
55       panel: @panel,\r
56     })\r
57     this.$el.append(footer.render().el)\r
58     this.credits.push(@panel.licensed_pictures())\r
59     this\r
60   \r
61 class Pettanr.Views.Sheet.PlayModule.Panels extends Pettanr.View\r
62   tagName: 'div'\r
63   \r
64   initialize: (options) ->\r
65     @parent = options.parent\r
66     @items = options.items\r
67     @credits = options.credits\r
68   \r
69   render: () ->\r
70     this.$el.html('')\r
71     _.each @items, (sheet_panel) =>\r
72       return if not sheet_panel.has_panel()\r
73       panel_view = new Pettanr.Views.Sheet.PlayModule.Panel({\r
74         sheet_panel: sheet_panel,\r
75       })\r
76       this.$el.append(panel_view.render().el)\r
77     this\r
78   \r
79 class Pettanr.Views.Sheet.PlayModule.Body extends Pettanr.View\r
80   tagName: 'div'\r
81   \r
82   initialize: (options) ->\r
83     @parent = options.parent\r
84     @list = options.list\r
85     @items = @list.items()\r
86     if @items.length < 1\r
87       @render_empty()\r
88     else\r
89       @render()\r
90   \r
91   render_empty: () ->\r
92     this.$el.html('')\r
93     this.$el.append((new Tag.H2({content: I18n.t('sheets.play.empty')})).render().el)\r
94     this\r
95   \r
96   render: () ->\r
97     this.$el.html('')\r
98     # paginate(@pager)\r
99     credits = new Pettanr.View.Credits({parent: this})\r
100     panels = new Pettanr.Views.Sheet.PlayModule.Panels({\r
101       parent: this,\r
102       items: @items,\r
103       credits: credits,\r
104     })\r
105     this.$el.append(panels.render().el)\r
106     this.$el.append(credits.render().el)\r
107     @rb()\r
108     # paginate(@pager)\r
109     this\r
110   \r
111 class Pettanr.Views.Sheet.Play extends Pettanr.View.Show\r
112   \r
113   initialize: (@item, options) ->\r
114     @list = options.list\r
115     @header = new Pettanr.View.Show.Header(@item, this, @binder_header_options())\r
116     @authored_by = @item.authored_by()\r
117     @body = new Pettanr.Views.Sheet.PlayModule.Body({\r
118       parent: this,\r
119       list: @list, \r
120     })\r
121     @owner = new Pettanr.Views.Sheet.PlayModule.Owner({item: @item})\r
122     @listenTo(@authored_by, 'click', @click_authored_by)\r
123   \r
124   render: () ->\r
125     this.$el.html('')\r
126     this.$el.append(@header.render().el)\r
127     this.$el.append(@authored_by.render().el)\r
128     this.$el.append(@body.render().el)\r
129     this.$el.append(@owner.render().el) if @item.is_own()\r
130     this\r
131   \r