in src/connectors/sheets-connector.js [280:307]
updateDataListExec(tabId, items, rowIndexFunc) {
if (!items || items.length === 0) return;
let tabConfig = this.tabs[tabId];
let propertyLookup = this.getPropertyLookup(tabId);
let rowIndex = tabConfig.skipRows + 1;
items.forEach(item => {
let values = [];
propertyLookup.forEach(lookup => {
if (typeof lookup !== 'string') {
throw new Error(
`${tabId} Tab: Property lookup ${lookup} is not a string`);
}
try {
let value = lookup ? eval(`item.${lookup}`) : '';
values.push(value);
} catch (error) {
values.push('');
}
});
let targetRowIndex = rowIndexFunc ? rowIndexFunc(item, rowIndex) : rowIndex;
let range = this.getRowRange(tabId, targetRowIndex);
range.setValues([values]);
rowIndex++;
});
}