class Tag\r
\r
-class Tag.Img extends Backbone.View\r
+class Tag.Img extends Pettanr.View\r
tagName: 'img'\r
\r
# attr: {src: '/hoge', width: 80, ...}\r
this.$el.addClass(@class_name) if @class_name\r
this\r
\r
-class Tag.A extends Backbone.View\r
+class Tag.A_ extends Pettanr.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
+ \r
+ render: () ->\r
+ super()\r
+ @events = {click: 'click'}\r
+ @delegateEvents(@events)\r
this\r
\r
click: () ->\r
- window.router.navigate(@handler_name, true)\r
+ @trigger('click')\r
return false\r
\r
-class Tag.Div extends Backbone.View\r
+class Tag.Div extends Pettanr.View\r
tagName: 'div'\r
\r
initialize: (options) ->\r
class Tag.Span extends Tag.Div\r
tagName: 'span'\r
\r
-class Tag.Ul extends Backbone.View\r
+class Tag.Ul extends Pettanr.View\r
tagName: 'ul'\r
\r
initialize: (options) ->\r
@content = null\r
@class_name = 'row_break'\r
\r
-class Tag.H3 extends Backbone.View\r
+class Tag.H3 extends Pettanr.View\r
tagName: 'h3'\r
\r
initialize: (options) ->\r
class Tag.H2 extends Tag.H3\r
tagName: 'h2'\r
\r
+class Tag.Input extends Pettanr.View\r
+ tagName: 'input'\r
+ \r
+ initialize: (options) ->\r
+ @type = options.type || 'text'\r
+ @class_name = options.class_name\r
+ @attr = {}\r
+ \r
+ render: () ->\r
+ this.$el.attr(@attr)\r
+ @el.className = @class_name if @class_name\r
+ this.$el.html('')\r
+ this\r
+ \r
+class Tag.Checkbox extends Tag.Input\r
+ events: {\r
+ click: 'click'\r
+ }\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @type = 'checkbox'\r
+ @value = options.value\r
+ @checked = options.checked\r
+ @attr = {\r
+ type: @type,\r
+ value: @value,\r
+ checked: @checked,\r
+ }\r
+ \r
+ refresh: () ->\r
+ @attr['checked'] = @checked\r
+ this.$el.attr(@attr)\r
+ \r
+ click: () ->\r
+ @checked = this.$el.prop('checked')\r
+ @refresh()\r
+ @trigger('click')\r
+ return true\r
+ \r
+class Tag.Submit extends Tag.Input\r
+ events: {\r
+ click: 'click'\r
+ }\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @type = 'submit'\r
+ @value = options.value\r
+ @attr = {\r
+ type: @type,\r
+ value: @value,\r
+ }\r
+ \r
+ click: () ->\r
+ @trigger('click')\r
+ return false\r
+ \r
+class Tag.Option extends Pettanr.View\r
+ tagName: 'option'\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @selected = options.selected\r
+ @value = options.value || ''\r
+ @caption = options.caption\r
+ \r
+ render: () ->\r
+ this.$el.attr({value: @value, selected: @sel_attr()})\r
+ this.$el.html(@caption)\r
+ this\r
+ \r
+ sel_attr: () ->\r
+ if @selected\r
+ 'selected'\r
+ else\r
+ ''\r
+ \r
@Tag = Tag\r