PromucFlow_constructor/app/client/src/utils/autocomplete/EntityDefinitions.ts

725 lines
25 KiB
TypeScript
Raw Normal View History

2020-05-20 11:30:53 +00:00
import { generateTypeDef } from "utils/autocomplete/dataTreeTypeDefCreator";
import {
DataTreeAction,
DataTreeAppsmith,
} from "entities/DataTree/dataTreeFactory";
2020-06-04 13:49:22 +00:00
import _ from "lodash";
import { EVALUATION_PATH } from "utils/DynamicBindingUtils";
import { JSCollectionData } from "reducers/entityReducers/jsActionsReducer";
2020-05-20 11:30:53 +00:00
const isVisible = {
"!type": "bool",
"!doc": "Boolean value indicating if the widget is in visible state",
};
export const entityDefinitions = {
APPSMITH: (entity: DataTreeAppsmith) => {
const generatedTypeDef = generateTypeDef(
_.omit(entity, "ENTITY_TYPE", EVALUATION_PATH),
);
if (
typeof generatedTypeDef === "object" &&
typeof generatedTypeDef.geolocation === "object"
) {
return {
...generatedTypeDef,
geolocation: {
...generatedTypeDef.geolocation,
"!doc":
"The user's geo location information. Only available when requested",
"!url":
"https://docs.appsmith.com/v/v1.2.1/framework-reference/geolocation",
getCurrentPosition:
"fn(onSuccess: fn() -> void, onError: fn() -> void, options: object) -> void",
watchPosition: "fn(options: object) -> void",
clearWatch: "fn() -> void",
},
};
}
return generatedTypeDef;
},
2020-06-04 13:49:22 +00:00
ACTION: (entity: DataTreeAction) => {
const dataDef = generateTypeDef(entity.data);
let data: Record<string, any> = {
"!doc": "The response of the action",
};
if (_.isString(dataDef)) {
data["!type"] = dataDef;
} else {
data = { ...data, ...dataDef };
}
return {
"!doc":
"Actions allow you to connect your widgets to your backend data in a secure manner.",
2021-02-03 15:15:16 +00:00
"!url": "https://docs.appsmith.com/v/v1.2.1/framework-reference/run",
2020-06-04 13:49:22 +00:00
isLoading: "bool",
data,
2021-07-20 10:02:56 +00:00
responseMeta: {
"!doc": "The response meta of the action",
"!type": "?",
},
run:
"fn(onSuccess: fn() -> void, onError: fn() -> void) -> +Promise[:t=[!0.<i>.:t]]",
clear: "fn() -> +Promise[:t=[!0.<i>.:t]]",
2020-06-04 13:49:22 +00:00
};
},
AUDIO_WIDGET: {
"!doc":
"Audio widget can be used for playing a variety of audio formats like MP3, AAC etc.",
"!url": "https://docs.appsmith.com/widget-reference/audio",
playState: "number",
autoPlay: "bool",
},
2020-05-20 11:30:53 +00:00
CONTAINER_WIDGET: {
"!doc":
"Containers are used to group widgets together to form logical higher order widgets. Containers let you organize your page better and move all the widgets inside them together.",
2021-02-03 15:15:16 +00:00
"!url": "https://docs.appsmith.com/widget-reference/container",
2020-05-20 11:30:53 +00:00
backgroundColor: {
"!type": "string",
2021-02-03 15:15:16 +00:00
"!url": "https://docs.appsmith.com/widget-reference/container",
2020-05-20 11:30:53 +00:00
},
isVisible: isVisible,
},
INPUT_WIDGET: {
"!doc":
"An input text field is used to capture a users textual input such as their names, numbers, emails etc. Inputs are used in forms and can have custom validations.",
"!url": "https://docs.appsmith.com/widget-reference/input",
text: {
"!type": "string",
"!doc": "The text value of the input",
"!url": "https://docs.appsmith.com/widget-reference/input",
},
isValid: "bool",
isVisible: isVisible,
isDisabled: "bool",
countryCode: {
"!type": "string",
"!doc": "Selected country code for Phone Number type input",
},
currencyCountryCode: {
"!type": "string",
"!doc": "Selected country code for Currency type input",
},
2020-05-20 11:30:53 +00:00
},
TABLE_WIDGET: (widget: any) => ({
"!doc":
"The Table is the hero widget of Appsmith. You can display data from an API in a table, trigger an action when a user selects a row and even work with large paginated data sets",
"!url": "https://docs.appsmith.com/widget-reference/table",
selectedRow: generateTypeDef(widget.selectedRow),
selectedRows: generateTypeDef(widget.selectedRows),
selectedRowIndices: generateTypeDef(widget.selectedRowIndices),
triggeredRow: generateTypeDef(widget.triggeredRow),
2020-05-20 11:30:53 +00:00
selectedRowIndex: "number",
tableData: generateTypeDef(widget.tableData),
filteredTableData: generateTypeDef(widget.filteredTableData),
2020-05-28 06:12:04 +00:00
pageNo: "number",
pageSize: "number",
isVisible: isVisible,
Fix-Search component in Table widget updated with support for clearing search data (#96) * Added Button component in Table widget for actions * Action button state loading added for Table widget * Action button font-weight made as normal * Created header for common functionalities in Table Widget * Client side searching added in Table Widget. Action created for server side searching also. * Columns visibility feature initial commit * Column visibility list added in Table Widget * Changed pagination designs in accordance with new layout. This enable user to jump page as well. * Using colors values from constants * Table widget pagination, numeric input page number clamped between 1 and total pages * Adding tool tip to truncated values in table widget. Added AutoToolTipComponent that adds tooltip when text is truncated. * Table data download changes. Added downlaod icon and button to table widget. * Table data download changes * Table button loading state fixed. Table code refactored, rendering from props instead of state in ReactTableComponent * Table widget action button alignment fixed * Handled actions column changes * added proper keys to useMemo for react table widget * Download table data as CSV implemented * table data download, unused code removed * Code refactors and added dependency map with meta props and table data for computing columns * Table UI breakages on scroll and empty cells fixed * Handled empty rows in table widget * Fixed last row cut issue * Code review changes * Code review changes * Added table widget component heights as enum * code review changes * Search component in Table widget updated with support for clearing data, renamed properties * Opening image in new tab on clicking in table widget * Fixed table craching due to empty data filtering * Empty extra space on loading removed in table widget * Removed stopping of event propagation on table widget action button click * Fixing for test cases * Table header UI overflow fixed * Clearing selected row on searching data in table widget * fix for cypress test * Table crash issue fix * searchKeyword renamed to searchText. searchText added to entity definitions Co-authored-by: Arpit Mohan <me@arpitmohan.com>
2020-07-24 13:58:28 +00:00
searchText: "string",
totalRecordsCount: "number",
sortOrder: {
column: "string",
order: ["asc", "desc"],
},
2020-05-20 11:30:53 +00:00
}),
TABLE_WIDGET_V2: (widget: any) => ({
"!doc":
"The Table is the hero widget of Appsmith. You can display data from an API in a table, trigger an action when a user selects a row and even work with large paginated data sets",
"!url": "https://docs.appsmith.com/widget-reference/table",
selectedRow: generateTypeDef(widget.selectedRow),
selectedRows: generateTypeDef(widget.selectedRows),
selectedRowIndices: generateTypeDef(widget.selectedRowIndices),
triggeredRow: generateTypeDef(widget.triggeredRow),
updatedRow: generateTypeDef(widget.updatedRow),
selectedRowIndex: "number",
tableData: generateTypeDef(widget.tableData),
pageNo: "number",
pageSize: "number",
isVisible: isVisible,
searchText: "string",
totalRecordsCount: "number",
sortOrder: {
column: "string",
order: ["asc", "desc"],
},
updatedRows: generateTypeDef(widget.updatedRows),
updatedRowIndices: generateTypeDef(widget.updatedRowIndices),
triggeredRowIndex: generateTypeDef(widget.triggeredRowIndex),
}),
2021-01-12 01:22:31 +00:00
VIDEO_WIDGET: {
"!doc":
"Video widget can be used for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia, Mixcloud, and DailyMotion.",
"!url": "https://docs.appsmith.com/widget-reference/video",
playState: "number",
autoPlay: "bool",
2021-01-12 01:22:31 +00:00
},
2020-05-20 11:30:53 +00:00
DROP_DOWN_WIDGET: {
"!doc":
"Select is used to capture user input/s from a specified list of permitted inputs. A Select can capture a single choice",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
isVisible: isVisible,
filterText: {
2022-03-22 11:31:07 +00:00
"!type": "string",
"!doc": "The filter text for Server side filtering",
},
selectedOptionValue: {
"!type": "string",
"!doc": "The value selected in a single select dropdown",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
},
selectedOptionLabel: {
"!type": "string",
"!doc": "The selected option label in a single select dropdown",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
},
isDisabled: "bool",
options: "[dropdownOption]",
},
SELECT_WIDGET: {
"!doc":
"Select is used to capture user input/s from a specified list of permitted inputs. A Select can capture a single choice",
2020-05-20 11:30:53 +00:00
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
isVisible: isVisible,
filterText: {
2022-03-22 11:31:07 +00:00
"!type": "string",
"!doc": "The filter text for Server side filtering",
},
selectedOptionValue: {
"!type": "string",
"!doc": "The value selected in a single select dropdown",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
},
selectedOptionLabel: {
"!type": "string",
"!doc": "The selected option label in a single select dropdown",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
},
isDisabled: "bool",
options: "[dropdownOption]",
},
MULTI_SELECT_WIDGET: {
"!doc":
"MultiSelect is used to capture user input/s from a specified list of permitted inputs. A MultiSelect captures multiple choices from a list of options",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
isVisible: isVisible,
filterText: {
2022-03-22 11:36:21 +00:00
"!type": "string",
"!doc": "The filter text for Server side filtering",
},
selectedOptionValues: {
"!type": "[string]",
"!doc": "The array of values selected in a multi select dropdown",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
},
selectedOptionLabels: {
"!type": "[string]",
"!doc": "The array of selected option labels in a multi select dropdown",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
},
isDisabled: "bool",
2020-05-20 11:30:53 +00:00
options: "[dropdownOption]",
},
MULTI_SELECT_WIDGET_V2: {
"!doc":
"MultiSelect is used to capture user input/s from a specified list of permitted inputs. A MultiSelect captures multiple choices from a list of options",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
isVisible: isVisible,
filterText: {
2022-03-22 11:36:21 +00:00
"!type": "string",
"!doc": "The filter text for Server side filtering",
},
selectedOptionValues: {
"!type": "[string]",
"!doc": "The array of values selected in a multi select dropdown",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
},
selectedOptionLabels: {
"!type": "[string]",
"!doc": "The array of selected option labels in a multi select dropdown",
"!url": "https://docs.appsmith.com/widget-reference/dropdown",
},
isDisabled: "bool",
options: "[dropdownOption]",
},
2020-05-20 11:30:53 +00:00
IMAGE_WIDGET: {
"!doc":
"Image widget is used to display images in your app. Images must be either a URL or a valid base64.",
"!url": "https://docs.appsmith.com/widget-reference/image",
image: "string",
isVisible: isVisible,
},
TEXT_WIDGET: {
"!doc":
"Text widget is used to display textual information. Whether you want to display a paragraph or information or add a heading to a container, a text widget makes it easy to style and display text",
"!url": "https://docs.appsmith.com/widget-reference/text",
isVisible: isVisible,
text: "string",
},
BUTTON_WIDGET: {
"!doc":
"Buttons are used to capture user intent and trigger actions based on that intent",
"!url": "https://docs.appsmith.com/widget-reference/button",
isVisible: isVisible,
text: "string",
isDisabled: "bool",
recaptchaToken: "string",
2020-05-20 11:30:53 +00:00
},
DATE_PICKER_WIDGET: {
"!doc":
"Datepicker is used to capture the date and time from a user. It can be used to filter data base on the input date range as well as to capture personal information such as date of birth",
"!url": "https://docs.appsmith.com/widget-reference/datepicker",
isVisible: isVisible,
selectedDate: "string",
isDisabled: "bool",
},
DATE_PICKER_WIDGET2: {
"!doc":
"Datepicker is used to capture the date and time from a user. It can be used to filter data base on the input date range as well as to capture personal information such as date of birth",
"!url": "https://docs.appsmith.com/widget-reference/datepicker",
isVisible: isVisible,
selectedDate: "string",
formattedDate: "string",
isDisabled: "bool",
},
2020-05-20 11:30:53 +00:00
CHECKBOX_WIDGET: {
"!doc":
"Checkbox is a simple UI widget you can use when you want users to make a binary choice",
"!url": "https://docs.appsmith.com/widget-reference/checkbox",
isVisible: isVisible,
isChecked: "bool",
isDisabled: "bool",
},
SWITCH_WIDGET: {
"!doc":
"Switch is a simple UI widget you can use when you want users to make a binary choice",
"!url": "https://docs.appsmith.com/widget-reference/switch",
isVisible: isVisible,
isSwitchedOn: "bool",
isDisabled: "bool",
},
2020-05-20 11:30:53 +00:00
RADIO_GROUP_WIDGET: {
"!doc":
"Radio widget lets the user choose only one option from a predefined set of options. It is quite similar to a SingleSelect Dropdown in its functionality",
"!url": "https://docs.appsmith.com/widget-reference/radio",
isVisible: isVisible,
options: "[dropdownOption]",
selectedOptionValue: "string",
isRequired: "bool",
},
TABS_WIDGET: {
isVisible: isVisible,
selectedTab: "string",
},
MODAL_WIDGET: {
isVisible: isVisible,
isOpen: "bool",
},
RICH_TEXT_EDITOR_WIDGET: {
isVisible: isVisible,
text: "string",
isDisabled: "string",
},
CHART_WIDGET: {
"!doc":
"Chart widget is used to view the graphical representation of your data. Chart is the go-to widget for your data visualisation needs.",
"!url": "https://docs.appsmith.com/widget-reference/chart",
isVisible: isVisible,
chartData: "chartData",
xAxisName: "string",
yAxisName: "string",
selectedDataPoint: "chartDataPoint",
2020-05-20 11:30:53 +00:00
},
2020-06-09 13:10:42 +00:00
FORM_WIDGET: (widget: any) => ({
2020-05-20 11:30:53 +00:00
"!doc":
"Form is used to capture a set of data inputs from a user. Forms are used specifically because they reset the data inputs when a form is submitted and disable submission for invalid data inputs",
"!url": "https://docs.appsmith.com/widget-reference/form",
isVisible: isVisible,
2020-06-09 13:10:42 +00:00
data: generateTypeDef(widget.data),
hasChanges: "bool",
2020-06-09 13:10:42 +00:00
}),
2020-05-20 11:30:53 +00:00
FORM_BUTTON_WIDGET: {
"!doc":
"Form button is provided by default to every form. It is used for form submission and resetting form inputs",
"!url": "https://docs.appsmith.com/widget-reference/form",
isVisible: isVisible,
text: "string",
isDisabled: "bool",
recaptchaToken: "string",
2020-05-20 11:30:53 +00:00
},
MAP_WIDGET: {
isVisible: isVisible,
center: "latLong",
markers: "[mapMarker]",
selectedMarker: "mapMarker",
},
FILE_PICKER_WIDGET: {
"!doc":
"Filepicker widget is used to allow users to upload files from their local machines to any cloud storage via API. Cloudinary and Amazon S3 have simple APIs for cloud storage uploads",
"!url": "https://docs.appsmith.com/widget-reference/filepicker",
isVisible: isVisible,
files: "[file]",
isDisabled: "bool",
},
FILE_PICKER_WIDGET_V2: {
"!doc":
"Filepicker widget is used to allow users to upload files from their local machines to any cloud storage via API. Cloudinary and Amazon S3 have simple APIs for cloud storage uploads",
2020-05-20 11:30:53 +00:00
"!url": "https://docs.appsmith.com/widget-reference/filepicker",
isVisible: isVisible,
files: "[file]",
isDisabled: "bool",
2020-05-20 11:30:53 +00:00
},
[Feature] Grid Widget (#2389) * Updated test * updated assertions * Resizing image to take full width of table cell * updated assertion * Stop updating dynamicBindingPathList directly from widget * Fix selectedRow and selectedRows computations * Fix primaryColumns computations * Updated test for derived column * Added tests for computed value * Added check clear data * Reordering of test * updated common method * Made image size as 100% of table cell size * add templating logic * Updated flow and dsl * Clear old primary columns * Updated testname * updated assertion * use evaluated values for children * Fix primary columns update on component mount and component update * add isArray check * remove property pane enhancement reducer * add property pane enhancement reducer * disable items other than template + fix running property enchancment on drop of list widget * disbled drag, resize, settingsControl, drag for items other than template * add grid options * uncomment the widget operation for add child for grid children * handle delete scenario for child widget in list widget * WIP: Use the new delete and update property features * add listdsl.json for testcases * add test cases for correct no. of items being rendered * add test cases currentItem binding in list widget * change dragEnabled to dragDisabled * change resizeEnabled to resizeDisabled * change settingsControlEnabled to settingsControlDisabled * change dropEnabled to dropDisabled * update settingsControlDisabled default value * Use deleteProperties in propertyControls * Fix unsetting of array indices when deleting widget properties * remove old TableWidget.tsx file * Fix derived column property update on primary column property update * Handle undefined primary columns * Fix filepicker immutable prop issue * Fix object.freeze issue when adding ids to the property pane configuration * fix widget issue in grid * Fix column actions dynamicBindingPathList inclusion issue * remove consoles + fix typo around batch update * Remove redundant tests * js binding test for date picker * hydate enhancement map on copy list widget * check for dynamicleaf * fixes * improve check * fix getNextWidgetName * update template in list widget when copying * updating template copy logic when copying widget * update dynamicBindingPathList in copied widget * Add path parameter to hidden functions in property pane configs * fix copy bug when copying list widget * add computed list property control * Remove time column type Fix editor prompt for currentRow Fix undefined derivedColumns scenario Remove validations for primaryColums and derivedColumns Fix section toggle for video, image and button column types * Fix table widget actions and custom column migrations * Add logs for cyclical dependency map :recycle: * Process array differences * add property control for list widget * Fix onClick migrations * Property pane config parity * binding and trigger paths from the property pane config (#2920) * try react virtualized library * Fix unit test * Fix unit test :white_check_mark: * Fix minor issues in table widget * Add default meta props to binding paths to ensure eval and validation * Dummy commit :tada: * Remove unnecessary datepicker test Fix chart data as string issue * Achieve table column sorting and resizing parity with release * handle scenario where last column isn't available to access * Fix for panel config path not existing in the widget * Fix bindings in currentRow (default) Add dummy property pane config for canvas widget * Update canvas widgets with dynamicPathLists on delete of property paths * Add all diffs to change paths and trim later * Add back default properties 🚶🏻‍♂️ * Use object based paths instead of arrays for primaryColumns and derivedColumns * Fix issue in reordered columns * Fix inccorect update order * add virtualized list * Fix failing property pane tests * minor change * minor list widget change * Remove .vscode from git * Rename ads to alloy Fix isVisible in list widget * move grid component to widget folder * fix import in widget registry * add sticky row in virtualized list * add sticky container * Fix Height of grid widget items container * fix dragging of items in children other than template children * update list widget * update list widget * Fix padding in list widget * hide scrollbar in list widget list * fix copy bug in list widget * regenrate enhancement map on undo delete widget * Use enhancementmap for autocomplete in list widget Basic styles for list widget scrollbar * add custom control in widget config * minor commit * update scrollbar styles * remove unused variable * fix typo in custom control * comment out test cases * remove unused imports * remove unused imports * add JSON stringify in interweave * add noPad styling in dragLayer for noPad prop * implement grid gap * add list item background color prop * add white color in color picker control * fix gap in last list item * remove onBeforeParse in textcomponent * remove virtualization in grid widget * allow overflow-y * add onListItemClick action * add beta label * add pagination * fix actions in pagination in list widget * add list widget icon * add list background color default value * remove extra div * fix pagination issue * fix list widget crashing on perpage change * extract child operation function to widgetblueprint saga * refactor enhancements * add enhancement hook * refactor propertyUpdate hook enhancment * remove enhacement map * revert renaming ads to alloy * add autopagination * Cleanup unused vars Re-write loop using map Fix binding with external input widget * update default background color * remove unnessary scrol + fix pagination per page * remove console.log * use grid gap in pixel instead of snap * fix list widget tests for binding * add tests for on click action and pagination * remove unnecessary imports * remove overflow hidden in list component * Add feature to enable template actions * update property pane help text for list widget * disable pagination in editor view * update property pane options * add test case for action * uncomment tests * fix grid gap validation * update test cases * fix property pane opening issue for list tempalte * Disable form widgets in list widget * fix template issue for actions * add validation tests for list data * update starting template * add selectedRow + enable pagination in edit mode * remove extra padding in list widget + popper fix on settingDisabled * add stop propagation for button click * fix click event in edit mode * disallow filepicker widget for list widget * add test for list widget entity definition for selectItem * remove unused imports * fix test * remove evaluated value for list child widgets * add comment * remove log * fix copying bug in list widget * add check for not allowing template to copy * fix test * add test for property pane actions * remove unused import * add draglayercomponent test * add test for draggable component * add test for evaluatedvalue popup * add test for messages.ts * add test for widgeticons * add test for property pane selector * add test for widget config response * start testing widget configresponse * add test for enhancements in widget config * add test for codeeditor * add test for base widget + list widget * add test for executeWidgetBlueprintChildOperations * remove unused import * add test for widget operation utils * remove unused import * add test for handleSpecificCasesWhilePasting * remove unused function * remove unused import * add empty list styling * resolve all review comments * fix message test * add test for widget operation utils * fix merge conflicts * move validations in property config Co-authored-by: Abhinav Jha <abhinav@appsmith.com> Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com> Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local> Co-authored-by: Piyush <piyush@codeitout.com> Co-authored-by: hetunandu <hetu@appsmith.com> Co-authored-by: Hetu Nandu <hetunandu@gmail.com> Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-04-23 05:43:13 +00:00
LIST_WIDGET: (widget: any) => ({
"!doc":
"Containers are used to group widgets together to form logical higher order widgets. Containers let you organize your page better and move all the widgets inside them together.",
"!url": "https://docs.appsmith.com/widget-reference/list",
backgroundColor: {
"!type": "string",
"!url": "https://docs.appsmith.com/widget-reference/how-to-use-widgets",
},
isVisible: isVisible,
gridGap: "number",
[Feature] Grid Widget (#2389) * Updated test * updated assertions * Resizing image to take full width of table cell * updated assertion * Stop updating dynamicBindingPathList directly from widget * Fix selectedRow and selectedRows computations * Fix primaryColumns computations * Updated test for derived column * Added tests for computed value * Added check clear data * Reordering of test * updated common method * Made image size as 100% of table cell size * add templating logic * Updated flow and dsl * Clear old primary columns * Updated testname * updated assertion * use evaluated values for children * Fix primary columns update on component mount and component update * add isArray check * remove property pane enhancement reducer * add property pane enhancement reducer * disable items other than template + fix running property enchancment on drop of list widget * disbled drag, resize, settingsControl, drag for items other than template * add grid options * uncomment the widget operation for add child for grid children * handle delete scenario for child widget in list widget * WIP: Use the new delete and update property features * add listdsl.json for testcases * add test cases for correct no. of items being rendered * add test cases currentItem binding in list widget * change dragEnabled to dragDisabled * change resizeEnabled to resizeDisabled * change settingsControlEnabled to settingsControlDisabled * change dropEnabled to dropDisabled * update settingsControlDisabled default value * Use deleteProperties in propertyControls * Fix unsetting of array indices when deleting widget properties * remove old TableWidget.tsx file * Fix derived column property update on primary column property update * Handle undefined primary columns * Fix filepicker immutable prop issue * Fix object.freeze issue when adding ids to the property pane configuration * fix widget issue in grid * Fix column actions dynamicBindingPathList inclusion issue * remove consoles + fix typo around batch update * Remove redundant tests * js binding test for date picker * hydate enhancement map on copy list widget * check for dynamicleaf * fixes * improve check * fix getNextWidgetName * update template in list widget when copying * updating template copy logic when copying widget * update dynamicBindingPathList in copied widget * Add path parameter to hidden functions in property pane configs * fix copy bug when copying list widget * add computed list property control * Remove time column type Fix editor prompt for currentRow Fix undefined derivedColumns scenario Remove validations for primaryColums and derivedColumns Fix section toggle for video, image and button column types * Fix table widget actions and custom column migrations * Add logs for cyclical dependency map :recycle: * Process array differences * add property control for list widget * Fix onClick migrations * Property pane config parity * binding and trigger paths from the property pane config (#2920) * try react virtualized library * Fix unit test * Fix unit test :white_check_mark: * Fix minor issues in table widget * Add default meta props to binding paths to ensure eval and validation * Dummy commit :tada: * Remove unnecessary datepicker test Fix chart data as string issue * Achieve table column sorting and resizing parity with release * handle scenario where last column isn't available to access * Fix for panel config path not existing in the widget * Fix bindings in currentRow (default) Add dummy property pane config for canvas widget * Update canvas widgets with dynamicPathLists on delete of property paths * Add all diffs to change paths and trim later * Add back default properties 🚶🏻‍♂️ * Use object based paths instead of arrays for primaryColumns and derivedColumns * Fix issue in reordered columns * Fix inccorect update order * add virtualized list * Fix failing property pane tests * minor change * minor list widget change * Remove .vscode from git * Rename ads to alloy Fix isVisible in list widget * move grid component to widget folder * fix import in widget registry * add sticky row in virtualized list * add sticky container * Fix Height of grid widget items container * fix dragging of items in children other than template children * update list widget * update list widget * Fix padding in list widget * hide scrollbar in list widget list * fix copy bug in list widget * regenrate enhancement map on undo delete widget * Use enhancementmap for autocomplete in list widget Basic styles for list widget scrollbar * add custom control in widget config * minor commit * update scrollbar styles * remove unused variable * fix typo in custom control * comment out test cases * remove unused imports * remove unused imports * add JSON stringify in interweave * add noPad styling in dragLayer for noPad prop * implement grid gap * add list item background color prop * add white color in color picker control * fix gap in last list item * remove onBeforeParse in textcomponent * remove virtualization in grid widget * allow overflow-y * add onListItemClick action * add beta label * add pagination * fix actions in pagination in list widget * add list widget icon * add list background color default value * remove extra div * fix pagination issue * fix list widget crashing on perpage change * extract child operation function to widgetblueprint saga * refactor enhancements * add enhancement hook * refactor propertyUpdate hook enhancment * remove enhacement map * revert renaming ads to alloy * add autopagination * Cleanup unused vars Re-write loop using map Fix binding with external input widget * update default background color * remove unnessary scrol + fix pagination per page * remove console.log * use grid gap in pixel instead of snap * fix list widget tests for binding * add tests for on click action and pagination * remove unnecessary imports * remove overflow hidden in list component * Add feature to enable template actions * update property pane help text for list widget * disable pagination in editor view * update property pane options * add test case for action * uncomment tests * fix grid gap validation * update test cases * fix property pane opening issue for list tempalte * Disable form widgets in list widget * fix template issue for actions * add validation tests for list data * update starting template * add selectedRow + enable pagination in edit mode * remove extra padding in list widget + popper fix on settingDisabled * add stop propagation for button click * fix click event in edit mode * disallow filepicker widget for list widget * add test for list widget entity definition for selectItem * remove unused imports * fix test * remove evaluated value for list child widgets * add comment * remove log * fix copying bug in list widget * add check for not allowing template to copy * fix test * add test for property pane actions * remove unused import * add draglayercomponent test * add test for draggable component * add test for evaluatedvalue popup * add test for messages.ts * add test for widgeticons * add test for property pane selector * add test for widget config response * start testing widget configresponse * add test for enhancements in widget config * add test for codeeditor * add test for base widget + list widget * add test for executeWidgetBlueprintChildOperations * remove unused import * add test for widget operation utils * remove unused import * add test for handleSpecificCasesWhilePasting * remove unused function * remove unused import * add empty list styling * resolve all review comments * fix message test * add test for widget operation utils * fix merge conflicts * move validations in property config Co-authored-by: Abhinav Jha <abhinav@appsmith.com> Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com> Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local> Co-authored-by: Piyush <piyush@codeitout.com> Co-authored-by: hetunandu <hetu@appsmith.com> Co-authored-by: Hetu Nandu <hetunandu@gmail.com> Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-04-23 05:43:13 +00:00
selectedItem: generateTypeDef(widget.selectedItem),
List Widget Phase 2 (#4189) * update meta properties + default properties map * update widget registery * update get meta property * update metahoc + widgetfactory + data tree evaluator * try sending function as string to worker * revert data tree evaluator update * pass default props map from dataTreeWidget file * wip * save child meta properties * remove console.log * save meta and default map in list * update listwidget * remove console.log + unused variables * revert getMetaPropertiesMap function * fix data tree test * fix list widget test * fix entity definition test * fix overriting of item in updatedItems * remove todo comments * fix meta prop issue * revert making meta properties from undefiend to "" & fix filepicker bug * fix test case * change items to listData and updatedItems to items * remove console.log * fix test * extract derived properties to dervied.js * disabled top, left, right resize handler list widget container * add test for dervied js * add test for selectedItem * fix background color bug on hover * remove console.log * fix chart widget inside list widget * fix checkbox issue + points raised by yogesh * revert the createImmerReducer usage * fix parse derived properties * remove internal props object that fails the test * fix import typo * allow bottom resize handler * fix template height check * fix template height check * update template size check * fix the is visible invalid prop issue * fix migration of list widget phase 2 * fix migration * remove unused import * fix migration * fix migration * remove console.log * hide delete option for container in entity explorer * fix testcases * remove unused import * fix switch widget meta prop Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2021-06-18 07:42:57 +00:00
items: generateTypeDef(widget.items),
listData: generateTypeDef(widget.listData),
pageNo: generateTypeDef(widget.pageNo),
pageSize: generateTypeDef(widget.pageSize),
[Feature] Grid Widget (#2389) * Updated test * updated assertions * Resizing image to take full width of table cell * updated assertion * Stop updating dynamicBindingPathList directly from widget * Fix selectedRow and selectedRows computations * Fix primaryColumns computations * Updated test for derived column * Added tests for computed value * Added check clear data * Reordering of test * updated common method * Made image size as 100% of table cell size * add templating logic * Updated flow and dsl * Clear old primary columns * Updated testname * updated assertion * use evaluated values for children * Fix primary columns update on component mount and component update * add isArray check * remove property pane enhancement reducer * add property pane enhancement reducer * disable items other than template + fix running property enchancment on drop of list widget * disbled drag, resize, settingsControl, drag for items other than template * add grid options * uncomment the widget operation for add child for grid children * handle delete scenario for child widget in list widget * WIP: Use the new delete and update property features * add listdsl.json for testcases * add test cases for correct no. of items being rendered * add test cases currentItem binding in list widget * change dragEnabled to dragDisabled * change resizeEnabled to resizeDisabled * change settingsControlEnabled to settingsControlDisabled * change dropEnabled to dropDisabled * update settingsControlDisabled default value * Use deleteProperties in propertyControls * Fix unsetting of array indices when deleting widget properties * remove old TableWidget.tsx file * Fix derived column property update on primary column property update * Handle undefined primary columns * Fix filepicker immutable prop issue * Fix object.freeze issue when adding ids to the property pane configuration * fix widget issue in grid * Fix column actions dynamicBindingPathList inclusion issue * remove consoles + fix typo around batch update * Remove redundant tests * js binding test for date picker * hydate enhancement map on copy list widget * check for dynamicleaf * fixes * improve check * fix getNextWidgetName * update template in list widget when copying * updating template copy logic when copying widget * update dynamicBindingPathList in copied widget * Add path parameter to hidden functions in property pane configs * fix copy bug when copying list widget * add computed list property control * Remove time column type Fix editor prompt for currentRow Fix undefined derivedColumns scenario Remove validations for primaryColums and derivedColumns Fix section toggle for video, image and button column types * Fix table widget actions and custom column migrations * Add logs for cyclical dependency map :recycle: * Process array differences * add property control for list widget * Fix onClick migrations * Property pane config parity * binding and trigger paths from the property pane config (#2920) * try react virtualized library * Fix unit test * Fix unit test :white_check_mark: * Fix minor issues in table widget * Add default meta props to binding paths to ensure eval and validation * Dummy commit :tada: * Remove unnecessary datepicker test Fix chart data as string issue * Achieve table column sorting and resizing parity with release * handle scenario where last column isn't available to access * Fix for panel config path not existing in the widget * Fix bindings in currentRow (default) Add dummy property pane config for canvas widget * Update canvas widgets with dynamicPathLists on delete of property paths * Add all diffs to change paths and trim later * Add back default properties 🚶🏻‍♂️ * Use object based paths instead of arrays for primaryColumns and derivedColumns * Fix issue in reordered columns * Fix inccorect update order * add virtualized list * Fix failing property pane tests * minor change * minor list widget change * Remove .vscode from git * Rename ads to alloy Fix isVisible in list widget * move grid component to widget folder * fix import in widget registry * add sticky row in virtualized list * add sticky container * Fix Height of grid widget items container * fix dragging of items in children other than template children * update list widget * update list widget * Fix padding in list widget * hide scrollbar in list widget list * fix copy bug in list widget * regenrate enhancement map on undo delete widget * Use enhancementmap for autocomplete in list widget Basic styles for list widget scrollbar * add custom control in widget config * minor commit * update scrollbar styles * remove unused variable * fix typo in custom control * comment out test cases * remove unused imports * remove unused imports * add JSON stringify in interweave * add noPad styling in dragLayer for noPad prop * implement grid gap * add list item background color prop * add white color in color picker control * fix gap in last list item * remove onBeforeParse in textcomponent * remove virtualization in grid widget * allow overflow-y * add onListItemClick action * add beta label * add pagination * fix actions in pagination in list widget * add list widget icon * add list background color default value * remove extra div * fix pagination issue * fix list widget crashing on perpage change * extract child operation function to widgetblueprint saga * refactor enhancements * add enhancement hook * refactor propertyUpdate hook enhancment * remove enhacement map * revert renaming ads to alloy * add autopagination * Cleanup unused vars Re-write loop using map Fix binding with external input widget * update default background color * remove unnessary scrol + fix pagination per page * remove console.log * use grid gap in pixel instead of snap * fix list widget tests for binding * add tests for on click action and pagination * remove unnecessary imports * remove overflow hidden in list component * Add feature to enable template actions * update property pane help text for list widget * disable pagination in editor view * update property pane options * add test case for action * uncomment tests * fix grid gap validation * update test cases * fix property pane opening issue for list tempalte * Disable form widgets in list widget * fix template issue for actions * add validation tests for list data * update starting template * add selectedRow + enable pagination in edit mode * remove extra padding in list widget + popper fix on settingDisabled * add stop propagation for button click * fix click event in edit mode * disallow filepicker widget for list widget * add test for list widget entity definition for selectItem * remove unused imports * fix test * remove evaluated value for list child widgets * add comment * remove log * fix copying bug in list widget * add check for not allowing template to copy * fix test * add test for property pane actions * remove unused import * add draglayercomponent test * add test for draggable component * add test for evaluatedvalue popup * add test for messages.ts * add test for widgeticons * add test for property pane selector * add test for widget config response * start testing widget configresponse * add test for enhancements in widget config * add test for codeeditor * add test for base widget + list widget * add test for executeWidgetBlueprintChildOperations * remove unused import * add test for widget operation utils * remove unused import * add test for handleSpecificCasesWhilePasting * remove unused function * remove unused import * add empty list styling * resolve all review comments * fix message test * add test for widget operation utils * fix merge conflicts * move validations in property config Co-authored-by: Abhinav Jha <abhinav@appsmith.com> Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com> Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in> Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local> Co-authored-by: Piyush <piyush@codeitout.com> Co-authored-by: hetunandu <hetu@appsmith.com> Co-authored-by: Hetu Nandu <hetunandu@gmail.com> Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-04-23 05:43:13 +00:00
}),
RATE_WIDGET: {
"!doc": "Rating widget is used to display ratings in your app.",
"!url": "https://docs.appsmith.com/widget-reference/rate",
isVisible: isVisible,
value: "number",
maxCount: "number",
},
IFRAME_WIDGET: (widget: any) => ({
"!doc": "Iframe widget is used to display iframes in your app.",
"!url": "https://docs.appsmith.com/widget-reference/iframe",
isVisible: isVisible,
source: "string",
title: "string",
message: generateTypeDef(widget.message),
messageMetadata: generateTypeDef(widget.messageMetadata),
}),
DIVIDER_WIDGET: {
"!doc": "Divider is a simple UI widget used as a separator",
"!url": "https://docs.appsmith.com/widget-reference/divider",
isVisible: isVisible,
orientation: "string",
capType: "string",
capSide: "number",
strokeStyle: "string",
dividerColor: "string",
thickness: "number",
},
MENU_BUTTON_WIDGET: {
"!doc":
"Menu button widget is used to represent a set of actions in a group.",
"!url": "https://docs.appsmith.com/widget-reference/menu-button",
isVisible: isVisible,
label: "string",
},
//TODO: fix this after development
SINGLE_SELECT_TREE_WIDGET: {
"!doc":
"TreeSelect is used to capture user input from a specified list of permitted inputs/Nested Inputs.",
"!url": "https://docs.appsmith.com/widget-reference/treeselect",
isVisible: isVisible,
selectedOptionValue: {
"!type": "string",
"!doc": "The value selected in a treeselect dropdown",
"!url": "https://docs.appsmith.com/widget-reference/treeselect",
},
selectedOptionLabel: {
"!type": "string",
"!doc": "The selected option label in a treeselect dropdown",
"!url": "https://docs.appsmith.com/widget-reference/treeselect",
},
isDisabled: "bool",
isValid: "bool",
options: "[dropdownOption]",
},
MULTI_SELECT_TREE_WIDGET: {
"!doc":
"Multi TreeSelect is used to capture user inputs from a specified list of permitted inputs/Nested Inputs. A TreeSelect can capture a single choice as well as multiple choices",
"!url": "https://docs.appsmith.com/widget-reference/treeselect",
isVisible: isVisible,
selectedOptionValues: {
"!type": "[string]",
"!doc": "The array of values selected in a treeselect dropdown",
"!url": "https://docs.appsmith.com/widget-reference/treeselect",
},
selectedOptionLabels: {
"!type": "[string]",
"!doc": "The array of selected option labels in a treeselect dropdown",
"!url": "https://docs.appsmith.com/widget-reference/treeselect",
},
isDisabled: "bool",
isValid: "bool",
options: "[dropdownOption]",
},
ICON_BUTTON_WIDGET: {
"!doc":
"Icon button widget is just an icon, along with all other button properties.",
"!url": "https://docs.appsmith.com/widget-reference/icon-button",
isVisible: isVisible,
},
CHECKBOX_GROUP_WIDGET: {
"!doc":
"Checkbox group widget allows users to easily configure multiple checkboxes together.",
"!url": "https://docs.appsmith.com/widget-reference/checkbox-group",
isVisible: isVisible,
isDisabled: "bool",
isValid: "bool",
options: "[dropdownOption]",
selectedValues: "[string]",
},
STATBOX_WIDGET: {
"!doc": "Show and highlight stats from your data sources",
"!url": "https://docs.appsmith.com/widget-reference/stat-box",
isVisible: isVisible,
},
AUDIO_RECORDER_WIDGET: {
"!doc":
"Audio recorder widget allows users to record using their microphone, listen to the playback, and export the data to a data source.",
"!url": "https://docs.appsmith.com/widget-reference/recorder",
isVisible: isVisible,
blobURL: "string",
dataURL: "string",
rawBinary: "string",
},
2021-12-29 12:01:19 +00:00
PROGRESSBAR_WIDGET: {
"!doc": "Progress bar is a simple UI widget used to show progress",
"!url": "https://docs.appsmith.com/widget-reference/progressbar",
isVisible: isVisible,
progress: "number",
},
feat: Switch Group widget (#7590) * Feat: Switch Group Widget -- The first MVP of the widget * feat: Switch Group Widget -- Follow the same config and implementation as the other group widgets * feat: Switch Group Widget -- Elaborate the help text for defaultSelectedValues * feat: Switch Group Widget -- Add a widget icon * feat: Switch Group Widget -- Remove unnecessary property control at ItemsControl.tsx -- Refactor some code snippets for higher code quality -- Add basic cypress test cases * fix: icon for the widget optimised & replaced * feat: Switch Group Widget -- Add a unit test for defaultSelectedValuesValidation * feat: Switch Group Widget -- Make the validation type for defaultSelectedValues property to ValidationTypes.ARRAY -- Remove original validation function and its unit test * feat: Switch Group Widget -- Fix on typo -- Fix on formatting issue -- Change the help text for isRequired property * feat: Switch Group Widget -- Revert help text for isRequired property to the original one * feat: Switch Group Widget -- Set strict property to true on defaultSelectedValues * feat: Switch group widget -- Refactor utility function, getCamelCaseString -- Add the corresponding test case * feat: Switch group widget -- Implement options property as a plain JS field -- Reimplement update logic for selectedValues when options changes -- Add a new utility function for checking equality of object arrays -- Add a unit test for the above function -- Rewrite the corresponding Cypress test cases * feat: Switch Group Widget -- Remove isArrayEqual utility function and directly use functions from lodash * feat: Swtich Group Widget -- Make selectedValues as a derived property * feat: Switch Group Widget -- Replace the widget icon * feat: Switch Group Widget -- Rewrite a test case for onSelectionChange property * feat: Switch Group Widget -- Remove redundant calls for openPropertyPane * feat: Switch Group Widget -- Remove closePropertyPane call from afterEach hook * feat: Switch Group Widget -- Change the selector for every switch element in onSelectionChange test case * feat: Switch Group Widget -- Fix on failed Cypress test case, adding closePropertyPane command to onSelectionChange * feat: Switch Group Widget -- Remove template literal from a selector * feat: Switch Group Widget -- Make click on onSelectionChange test case forced * feat: Switch Group Widget -- Fix on crash issue when editing on Options property * feat: Switch Group Widget -- Add the widget icon to show in entity explorer * feat: Switch Group Widget -- Fix on blue color on mouse down -- Add a new property for alignment Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
2021-12-09 12:02:47 +00:00
SWITCH_GROUP_WIDGET: {
"!doc":
"Switch group widget allows users to create many switch components which can easily by used in a form",
"!url": "https://docs.appsmith.com/widget-reference/switch-group",
selectedValues: "[string]",
},
feat: camera widget (#8069) * feat: Camera Widget -- Scaffold the basic structure of the widget * feat: Camera Widget -- Prototype a feature, taking picture * feat: Camera Widget -- Add types for MediaRecorder -- Define media capture status and action types -- Prototype basic video recording, playing features * feat: Camera Widget -- Implement video player -- Add timer for recording and playing video -- Add permission and error handling logic -- Add device selectors * feat: Camera Widget -- Place control buttons above device inputs layer -- Make the widget fully responsive * feat: Camera Widget -- Change the color of caret-down icon to white -- Remove overlaying of web cam and video player -- Add some padding for device inputs * feat: Camera Widget -- Add black background to the container of the widget * feat: Camera Widget -- Change the widget icon * feat: Camera Widget -- Implement the mute feature of a mic or a camera * feat: Camera Widget -- Check media device permissions before getting started * feat: Camera Widget -- Add a fullscreen control * feat: Camera Widget -- Set error text color to white -- Change the layout of control panel * feat: Camera Widget -- Apply layout change for control panel according to app layout change * feat: Camera Widget -- Add a new derived property, videoURL * feat: Switch Group Widget -- Adopt theme changes * feat: Camera Widget -- Make background grey in case of both error and disabled status * feat: Camera Widget -- Update npm dependencies * feat: Camera Widget -- Fix on #8788, using muted property * feat: Camera Widget -- Show off the microphone setting icon only if the current mode is video -- Set isMirrored property to true by default * feat: Camera Widget -- Add photo viewer * feat: Camera Widget -- Add onImageCapture, onRecordingStart, onRecordingStop actions instead of onMediaCapture * feat: Camera Widget -- Expose meta properties for the widget * feat: Camera Widget -- Fix on responsiveness issue * feat: Camera Widget -- Add type definitions for MediaStream recording * feat: Camera Widget -- Hide isMirroed property for video mode * feat: Camera Widget -- Wrap all the controls with TooltipComponent * feat: Camera Widget -- Implement enter, exit full screen feature * feat: Camera Widget -- Add a widget icon for entity explorer * feat: Camera Widget -- Fix on the typo for the label of onRecordingStop property * feat: Camera Widget -- Enable/disable media tracks * feat: Camera Widget -- Set the video's height to 100% in fullscreen mode * feat: Camera Widget -- Add overlayers on Webcam * feat: Camera Widget -- Set position to relative on fullscreen wrapper div -- Set the photo viewer's height to 100% * feat: Camera Widget -- Add image, mediaCaptureStatus, timer meta properties to keep UI states when the widget is dragged * feat: Camera Widget -- Refactor code base, eliminating commented code blocks * feat: Camera Widget -- Revert all the changes needed for keeping status when the widget is dragged -- Set mirroed property to false for video mode
2021-12-24 14:06:59 +00:00
CAMERA_WIDGET: {
"!doc":
"Camera widget allows users to take a picture or record videos through their system camera using browser permissions.",
"!url": "https://docs.appsmith.com/widget-reference/camera",
imageBlobURL: "string",
imageDataURL: "string",
imageRawBinary: "string",
videoBlobURL: "string",
videoDataURL: "string",
videoRawBinary: "string",
},
feat: Map Chart widget (#6929) * FEATURE-6314 : Map Chart Widget -- Scaffold the widget * FEATURE-6314 : Map Chart Widget -- Add a new widget icon -- Proptotype the property pane for the first time * FEATURE-6314 : Map Chart Widget -- Install fusionmaps -- Draw naive world map for the PoC * FEATURE-6314 : Map Chart Widget -- Integrate the limited number of FusionMaps into the widget -- Bind basic properties and a action into the map * FEATURE-6314 : Map Chart Widget -- Comment out the console statements for linting error * FEATURE-6314 : Map Chart Widget -- Update dependency versioning * feat: Map Chart Widget -- Fix on linting errors, including unused variables, console statement * Feat: Map Chart Widget -- Install dependencies from scratch * fix: increased max chink size allowed in the build config * Feat: Map Chart Widget -- Refactor code base according to the changed widget structure -- Add cleanup for removing event listener -- Eliminate the unnecessary codes, comments * Feat: Map Chart Widget -- Remove unnecessary icon -- Refactor on constants * Feat: Map Chart Widget -- Add a cypress test case for map type changes -- Add a cypress test case for title change -- Add a cypress test case for toggling show labels -- Add a cypress test case for onEntityClick event listener * feat: Map Chart Widget -- Scaffold the setup for custom map config * feat: Map Chart Widget -- Dynamically import map definition files * feat: Map Chart Widget -- Eliminate unnecessary comments * feat: Fusion Maps Widget -- Update base dependencies * partial map chart changes. * feat: Map Chart Widget -- Refactor entire code base, removing custom configs -- Disable prefetching on mapCharts chunk * feat: Map Chart Widget -- Comment onEntityClick test case out * feat: Map Chart Widget -- Fix on onEntityClick test case * feat: Map Chart Widget -- Change the widget icon -- Rename onEnityClick to onDataPointClick -- Expose selectedDataPoint -- Add a new Cypress test case for the toast message on onDataPointClick * feat: Map Chart Widget -- Add a new property colorRange -- Add default values for data and colorRange properties -- Eliminate unnecessary constant colorRange * feat: Map Chart Widget -- update selectedDataPoint meta property unconditionally * feat: Map Chart Widget -- Update initial map type config to be consistent with the corresponding property * feat: Map Chart Widget -- Add widget icon for entity explorer * feat: Map Chart Widget -- Make array elements of data, colorRange properties unique * feat: Map Chart Widget -- Prevent re-render when disabling color codes and double-clicking on entities * feat: Map Chart Widget -- Declare defaultChartConfigs variable inside component class -- Replace deprecated substr method with substring * feat: Map Chart widget -- Complement validation rules for data property * feat: Map Chart widget -- Define rows and cols without using GRID_DENSITY_MIGRATION_V1 -- Change updateDataSet hook by replacing switch statement with object mapping * feat: Map Chart widget -- Pull out dataSetMapping from the updateDataSet hook * feat: Map Chart widget -- Force click events with regard to onDataPointClick test cases * feat: Map Chart widget -- Update fusioncharts and fusionmaps npm packages to the latest version * feat: Map Chart widget -- Make contents responsive using CSS styles instead of directly changing width, height attributes of the chart Co-authored-by: somangshu <somangshu.goswami1508@gmail.com> Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com> Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2022-01-07 09:57:45 +00:00
MAP_CHART_WIDGET: {
"!doc":
"Map Chart widget shows the graphical representation of your data on the map.",
"!url": "https://docs.appsmith.com/widget-reference/map-chart",
isVisible: isVisible,
selectedDataPoint: "mapChartDataPoint",
},
INPUT_WIDGET_V2: {
"!doc":
"An input text field is used to capture a users textual input such as their names, numbers, emails etc. Inputs are used in forms and can have custom validations.",
"!url": "https://docs.appsmith.com/widget-reference/input",
text: {
"!type": "string",
"!doc": "The text value of the input",
"!url": "https://docs.appsmith.com/widget-reference/input",
},
isValid: "bool",
isVisible: isVisible,
isDisabled: "bool",
},
CURRENCY_INPUT_WIDGET: {
"!doc":
"An input text field is used to capture a currency value. Inputs are used in forms and can have custom validations.",
"!url": "https://docs.appsmith.com/widget-reference/currency-input",
text: {
"!type": "string",
"!doc": "The formatted text value of the input",
"!url": "https://docs.appsmith.com/widget-reference/currency-input",
},
value: {
"!type": "number",
"!doc": "The value of the input",
"!url": "https://docs.appsmith.com/widget-reference/currency-input",
},
isValid: "bool",
isVisible: isVisible,
isDisabled: "bool",
countryCode: {
"!type": "string",
"!doc": "Selected country code for Currency",
},
currencyCode: {
"!type": "string",
"!doc": "Selected Currency code",
},
},
PHONE_INPUT_WIDGET: {
"!doc":
"An input text field is used to capture a phone number. Inputs are used in forms and can have custom validations.",
"!url": "https://docs.appsmith.com/widget-reference/phone-input",
text: {
"!type": "string",
"!doc": "The text value of the input",
"!url": "https://docs.appsmith.com/widget-reference/phone-input",
},
value: {
"!type": "string",
"!doc": "The unformatted text value of the input",
"!url": "https://docs.appsmith.com/widget-reference/phone-input",
},
isValid: "bool",
isVisible: isVisible,
isDisabled: "bool",
countryCode: {
"!type": "string",
"!doc": "Selected country code for Phone Number",
},
dialCode: {
"!type": "string",
"!doc": "Selected dialing code for Phone Number",
},
},
CIRCULAR_PROGRESS_WIDGET: {
"!doc": "Circular Progress is a simple UI widget used to show progress",
"!url": "https://docs.appsmith.com/widget-reference/circular-progress",
isVisible: isVisible,
progress: "number",
},
feat: JSON Form widget (#8472) * initial layout * updated parser to support nested array * array field rendering * changes * ts fix * minor revert FormWidget * modified schema structure * select and switch fields * added checkbox field * added RadioGroupField * partial DateField and defaults, typing refactoring * added label and field type change * minor ts changes * changes * modified widget/utils for nested panelConfig, modified schema to object approach * array/object label support * hide field configuration when children not present * added tooltip * field visibility option * disabled state * upgraded tslib, form initial values * custom field configuration - add/hide/edit * field configuration - label change * return input when field configuration reaches max depth * minor changes * form - scroll, fixedfooter, enitity defn and other minior changes * form title * unregister on unmount * fixes * zero state * fix field padding * patched updating form values, removed linting warnings * configured action buttons * minor fix * minor change * property pane - sort fields in field configuration * refactor include all properties * checkbox properties * date properties * refactor typings and radio group properties * switch, multselect, select, array, object properties * minor changes * default value * ts fixes * checkbox field properties implementation * date field prop implementation * switch field * select field and fix deep nested meta properties * multiselect implementation * minor change * input field implementation * fix position jump on field type change * initial accordian * field state property and auto-complete of JSONFormComputeControl * merge fixes * renamed FormBuilder to JSONForm * source data validation minor change * custom field default value fix * Editable keys for custom field * minor fixes * replaced useFieldArray with custom logic, added widget icon * array and object accordian with border/background styling * minor change * disabled states for array and objects * default value minor fix * form level styles * modified logic for isDisabled for array and object, added disabledWhenInvalid, exposed isValid to fieldState for text input, removed useDisableChildren * added isValid for all field types * fixed reset to default values * debounce form values update * minor change * minor change * fix crash - source data change multi-select to array, fix crash - change of options * fix positioning * detect date type in source data * fix crash - when object is passed to regex input field * fixed default sourceData path for fields * accodion keep children mounted on collapse * jest test for schemaParser * widget/helper and useRegisterFieldInvalid test * tests for property config helper and generatePanelPropertyConfig * fix input field validation not appearing * fix date field type detection * rename data -> formData * handle null/undefined field value change in sourceData * added null/undefined as valid values for defaultValue text field * auto detect email field * set formData default value on initial load * switch field inline positioning * field margin fix for row direction * select full width * fiex date field default value - out of range * fix any field type to array * array default value logic change * base cypress test changes * initial json form render cy test * key sanitization * fix fieldState update logic * required design, object/array background color, accordion changes, fix - add new custom field * minor change * cypress tests * fix date formatted value, field state cypress test * cypress - field properties test and fixes * rename test file * fix accessort change to blank value, cypress tests * fix array field default value for modified accessor * minor fix * added animate loading * fix empty state, add new custom field * test data fix * fix warnings * fix timePrecision visibility * button styling * ported input v2 * fix jest tests * fix cypress tests * perf changes * perf improvement * added comments * multiselect changes * input field perf refactor * array field, object field refactor performance * checkbox field refactor * refectored date, radio, select and switch * fixes * test fixes * fixes * minor fix * rename field renderer * remove tracked fieldRenderer field * cypress test fixes * cypress changes * array default value fixes * arrayfield passedDefaultValue * auto enabled JS mode for few properties, reverted swith and date property controls * cypress changes * added widget sniping mode and fixed object passedDefaultValue * multiselect v2 * select v2 * fix jest tests * test fixes * field limit * rename field type dropdown texts * field type changes fixes * jest fixes * loading state submit button * default source data for new widget * modify limit message * multiseelct default value changes and cypress fix * select default value * keep default value intact on field type change * TextTable cypress text fix * review changes * fixed footer changes * collapse styles section by default * fixed footer changes * form modes * custom field key rentention * fixed footer fix in view mode * non ascii characters * fix meta merge in dataTreeWidget * minor fixes * rename useRegisterFieldInvalid.ts -> useRegisterFieldValidity.ts * modified dependency injection into evaluated values * refactored fixedfooter logic * minor change * accessor update * minor change * fixes * QA fixes date field, scroll content * fix phone number field, removed visiblity option from array item * fix sourceData autocomplete * reset logic * fix multiselect reset * form values hydration on widget drag * code review changes * reverted order of merge dataTreeWidget * fixes * added button titles, fixed hydration issue * default value fixes * upgraded react hook form, modified array-level/field-level default value logic * fixed select validation * added icon entity explorer, modified icon align control * modify accessor validation for mongo db _id * update email field regex * review changes * explicitly handle empty source data validation
2022-03-24 07:13:25 +00:00
JSON_FORM_WIDGET: (widget: any) => ({
"!doc":
"JSON Form widget can be used to auto-generate forms by providing a JSON source data.",
// TODO: Update the url
"!url": "https://docs.appsmith.com/widget-reference",
formData: generateTypeDef(widget.formData),
sourceData: generateTypeDef(widget.sourceData),
fieldState: generateTypeDef(widget.fieldState),
isValid: "bool",
feat: JSON Form widget (#8472) * initial layout * updated parser to support nested array * array field rendering * changes * ts fix * minor revert FormWidget * modified schema structure * select and switch fields * added checkbox field * added RadioGroupField * partial DateField and defaults, typing refactoring * added label and field type change * minor ts changes * changes * modified widget/utils for nested panelConfig, modified schema to object approach * array/object label support * hide field configuration when children not present * added tooltip * field visibility option * disabled state * upgraded tslib, form initial values * custom field configuration - add/hide/edit * field configuration - label change * return input when field configuration reaches max depth * minor changes * form - scroll, fixedfooter, enitity defn and other minior changes * form title * unregister on unmount * fixes * zero state * fix field padding * patched updating form values, removed linting warnings * configured action buttons * minor fix * minor change * property pane - sort fields in field configuration * refactor include all properties * checkbox properties * date properties * refactor typings and radio group properties * switch, multselect, select, array, object properties * minor changes * default value * ts fixes * checkbox field properties implementation * date field prop implementation * switch field * select field and fix deep nested meta properties * multiselect implementation * minor change * input field implementation * fix position jump on field type change * initial accordian * field state property and auto-complete of JSONFormComputeControl * merge fixes * renamed FormBuilder to JSONForm * source data validation minor change * custom field default value fix * Editable keys for custom field * minor fixes * replaced useFieldArray with custom logic, added widget icon * array and object accordian with border/background styling * minor change * disabled states for array and objects * default value minor fix * form level styles * modified logic for isDisabled for array and object, added disabledWhenInvalid, exposed isValid to fieldState for text input, removed useDisableChildren * added isValid for all field types * fixed reset to default values * debounce form values update * minor change * minor change * fix crash - source data change multi-select to array, fix crash - change of options * fix positioning * detect date type in source data * fix crash - when object is passed to regex input field * fixed default sourceData path for fields * accodion keep children mounted on collapse * jest test for schemaParser * widget/helper and useRegisterFieldInvalid test * tests for property config helper and generatePanelPropertyConfig * fix input field validation not appearing * fix date field type detection * rename data -> formData * handle null/undefined field value change in sourceData * added null/undefined as valid values for defaultValue text field * auto detect email field * set formData default value on initial load * switch field inline positioning * field margin fix for row direction * select full width * fiex date field default value - out of range * fix any field type to array * array default value logic change * base cypress test changes * initial json form render cy test * key sanitization * fix fieldState update logic * required design, object/array background color, accordion changes, fix - add new custom field * minor change * cypress tests * fix date formatted value, field state cypress test * cypress - field properties test and fixes * rename test file * fix accessort change to blank value, cypress tests * fix array field default value for modified accessor * minor fix * added animate loading * fix empty state, add new custom field * test data fix * fix warnings * fix timePrecision visibility * button styling * ported input v2 * fix jest tests * fix cypress tests * perf changes * perf improvement * added comments * multiselect changes * input field perf refactor * array field, object field refactor performance * checkbox field refactor * refectored date, radio, select and switch * fixes * test fixes * fixes * minor fix * rename field renderer * remove tracked fieldRenderer field * cypress test fixes * cypress changes * array default value fixes * arrayfield passedDefaultValue * auto enabled JS mode for few properties, reverted swith and date property controls * cypress changes * added widget sniping mode and fixed object passedDefaultValue * multiselect v2 * select v2 * fix jest tests * test fixes * field limit * rename field type dropdown texts * field type changes fixes * jest fixes * loading state submit button * default source data for new widget * modify limit message * multiseelct default value changes and cypress fix * select default value * keep default value intact on field type change * TextTable cypress text fix * review changes * fixed footer changes * collapse styles section by default * fixed footer changes * form modes * custom field key rentention * fixed footer fix in view mode * non ascii characters * fix meta merge in dataTreeWidget * minor fixes * rename useRegisterFieldInvalid.ts -> useRegisterFieldValidity.ts * modified dependency injection into evaluated values * refactored fixedfooter logic * minor change * accessor update * minor change * fixes * QA fixes date field, scroll content * fix phone number field, removed visiblity option from array item * fix sourceData autocomplete * reset logic * fix multiselect reset * form values hydration on widget drag * code review changes * reverted order of merge dataTreeWidget * fixes * added button titles, fixed hydration issue * default value fixes * upgraded react hook form, modified array-level/field-level default value logic * fixed select validation * added icon entity explorer, modified icon align control * modify accessor validation for mongo db _id * update email field regex * review changes * explicitly handle empty source data validation
2022-03-24 07:13:25 +00:00
}),
PROGRESS_WIDGET: {
"!doc":
"Progress indicators commonly known as spinners, express an unspecified wait time or display the length of a process.",
"!url": "https://docs.appsmith.com/widget-reference/progress",
isVisible: isVisible,
progress: "number",
},
2020-05-20 11:30:53 +00:00
};
export const GLOBAL_DEFS = {
dropdownOption: {
label: "string",
value: "string",
},
tabs: {
id: "string",
label: "string",
},
chartDataPoint: {
x: "string",
y: "string",
},
chartData: {
seriesName: "string",
data: "[chartDataPoint]",
},
latLong: {
lat: "number",
long: "number",
title: "string",
2020-05-20 11:30:53 +00:00
},
mapMarker: {
lat: "number",
long: "number",
title: "string",
description: "string",
},
file: {
data: "string",
dataFormat: "string",
name: "text",
type: "file",
},
feat: Map Chart widget (#6929) * FEATURE-6314 : Map Chart Widget -- Scaffold the widget * FEATURE-6314 : Map Chart Widget -- Add a new widget icon -- Proptotype the property pane for the first time * FEATURE-6314 : Map Chart Widget -- Install fusionmaps -- Draw naive world map for the PoC * FEATURE-6314 : Map Chart Widget -- Integrate the limited number of FusionMaps into the widget -- Bind basic properties and a action into the map * FEATURE-6314 : Map Chart Widget -- Comment out the console statements for linting error * FEATURE-6314 : Map Chart Widget -- Update dependency versioning * feat: Map Chart Widget -- Fix on linting errors, including unused variables, console statement * Feat: Map Chart Widget -- Install dependencies from scratch * fix: increased max chink size allowed in the build config * Feat: Map Chart Widget -- Refactor code base according to the changed widget structure -- Add cleanup for removing event listener -- Eliminate the unnecessary codes, comments * Feat: Map Chart Widget -- Remove unnecessary icon -- Refactor on constants * Feat: Map Chart Widget -- Add a cypress test case for map type changes -- Add a cypress test case for title change -- Add a cypress test case for toggling show labels -- Add a cypress test case for onEntityClick event listener * feat: Map Chart Widget -- Scaffold the setup for custom map config * feat: Map Chart Widget -- Dynamically import map definition files * feat: Map Chart Widget -- Eliminate unnecessary comments * feat: Fusion Maps Widget -- Update base dependencies * partial map chart changes. * feat: Map Chart Widget -- Refactor entire code base, removing custom configs -- Disable prefetching on mapCharts chunk * feat: Map Chart Widget -- Comment onEntityClick test case out * feat: Map Chart Widget -- Fix on onEntityClick test case * feat: Map Chart Widget -- Change the widget icon -- Rename onEnityClick to onDataPointClick -- Expose selectedDataPoint -- Add a new Cypress test case for the toast message on onDataPointClick * feat: Map Chart Widget -- Add a new property colorRange -- Add default values for data and colorRange properties -- Eliminate unnecessary constant colorRange * feat: Map Chart Widget -- update selectedDataPoint meta property unconditionally * feat: Map Chart Widget -- Update initial map type config to be consistent with the corresponding property * feat: Map Chart Widget -- Add widget icon for entity explorer * feat: Map Chart Widget -- Make array elements of data, colorRange properties unique * feat: Map Chart Widget -- Prevent re-render when disabling color codes and double-clicking on entities * feat: Map Chart Widget -- Declare defaultChartConfigs variable inside component class -- Replace deprecated substr method with substring * feat: Map Chart widget -- Complement validation rules for data property * feat: Map Chart widget -- Define rows and cols without using GRID_DENSITY_MIGRATION_V1 -- Change updateDataSet hook by replacing switch statement with object mapping * feat: Map Chart widget -- Pull out dataSetMapping from the updateDataSet hook * feat: Map Chart widget -- Force click events with regard to onDataPointClick test cases * feat: Map Chart widget -- Update fusioncharts and fusionmaps npm packages to the latest version * feat: Map Chart widget -- Make contents responsive using CSS styles instead of directly changing width, height attributes of the chart Co-authored-by: somangshu <somangshu.goswami1508@gmail.com> Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com> Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2022-01-07 09:57:45 +00:00
mapChartDataPoint: {
id: "string",
label: "string",
originalId: "string",
shortLabel: "string",
value: "number",
},
2020-05-20 11:30:53 +00:00
};
export const GLOBAL_FUNCTIONS = {
2021-07-20 10:02:56 +00:00
"!name": "DATA_TREE.APPSMITH.FUNCTIONS",
2020-05-20 11:30:53 +00:00
navigateTo: {
"!doc": "Action to navigate the user to another page or url",
"!type":
"fn(pageNameOrUrl: string, params: {}, target?: string) -> +Promise[:t=[!0.<i>.:t]]",
2020-05-20 11:30:53 +00:00
},
showAlert: {
"!doc": "Show a temporary notification style message to the user",
"!type": "fn(message: string, style: string) -> +Promise[:t=[!0.<i>.:t]]",
2020-05-20 11:30:53 +00:00
},
showModal: {
"!doc": "Open a modal",
"!type": "fn(modalName: string) -> +Promise[:t=[!0.<i>.:t]]",
2020-05-20 11:30:53 +00:00
},
closeModal: {
"!doc": "Close a modal",
"!type": "fn(modalName: string) -> +Promise[:t=[!0.<i>.:t]]",
2020-05-20 11:30:53 +00:00
},
2020-08-24 12:09:17 +00:00
storeValue: {
"!doc": "Store key value data locally",
"!type": "fn(key: string, value: any) -> +Promise[:t=[!0.<i>.:t]]",
2020-08-24 12:09:17 +00:00
},
download: {
"!doc": "Download anything as a file",
"!type":
"fn(data: any, fileName: string, fileType?: string) -> +Promise[:t=[!0.<i>.:t]]",
},
2021-01-07 04:44:30 +00:00
copyToClipboard: {
"!doc": "Copy text to clipboard",
"!type": "fn(data: string, options: object) -> +Promise[:t=[!0.<i>.:t]]",
2021-01-07 04:44:30 +00:00
},
2021-03-02 12:49:36 +00:00
resetWidget: {
"!doc": "Reset widget values",
"!type":
"fn(widgetName: string, resetChildren: boolean) -> +Promise[:t=[!0.<i>.:t]]",
2021-03-02 12:49:36 +00:00
},
setInterval: {
"!doc": "Execute triggers at a given interval",
"!type": "fn(callback: fn, interval: number, id?: string) -> void",
},
clearInterval: {
"!doc": "Stop executing a setInterval with id",
"!type": "fn(id: string) -> void",
},
2020-05-20 11:30:53 +00:00
};
feat: JS Editor (#6003) * Changes to add js plugin * routes+reducer+create template * added debugger to js editor page * entity explorer changes * create js function * added copy, move and delete action * added js plugin * added existing js functions to data tree * removed actionconfig for js collection * new js function added to data tree and entity as well * parsing flow added * changes to data tree * parse and update js functions * small changes for def creator for js action * create delete modified * small changes for update * update flow change * entity properties added * removed linting errors * small changes in entity explorer * changes for update * move, copy implementation * conflict resolved * changes for dependecy map creation * Only make the variables the binding paths * Basic eval sync working * Minor fixes * removed unwanted code * entity props and autocomplete * saving in progress show * redirection fix after delete js action * removed unnecessary line * Fixing merge conflict * added sample body * removed dummy data and added plugin Type * few PR comments fixed * automplete fix * few more PR comments fix * PR commnets fix * move and copy api change * js colleciton name refactor & 'move to page' changes & search * view changes * autocomplete added for js collections * removing till async is implemented * small changes * separate js pane response view * Executing functions * js collection to js objects * entity explorer issue and resolve action on page switch * removed unused line * small color fix * js file icon added * added js action to property pane * Property pane changes for actions * property pane changes for js functions * showing syntax error for now * actions sorted in response tab * added js objects to slash and recent entitties * enabling this to be used inside of function * eval fix * feature flag changes for entity explorer and property pane * debugger changes * copy bug fix * small changes for eval * debugger bug fix * chnaged any to specific types * error in console fix * icons update * fixed test case * test case fix * non empty check for functions * evaluate test case fix * added new icons * text change * updated time for debounce for trial * after release mereg * changed icon * after merge * PR comments simple * fixed PR comments - redux form, settings remove * js object interface changes * name refactor * export default change * delete resolve actions chnage * after merge * adding execute fn as 3rd option and removed create new js function * issue 7054 fixed - app crash * execute function on response tab changes * refactor function name part 1 * refactor of js function name * try catch added refactor * test fix * not used line removed * test cases locator fixed Co-authored-by: Nidhi <nidhi.nair93@gmail.com> Co-authored-by: hetunandu <hetu@appsmith.com>
2021-09-08 17:32:22 +00:00
export const getPropsForJSActionEntity = ({
config,
data,
}: JSCollectionData): Record<string, string> => {
const properties: Record<string, any> = {};
const actions = config.actions;
feat: JS Editor (#6003) * Changes to add js plugin * routes+reducer+create template * added debugger to js editor page * entity explorer changes * create js function * added copy, move and delete action * added js plugin * added existing js functions to data tree * removed actionconfig for js collection * new js function added to data tree and entity as well * parsing flow added * changes to data tree * parse and update js functions * small changes for def creator for js action * create delete modified * small changes for update * update flow change * entity properties added * removed linting errors * small changes in entity explorer * changes for update * move, copy implementation * conflict resolved * changes for dependecy map creation * Only make the variables the binding paths * Basic eval sync working * Minor fixes * removed unwanted code * entity props and autocomplete * saving in progress show * redirection fix after delete js action * removed unnecessary line * Fixing merge conflict * added sample body * removed dummy data and added plugin Type * few PR comments fixed * automplete fix * few more PR comments fix * PR commnets fix * move and copy api change * js colleciton name refactor & 'move to page' changes & search * view changes * autocomplete added for js collections * removing till async is implemented * small changes * separate js pane response view * Executing functions * js collection to js objects * entity explorer issue and resolve action on page switch * removed unused line * small color fix * js file icon added * added js action to property pane * Property pane changes for actions * property pane changes for js functions * showing syntax error for now * actions sorted in response tab * added js objects to slash and recent entitties * enabling this to be used inside of function * eval fix * feature flag changes for entity explorer and property pane * debugger changes * copy bug fix * small changes for eval * debugger bug fix * chnaged any to specific types * error in console fix * icons update * fixed test case * test case fix * non empty check for functions * evaluate test case fix * added new icons * text change * updated time for debounce for trial * after release mereg * changed icon * after merge * PR comments simple * fixed PR comments - redux form, settings remove * js object interface changes * name refactor * export default change * delete resolve actions chnage * after merge * adding execute fn as 3rd option and removed create new js function * issue 7054 fixed - app crash * execute function on response tab changes * refactor function name part 1 * refactor of js function name * try catch added refactor * test fix * not used line removed * test cases locator fixed Co-authored-by: Nidhi <nidhi.nair93@gmail.com> Co-authored-by: hetunandu <hetu@appsmith.com>
2021-09-08 17:32:22 +00:00
if (actions && actions.length > 0)
for (let i = 0; i < config.actions.length; i++) {
const action = config.actions[i];
feat: JS Editor (#6003) * Changes to add js plugin * routes+reducer+create template * added debugger to js editor page * entity explorer changes * create js function * added copy, move and delete action * added js plugin * added existing js functions to data tree * removed actionconfig for js collection * new js function added to data tree and entity as well * parsing flow added * changes to data tree * parse and update js functions * small changes for def creator for js action * create delete modified * small changes for update * update flow change * entity properties added * removed linting errors * small changes in entity explorer * changes for update * move, copy implementation * conflict resolved * changes for dependecy map creation * Only make the variables the binding paths * Basic eval sync working * Minor fixes * removed unwanted code * entity props and autocomplete * saving in progress show * redirection fix after delete js action * removed unnecessary line * Fixing merge conflict * added sample body * removed dummy data and added plugin Type * few PR comments fixed * automplete fix * few more PR comments fix * PR commnets fix * move and copy api change * js colleciton name refactor & 'move to page' changes & search * view changes * autocomplete added for js collections * removing till async is implemented * small changes * separate js pane response view * Executing functions * js collection to js objects * entity explorer issue and resolve action on page switch * removed unused line * small color fix * js file icon added * added js action to property pane * Property pane changes for actions * property pane changes for js functions * showing syntax error for now * actions sorted in response tab * added js objects to slash and recent entitties * enabling this to be used inside of function * eval fix * feature flag changes for entity explorer and property pane * debugger changes * copy bug fix * small changes for eval * debugger bug fix * chnaged any to specific types * error in console fix * icons update * fixed test case * test case fix * non empty check for functions * evaluate test case fix * added new icons * text change * updated time for debounce for trial * after release mereg * changed icon * after merge * PR comments simple * fixed PR comments - redux form, settings remove * js object interface changes * name refactor * export default change * delete resolve actions chnage * after merge * adding execute fn as 3rd option and removed create new js function * issue 7054 fixed - app crash * execute function on response tab changes * refactor function name part 1 * refactor of js function name * try catch added refactor * test fix * not used line removed * test cases locator fixed Co-authored-by: Nidhi <nidhi.nair93@gmail.com> Co-authored-by: hetunandu <hetu@appsmith.com>
2021-09-08 17:32:22 +00:00
properties[action.name + "()"] = "Function";
if (data && action.id in data) {
properties[action.name + ".data"] = data[action.id];
}
feat: JS Editor (#6003) * Changes to add js plugin * routes+reducer+create template * added debugger to js editor page * entity explorer changes * create js function * added copy, move and delete action * added js plugin * added existing js functions to data tree * removed actionconfig for js collection * new js function added to data tree and entity as well * parsing flow added * changes to data tree * parse and update js functions * small changes for def creator for js action * create delete modified * small changes for update * update flow change * entity properties added * removed linting errors * small changes in entity explorer * changes for update * move, copy implementation * conflict resolved * changes for dependecy map creation * Only make the variables the binding paths * Basic eval sync working * Minor fixes * removed unwanted code * entity props and autocomplete * saving in progress show * redirection fix after delete js action * removed unnecessary line * Fixing merge conflict * added sample body * removed dummy data and added plugin Type * few PR comments fixed * automplete fix * few more PR comments fix * PR commnets fix * move and copy api change * js colleciton name refactor & 'move to page' changes & search * view changes * autocomplete added for js collections * removing till async is implemented * small changes * separate js pane response view * Executing functions * js collection to js objects * entity explorer issue and resolve action on page switch * removed unused line * small color fix * js file icon added * added js action to property pane * Property pane changes for actions * property pane changes for js functions * showing syntax error for now * actions sorted in response tab * added js objects to slash and recent entitties * enabling this to be used inside of function * eval fix * feature flag changes for entity explorer and property pane * debugger changes * copy bug fix * small changes for eval * debugger bug fix * chnaged any to specific types * error in console fix * icons update * fixed test case * test case fix * non empty check for functions * evaluate test case fix * added new icons * text change * updated time for debounce for trial * after release mereg * changed icon * after merge * PR comments simple * fixed PR comments - redux form, settings remove * js object interface changes * name refactor * export default change * delete resolve actions chnage * after merge * adding execute fn as 3rd option and removed create new js function * issue 7054 fixed - app crash * execute function on response tab changes * refactor function name part 1 * refactor of js function name * try catch added refactor * test fix * not used line removed * test cases locator fixed Co-authored-by: Nidhi <nidhi.nair93@gmail.com> Co-authored-by: hetunandu <hetu@appsmith.com>
2021-09-08 17:32:22 +00:00
}
const variablesProps = config.variables;
feat: JS Editor (#6003) * Changes to add js plugin * routes+reducer+create template * added debugger to js editor page * entity explorer changes * create js function * added copy, move and delete action * added js plugin * added existing js functions to data tree * removed actionconfig for js collection * new js function added to data tree and entity as well * parsing flow added * changes to data tree * parse and update js functions * small changes for def creator for js action * create delete modified * small changes for update * update flow change * entity properties added * removed linting errors * small changes in entity explorer * changes for update * move, copy implementation * conflict resolved * changes for dependecy map creation * Only make the variables the binding paths * Basic eval sync working * Minor fixes * removed unwanted code * entity props and autocomplete * saving in progress show * redirection fix after delete js action * removed unnecessary line * Fixing merge conflict * added sample body * removed dummy data and added plugin Type * few PR comments fixed * automplete fix * few more PR comments fix * PR commnets fix * move and copy api change * js colleciton name refactor & 'move to page' changes & search * view changes * autocomplete added for js collections * removing till async is implemented * small changes * separate js pane response view * Executing functions * js collection to js objects * entity explorer issue and resolve action on page switch * removed unused line * small color fix * js file icon added * added js action to property pane * Property pane changes for actions * property pane changes for js functions * showing syntax error for now * actions sorted in response tab * added js objects to slash and recent entitties * enabling this to be used inside of function * eval fix * feature flag changes for entity explorer and property pane * debugger changes * copy bug fix * small changes for eval * debugger bug fix * chnaged any to specific types * error in console fix * icons update * fixed test case * test case fix * non empty check for functions * evaluate test case fix * added new icons * text change * updated time for debounce for trial * after release mereg * changed icon * after merge * PR comments simple * fixed PR comments - redux form, settings remove * js object interface changes * name refactor * export default change * delete resolve actions chnage * after merge * adding execute fn as 3rd option and removed create new js function * issue 7054 fixed - app crash * execute function on response tab changes * refactor function name part 1 * refactor of js function name * try catch added refactor * test fix * not used line removed * test cases locator fixed Co-authored-by: Nidhi <nidhi.nair93@gmail.com> Co-authored-by: hetunandu <hetu@appsmith.com>
2021-09-08 17:32:22 +00:00
if (variablesProps && variablesProps.length > 0) {
for (let i = 0; i < variablesProps.length; i++) {
const variableProp = variablesProps[i];
properties[variableProp.name] = variableProp.value;
}
}
return properties;
};
export type EntityDefinitionsOptions = keyof typeof entityDefinitions;