@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
@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
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
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
\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
\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
\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
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
\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
\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
margin: 3px 10px;
}
.per-slider {
- float: left;
- clear: left;
+ float: right;
width: 100px;
margin: 3px 10px;
}