bastion 3.2.2 → 3.3.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.
@@ -6,11 +6,11 @@
6
6
  //
7
7
  // <div ng-app="app">
8
8
  // <div ng-controller="mainCtrl">
9
- // <form ng-attr-action="/uploads"
10
- // ng-upload="completed(content)">
9
+ // <form ng-attr-action="/uploads"
10
+ // ng-upload="completed(content)">
11
11
  // ng-upload-loading="loading()"
12
12
  // <input type="file" name="avatar"></input>
13
- // <input type="submit" value="Upload"
13
+ // <input type="submit" value="Upload"
14
14
  // ng-disabled="$isUploading"></input>
15
15
  // </form>
16
16
  // </div>
@@ -92,7 +92,8 @@ angular.module('ngUpload', [])
92
92
  // // add the Rails CSRF hidden input to form
93
93
  // enableRailsCsrf: bool
94
94
  // }
95
- var fn = attrs.ngUpload ? $parse(attrs.ngUpload) : angular.noop;
95
+ var fn = attrs.ngUpload ? $parse(attrs.ngUpload) : null;
96
+ var errorCatcher = attrs.errorCatcher ? $parse(attrs.errorCatcher) : null;
96
97
  var loading = attrs.ngUploadLoading ? $parse(attrs.ngUploadLoading) : null;
97
98
 
98
99
  if ( attrs.hasOwnProperty( "uploadOptionsConvertHidden" ) ) {
@@ -136,12 +137,21 @@ angular.module('ngUpload', [])
136
137
 
137
138
  setLoadingState(false);
138
139
  // Start upload
139
- element.bind('submit', function uploadStart() {
140
+ element.bind('submit', function uploadStart($event) {
140
141
  var formController = scope[attrs.name];
141
142
  // if form is invalid don't submit (e.g. keypress 13)
142
- if(formController && formController.$invalid) return false;
143
+ if(formController && formController.$invalid) {
144
+ $event.preventDefault();
145
+ return false;
146
+ }
143
147
  // perform check before submit file
144
- if (options.beforeSubmit && options.beforeSubmit(scope, {}) == false) return false;
148
+ if (options.beforeSubmit && options.beforeSubmit(scope, {}) === false) {
149
+ if(!scope.$$phase){
150
+ scope.$apply();
151
+ }
152
+ $event.preventDefault();
153
+ return false;
154
+ }
145
155
 
146
156
  // bind load after submit to prevent initial load triggering uploadEnd
147
157
  iframe.bind('load', uploadEnd);
@@ -181,24 +191,53 @@ angular.module('ngUpload', [])
181
191
  setLoadingState(false);
182
192
  }
183
193
  // Get iframe body contents
184
- var bodyContent = (iframe[0].contentDocument ||
185
- iframe[0].contentWindow.document).body;
186
- var content;
187
194
  try {
188
- content = angular.fromJson(bodyContent.innerText || bodyContent.textContent);
189
- } catch (e) {
190
- // Fall back to html if json parse failed
191
- content = bodyContent.innerHTML;
192
- $log.warn('Response is not valid JSON');
193
- }
194
- // if outside a digest cycle, execute the upload response function in the active scope
195
- // else execute the upload response function in the current digest
196
- if (!scope.$$phase) {
197
- scope.$apply(function () {
198
- fn(scope, { content: content});
199
- });
200
- } else {
201
- fn(scope, { content: content});
195
+ var bodyContent = (iframe[0].contentDocument ||
196
+ iframe[0].contentWindow.document).body;
197
+
198
+ var content;
199
+ try {
200
+ content = angular.fromJson(bodyContent.innerText || bodyContent.textContent);
201
+ if (!scope.$$phase) {
202
+ scope.$apply(function () {
203
+ fn(scope, { content: content});
204
+ });
205
+ } else {
206
+ fn(scope, { content: content});
207
+ }
208
+ } catch (e) {
209
+ // Fall back to html if json parse failed
210
+ content = bodyContent.innerHTML;
211
+ var error = 'ng-upload: Response is not valid JSON';
212
+ $log.warn(error);
213
+
214
+ if ( errorCatcher ){
215
+ if (!scope.$$phase) {
216
+ scope.$apply(function () {
217
+ errorCatcher(scope, { error: error});
218
+ });
219
+ } else {
220
+ errorCatcher(scope, { error: error});
221
+ }
222
+ }
223
+
224
+ }
225
+ // if outside a digest cycle, execute the upload response function in the active scope
226
+ // else execute the upload response function in the current digest
227
+
228
+ } catch (error) {
229
+ $log.warn('ng-upload: Server error');
230
+
231
+ if ( errorCatcher ){
232
+ if (!scope.$$phase) {
233
+ scope.$apply(function () {
234
+ errorCatcher(scope, { error: error});
235
+ });
236
+ } else {
237
+ errorCatcher(scope, { error: error});
238
+ }
239
+ }
240
+
202
241
  }
203
242
  }
204
243
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bastion
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.2
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric D Helms
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-05-27 00:00:00.000000000 Z
12
+ date: 2016-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: angular-rails-templates
@@ -140,6 +140,7 @@ files:
140
140
  - app/assets/javascripts/bastion/i18n/zanata.xml
141
141
  - app/assets/javascripts/bastion/layouts/details-nutupane.html
142
142
  - app/assets/javascripts/bastion/layouts/nutupane.html
143
+ - app/assets/javascripts/bastion/layouts/panel.html
143
144
  - app/assets/javascripts/bastion/layouts/select-all-results.html
144
145
  - app/assets/javascripts/bastion/menu/menu-expander.service.js
145
146
  - app/assets/javascripts/bastion/menu/menu.module.js