Browse Source

Update success message to include the filename when generating a file from URL

node10
Onja 11 months ago
parent
commit
56eaced508
  1. 14
      src/assets/js/main.js
  2. 2
      src/models/file.js
  3. 5
      src/routes/index.js
  4. 6
      src/services/file.js

14
src/assets/js/main.js

@ -36,7 +36,7 @@ const sendRequest = (url, data) => {
type: 'POST',
data: data,
success: function(data, textStatus, jqXHR) {
resolve({ message: 'Fichier généré' });
resolve(data);
},
error: function(jqXHR, textStatus, errorThrown) {
reject( new Error('Erreur lors de la requête Ajax : ' + jqXHR.responseText) );
@ -98,6 +98,11 @@ const initSubmitForm = () => {
toastr.success(response.message);
$submitBtn.prop('disabled', false);
$spinner.addClass('d-none');
if ( response.generated ) {
$form__result.removeClass('d-none');
$form__result.find('a').attr('href', `/csv/${response.generated}`)
$form__result.find('a').html(response.generated);
}
})
.catch((error) => {
toastr.error(error.message);
@ -138,13 +143,6 @@ const initSocket = () => {
return;
}
if (eventName === 'parse.end' && data.generated) {
const $form__result = $('#form__result');
$form__result.removeClass('d-none');
$form__result.find('a').attr('href', `/csv/${data.generated}`)
$form__result.find('a').html(data.generated);
}
toastr.info(data.message);
});
}

2
src/models/file.js

@ -215,7 +215,7 @@ class File {
.on('end', () => {
// Emit a parse.end event with the url and filepath
fileStream.close();
resolve(this.generatedpath);
resolve(path.basename(this.generatedpath));
emitter.emit('parse.end', { url: this.url, filepath: this.filepath, count: count - 1, generated: path.basename(this.generatedpath) });
});
});

5
src/routes/index.js

@ -121,9 +121,10 @@ router.post('/', function(req, res, next) {
}
fileService.parseFromUrl(url, columns)
.then((filepath) => {
.then((filename) => {
res.send({
success: true
generated: filename,
message: 'Fichier généré avec success'
})
})
.catch(err => {

6
src/services/file.js

@ -30,9 +30,9 @@ class FileService {
const filepath = await file.download();
return file.parse(columns)
.then((filepath) => {
emitter.emit('parseFromUrl.end', { url, columns, filepath });
return filepath;
.then((filename) => {
emitter.emit('parseFromUrl.end', { url, columns, filename });
return filename;
})
.catch((err) => {
emitter.emit('parseFromUrl.error', { url, columns, error: err.message });

Loading…
Cancel
Save