foreign_office 0.13.0 → 0.14.0
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 +4 -4
- data/app/assets/javascripts/foreign_office.js +23 -1
- data/lib/foreign_office/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d52a84688cf5ff06aa54de9bc51be17de548a743
|
4
|
+
data.tar.gz: 94dd508cdaa0210dd6d794b2620501b70c8076a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42bcdc01c9a2fbd8580a4500816702f3e4efe4f2ff626fa95a11d34cf72de5ae667fc4af80cbd33c5e282dd0d22bf6e48eb677515344b05fc4e410d5614c8c2f
|
7
|
+
data.tar.gz: 561668e5074b7d894afd866790e215049da54966a76ebcc43d7d70505b78414eacfb191e8e44668b1c0acfae932af1809347d0c4c14e1f1997da1b6d3cb76def
|
@@ -101,6 +101,21 @@ var ForeignOfficeChannel = Class.extend({
|
|
101
101
|
},
|
102
102
|
addListener: function(listener){
|
103
103
|
this.listeners.push(listener);
|
104
|
+
//need to ensure forms are last in the list, so that inputs
|
105
|
+
//will be updated before forms are submitted
|
106
|
+
//NB. this will only work if the form and its inputs share the same channel
|
107
|
+
//since we can't control the order of channel messages coming across the wire
|
108
|
+
this.listeners.sort(function(a,b){
|
109
|
+
var a_kind = a.$listener.get(0).nodeName.toLowerCase()
|
110
|
+
var b_kind = b.$listener.get(0).nodeName.toLowerCase()
|
111
|
+
if(('form' != a_kind) && ('form' == b_kind)){
|
112
|
+
return -1
|
113
|
+
}
|
114
|
+
if(('form' == a_kind) && ('form' != b_kind)){
|
115
|
+
return 1
|
116
|
+
}
|
117
|
+
return 0 //('form' == a_kind) && ('form' == b_kind)
|
118
|
+
})
|
104
119
|
}
|
105
120
|
});
|
106
121
|
|
@@ -119,6 +134,9 @@ var ForeignOfficeListener = Class.extend({
|
|
119
134
|
},
|
120
135
|
handleMessage: function(m){
|
121
136
|
var $listener = this.$listener;
|
137
|
+
if(!m.object.hasOwnProperty(this.object_key) && !m.object.hasOwnProperty(this.delete_key)){
|
138
|
+
return true
|
139
|
+
}
|
122
140
|
if(this.endpoint){
|
123
141
|
if (m.object[this.object_key] == true) {
|
124
142
|
$.get(this.endpoint, function(data){
|
@@ -155,7 +173,9 @@ var ForeignOfficeListener = Class.extend({
|
|
155
173
|
}
|
156
174
|
break;
|
157
175
|
case 'select':
|
158
|
-
this.$listener.
|
176
|
+
if(this.$listener.val() != ('' + new_value)){
|
177
|
+
this.$listener.val('' + new_value).change()
|
178
|
+
}
|
159
179
|
this.$listener.trigger("chosen:updated")
|
160
180
|
break;
|
161
181
|
|
@@ -178,6 +198,8 @@ var ForeignOfficeListener = Class.extend({
|
|
178
198
|
}
|
179
199
|
if(this.$listener.data('ajax-link')){
|
180
200
|
this.$listener.trigger('apiclick');
|
201
|
+
}else if(this.$listener.data('ajax-form')){
|
202
|
+
this.$listener.trigger('apisubmit');
|
181
203
|
}else{
|
182
204
|
window.location = new_value;
|
183
205
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreign_office
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Draut
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-01-
|
12
|
+
date: 2017-01-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|