47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
class MailingDuplicatesDialog extends EICDialogContent {
|
|
|
|
actions = [
|
|
{
|
|
label: 'Done',
|
|
onclick: this.cancel.bind(this),
|
|
severity: 'primary',
|
|
role: 'cancel'
|
|
}
|
|
]
|
|
|
|
constructor(...args) {
|
|
super(...args)
|
|
Object.assign(this, app.helpers.activeAttributes)
|
|
}
|
|
|
|
DOMContentLoaded(options) {
|
|
let components = ui.eicfy(this.el)
|
|
this.setupRefs(components)
|
|
this.dupesGrid = new DataGrid(this.outputs.dupsGrid, {
|
|
headers: [
|
|
{label: 'Email'},
|
|
{label: 'Sources'},
|
|
{label: 'Row numbers'},
|
|
],
|
|
actions:[],
|
|
})
|
|
this.fillDupsGrid(options.dupes)
|
|
}
|
|
|
|
fillDupsGrid(dupes){
|
|
let idx=0
|
|
for(let email in dupes){
|
|
let sources = dupes[email].map( item =>item.sourceName).join('</li><li>')
|
|
let rownbs = dupes[email].map( item =>item.rownb+1).join('</li><li>')
|
|
let row = this.dupesGrid.addRow(idx, [
|
|
email, // expecting source import datestamp
|
|
`<ul><li>${sources}</li></ul>`,
|
|
`<ul><li>${rownbs}</li></ul>`,
|
|
], true)
|
|
idx++
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
app.registerClass('MailingDuplicatesDialog',MailingDuplicatesDialog) |