diff --git a/app/javascript/template_builder/import_list.vue b/app/javascript/template_builder/import_list.vue index 39284929..5c3d249c 100644 --- a/app/javascript/template_builder/import_list.vue +++ b/app/javascript/template_builder/import_list.vue @@ -160,52 +160,62 @@
-
@@ -274,6 +284,25 @@ export default { return submissions }, + csvBase64 () { + const rows = [] + + this.submitters.forEach((submitter) => { + this.selectFieldsForSubmitter(submitter).forEach((field) => { + rows.push(this.submitters.length > 1 ? `${submitter.name} - ${field.name}` : field.name) + }) + }) + + const csv = rows.map(item => { + if (/[",\n]/.test(item)) { + return `"${item.replace(/"/g, '""')}"` + } else { + return item + } + }).join(',') + + return window.btoa(csv + '\n' + rows.map(() => '').join(',') + '\n') + }, submitters () { return this.template.submitters },