Add parameter include time when setting field type date on Notion node (#1879)

*  Add parameter include time when setting field type date

Fixes issue #1878

* Fix issue with date format
This commit is contained in:
Ricardo Espinoza 2021-06-12 12:06:47 -04:00 committed by GitHub
parent b2e0bcea16
commit d095588ac7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 5 deletions

View file

@ -339,6 +339,20 @@ export const databasePageFields = [
default: false, default: false,
description: 'Weather or not you want to define a date range.', description: 'Weather or not you want to define a date range.',
}, },
{
displayName: 'Include Time',
name: 'includeTime',
displayOptions: {
show: {
type: [
'date',
],
},
},
type: 'boolean',
default: true,
description: 'Weather or not to include the time in the date.',
},
{ {
displayName: 'Date', displayName: 'Date',
name: 'date', name: 'date',
@ -685,6 +699,20 @@ export const databasePageFields = [
default: false, default: false,
description: 'Weather or not you want to define a date range.', description: 'Weather or not you want to define a date range.',
}, },
{
displayName: 'Include Time',
name: 'includeTime',
displayOptions: {
show: {
type: [
'date',
],
},
},
type: 'boolean',
default: true,
description: 'Weather or not to include the time in the date.',
},
{ {
displayName: 'Date', displayName: 'Date',
name: 'date', name: 'date',

View file

@ -270,15 +270,14 @@ function getPropertyKeyValue(value: any, type: string, timezone: string) {
}; };
break; break;
case 'date': case 'date':
//&& value.dateStart !== 'Invalid date' && value.dateEnd !== 'Invalid date' const format = getDateFormat(value.includeTime);
if (value.range === true) { if (value.range === true) {
result = { result = {
type: 'date', date: { start: moment.tz(value.dateStart, timezone).utc().format(), end: moment.tz(value.dateEnd, timezone).utc().format() }, type: 'date', date: { start: moment.tz(value.dateStart, timezone).format(format), end: moment.tz(value.dateEnd, timezone).format(format) },
}; };
//if (value.date !== 'Invalid date')
} else { } else {
result = { result = {
type: 'date', date: { start: moment.tz(value.date, timezone).utc().format(), end: null }, type: 'date', date: { start: moment.tz(value.date, timezone).format(format), end: null },
}; };
} }
break; break;
@ -287,6 +286,13 @@ function getPropertyKeyValue(value: any, type: string, timezone: string) {
return result; return result;
} }
function getDateFormat(includeTime: boolean) {
if (includeTime === false) {
return 'yyyy-MM-DD';
}
return '';
}
function getNameAndType(key: string) { function getNameAndType(key: string) {
const [name, type] = key.split('|'); const [name, type] = key.split('|');
return { return {

View file

@ -158,7 +158,7 @@ export class Notion implements INodeType {
const databases = await notionApiRequestAllItems.call(this, 'results', 'POST', `/search`, body); const databases = await notionApiRequestAllItems.call(this, 'results', 'POST', `/search`, body);
for (const database of databases) { for (const database of databases) {
returnData.push({ returnData.push({
name: database.title[0].plain_text, name: database.title[0]?.plain_text || database.id,
value: database.id, value: database.id,
}); });
} }