this.$el.addClass(@class_name) if @class_name\r
this\r
\r
-class Tag.A extends Backbone.View\r
+class Tag.A_ extends Backbone.View\r
tagName: 'a'\r
\r
initialize: (options) ->\r
@attr = options.attr || {}\r
- @handler_name = options.handler_name\r
@content = options.content\r
@class_name = options.class_name\r
\r
this.$el.attr(@attr)\r
@el.className = @class_name if @class_name\r
this.$el.html(@content)\r
- if @handler_name\r
- @events = {click: 'click'} \r
- @delegateEvents(@events)\r
+ this\r
+ \r
+class Tag.A extends Tag.A_\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @navigate = options.navigate\r
+ \r
+ render: () ->\r
+ super()\r
+ @events = {click: 'click'}\r
+ @delegateEvents(@events)\r
this\r
\r
click: () ->\r
- window.router.navigate(@handler_name, true)\r
+ if @navigate\r
+ window.router.navigate(@navigate, true)\r
+ else\r
+ @trigger('click')\r
return false\r
\r
class Tag.Div extends Backbone.View\r
this.$el.attr(@attr)\r
this.$el.html(@content)\r
this\r
+ \r
+class Tag.Span extends Tag.Div\r
+ tagName: 'span'\r
\r
+class Tag.Ul extends Backbone.View\r
+ tagName: 'ul'\r
+ \r
+ initialize: (options) ->\r
+ @attr = options.attr || {}\r
+ @contents = options.contents\r
+ @class_name = options.class_name\r
+ \r
+ render: () ->\r
+ @el.className = @class_name if @class_name\r
+ this.$el.attr(@attr)\r
+ this.$el.html('')\r
+ _.each @contents, (content) =>\r
+ this.$el.append(content.render().el)\r
+ this\r
+ \r
class Tag.RowBreak extends Tag.Div\r
initialize: (options) ->\r
@attr = {}\r
@content = null\r
@class_name = 'row_break'\r
\r
+class Tag.H3 extends Backbone.View\r
+ tagName: 'h3'\r
+ \r
+ initialize: (options) ->\r
+ @attr = options.attr || {}\r
+ @content = options.content\r
+ @class_name = options.class_name\r
+ \r
+ render: () ->\r
+ this.$el.attr(@attr)\r
+ @el.className = @class_name if @class_name\r
+ this.$el.html(@content)\r
+ this\r
+ \r
+class Tag.H2 extends Tag.H3\r
+ tagName: 'h2'\r
+ \r
@Tag = Tag\r