migrate AjaxUpload component