Sha256: e2b7a38ffaabb74b1ee6d09db8a51c73b27fd9740541a52eb2f582e26a85ff38
Contents?: true
Size: 1.83 KB
Versions: 2
Compression:
Stored size: 1.83 KB
Contents
#= require ../multi-select/MultiSelect class SelectOption extends Lanes.Views.Base template: (scope)-> '<option></option>' constructor: (options)-> @groupName=options.groupName m = options.mappings @bindings = {} @bindings["model.#{m.id}"] = { type: 'value', selector: 'option' } @bindings["model.#{m.selected}"] = { type: 'booleanAttribute', selector: 'option', name:'selected' } @bindings["model.#{m.title}"] = 'option' @bindings["model.#{m.visible}"] = { type: 'toggle' } if m.visible super class Lanes.Components.SelectField extends Lanes.Components.MultiSelect subviews: fields: hook: 'choices-input' collection: 'selections' options: 'subViewOptions' view: SelectOption session: multiple: { type: 'boolean', default: false } subViewOptions: -> { field_name: @field_name, mappings: @mappings } ui: select: 'select' domEvents: 'change' : 'onSelectChange' onSelectChange: (ev)-> if @model && @association @model.set(@association, this.selectionForID( this.ui.select.val() )) constructor: (options={})-> super writeTemplate: -> multiple = if this.multiple then "multiple" else "" "<div><select class='form-control' #{multiple} name='#{this.field_name}' data-hook='choices-input'></select></div>" readTemplate: -> "<div class='ro-input' name='#{this.field_name}'></div>" select: (option)-> if this.readOnly this.$el.text( if option then option.code else "" ) else if option id = option.get(@mappings.id) option = this.query("option[value=\"#{id}\"]") option.selected = true else this.unSelectAll()
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lanes-0.1.8 | client/lanes/components/select-field/SelectField.coffee |
lanes-0.1.7 | client/lanes/components/select-field/SelectField.coffee |