class Tag class Tag.Img extends Backbone.View tagName: 'img' # attr: {src: '/hoge', width: 80, ...} # class_name: 'El-Class' initialize: (options) -> @attr = options.attr || {} @class_name = options.class_name render: () -> this.$el.attr(@attr) this.$el.addClass(@class_name) if @class_name this class Tag.A_ extends Backbone.View tagName: 'a' initialize: (options) -> @attr = options.attr || {} @content = options.content @class_name = options.class_name render: () -> this.$el.attr(@attr) @el.className = @class_name if @class_name this.$el.html(@content) this class Tag.A extends Tag.A_ initialize: (options) -> super(options) render: () -> super() @events = {click: 'click'} @delegateEvents(@events) this click: () -> @trigger('click') return false class Tag.Div extends Backbone.View tagName: 'div' initialize: (options) -> @attr = options.attr || {} @content = options.content @class_name = options.class_name render: () -> @el.className = @class_name if @class_name this.$el.attr(@attr) this.$el.html(@content) this class Tag.Span extends Tag.Div tagName: 'span' class Tag.Ul extends Backbone.View tagName: 'ul' initialize: (options) -> @attr = options.attr || {} @contents = options.contents @class_name = options.class_name render: () -> @el.className = @class_name if @class_name this.$el.attr(@attr) this.$el.html('') _.each @contents, (content) => this.$el.append(content.render().el) this class Tag.RowBreak extends Tag.Div initialize: (options) -> @attr = {} @content = null @class_name = 'row_break' class Tag.H3 extends Backbone.View tagName: 'h3' initialize: (options) -> @attr = options.attr || {} @content = options.content @class_name = options.class_name render: () -> this.$el.attr(@attr) @el.className = @class_name if @class_name this.$el.html(@content) this class Tag.H2 extends Tag.H3 tagName: 'h2' @Tag = Tag