Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var handleImport = function(e) {
- var target = e.target;
- var result = target.result;
- var resultsArray = result.split('\n');
- var rows = resultsArray.map( function(row) { return row.split(',') });
- var headings = rows.shift();
- var data = rows.map(function(row) {
- return headings.reduce(function(r, key, i) {
- r[key.trim()] = row[i];
- return r;
- }, {});
- });
- data = data.filter(function(d) {
- var keys = Object.keys(d);
- return keys.filter(function(key) {
- return d[key];
- }).length > 0;
- });
- addContacts(data, data.length);
- }
- var addContacts = function(data, total) {
- if (! data.length)
- return alert('Import complete');
- var currentEntries = data.splice(0, 10);
- toolkit.requestGroovy(
- 'F2FECACB204DAE44E9D557858DA45E610A6B8D9A',
- 'userImporter.groovy',
- {
- contacts: JSON.stringify(currentEntries)
- }
- ).then(function(response) {
- var progress = (100 / total) * (total - data.length);
- updateProgress(progress);
- addContacts(data, total);
- });
- }
- var updateProgress = function(progress) {
- var progressBar = document.querySelector('.usersImporterProgress');
- progressBar.style.width = progress + '%';
- }
- var handleUpload = function(e) {
- var target = e.target;
- var files = target.files;
- var file = files[0];
- var reader = new FileReader();
- reader.onload = handleImport;
- reader.readAsText(file);
- }
- var setupHandler = function() {
- document.getElementById('usersImporter').addEventListener('change', handleUpload);
- }
Add Comment
Please, Sign In to add comment