mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-24 09:28:31 +00:00
* Feat: Dynamic Selector (#14685) * feat: introduce the dynamic-selector abstracted component with support for caching dependent dropdowns * feat: introduce fx toggle option to enable fx editor in the dynamic-selector component * feat: set `fxEnabled` prop default to `false` in DynamicSelector. * fix(DynamicForm): fix fxEnabled prop handling to support snake_case * refactor: rename variables and clean code * refactor: rename cache key from `__default` to `nonDependentCache` in DynamicSelector. * feat: Simplify dynamic selector data handling by removing transformation logic. * refactor: simplify DynamicSelector error log by removing data source ID. * fix: Throw an error when multi-user authentication is enabled but no user ID is found. * refactor: rename iteration variables for improved readability * perf: memoize composite dependency key calculation using `useMemo` hook. * refactor: simplify `isFxMode` state initialization by removing dynamic value checks and `useEffect` * refactor: remove unused `responsePath` prop from `DynamicForm` component * refactor(DynamicForm): remove unused `rest` prop from `getElementProps`. * fix(DynamicForm): fix support for snake and camel case props * feat: Add support for passing arguments when invoking data source methods. * Feat/googlesheets-v2 plugin (#2) * GoogleSheets v2 * Changes in Operations * feat: introduce the dynamic-selector abstracted component with support for caching dependent dropdowns * feat: introduce fx toggle option to enable fx editor in the dynamic-selector component * feat: set `fxEnabled` prop default to `false` in DynamicSelector. * Error Standarization * fix(DynamicForm): fix fxEnabled prop handling to support snake_case * refactor: rename variables and clean code * refactor: rename cache key from `__default` to `nonDependentCache` in DynamicSelector. * feat: Simplify dynamic selector data handling by removing transformation logic. * refactor: simplify DynamicSelector error log by removing data source ID. * fix: Throw an error when multi-user authentication is enabled but no user ID is found. * refactor: rename iteration variables for improved readability * perf: memoize composite dependency key calculation using `useMemo` hook. * refactor: simplify `isFxMode` state initialization by removing dynamic value checks and `useEffect` * refactor: remove unused `responsePath` prop from `DynamicForm` component * refactor(DynamicForm): remove unused `rest` prop from `getElementProps`. * fix(DynamicForm): fix support for snake and camel case props * feat: Add support for passing arguments when invoking data source methods. * feat: Integrate the dynamic-selector component to the googlesheetsv2 datasource --------- Co-authored-by: Pratush Sinha <pratushsinha619@gmail.com> Co-authored-by: Pratush <pratush@Pratushs-MacBook-Pro.local> * fix: correct FxButton import path * Bug fixes * ui-fixes * authenticate button * authenticate button design * bug fixes * Pass ENV ID to DyanamicForm * refresh token fixed * added helper * query error from invoke method * Fix/Googlesheets v2 bug fixes (#15043) * fix: reduce font size of googlesheets authorize description * fix: update labels * fix: replace legacy googlesheets with v2 in commonly used * fix: address review comments * save button (#15035) * save button * sheet required * conditional connect * authUrl Fixes * authUrl Query Fix * dependency fixed (#15083) * chore: bump version to 3.20.80-lts across all modules --------- Co-authored-by: Pratush Sinha <pratushsinha619@gmail.com> Co-authored-by: Pratush <pratush@Pratushs-MacBook-Pro.local> Co-authored-by: Ganesh Kumar <ganesh8056234@gmail.com> Co-authored-by: Rudhra Deep Biswas <rudra21ultra@gmail.com> Co-authored-by: abhijeet760 <abhijeet@tooljet.com> Co-authored-by: Rudhra Deep Biswas <98055396+rudeUltra@users.noreply.github.com> Co-authored-by: Sahil Dewangan <123866478+sahil7303@users.noreply.github.com> Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
688 lines
No EOL
20 KiB
JSON
688 lines
No EOL
20 KiB
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/ToolJet/ToolJet/develop/plugins/schemas/operations.schema.json",
|
|
"title": "Googlesheetsv2 datasource",
|
|
"description": "A schema defining Googlesheets datasource",
|
|
"type": "api",
|
|
"defaults": {
|
|
"operation": "read",
|
|
"majorDimension": "ROWS",
|
|
"valueRenderOption": "FORMATTED_VALUE",
|
|
"dateTimeRenderOption": "SERIAL_NUMBER",
|
|
"ValueInputOption": "RAW"
|
|
},
|
|
"properties": {
|
|
"operation": {
|
|
"label": "Operation",
|
|
"key": "operation",
|
|
"type": "dropdown-component-flip",
|
|
"description": "Single select dropdown for operation",
|
|
"list": [
|
|
{
|
|
"value": "create",
|
|
"name": "Create a spreadsheet"
|
|
},
|
|
{
|
|
"value": "list_all",
|
|
"name": "List all sheets of a spreadsheet"
|
|
},
|
|
{
|
|
"value": "list_all_spreadsheets",
|
|
"name": "List all spreadsheets"
|
|
},
|
|
{
|
|
"value": "delete_by_filter",
|
|
"name": "Delete data from a spreadsheet by data filter"
|
|
},
|
|
{
|
|
"value": "bulk_update_by_primary_key",
|
|
"name": "Bulk update using primary key"
|
|
},
|
|
{
|
|
"value": "copy_spreadsheet",
|
|
"name": "Copy data between spreadsheets"
|
|
},
|
|
{
|
|
"value": "read",
|
|
"name": "Read data from a spreadsheet"
|
|
},
|
|
{
|
|
"value": "append",
|
|
"name": "Append data to a spreadsheet"
|
|
},
|
|
{
|
|
"value": "info",
|
|
"name": "Get spreadsheet info"
|
|
},
|
|
{
|
|
"value": "update",
|
|
"name": "Update data to a spreadsheet"
|
|
},
|
|
{
|
|
"value": "delete_row",
|
|
"name": "Delete row from a spreadsheet"
|
|
},
|
|
{
|
|
"value": "delete_by_range",
|
|
"name": "Delete data from a spreadsheet by range"
|
|
},
|
|
{
|
|
"value": "update_spreadsheet",
|
|
"name": "Update a spreadsheet"
|
|
}
|
|
]
|
|
},
|
|
"read": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"placeholder": "Enter spreadsheet_id",
|
|
"required": true
|
|
},
|
|
"spreadsheet_range": {
|
|
"label": "Range",
|
|
"key": "spreadsheet_range",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "A1:Z500",
|
|
"description": "Enter range",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"required": true
|
|
},
|
|
"sheet": {
|
|
"label": "Sheet",
|
|
"key": "sheet",
|
|
"type": "dynamic-selector",
|
|
"dependsOn": [
|
|
"spreadsheet_id"
|
|
],
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSheets",
|
|
"label": "Fetch Sheets"
|
|
},
|
|
"placeholder": "Leave blank to use first sheet",
|
|
"description": "Enter sheet",
|
|
"required": true
|
|
},
|
|
"majorDimension": {
|
|
"label": "Major Dimensions",
|
|
"key": "majorDimension",
|
|
"type": "dropdown",
|
|
"description": "Single select dropdown for Major Dimensions",
|
|
"list": [
|
|
{
|
|
"value": "ROWS",
|
|
"name": "ROWS"
|
|
},
|
|
{
|
|
"value": "COLUMNS",
|
|
"name": "COLUMNS"
|
|
}
|
|
]
|
|
},
|
|
"valueRenderOption": {
|
|
"label": "Value render",
|
|
"key": "valueRenderOption",
|
|
"type": "dropdown",
|
|
"description": "Single select dropdown for Value Render",
|
|
"list": [
|
|
{
|
|
"value": "FORMATTED_VALUE",
|
|
"name": "FORMATTED_VALUE"
|
|
},
|
|
{
|
|
"value": "UNFORMATTED_VALUE",
|
|
"name": "UNFORMATTED_VALUE"
|
|
},
|
|
{
|
|
"value": "FORMULA",
|
|
"name": "FORMULA"
|
|
}
|
|
]
|
|
},
|
|
"dateTimeRenderOption": {
|
|
"label": "Date Time",
|
|
"key": "dateTimeRenderOption",
|
|
"type": "dropdown",
|
|
"description": "Single select dropdown for Date Time",
|
|
"list": [
|
|
{
|
|
"value": "SERIAL_NUMBER",
|
|
"name": "SERIAL_NUMBER"
|
|
},
|
|
{
|
|
"value": "FORMATTED_STRING",
|
|
"name": "FORMATTED_STRING"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"create": {
|
|
"title": {
|
|
"label": "Title",
|
|
"key": "title",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"description": "Enter name of new spreadsheet",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter name of new spreadsheet"
|
|
}
|
|
},
|
|
"list_all": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet_id"
|
|
}
|
|
},
|
|
"list_all_spreadsheets": {
|
|
"page_size": {
|
|
"label": "Page Size",
|
|
"key": "page_size",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "10",
|
|
"description": "The maximum number of spreadsheets to return",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"page_token": {
|
|
"label": "Page token",
|
|
"key": "page_token",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "aBCdEFgHIjKLmNOpqRstuvWXYzaBCdEFgHIjKLmNOpqRstuvWXYz",
|
|
"description": "A token to retrieve the next page of results.",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"filter": {
|
|
"label": "Filter",
|
|
"key": "filter",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "name contains 'report'",
|
|
"description": "'A query string for filtering spreadsheets. Example: name contains report'",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
}
|
|
},
|
|
"delete_by_filter": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet_id"
|
|
},
|
|
"filter": {
|
|
"label": "Filter",
|
|
"key": "filter",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"description": "Enter Filter",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter Filter"
|
|
}
|
|
},
|
|
"bulk_update_by_primary_key": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet Id"
|
|
},
|
|
"sheet": {
|
|
"label": "Sheet",
|
|
"key": "sheet",
|
|
"type": "dynamic-selector",
|
|
"dependsOn": [
|
|
"spreadsheet_id"
|
|
],
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSheets",
|
|
"label": "Fetch Sheets"
|
|
},
|
|
"placeholder": "",
|
|
"description": "Enter sheet name",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"primary_key": {
|
|
"label": "Primary key",
|
|
"key": "primary_key",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"description": "Column name that uniquely identifies rows (e.g. 'id')",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "ID"
|
|
},
|
|
"rows": {
|
|
"label": "Data",
|
|
"key": "rows",
|
|
"type": "codehinter",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"description": "Enter an array of objects to update/insert. Example: [{\"id\":1,\"name\":\"John\"}]",
|
|
"placeholder": "{'ID': 1, 'Status': 'Done'}, {'ID': 2, 'Status': 'In Progress'}]"
|
|
}
|
|
},
|
|
"copy_spreadsheet": {
|
|
"source_spreadsheet_id": {
|
|
"label": "Source Spreadsheet",
|
|
"key": "source_spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter the ID of the source spreadsheet",
|
|
"placeholder": "Enter source spreadsheet ID",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"destination_spreadsheet_id": {
|
|
"label": "Destination Spreadsheet",
|
|
"key": "destination_spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter the ID of the destination spreadsheet",
|
|
"placeholder": "Enter destination spreadsheet ID",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"source_range": {
|
|
"label": "Source Range",
|
|
"key": "source_range",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "Sheet1!A1:B10",
|
|
"description": "The range of cells to copy from the source spreadsheet. If not specified, the entire sheet is copied.",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"destination_range": {
|
|
"label": "Destination Range",
|
|
"key": "destination_range",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "Sheet1!A1",
|
|
"description": "The top-left cell where the copied data will be pasted.",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
}
|
|
},
|
|
"append": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet_id"
|
|
},
|
|
"sheet": {
|
|
"label": "Sheet",
|
|
"key": "sheet",
|
|
"type": "dynamic-selector",
|
|
"dependsOn": [
|
|
"spreadsheet_id"
|
|
],
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSheets",
|
|
"label": "Fetch Sheets"
|
|
},
|
|
"placeholder": "Leave blank to use first sheet",
|
|
"description": "Enter sheet",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"rows": {
|
|
"label": "Rows",
|
|
"key": "rows",
|
|
"type": "codehinter",
|
|
"description": "Enter rows",
|
|
"height": "150px",
|
|
"editorType": "extendedSingleLine",
|
|
"placeholder": "Enter rows"
|
|
}
|
|
},
|
|
"info": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet_id"
|
|
}
|
|
},
|
|
"delete_row": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet_id"
|
|
},
|
|
"sheet": {
|
|
"label": "GID",
|
|
"key": "sheet",
|
|
"type": "dynamic-selector",
|
|
"dependsOn": [
|
|
"spreadsheet_id"
|
|
],
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSheets",
|
|
"label": "Fetch Sheets"
|
|
},
|
|
"description": "Enter sheet",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter sheet"
|
|
},
|
|
"row_index": {
|
|
"label": "Delete row number",
|
|
"key": "row_index",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"description": "Enter row number",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter row number"
|
|
}
|
|
},
|
|
"update": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet_id"
|
|
},
|
|
"spreadsheet_range": {
|
|
"label": "Range",
|
|
"key": "spreadsheet_range",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "A1:Z500",
|
|
"description": "Enter range",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"sheet": {
|
|
"label": "Sheet name",
|
|
"key": "sheet",
|
|
"type": "dynamic-selector",
|
|
"dependsOn": [
|
|
"spreadsheet_id"
|
|
],
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSheets",
|
|
"label": "Fetch Sheets"
|
|
},
|
|
"description": "Enter sheet name",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Leave blank to use first sheet"
|
|
},
|
|
"where_field": {
|
|
"label": "Where",
|
|
"key": "where_field",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"description": "Enter field",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins col-4",
|
|
"placeholder": "Enter field"
|
|
},
|
|
"where_operation": {
|
|
"label": "Operator",
|
|
"key": "where_operation",
|
|
"className": "col-4",
|
|
"type": "dropdown",
|
|
"description": "Single select dropdown for where operation",
|
|
"list": [
|
|
{
|
|
"value": "===",
|
|
"name": "==="
|
|
}
|
|
]
|
|
},
|
|
"where_value": {
|
|
"label": "Value",
|
|
"key": "where_value",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"description": "Enter value",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins col-4",
|
|
"placeholder": "Enter value"
|
|
},
|
|
"body": {
|
|
"label": "Body",
|
|
"key": "body",
|
|
"type": "codehinter",
|
|
"height": "150px",
|
|
"editorType": "extendedSingleLine",
|
|
"description": "Enter body"
|
|
}
|
|
},
|
|
"delete_by_range": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet_id"
|
|
},
|
|
"spreadsheet_range": {
|
|
"label": "Range",
|
|
"key": "spreadsheet_range",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "A1:Z500",
|
|
"description": "Enter range",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"sheet": {
|
|
"label": "Sheet",
|
|
"key": "sheet",
|
|
"type": "dynamic-selector",
|
|
"dependsOn": [
|
|
"spreadsheet_id"
|
|
],
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSheets",
|
|
"label": "Fetch Sheets"
|
|
},
|
|
"placeholder": "Leave blank to use first sheet",
|
|
"description": "Enter sheet",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"shiftDimension": {
|
|
"label": "Shift Dimension",
|
|
"key": "shiftDimension",
|
|
"type": "dropdown",
|
|
"description": "Single select dropdown for Date Time",
|
|
"list": [
|
|
{
|
|
"value": "ROWS",
|
|
"name": "ROWS"
|
|
},
|
|
{
|
|
"value": "COLUMNS",
|
|
"name": "COLUMNS"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"update_spreadsheet": {
|
|
"spreadsheet_id": {
|
|
"label": "Spreadsheet",
|
|
"key": "spreadsheet_id",
|
|
"type": "dynamic-selector",
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSpreadsheets",
|
|
"label": "Fetch Spreadsheets"
|
|
},
|
|
"description": "Enter spreadsheet_id",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins",
|
|
"placeholder": "Enter spreadsheet_id"
|
|
},
|
|
"spreadsheet_range": {
|
|
"label": "Range",
|
|
"key": "spreadsheet_range",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "A1:Z500",
|
|
"description": "Enter range",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"sheet": {
|
|
"label": "Sheet",
|
|
"key": "sheet",
|
|
"type": "dynamic-selector",
|
|
"dependsOn": [
|
|
"spreadsheet_id"
|
|
],
|
|
"fxEnabled": true,
|
|
"operation": {
|
|
"invokeMethod": "getSheets",
|
|
"label": "Fetch Sheets"
|
|
},
|
|
"placeholder": "Leave blank to use first sheet",
|
|
"description": "Enter sheet",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"values": {
|
|
"label": "Values",
|
|
"key": "values",
|
|
"type": "codehinter",
|
|
"lineNumbers": false,
|
|
"placeholder": "[['new value 1', 'new value 2']]",
|
|
"description": "Enter Value",
|
|
"width": "320px",
|
|
"height": "36px",
|
|
"className": "codehinter-plugins"
|
|
},
|
|
"ValueInputOption": {
|
|
"label": "Input Options",
|
|
"key": "ValueInputOption",
|
|
"type": "dropdown",
|
|
"description": "Single select dropdown for Input Options",
|
|
"list": [
|
|
{
|
|
"value": "RAW",
|
|
"name": "RAW"
|
|
},
|
|
{
|
|
"value": "USER_ENTERED",
|
|
"name": "USER_ENTERED"
|
|
},
|
|
{
|
|
"value": "FORMULA",
|
|
"name": "FORMULA"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
} |