|
16 | 16 |
|
17 | 17 | 'use strict'; |
18 | 18 |
|
19 | | - var SUPPORTS_FILE_READER = typeof window.FileReader != 'undefined', |
| 19 | + var SUPPORTS_FILE_READER = typeof window.FileReader !== 'undefined', |
20 | 20 |
|
21 | 21 | /** |
22 | 22 | * @return {Array} |
23 | 23 | */ |
24 | 24 | _getTypes = function($input) { |
25 | 25 | var allowedTypes = $.split( ($input.valAttr('allowing') || '').toLowerCase() ); |
26 | | - if( $.inArray('jpg', allowedTypes) > -1 && $.inArray('jpeg', allowedTypes) == -1) |
| 26 | + if ($.inArray('jpg', allowedTypes) > -1 && $.inArray('jpeg', allowedTypes) === -1) { |
27 | 27 | allowedTypes.push('jpeg'); |
28 | | - else if( $.inArray('jpeg', allowedTypes) > -1 && $.inArray('jpg', allowedTypes) == -1) |
| 28 | + } |
| 29 | + else if ($.inArray('jpeg', allowedTypes) > -1 && $.inArray('jpg', allowedTypes) === -1) { |
29 | 30 | allowedTypes.push('jpg'); |
| 31 | + } |
30 | 32 | return allowedTypes; |
31 | 33 | }, |
32 | 34 |
|
|
133 | 135 | allowedTypes = _getTypes($input); |
134 | 136 |
|
135 | 137 | $.each($input.get(0).files || [value], function(i, file) { |
136 | | - var val = typeof file == 'string' ? file : (file.value || file.fileName || file.name), |
| 138 | + var val = typeof file === 'string' ? file : (file.value || file.fileName || file.name), |
137 | 139 | ext = val.substr( val.lastIndexOf('.')+1 ); |
138 | 140 |
|
139 | | - if( $.inArray(ext.toLowerCase(), allowedTypes) == -1 ) { |
| 141 | + if( $.inArray(ext.toLowerCase(), allowedTypes) === -1 ) { |
140 | 142 | valid = false; |
141 | 143 | _generateErrorMsg(_this, 'wrongFileType', allowedTypes.join(', '), language); |
142 | 144 | return false; |
|
187 | 189 | */ |
188 | 190 | $.formUtils.convertSizeNameToBytes = function(sizeName) { |
189 | 191 | sizeName = sizeName.toUpperCase(); |
190 | | - if( sizeName.substr(sizeName.length-1, 1) == 'M' ) { |
| 192 | + if( sizeName.substr(sizeName.length-1, 1) === 'M' ) { |
191 | 193 | return parseInt(sizeName.substr(0, sizeName.length-1), 10) * 1024 * 1024; |
192 | | - } else if( sizeName.substr(sizeName.length-2, 2) == 'MB' ) { |
| 194 | + } else if( sizeName.substr(sizeName.length-2, 2) === 'MB' ) { |
193 | 195 | return parseInt(sizeName.substr(0, sizeName.length-2), 10) * 1024 * 1024; |
194 | | - } else if( sizeName.substr(sizeName.length-2, 2) == 'KB' ) { |
| 196 | + } else if( sizeName.substr(sizeName.length-2, 2) === 'KB' ) { |
195 | 197 | return parseInt(sizeName.substr(0, sizeName.length-2), 10) * 1024; |
196 | | - } else if( sizeName.substr(sizeName.length-1, 1) == 'B' ) { |
| 198 | + } else if( sizeName.substr(sizeName.length-1, 1) === 'B' ) { |
197 | 199 | return parseInt(sizeName.substr(0, sizeName.length-1), 10); |
198 | 200 | } else { |
199 | 201 | return parseInt(sizeName, 10); |
|
223 | 225 | maxDeclaration = false, |
224 | 226 | declarationParts = dimDeclaration.split('-'); |
225 | 227 |
|
226 | | - if( declarationParts.length == 1 ) { |
| 228 | + if( declarationParts.length === 1 ) { |
227 | 229 | if( declarationParts[0].indexOf('min') === 0 ) { |
228 | 230 | minDeclaration = declarationParts[0]; |
229 | 231 | } else { |
|
266 | 268 | */ |
267 | 269 | $.formUtils.checkImageRatio = function(img, ratioDeclaration, language) { |
268 | 270 | var ratio = img.width / img.height, |
269 | | - minRatio = false, |
270 | | - maxRatio = false, |
271 | 271 | calculateRatio = function(declaration) { |
272 | 272 | var dims = declaration.replace('max', '').replace('min', '').split(':'); |
273 | 273 | return dims[0] / dims[1]; |
|
277 | 277 | return val >= min && val <= max; |
278 | 278 | }; |
279 | 279 |
|
280 | | - if( declarationParts.length == 1 ) { |
281 | | - if( ratio !== calculateRatio(declarationParts[0]) ) |
282 | | - return language.imageRatioNotAccepted; |
283 | | - } |
284 | | - else if( declarationParts.length == 2 && !isWithin(ratio, calculateRatio(declarationParts[0]), calculateRatio(declarationParts[1])) ) { |
| 280 | + if ( declarationParts.length === 1 ) { |
| 281 | + if ( ratio !== calculateRatio(declarationParts[0]) ) { |
285 | 282 | return language.imageRatioNotAccepted; |
286 | 283 | } |
287 | | - |
288 | | - return false; |
| 284 | + } |
| 285 | + else if( declarationParts.length === 2 && !isWithin(ratio, calculateRatio(declarationParts[0]), calculateRatio(declarationParts[1])) ) { |
| 286 | + return language.imageRatioNotAccepted; |
| 287 | + } |
| 288 | + return false; |
289 | 289 | }; |
290 | 290 |
|
291 | 291 | /** |
|
294 | 294 | $.formUtils.addValidator({ |
295 | 295 | name : 'dimension', |
296 | 296 | validatorFunction : function(val, $input, conf, language, $form) { |
297 | | - |
| 297 | + var hasCorrectDim = false; |
298 | 298 | if( SUPPORTS_FILE_READER ) { |
299 | | - var hasCorrectDim = true, |
300 | | - file = $input.get(0).files || []; |
| 299 | + var file = $input.get(0).files || []; |
| 300 | + hasCorrectDim = true; |
301 | 301 |
|
302 | | - if( $input.attr('data-validation').indexOf('mime') == -1) { |
| 302 | + if( $input.attr('data-validation').indexOf('mime') === -1) { |
303 | 303 | alert('You should validate file type being jpg, gif or png on input '+$input[0].name); |
304 | 304 | return false; |
305 | 305 | } |
306 | 306 | else if( file.length > 1 ) { |
307 | 307 | alert('Validating image dimensions does not support inputs allowing multiple files'); |
308 | 308 | return false; |
309 | | - } else if( file.length == 0) { |
| 309 | + } else if( file.length === 0) { |
310 | 310 | return true; |
311 | 311 | } |
312 | 312 |
|
313 | 313 | if( $input.valAttr('has-valid-dim') ) { |
314 | 314 | return true; |
315 | 315 | } |
316 | 316 | else if( $input.valAttr('has-not-valid-dim') ) { |
317 | | - this.errorMessage = language['wrongFileDim'] + ' '+$input.valAttr('has-not-valid-dim'); |
| 317 | + this.errorMessage = language.wrongFileDim + ' ' + $input.valAttr('has-not-valid-dim'); |
318 | 318 | return false; |
319 | 319 | } |
320 | | - else if($.formUtils.eventType == 'keyup') { |
| 320 | + else if($.formUtils.eventType === 'keyup') { |
321 | 321 | return null; |
322 | 322 | } |
323 | 323 |
|
|
334 | 334 | _loadImage(file[0], function(img) { |
335 | 335 | var error = false; |
336 | 336 |
|
337 | | - if( $input.valAttr('dimension') ) |
| 337 | + if ( $input.valAttr('dimension') ) { |
338 | 338 | error = $.formUtils.checkImageDimension(img, $input.valAttr('dimension'), language); |
| 339 | + } |
339 | 340 |
|
340 | | - if( !error && $input.valAttr('ratio') ) |
| 341 | + if ( !error && $input.valAttr('ratio') ) { |
341 | 342 | error = $.formUtils.checkImageRatio(img, $input.valAttr('ratio'), language); |
| 343 | + } |
342 | 344 |
|
343 | 345 | // Set validation result flag on input |
344 | 346 | if( error ) { |
|
353 | 355 | $input |
354 | 356 | .valAttr('has-keyup-event', '1') |
355 | 357 | .bind('keyup change', function(evt) { |
356 | | - if( evt.keyCode != 9 && evt.keyCode != 16 ) { |
| 358 | + if( evt.keyCode !== 9 && evt.keyCode !== 16 ) { |
357 | 359 | $(this) |
358 | 360 | .valAttr('has-not-valid-dim', false) |
359 | 361 | .valAttr('has-valid-dim', false); |
|
0 commit comments