OSDN Git Service

fix: editor
[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   \r
36   render: () ->\r
37     super()\r
38     @events = {click: 'click'}\r
39     @delegateEvents(@events)\r
40     this\r
41   \r
42   click: () ->\r
43     @trigger('click')\r
44     return false\r
45   \r
46 class Tag.Div extends Backbone.View\r
47   tagName: 'div'\r
48   \r
49   initialize: (options) ->\r
50     @attr = options.attr || {}\r
51     @content = options.content\r
52     @class_name = options.class_name\r
53   \r
54   render: () ->\r
55     @el.className = @class_name if @class_name\r
56     this.$el.attr(@attr)\r
57     this.$el.html(@content)\r
58     this\r
59   \r
60 class Tag.Span extends Tag.Div\r
61   tagName: 'span'\r
62     \r
63 class Tag.Ul extends Backbone.View\r
64   tagName: 'ul'\r
65   \r
66   initialize: (options) ->\r
67     @attr = options.attr || {}\r
68     @contents = options.contents\r
69     @class_name = options.class_name\r
70   \r
71   render: () ->\r
72     @el.className = @class_name if @class_name\r
73     this.$el.attr(@attr)\r
74     this.$el.html('')\r
75     _.each @contents, (content) =>\r
76       this.$el.append(content.render().el)\r
77     this\r
78   \r
79 class Tag.RowBreak extends Tag.Div\r
80   initialize: (options) ->\r
81     @attr = {}\r
82     @content = null\r
83     @class_name = 'row_break'\r
84   \r
85 class Tag.H3 extends Backbone.View\r
86   tagName: 'h3'\r
87   \r
88   initialize: (options) ->\r
89     @attr = options.attr || {}\r
90     @content = options.content\r
91     @class_name = options.class_name\r
92   \r
93   render: () ->\r
94     this.$el.attr(@attr)\r
95     @el.className = @class_name if @class_name\r
96     this.$el.html(@content)\r
97     this\r
98   \r
99 class Tag.H2 extends Tag.H3\r
100   tagName: 'h2'\r
101   \r
102 @Tag = Tag\r