foreign_office 0.13.0 → 0.14.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|