Sha256: a76bd7404ea754125b06246d20f1abd71b741b5b1f25b0a2e1920d3de8994062

Contents?: true

Size: 1003 Bytes

Versions: 3

Compression:

Stored size: 1003 Bytes

Contents

/*
---
 
script: Input.js
 
description: A base class for all kinds of form controls
 
license: Public domain (http://unlicense.org).

authors: Yaroslaff Fedin
 
requires:
  - LSD/LSD.Widget
  - LSD/LSD.Trait.Input
  - LSD/LSD.Mixin.Focusable

provides: 
  - LSD.Widget.Input
 
...
*/

LSD.Widget.Input = new Class({
  Extends: LSD.Trait.Input,
  
  options: {
    tag: 'input',
    attributes: {
      type: 'text'
    },
    pseudos: Array.fast('form-associated', 'value'),
    events: {
      _input: {
        focus: function() {
          this.input.focus();
        },
        blur: function() {
          this.input.blur();
        }
      }
    },
    states: Array.fast('focused')
  },
  
  retain: function() {
    this.focus(false);
    return false;
  },
  
  applyValue: function(item) {
    this.input.set('value', item);
  },

  getRawValue: function() {
    return ('value' in this.attributes) && this.element.get('value');
  },

  focus: function() {
    this.element.focus();
  }

});

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lsd_rails-0.1.2 Packages/lsd-widgets/Source/Input.js
lsd_rails-0.1.1 Packages/lsd-widgets/Source/Input.js
lsd_rails-0.1 Packages/lsd-widgets/Source/Input.js