Added push a button operation

This commit is contained in:
Ricardo Espinoza
2020-01-30 17:02:09 -05:00
parent 56c8d4688f
commit b3a394a38f
2 changed files with 153 additions and 4 deletions

View File

@@ -33,6 +33,11 @@ export const tableOperations = [
value: 'deleteRow',
description: 'Delete one or multiple rows',
},
{
name: 'Push Button',
value: 'pushButton',
description: 'Pushes a button',
},
],
default: 'createRow',
description: 'The operation to perform.',
@@ -42,7 +47,7 @@ export const tableOperations = [
export const tableFields = [
/* -------------------------------------------------------------------------- */
/* table:createRow */
/* table:createRow */
/* -------------------------------------------------------------------------- */
{
displayName: 'Doc',
@@ -125,7 +130,7 @@ export const tableFields = [
},
/* -------------------------------------------------------------------------- */
/* table:get */
/* table:get */
/* -------------------------------------------------------------------------- */
{
displayName: 'Doc',
@@ -249,7 +254,7 @@ export const tableFields = [
]
},
/* -------------------------------------------------------------------------- */
/* table:getAll */
/* table:getAll */
/* -------------------------------------------------------------------------- */
{
displayName: 'Doc',
@@ -354,6 +359,18 @@ export const tableFields = [
},
},
options: [
{
displayName: 'Query',
name: 'query',
type: 'string',
typeOptions: {
alwaysOpenEditWindow: true,
},
default: '',
description: `Query used to filter returned rows, specified as <column_id_or_name>:<value>. <br/>
If you'd like to use a column name instead of an ID, you must quote it (e.g., "My Column":123).<br/>
Also note that value is a JSON value; if you'd like to use a string, you must surround it in quotes (e.g., "groceries").`,
},
{
displayName: 'Use Column Names',
name: 'useColumnNames',
@@ -484,5 +501,97 @@ export const tableFields = [
},
description: 'Row IDs to delete.',
},
/* -------------------------------------------------------------------------- */
/* table:pushButton */
/* -------------------------------------------------------------------------- */
{
displayName: 'Doc',
name: 'docId',
type: 'options',
required: true,
typeOptions: {
loadOptionsMethod: 'getDocs',
},
default: '',
displayOptions: {
show: {
resource: [
'table',
],
operation: [
'pushButton',
]
},
},
description: 'ID of the doc.',
},
{
displayName: 'Table',
name: 'tableId',
type: 'options',
typeOptions: {
loadOptionsDependsOn: [
'docId',
],
loadOptionsMethod: 'getTables',
},
required: true,
default: '',
displayOptions: {
show: {
resource: [
'table',
],
operation: [
'pushButton',
]
},
},
description: 'The table to get the row from.',
},
{
displayName: 'Row ID',
name: 'rowId',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: [
'table',
],
operation: [
'pushButton',
]
},
},
description: `ID or name of the row. Names are discouraged because they're easily prone to being changed by users.
If you're using a name, be sure to URI-encode it.
If there are multiple rows with the same value in the identifying column, an arbitrary one will be selected`,
},
{
displayName: 'Column',
name: 'columnId',
type: 'options',
required: true,
typeOptions: {
loadOptionsMethod: 'getColumns',
loadOptionsDependsOn: [
'docId',
'tableId',
],
},
default: '',
displayOptions: {
show: {
resource: [
'table',
],
operation: [
'pushButton',
]
},
},
},
] as INodeProperties[];