|
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