bootstrap-combobox 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  module Bootstrap
2
2
  module Combobox
3
3
  # This version is a little arbitrary; at time of this writing source fork is at 1.1-WIP?
4
- VERSION = "1.2.2"
4
+ VERSION = "1.2.3"
5
5
  end
6
6
  end
@@ -1,5 +1,5 @@
1
1
  /* =============================================================
2
- * bootstrap-combobox.js v1.2.1
2
+ * bootstrap-combobox.js v1.2.3
3
3
  * =============================================================
4
4
  * Copyright 2012 Daniel Farrell
5
5
  *
@@ -29,6 +29,7 @@
29
29
  this.$button = this.$container.find('.dropdown-toggle')
30
30
  this.$menu = $(this.options.menu).appendTo('body')
31
31
  this.matcher = this.options.matcher || this.matcher
32
+ this.updater = this.options.updater || this.updater
32
33
  this.sorter = this.options.sorter || this.sorter
33
34
  this.highlighter = this.options.highlighter || this.highlighter
34
35
  this.shown = false
@@ -46,6 +47,7 @@
46
47
  constructor: Combobox
47
48
 
48
49
  , setup: function () {
50
+ console.log('setup')
49
51
  var combobox = $(this.options.template)
50
52
  this.$source.before(combobox)
51
53
  this.$source.hide()
@@ -53,6 +55,7 @@
53
55
  }
54
56
 
55
57
  , parse: function () {
58
+ console.log('parse')
56
59
  var that = this
57
60
  , map = {}
58
61
  , source = []
@@ -77,6 +80,7 @@
77
80
  }
78
81
 
79
82
  , transferAttributes: function() {
83
+ console.log('transferAttributes')
80
84
  this.options.placeholder = this.$source.attr('data-placeholder') || this.options.placeholder
81
85
  this.$element.attr('placeholder', this.options.placeholder)
82
86
  this.$target.prop('name', this.$source.prop('name'))
@@ -91,6 +95,7 @@
91
95
  }
92
96
 
93
97
  , toggle: function () {
98
+ console.log('toggle')
94
99
  if (this.$container.hasClass('combobox-selected')) {
95
100
  this.clearTarget()
96
101
  this.triggerChange()
@@ -106,10 +111,12 @@
106
111
  }
107
112
 
108
113
  , clearElement: function () {
114
+ console.log('clearElement')
109
115
  this.$element.val('').focus()
110
116
  }
111
117
 
112
118
  , clearTarget: function () {
119
+ console.log('clearTarget')
113
120
  this.$source.val('')
114
121
  this.$target.val('')
115
122
  this.$container.removeClass('combobox-selected')
@@ -117,20 +124,30 @@
117
124
  }
118
125
 
119
126
  , triggerChange: function () {
127
+ console.log('triggerChagne')
120
128
  this.$source.trigger('change')
121
129
  }
122
130
 
123
131
  , refresh: function () {
132
+ console.log('refresh')
124
133
  this.source = this.parse()
125
134
  this.options.items = this.source.length
126
135
  }
127
136
 
128
137
  // modified typeahead function adding container and target handling
129
138
  , select: function () {
139
+ console.log('select')
130
140
  var val = this.$menu.find('.active').attr('data-value')
141
+ console.log('in select, val is: ' + val + ' this.query is ' + this.query)
142
+ var mapped_val = this.map[val]
143
+ if (!this.options.force_match && this.query != '' && !this.matcher(val)) {
144
+ val = this.query
145
+ this.$menu.find('.active').removeClass('active')
146
+ mapped_val = val
147
+ }
131
148
  this.$element.val(this.updater(val)).trigger('change')
132
- this.$source.val(this.map[val]).trigger('change')
133
- this.$target.val(this.map[val]).trigger('change')
149
+ this.$source.val(mapped_val).trigger('change')
150
+ this.$target.val(mapped_val).trigger('change')
134
151
  this.$container.addClass('combobox-selected')
135
152
  this.selected = true
136
153
  return this.hide()
@@ -138,12 +155,14 @@
138
155
 
139
156
  // modified typeahead function removing the blank handling and source function handling
140
157
  , lookup: function (event) {
158
+ console.log('lookup')
141
159
  this.query = this.$element.val()
142
160
  return this.process(this.source)
143
161
  }
144
162
 
145
163
  // modified typeahead function adding button handling and remove mouseleave
146
164
  , listen: function () {
165
+ console.log('listen')
147
166
  this.$element
148
167
  .on('focus', $.proxy(this.focus, this))
149
168
  .on('blur', $.proxy(this.blur, this))
@@ -165,6 +184,7 @@
165
184
 
166
185
  // modified typeahead function to clear on type and prevent on moving around
167
186
  , keyup: function (e) {
187
+ console.log('keyup')
168
188
  switch(e.keyCode) {
169
189
  case 40: // down arrow
170
190
  case 39: // right arrow
@@ -199,6 +219,7 @@
199
219
 
200
220
  // modified typeahead function to force a match and add a delay on hide
201
221
  , blur: function (e) {
222
+ console.log('blur')
202
223
  var that = this
203
224
  this.focused = false
204
225
  var val = this.$element.val()
@@ -216,6 +237,7 @@
216
237
 
217
238
  // modified typeahead function to not hide
218
239
  , mouseleave: function (e) {
240
+ console.log('mouseleave')
219
241
  this.mousedover = false
220
242
  }
221
243
  })
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap-combobox
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-23 00:00:00.000000000 Z
13
+ date: 2013-07-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: railties