OSDN Git Service

794e429c78660a1d3eb9f5e5c65afa09cbd062f5
[pettanr/pettanr.git] / app / assets / javascripts / view / show / header.js.coffee
1 class Pettanr.View.Show.Header extends Pettanr.View\r
2   tagName: 'h1'\r
3   className: 'show-header'\r
4   \r
5   constructor: (@item, @context, options) ->\r
6     super(options)\r
7   \r
8   initialize: (options) ->\r
9     @face_options = options.face\r
10     @label_options = options.label\r
11     @prof_options = options.prof\r
12     \r
13     @face_options.context ||= @context\r
14     @face_options.class_name ||= 'face'\r
15     @face_options.click ||= () =>\r
16       @trigger('click:face')\r
17     \r
18     @label_options.context ||= @context\r
19     @label_options.class_name ||= 'label'\r
20     @label_options.click ||= () =>\r
21       @trigger('click:label')\r
22     \r
23     @prof_options.context ||= @context\r
24     @prof_options.class_name ||= 'prof'\r
25     @prof_options.click ||= () =>\r
26       @trigger('click:prof')\r
27     \r
28     @pick = null\r
29     @face_button = @item.mini_face_button(@face_options)\r
30     @label_button = @item.label_button(@label_options)\r
31     @prof_button = @item.mini_prof_button(@prof_options)\r
32   \r
33   render: () ->\r
34     this.$el.html('')\r
35     this.$el.append(@pick.render().el) if @pick\r
36     this.$el.append(@face_button.render().el)\r
37     this.$el.append(@label_button.render().el)\r
38     this.$el.append(@prof_button.render().el)\r
39     this\r
40   \r
41   click_pick: () ->\r
42     @trigger('click:pick')\r
43   \r
44   add_pick: (target_model) ->\r
45     @pick = new Pettanr.Views.Common.PickIcon({\r
46       name: target_model.pick_type(@item.item_name()), half: true\r
47     })\r
48     @listenTo(@pick, 'click', @click_pick)\r
49     @render()\r
50   \r