OSDN Git Service

add: helper slider
[pettanr/pettanr.git] / app / assets / javascripts / tags.js.coffee
index ca747e9..bf72a94 100644 (file)
@@ -99,4 +99,44 @@ class Tag.H3 extends Backbone.View
 class Tag.H2 extends Tag.H3\r
   tagName: 'h2'\r
   \r
+class Tag.Input extends Backbone.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
 @Tag = Tag\r