OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / tags.js.coffee
1 class Tag\r
2 \r
3 class Tag.Img extends Backbone.View\r
4   tagName: 'img'\r
5   \r
6   # attr: {src: '/hoge', width: 80, ...}\r
7   # class_name: 'El-Class'\r
8   initialize: (options) ->\r
9     @attr = options.attr || {}\r
10     @class_name = options.class_name\r
11   \r
12   render: () ->\r
13     this.$el.attr(@attr)\r
14     this.$el.addClass(@class_name) if @class_name\r
15     this\r
16 \r
17 class Tag.A_ extends Backbone.View\r
18   tagName: 'a'\r
19   \r
20   initialize: (options) ->\r
21     @attr = options.attr || {}\r
22     @content = options.content\r
23     @class_name = options.class_name\r
24   \r
25   render: () ->\r
26     this.$el.attr(@attr)\r
27     @el.className = @class_name if @class_name\r
28     this.$el.html(@content)\r
29     this\r
30   \r
31 class Tag.A extends Tag.A_\r
32   \r
33   initialize: (options) ->\r
34     super(options)\r
35     @navigate = options.navigate\r
36   \r
37   render: () ->\r
38     super()\r
39     @events = {click: 'click'}\r
40     @delegateEvents(@events)\r
41     this\r
42   \r
43   click: () ->\r
44     if @navigate\r
45       window.router.navigate(@navigate, true)\r
46     else\r
47       @trigger('click')\r
48     return false\r
49   \r
50 class Tag.Div extends Backbone.View\r
51   tagName: 'div'\r
52   \r
53   initialize: (options) ->\r
54     @attr = options.attr || {}\r
55     @content = options.content\r
56     @class_name = options.class_name\r
57   \r
58   render: () ->\r
59     @el.className = @class_name if @class_name\r
60     this.$el.attr(@attr)\r
61     this.$el.html(@content)\r
62     this\r
63   \r
64 class Tag.Span extends Tag.Div\r
65   tagName: 'span'\r
66     \r
67 class Tag.Ul extends Backbone.View\r
68   tagName: 'ul'\r
69   \r
70   initialize: (options) ->\r
71     @attr = options.attr || {}\r
72     @contents = options.contents\r
73     @class_name = options.class_name\r
74   \r
75   render: () ->\r
76     @el.className = @class_name if @class_name\r
77     this.$el.attr(@attr)\r
78     this.$el.html('')\r
79     _.each @contents, (content) =>\r
80       this.$el.append(content.render().el)\r
81     this\r
82   \r
83 class Tag.RowBreak extends Tag.Div\r
84   initialize: (options) ->\r
85     @attr = {}\r
86     @content = null\r
87     @class_name = 'row_break'\r
88   \r
89 class Tag.H3 extends Backbone.View\r
90   tagName: 'h3'\r
91   \r
92   initialize: (options) ->\r
93     @attr = options.attr || {}\r
94     @content = options.content\r
95     @class_name = options.class_name\r
96   \r
97   render: () ->\r
98     this.$el.attr(@attr)\r
99     @el.className = @class_name if @class_name\r
100     this.$el.html(@content)\r
101     this\r
102   \r
103 class Tag.H2 extends Tag.H3\r
104   tagName: 'h2'\r
105   \r
106 @Tag = Tag\r