🔀 Merge branch 'feature/sheets' of https://github.com/RicardoE105/n8n into RicardoE105-feature/sheets

This commit is contained in:
Jan Oberhauser 2020-03-26 23:01:32 +01:00
commit 17fc18358b

View file

@ -20,7 +20,6 @@ import {
ValueRenderOption,
} from './GoogleSheet';
export class GoogleSheets implements INodeType {
description: INodeTypeDescription = {
displayName: 'Google Sheets ',
@ -406,6 +405,21 @@ export class GoogleSheets implements INodeType {
},
},
options: [
{
displayName: 'Continue If Response Is Empty',
name: 'continue',
type: 'boolean',
default: false,
displayOptions: {
show: {
'/operation': [
'lookup',
'read',
],
},
},
description: 'By default, the workflow stops executing if the lookup/read does not return values',
},
{
displayName: 'Return All Matches',
name: 'returnAllMatches',
@ -678,7 +692,14 @@ export class GoogleSheets implements INodeType {
});
}
const returnData = await sheet.lookupValues(sheetData, keyRow, dataStartRow, lookupValues, options.returnAllMatches as boolean | undefined);
let returnData = await sheet.lookupValues(sheetData, keyRow, dataStartRow, lookupValues, options.returnAllMatches as boolean | undefined);
if (returnData.length === 0 && options.continue && options.returnAllMatches) {
returnData = [{}];
} else if (returnData.length === 1 && Object.keys(returnData[0]).length === 0 && !options.continue && !options.returnAllMatches) {
returnData = [];
}
return [this.helpers.returnJsonArray(returnData)];
} else if (operation === 'read') {
@ -707,6 +728,10 @@ export class GoogleSheets implements INodeType {
returnData = sheet.structureArrayDataByColumn(sheetData, keyRow, dataStartRow);
}
if (returnData.length === 0 && options.continue) {
returnData = [{}];
}
return [this.helpers.returnJsonArray(returnData)];
} else if (operation === 'update') {
// ----------------------------------