Sha256: d9a1ea204bac5fbf76508c176c808ec66a42b55fb62f783c592f54b6c7c9f708
Contents?: true
Size: 1.45 KB
Versions: 3
Compression:
Stored size: 1.45 KB
Contents
class SelectOption extends Lanes.View.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.Component.SelectField extends Lanes.Component.ChoicesInput subviews: fields: hook: 'choices-input' collection: 'selections' options: 'subViewOptions' view: SelectOption session: multiple: { type: 'boolean', default: false } writeTemplate: -> multiple = if this.multiple then "multiple" else "" "<select class='form-control' #{multiple} name='#{this.field_name}' data-hook='choices-input'></select>" 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.$el.find(":selected").prop('selected',false)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lanes-0.0.3 | client/javascripts/component/SelectField.coffee |
lanes-0.0.2 | client/javascripts/component/SelectField.coffee |
lanes-0.0.1 | client/javascripts/component/SelectField.coffee |