uber_select_rails 0.4.0 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84ef1d0cf1002249e0227db7b418a8939b08565eaf4c0f1d41d9fb30fe06fb16
|
4
|
+
data.tar.gz: df218314fbdf61a2a11a3f7b7fdda895893368f5ff8da73345eae6f597fb6dea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c655fe9651218f7e292e5efbaf28b96b339f0993e3e344c5f3f116271bf850d7a1aa4b2cfa8523ea39b159208a7cb7d750bf4838d0111841c047f3c916e1835d
|
7
|
+
data.tar.gz: 921dc47d6440caa9e76f6f83e5e843dee45b84f1bd51e5f01a3382b582d6d335f51438a417baeb3673b9e99cbab92361dfa85c9985a4d9566adc733a6ed4c593
|
data/uber_select.gemspec
CHANGED
@@ -3,6 +3,8 @@ lib = File.expand_path('../lib', __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
require 'uber_select_rails/version'
|
5
5
|
|
6
|
+
`git submodule update` # Ensure we've checked the correct submodule files
|
7
|
+
|
6
8
|
Gem::Specification.new do |spec|
|
7
9
|
spec.name = "uber_select_rails"
|
8
10
|
spec.version = UberSelectRails::VERSION
|
@@ -21,6 +21,10 @@ you can use UberSelect to gussy up forms, without changing any of the underlying
|
|
21
21
|
$('.my_selects').uberSelect(options);
|
22
22
|
```
|
23
23
|
|
24
|
+
#### Attributes <a name="UberSearch attributes"></a>
|
25
|
+
Attribtes on the outermost element can be specified by setting the `data-uber-attributes` attribute on the `<select>` element. Values should be passed
|
26
|
+
as a JSON string of key/value pairs where the key is the attribute name and the value is the attribute value.
|
27
|
+
|
24
28
|
#### Options
|
25
29
|
Options can be specified by setting the `data-uber-options` attribute on the `<select>` element. Values should be passed
|
26
30
|
as a JSON string. All options on the are passed to the underlying UberSearch, see [UberSearch options](#UberSearchOptions).
|
@@ -20,7 +20,7 @@
|
|
20
20
|
optionFromDatum: optionFromDatum, // A function to create select options
|
21
21
|
value: $(select).val() // Initialize the UberSearch with this selected value
|
22
22
|
}, opts, $(select).data('uber-options'))
|
23
|
-
|
23
|
+
var uberAttributes = $(select).data('uber-attributes'); // Attributes defined as data-uber-attributes on the original select element. These will be added as attributes on the uberSelect element.
|
24
24
|
var uberSearch = this.uberSearch = new UberSearch(dataFromSelect(select), options)
|
25
25
|
|
26
26
|
|
@@ -53,11 +53,16 @@
|
|
53
53
|
|
54
54
|
// INITIALIZATION
|
55
55
|
|
56
|
+
if (uberAttributes) {
|
57
|
+
uberSearch.view.attr(uberAttributes)
|
58
|
+
}
|
59
|
+
|
56
60
|
uberSearch.view.insertBefore(select).append(select)
|
57
61
|
hideSelect()
|
58
62
|
if (options.dataUrl) {
|
59
63
|
$.getJSON(options.dataUrl).done(function(data){
|
60
64
|
$(select).append(optionsFromData(data))
|
65
|
+
updateSelectValue(options.value)
|
61
66
|
uberSearch.setData(dataFromSelect(select))
|
62
67
|
$(select).trigger(eventsTriggered.ready)
|
63
68
|
})
|
@@ -82,7 +87,7 @@
|
|
82
87
|
selectedText: getAttribute(option, 'data-selected-text'),
|
83
88
|
value: getAttribute(option, 'value'),
|
84
89
|
title: getAttribute(option, 'title'),
|
85
|
-
disabled: getAttribute(option, 'disabled'),
|
90
|
+
disabled: getAttribute(option, 'disabled') === undefined ? false : true,
|
86
91
|
matchValue: getAttribute(option, 'data-match-value'),
|
87
92
|
visibility: getAttribute(option, 'data-visibility'),
|
88
93
|
element: option
|
@@ -136,7 +141,7 @@
|
|
136
141
|
function refreshOptionsList(){
|
137
142
|
uberSearch.setDisabled($(select).is(':disabled'))
|
138
143
|
uberSearch.setData(dataFromSelect(select))
|
139
|
-
|
144
|
+
updateSelectValue($(select).find('option[selected]').attr('value')) // Read the value of the option that is selected because the <select> element's value is defunct now that we've updated the <option> elements
|
140
145
|
}
|
141
146
|
|
142
147
|
// Updates the UberSearch's selected value from the select element's value
|
@@ -145,7 +150,10 @@
|
|
145
150
|
}
|
146
151
|
|
147
152
|
function updateSelectValue(value){
|
148
|
-
$(select).val(
|
153
|
+
var before = $(select).val()
|
154
|
+
$(select).val(value)
|
155
|
+
var after = $(select).val() // Read value the same way instead of comparing to `value` so the same coercion is applied
|
156
|
+
if (before != after) { $(select).trigger('change') } // Only trigger a change if the value has actually changed
|
149
157
|
}
|
150
158
|
|
151
159
|
// Selects the option with an emptystring value, or the first option if there is no blank option
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uber_select_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas Jakobsen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
|
-
description:
|
55
|
+
description:
|
56
56
|
email:
|
57
57
|
- nicholas.jakobsen@gmail.com
|
58
58
|
executables: []
|
@@ -84,7 +84,7 @@ files:
|
|
84
84
|
homepage: https://github.com/culturecode/uber_select_rails
|
85
85
|
licenses: []
|
86
86
|
metadata: {}
|
87
|
-
post_install_message:
|
87
|
+
post_install_message:
|
88
88
|
rdoc_options: []
|
89
89
|
require_paths:
|
90
90
|
- lib
|
@@ -99,8 +99,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: '0'
|
101
101
|
requirements: []
|
102
|
-
rubygems_version: 3.0.
|
103
|
-
signing_key:
|
102
|
+
rubygems_version: 3.0.8
|
103
|
+
signing_key:
|
104
104
|
specification_version: 4
|
105
105
|
summary: A Rails gem containing a javascript plugin that adds a layer of UI goodness
|
106
106
|
overtop of basic HTML select elements
|