Guest User

Untitled

a guest
Jan 18th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. var handleImport = function(e) {
  2. var target = e.target;
  3. var result = target.result;
  4. var resultsArray = result.split('\n');
  5. var rows = resultsArray.map( function(row) { return row.split(',') });
  6. var headings = rows.shift();
  7. var data = rows.map(function(row) {
  8. return headings.reduce(function(r, key, i) {
  9. r[key.trim()] = row[i];
  10.  
  11. return r;
  12. }, {});
  13. });
  14.  
  15. data = data.filter(function(d) {
  16. var keys = Object.keys(d);
  17. return keys.filter(function(key) {
  18. return d[key];
  19. }).length > 0;
  20. });
  21.  
  22. addContacts(data, data.length);
  23. }
  24.  
  25. var addContacts = function(data, total) {
  26. if (! data.length)
  27. return alert('Import complete');
  28.  
  29. var currentEntries = data.splice(0, 10);
  30.  
  31. toolkit.requestGroovy(
  32. 'F2FECACB204DAE44E9D557858DA45E610A6B8D9A',
  33. 'userImporter.groovy',
  34. {
  35. contacts: JSON.stringify(currentEntries)
  36. }
  37. ).then(function(response) {
  38. var progress = (100 / total) * (total - data.length);
  39. updateProgress(progress);
  40. addContacts(data, total);
  41. });
  42. }
  43.  
  44. var updateProgress = function(progress) {
  45. var progressBar = document.querySelector('.usersImporterProgress');
  46. progressBar.style.width = progress + '%';
  47. }
  48.  
  49. var handleUpload = function(e) {
  50. var target = e.target;
  51. var files = target.files;
  52. var file = files[0];
  53.  
  54. var reader = new FileReader();
  55. reader.onload = handleImport;
  56. reader.readAsText(file);
  57. }
  58.  
  59. var setupHandler = function() {
  60. document.getElementById('usersImporter').addEventListener('change', handleUpload);
  61. }
Add Comment
Please, Sign In to add comment