OSDN Git Service

fix: input tag for helper slider
authoryasushiito <yas@pen-chan.jp>
Thu, 14 May 2015 23:48:06 +0000 (08:48 +0900)
committeryasushiito <yas@pen-chan.jp>
Thu, 14 May 2015 23:48:06 +0000 (08:48 +0900)
app/assets/javascripts/locmare/form/field/helper/slider.js.coffee
app/assets/javascripts/locmare/form/field/tag/base.js.coffee
app/assets/javascripts/locmare/form/field/tag/file.js.coffee
app/assets/javascripts/locmare/form/field/tag/hidden.js.coffee
app/assets/javascripts/locmare/form/field/tag/number.js.coffee
app/assets/javascripts/locmare/form/field/tag/select.js.coffee
app/assets/javascripts/locmare/form/field/tag/text.js.coffee
app/assets/javascripts/locmare/form/field/tag/text_area.js.coffee
app/assets/stylesheets/test.css.scss

index dd932cf..9cb0195 100644 (file)
@@ -39,7 +39,7 @@ class Locmare.FormModule.FieldModule.HelperModule.Slider extends Locmare.FormMod
       @slider.disable()\r
   \r
 class Locmare.FormModule.FieldModule.HelperModule.SliderModule\r
-class Locmare.FormModule.FieldModule.HelperModule.SliderModule.Slider extends Tag.Div\r
+class Locmare.FormModule.FieldModule.HelperModule.SliderModule.Slider extends Tag.Span\r
   events: {\r
     slidechange: 'slider_change'\r
   }\r
@@ -63,11 +63,12 @@ class Locmare.FormModule.FieldModule.HelperModule.SliderModule.Slider extends Ta
     @field.set(@field.value() || 0)\r
     this.$el.slider({value: @field.value()})\r
     this.$el.attr({style: 'display: inline;'})\r
+    @field.tag.show()\r
   \r
   disable: () ->\r
-    this.$el.attr({style: 'display: none;'})\r
     @field.set(undefined)\r
-    @field.tag.render()    # why does not raise change event when set null value?\r
+    @field.tag.hide()\r
+    this.$el.attr({style: 'display: none;'})\r
   \r
   slider_change: (event, ui) -> \r
     @trigger('slide', ui.value)\r
index 2da8777..c1c7a87 100644 (file)
@@ -4,6 +4,7 @@ class Locmare.FormModule.FieldModule.TagModule.Base extends Backbone.View
   initialize: (options) ->\r
     @field = options.field\r
     @tag_manifest = options.tag_manifest\r
+    @visible = true\r
     \r
   form_field_name: () ->\r
     @field.form_field_name()\r
@@ -14,9 +15,33 @@ class Locmare.FormModule.FieldModule.TagModule.Base extends Backbone.View
     else\r
       this.$el.val()\r
   \r
+  type: () ->\r
+    null\r
+  \r
   value: () ->\r
     @field.value()\r
   \r
+  attr: () ->\r
+    r = {\r
+      name: @form_field_name(),\r
+    }\r
+    # _.extend(r, @options())\r
+    if @type()\r
+      r['type'] = @type()\r
+    if @visible\r
+      #r['style'] = 'display: inline;'\r
+    else\r
+      r['style'] = 'display: none;'\r
+    r\r
+  \r
+  show: () ->\r
+    @visible = true\r
+    @render()\r
+  \r
+  hide: () ->\r
+    @visible = false\r
+    @render()\r
+  \r
   options: () ->\r
     @tag_manifest.options\r
   \r
index 4256f5a..5445b39 100644 (file)
@@ -3,11 +3,9 @@ class Locmare.FormModule.FieldModule.TagModule.FileTag extends Locmare.FormModul
   \r
   render: () ->\r
     this.$el.html('')\r
-    @attr = {\r
-      type: 'file',\r
-      name: @form_field_name()\r
-    }\r
-    _.extend(@attr, @options())\r
-    this.$el.attr(@attr)\r
+    this.$el.attr(@attr())\r
     this\r
   \r
+  type: () ->\r
+    'file'\r
+  \r
index f93c887..cbc2ae2 100644 (file)
@@ -2,14 +2,14 @@ class Locmare.FormModule.FieldModule.TagModule.HiddenTag extends Locmare.FormMod
   \r
   render: () ->\r
     this.$el.html('')\r
-    @attr = {\r
-      type: 'hidden',\r
-      name: @form_field_name(),\r
-      value: @value()\r
-    }\r
-    _.extend(@attr, @options())\r
-    this.$el.attr(@attr)\r
+    this.$el.attr(@attr())\r
     this\r
   \r
   val: () ->\r
     parseInt(super)  # humm... \r
+  \r
+  attr: () ->\r
+    r = super()\r
+    r['value'] = @value()\r
+    r\r
+  \r
index 914f051..009dd50 100644 (file)
@@ -8,23 +8,24 @@ class Locmare.FormModule.FieldModule.TagModule.NumberTag extends Locmare.FormMod
   \r
   render: () ->\r
     this.$el.html('')\r
-    sz = @options()['size']\r
-    @attr = {\r
-      type: 'number',\r
-      name: @form_field_name(),\r
-      value: @value(),\r
-      \r
-    }\r
-    if sz\r
-      @attr['style'] = Pettanr.to_style({width: Pettanr.to_s(sz) + 'em'})\r
-    _.extend(@attr, @options())\r
-    this.$el.attr(@attr)\r
+    this.$el.attr(@attr())\r
     this\r
   \r
   change: () ->\r
     @field.helpers.refresh()\r
     @field.trigger('change')\r
   \r
+  type: () ->\r
+    'number'\r
+  \r
   val: () ->\r
     parseInt(super)\r
   \r
+  attr: () ->\r
+    r = super()\r
+    r['value'] = @value()\r
+    sz = @options()['size']\r
+    if sz\r
+      r['style'] = Pettanr.to_style({width: Pettanr.to_s(sz) + 'em'})\r
+    r\r
+  \r
index 5a15566..4416c63 100644 (file)
@@ -11,11 +11,7 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod
       else\r
         members\r
       this.$el.html('')\r
-      @attr = {\r
-        name: @form_field_name(),\r
-      }\r
-      _.extend(@attr, @options())\r
-      this.$el.attr(@attr)\r
+      this.$el.attr(@attr())\r
       _.each values, (member) =>\r
         selected = if @is_selected(member)\r
           ' selected'\r
index 0f3abc2..8714eb3 100644 (file)
@@ -6,12 +6,7 @@ class Locmare.FormModule.FieldModule.TagModule.TextTag extends Locmare.FormModul
   \r
   render: () ->\r
     this.$el.html('')\r
-    @attr = {\r
-      type: 'text',\r
-      name: @form_field_name()\r
-    }\r
-    _.extend(@attr, @options())\r
-    this.$el.attr(@attr)\r
+    this.$el.attr(@attr())\r
     this.$el.val(@value())\r
     this\r
   \r
index 6f81f74..8db5e16 100644 (file)
@@ -6,19 +6,18 @@ class Locmare.FormModule.FieldModule.TagModule.TextAreaTag extends Locmare.FormM
   \r
   render: () ->\r
     this.$el.html('')\r
-    @attr = {\r
-      name: @form_field_name(),\r
-    }\r
-    if sz = @tag_manifest.options['size']\r
-      r = sz.split('x')\r
-      @tag_manifest.options['cols'] = r[0]\r
-      @tag_manifest.options['rows'] = r[1]\r
-      delete @tag_manifest.options['size']\r
-    _.extend(@attr, @options())\r
-    this.$el.attr(@attr)\r
+    this.$el.attr(@attr())\r
     this.$el.val(@value())\r
     this\r
   \r
   change: () ->\r
     @field.trigger('change')\r
   \r
+  attr: () ->\r
+    r = super()\r
+    if sz = @options()['size']\r
+      rc = sz.split('x')\r
+      r['cols'] = rc[0]\r
+      r['rows'] = rc[1]\r
+    r\r
+  \r
index d39f823..6197219 100644 (file)
@@ -259,8 +259,7 @@ font-family : monospace;
     margin: 3px 10px;
   }
   .per-slider {
-    float: left;
-    clear: left;
+    float: right;
     width: 100px;
     margin: 3px 10px;
   }