Sha256: 9dfb9d2e4ca17bcf7a2c8bf85de5a922b15d97bc0f18c0778e28ca86ec424f3d
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
#= require ultimate/improves/typed-fields Ultimate.Backbone.Views ||= {} class Ultimate.Backbone.Views.TypedFields extends Ultimate.Backbone.View selector: "input:text[data-data-type], input:text[data-regexp-mask]" events: -> "keypress selector": "onKeyPress" "change selector": "onChange" "paste selector": "onPasteOrDrop" "drop selector": "onPasteOrDrop" viewOptions: ["selector"] onKeyPress: (event) -> if event.metaKey @onPasteOrDrop event return true return true unless event.charCode jField = $(event.currentTarget) oldValue = jField.val() newValue = oldValue.substring(0, @selectionStart) + String.fromCharCode(event.charCode) + oldValue.substring(@selectionEnd) return false unless jField.getRegExpMask().test(newValue) jField.data "value", newValue onChange: (event) -> jField = $(event.currentTarget) if jField.getRegExpMask().test(jField.val()) jField.data "value", jField.val() else jField.val jField.data("value") onPasteOrDrop: (event) -> setTimeout ( -> $(event.currentTarget).trigger "change", arguments ), 100 Ultimate.Backbone.createJQueryPlugin? "typedFields", Ultimate.Backbone.Views.TypedFields
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ultimate-base-0.2.3.2 | app/assets/javascripts/ultimate/backbone/views/typed-fields.js.coffee |
ultimate-base-0.2.3 | app/assets/javascripts/ultimate/backbone/views/typed-fields.js.coffee |