Index: branches/1.0.x/inc/js/form_manager.js =================================================================== diff -u -N -r15463 -r15750 --- branches/1.0.x/inc/js/form_manager.js (.../form_manager.js) (revision 15463) +++ branches/1.0.x/inc/js/form_manager.js (.../form_manager.js) (revision 15750) @@ -135,7 +135,7 @@ var $blur_fields = $( $me.getBlurFields($settings.prefix, this) ), $event_name = $blur_fields.length == 1 ? 'blur' : 'click'; - $( $me.getBlurFields($settings.prefix, this) )[$event_name]( + $blur_fields[$event_name]( function ($e) { $me.checkField(this); } @@ -215,6 +215,7 @@ } this.clearErrors($prefix); + this.processUploadFields($prefix, $data); if ($data.status == 'OK') { var $next_template = this.getNextTemplate($prefix, $data); @@ -384,6 +385,7 @@ function ($data) { $data = eval('(' + $data + ')'); $me.setFieldStatus($prefix, $field, $data.status == 'OK' ? undefined : $data.status); + $me.processUploadFields($prefix, $data); $("input[type='submit']", form).attr('disabled', !$.isArray($data.other_errors) ); // custom } @@ -392,6 +394,21 @@ this.xhrRequests.push($request); }; +FormManager.processUploadFields = function ($prefix, $response) { + if ( $response['uploader_info'] === undefined || $.isArray($response['uploader_info']) ) { + // no data (event don't support that) OR empty array (no uploader fields on form) + return; + } + + var $field_mask = this.getFieldMask($prefix); + + $.each($response['uploader_info'], function ($field_name, $field_data) { + var $uploader_id = $field_mask.replace('#FIELD_NAME#', $field_name); + + $(document).trigger('UploadsManager.Uploader.' + crc32($uploader_id), ['refreshQueue', $field_data]); + }); +}; + FormManager.form_param = function ($prefix, $param, $value) { if ( this.forms[$prefix] === undefined ) { return '';