OSDN Git Service

fix:replace row break
[pettanr/pettanr.git] / app / assets / javascripts / views / sheets / play.js.coffee
1 class Pettanr.Views.Sheet.PlayModule\r
2 class Pettanr.Views.Sheet.PlayModule.Header extends Pettanr.Views.Show.Header\r
3   \r
4   initialize: (options) ->\r
5     super(options)\r
6   \r
7 class Pettanr.Views.Sheet.PlayModule.Owner extends Pettanr.Views.Show.Owner\r
8   \r
9   initialize: (options) ->\r
10     super(options)\r
11   \r
12 class Pettanr.Views.Sheet.PlayModule.Footer extends Pettanr.View\r
13   tagName: 'table'\r
14   className: 'no-border'\r
15   \r
16   initialize: (options) ->\r
17     @panel = options.panel\r
18     @sheet_panel = options.sheet_panel\r
19   \r
20   render: () ->\r
21     this.$el.html('')\r
22     this.$el.append(\r
23       (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el\r
24     )\r
25     this.$el.append(\r
26       (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el\r
27     )\r
28     this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')))\r
29     #\r
30     this.$el.append(\r
31       (new Pettanr.Views.Panel.Icon({item: @sheet_panel, half: true})).render().el\r
32     )\r
33     this.$el.append(\r
34       (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el\r
35     )\r
36     this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@sheet_panel.get('updated_at')))\r
37     #\r
38     if @panel.is_own()\r
39       this.$el.append('')\r
40     this\r
41   \r
42 class Pettanr.Views.Sheet.PlayModule.Credits extends Pettanr.View\r
43   tagName: 'div'\r
44   className: 'credits'\r
45   \r
46   initialize: (options) ->\r
47     @parent = options.parent\r
48     @licensed_pictures = {}\r
49   \r
50   render: () ->\r
51     this.$el.html('')\r
52     this\r
53   \r
54   push: (append_pictures) ->\r
55     _.each append_pictures, (retriever, pid) =>\r
56       return if @licensed_pictures[pid]\r
57       @listenTo(retriever, 'retrieve', @retrieve_picture)\r
58       retriever.retrieve()\r
59   \r
60   retrieve_picture: (picture) ->\r
61     @licensed_pictures[pid] = picture\r
62     credit = picture.credit_view()\r
63     this.$el.append(credit.render().el)\r
64   \r
65 class Pettanr.Views.Sheet.PlayModule.Panel extends Pettanr.View\r
66   tagName: 'div'\r
67   \r
68   initialize: (options) ->\r
69     @sheet_panel = options.sheet_panel\r
70   \r
71   clear: () ->\r
72     this.$el.html('')\r
73     retriever = @sheet_panel.panel()\r
74     @listenTo(retriever, 'retrieve', @retrieve_panel)\r
75     retriever.retrieve()\r
76     this\r
77   \r
78   retrieve_panel: (@panel) ->\r
79     @render()\r
80   \r
81   render: () ->\r
82     this.$el.html('')\r
83     body = new Pettanr.Views.Panel.Body({\r
84       panel: @panel,\r
85       spot: null\r
86     })\r
87     this.$el.append(body.render().el)\r
88     footer = new Pettanr.Views.Panel.Footer({\r
89       sheet_panel: sheet_panel,\r
90       panel: @panel,\r
91     })\r
92     this.$el.append(footer.render().el)\r
93     this.credits.push(@panel.licensed_pictures())\r
94     this\r
95   \r
96 class Pettanr.Views.Sheet.PlayModule.Panels extends Pettanr.View\r
97   tagName: 'div'\r
98   \r
99   initialize: (options) ->\r
100     @parent = options.parent\r
101     @items = options.items\r
102     @credits = options.credits\r
103   \r
104   render: () ->\r
105     this.$el.html('')\r
106     _.each @items, (sheet_panel) =>\r
107       return if not sheet_panel.has_panel()\r
108       panel_view = new Pettanr.Views.Sheet.PlayModule.Panel({\r
109         sheet_panel: sheet_panel,\r
110       })\r
111       this.$el.append(panel_view.render().el)\r
112     this\r
113   \r
114 class Pettanr.Views.Sheet.PlayModule.Body extends Pettanr.View\r
115   tagName: 'div'\r
116   \r
117   initialize: (options) ->\r
118     @parent = options.parent\r
119     @list = options.list\r
120     @items = @list.items()\r
121     if @items.length < 1\r
122       @render_empty()\r
123     else\r
124       @render()\r
125   \r
126   render_empty: () ->\r
127     this.$el.html('')\r
128     this.$el.append((new Tag.H2({content: I18n.t('sheets.play.empty')})).render().el)\r
129     this\r
130   \r
131   render: () ->\r
132     this.$el.html('')\r
133     # paginate(@pager)\r
134     credits = new Pettanr.Views.Sheet.PlayModule.Credits({parent: this})\r
135     panels = new Pettanr.Views.Sheet.PlayModule.Panels({\r
136       parent: this,\r
137       items: @items,\r
138       credits: credits,\r
139     })\r
140     this.$el.append(panels.render().el)\r
141     this.$el.append(credits.render().el)\r
142     @rb()\r
143     # paginate(@pager)\r
144     this\r
145   \r
146 class Pettanr.Views.Sheet.Play extends Pettanr.View\r
147   tagName: 'div'\r
148   className: 'show'\r
149   \r
150   initialize: (options) ->\r
151     @item = options.item\r
152     @list = options.list\r
153     icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})\r
154     caption_url = Pettanr.url(@item.table_name(), 'play', {id: @item.get('id')})\r
155     prof_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id'), format: 'prof'})\r
156     @header = new Pettanr.Views.Sheet.PlayModule.Header({\r
157       item: @item, \r
158       caption: @item.get('caption'), \r
159       icon_url: icon_url,\r
160       caption_url: caption_url,\r
161       prof_url: prof_url\r
162     })\r
163     @author = new Pettanr.Views.Show.HeaderAuthor({item: @item})\r
164     @body = new Pettanr.Views.Sheet.PlayModule.Body({\r
165       parent: this,\r
166       list: @list, \r
167     })\r
168     @owner = new Pettanr.Views.Sheet.PlayModule.Owner({item: @item})\r
169   \r
170   render: () ->\r
171     this.$el.html('')\r
172     this.$el.append(@header.render().el)\r
173     this.$el.append(@author.render().el)\r
174     this.$el.append(@body.render().el)\r
175     this.$el.append(@owner.render().el) if @item.is_own()\r
176     this\r
177   \r