Commit Graph

126 Commits

Author SHA1 Message Date
Apeksha Bhosale
66c7a0b252
Revert "Separating js error and validation error for debugger (#4361)" (#4447)
This reverts commit c6a8f81d60.
2021-05-13 09:50:30 +05:30
Apeksha Bhosale
c6a8f81d60
Separating js error and validation error for debugger (#4361)
* separate js error and validation error

* PR comments fixed and added error for pageload action

* reverted to jsError message property

* small check for empty errors

* small changes for Test to pass

* space was missing for test case

* removed console statement
2021-05-12 12:10:32 +05:30
Trisha Anand
ee14571ffc
[Bug Fix] : Removal of cyclical dependencies due to action relationships being added to dependency map (#4342) 2021-05-06 18:28:06 +05:30
Trisha Anand
218ac82e7f
During updateDependencyMap, when dependencies are getting added for a path, only add if the dependency is not a parent of the path. (#4315)
* During updateDependencyMap, when dependencies are getting added for a path, only add if the dependency is not a parent of the path.

* To avoid catching all cyclical dependencies, only handling catching incorrect action dependencies when the dependency paths dont yet exist.

* Revert "To avoid catching all cyclical dependencies, only handling catching incorrect action dependencies when the dependency paths dont yet exist."

This reverts commit c494932289e33287074c56844fbf76c8418875af.

* Disabling cypress test which asserts cyclical errors when depending on yourself
2021-05-05 17:55:39 +05:30
Trisha Anand
6cf3b8a901
In case the chart series data id starts with a number, it was incorrectly identified as a number instead of a string which led to incorrect path computed to check in binding paths (#4322) 2021-05-05 16:50:59 +05:30
Abhinav Jha
b508e37387
Fix DEFAULT_OPTION_VALUE validations which were breaking evaluations (#4295) 2021-05-04 22:42:15 +05:30
Abhinav Jha
d8c9d16575
Fix #1805 base64 encoded images (#4020)
Co-authored-by: Navdeep Singh <navdeep.er@gmail.com>
Co-authored-by: Apple <nandan@thinkify.io>
2021-04-30 12:30:13 +05:30
Somangshu Goswami
6eec8236b6
Merge pull request #4192 from appsmithorg/fix/dropdown-default-value
Fix-Dropdown default value not trimming special characters
2021-04-28 20:52:36 +05:30
Hetu Nandu
c8bce7344b
Set derived values as undefined if cyclic dependency (#4159) 2021-04-27 19:09:52 +05:30
Ashok Kumar M
8f7cc87801
Fix: Tabs widget refactor with new nested property validation (#4014)
* dip

* test cases first commit

* Adding Tabs migrator.

* fixing tests.

* bug fix.

* selected tab fix

* missed commit

* fixing bugs

* Fixing tab name bugs.

* close property pane when dragging or resizing

* migration changes.

* release rebase changes.

* adding List factory

* remove dynamic bindings on deleting tabs.

* Adding validation messages for nested properties as well

* fixing validation issue.

* tabs visibility validation.

* missed commit

* Fixing broken cypress tests.

* Fixing broken tests.
2021-04-27 12:46:54 +05:30
vicky-primathon.in
72d5ec5b64 Fix dropdown default value not trimmed before using for value selection 2021-04-27 11:29:52 +05:30
Pawan Kumar
d814e780ed
Fix: Update chart from array to object (#3907)
* update structure of chart data

* update chart data

* update chart data structure

* remove array like validator

* remove log

* remove log

* widget utils + update tests for chart data validations

* update utils test

* add migrations

* remove unnecessary helper function

* remove unnecessary helper function

* update validation test cases

* WIP

* WIP 2

* Remove validationConfigMap from widget and add to properties

* Update data tree validator to get validation from the correct place

* Minor reference fixes

* Fix test mocks

* fix for bad setting of nested property path

* add test for migration for chart widget function

* fix test for widget utils

* remove unused import;

* remove unsued import

* update migration version

* remove console and add check if data is array

* fix custom fusion chart + validation not working issue

* move custom fusion chart config to chart data section

* remove console and unused import

* fix test

* fix property config test

* fix dynamicbinding path list in migration

* remove old chart validation

* remove old validation test

* fix widget prop utils test

* remove array codepath for widget utils

* fix utils test

* fix utils test

* fix prettier issue

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2021-04-26 16:05:59 +05:30
Hetu Nandu
c92eb0e5a4
Introduce different evaluation types for different binding fields (#3834) 2021-04-26 11:11:32 +05:30
akash-codemonk
36532cbcc8
[Feature] Debugger logs (#3633) 2021-04-23 19:20:55 +05:30
Pawan Kumar
1717b0e392
[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 ♻️

* 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 

* Fix minor issues in table widget

* Add default meta props to binding paths to ensure eval and validation

* Dummy commit 🎉

* 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 11:13:13 +05:30
Hetu Nandu
4d73e7e0b3
Widget validation for nested property paths (#3947) 2021-04-21 20:04:25 +05:30
Abhinav Jha
10159fc442
Fix #3752 DatePicker tries to auto parse the defaultDate (#3753) 2021-03-30 14:32:25 +05:30
Hetu Nandu
363bee8ec9
Fix action field evaluation for editor (#3701) 2021-03-30 10:59:03 +05:30
Hetu Nandu
55f65a9fe5
fix default override same value (#3691)
Co-authored-by: Trisha Anand <trisha@appsmith.com>
2021-03-29 12:44:16 +05:30
Abhinav Jha
1ccece69e1
Custom FusionCharts Config (#2670)
* Property pane enhancements

- Property pane sections are collapsible
- Property pane controls can be hidden conditionally
- Property pane configurations now come from the widget instead of a global config file
- Property pane property updates can be hooked with other related updates
- Property pane control and section ids are generated dynamically now.

* Add chart type: "Custom FusionChart" (#2996)

Co-authored-by: Zeger Hoogeboom <zegerhoogeboom@users.noreply.github.com>
Co-authored-by: zeger <zeger@equinoxai.com>
2021-03-25 03:35:04 +05:30
Abhinav Jha
4a05b5d320
Fix #3335 - New method of computing table data to display (#3607) 2021-03-25 00:55:38 +05:30
Vicky Bansal
f2e0ed29c5
Update: DatePicker validates data as ISO 8601 string (#3397) 2021-03-24 17:42:24 +05:30
Hetu Nandu
9a4c317f20
Store value improvements (#3663) 2021-03-24 10:39:47 +05:30
Hetu Nandu
f345619f40
Fix code coverage generation file (#3655) 2021-03-21 12:02:47 +05:30
Vicky Bansal
7c994da6e9
Allow null/empty values in Dropdown widget options (#3533) 2021-03-15 15:25:37 +05:30
Arpit Mohan
660c194009
Moving all toast messages to messages.ts file (#2798)
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-03-13 19:54:45 +05:30
Hetu Nandu
89effdd2fb
Refactor evaluate function and add tests (#3536) 2021-03-13 19:42:21 +05:30
Hetu Nandu
4e4c6b76a8
Improve cylical dependency error (#3471) 2021-03-10 12:28:52 +05:30
Hetu Nandu
2b2cee6bd6
fix chart validation (#3400) 2021-03-05 00:28:43 +05:30
Hetu Nandu
c81495e2cb
Fix chart data validation (#3389) 2021-03-04 13:40:22 +05:30
Hetu Nandu
3237950d97
End to cyclical dependency woes (#3380)
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2021-03-04 10:54:47 +05:30
Vicky Bansal
d3c2c02745
Fix: Tabs Widget crashes when data is invalid (#3235)
* Fixed tabs data validation and added check to ensure tab property is accessible when tabs array is not empty

* added isVisible property in validations
2021-03-03 11:29:02 +05:30
Piyush
462379721d
Reset widget global function (#3181) 2021-03-02 18:19:36 +05:30
Hetu Nandu
c2646a8863
Use property config for trigger properties (#3217)
* Use triggerPaths and remove isDynamicTrigger argument

* Remove triggerMaps from widgets

* Fix property updates
2021-02-25 19:30:02 +05:30
Hetu Nandu
3944d7e43e
Sort order fix if property path gets updated via multiple start nodes (#3194) 2021-02-24 21:56:00 +05:30
NandanAnantharamu
6c80f23201
Feature: DatePicker V2 (#2889)
Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2021-02-23 18:05:09 +05:30
Hetu Nandu
6f7ce24a2f
Fix action subtree evaluation (#3142) 2021-02-22 16:44:08 +05:30
Hetu Nandu
88c86fa881
Add toast for trigger errors (#3100) 2021-02-22 10:30:16 +05:30
Piyush Mishra
a4fe0a461e
Table Widget New Features (#2816)
- Each column has more options and can be configured in the property pane instead of the table
- Table level styles can now be set in the property pane
- Property sections are collapsible

Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-02-16 15:59:08 +05:30
Vicky Bansal
11f5687b38
Date picker validation fixed (#2789)
* Date picker validation fixed

* Added date value check to remove unncessary validations

Commented defaultDate validation test as invalid date cannot be saved in date control

* Fixed date selection on user change

Fixed min and max date parsing for date picker control default date

* Added validation for min and max date in validations to handle validations when field is converted to JS
2021-02-02 20:12:49 +05:30
Hetu Nandu
22afbe8971
Fix Array paths (#2775) 2021-01-29 09:59:23 -08:00
Piyush Mishra
164de6fb7e
Avoid double validation (#2687) 2021-01-29 11:34:28 +05:30
Hetu Nandu
43322413c6
Support for navigateTo function to open in new window (#2706)
* Support target for navigate function

* Add docs and action creator field
2021-01-27 11:58:23 +05:30
Hetu Nandu
3f2e60dc0d
Sanitise any other possible place which could send functions (#2704) 2021-01-25 16:49:31 +05:30
Hetu Nandu
5dc01c677d
Batching widget property updates (#2685)
- Changed the updateWidgetProperty redux action to use an object of updates instead of single update
- Added the new batchUpdateWidgetProperty action
> This action will calculate dynamicPath changes for all the updates and update them together
- Added the new deleteWidgetProperty action
>This action will delete a property and any dynamicPaths/child dynamicPaths that exist
2021-01-25 14:27:26 +05:30
Hetu Nandu
d4be9b9404
Remove any functions from Eval Action bindings task before returning from the worker (#2679) 2021-01-22 13:40:00 +05:30
Rishabh Saxena
8e459a0c6b
validate map center and markers (#2488) 2021-01-19 12:59:15 +05:30
Hetu Nandu
2b8bae158c
Batch action evaluation calls (#2561) 2021-01-14 20:07:21 +05:30
Hetu Nandu
42aa83a729
Selectively add paths to dependency map and evaluation order (#2537) 2021-01-13 16:22:03 +05:30
Hetu Nandu
c184fd3d3c
Remove deleted paths from evaluation order (#2517) 2021-01-13 16:21:46 +05:30
Trisha Anand
6704e05ad0
Sub tree fixes for issues found on Jarvis (#2482) 2021-01-11 13:26:17 +05:30
Hetu Nandu
2943f7f782
Copy Text trigger function (#2394) 2021-01-07 10:14:30 +05:30
Hetu Nandu
4387200262
Sub tree evaluation (#1841)
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Piyush Mishra <piyush@codeitout.com>
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
Co-authored-by: Akash N <akash@codemonk.in>
2021-01-04 15:46:08 +05:30
Hetu Nandu
31d8c8c4eb
[Worker] Fix critical issues (#2393) 2020-12-30 18:28:57 +05:30
Piyush Mishra
5ae2da1578
Send clean validated tree back (#2376) 2020-12-29 23:57:07 +05:30
Hetu Nandu
b5e8673921
Properly log data tree instrumentation (#2228) 2020-12-29 14:55:56 +05:30
Piyush Mishra
988ebe975b
RPC-like layer with graceful startup and shutdown around a webworker (#2252) 2020-12-28 14:12:43 +05:30
Piyush Mishra
806a139ddb
Make prettier changes (#2337) 2020-12-24 10:02:25 +05:30
Piyush Mishra
3930c4c63c
Hotfix circularJSON (#2214) 2020-12-23 19:48:46 +05:30
vicky-primathon
6b6e302ee1
Fix Table data validation issues (#2297) 2020-12-23 09:47:13 +05:30
vicky-primathon
bf5693f907
Reset table selected row when table data changes (#2307) 2020-12-23 09:28:23 +05:30
Hetu Nandu
4f92ea99ed
Remove functions for action evals (#2242) 2020-12-17 13:36:16 +05:30
Hetu Nandu
f312320940
Remove unsafe functions from eval (#2076) 2020-12-10 14:00:49 +05:30
Pawan Kumar
1aea90c404
Fix: Persist of default values even after delete of widget (#1929)
* clear cache values on delete

* added test cases

* add reload in test case

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2020-12-01 10:56:35 +05:30
Pawan Kumar
9997f2cb9f
Feature: Min and Max date inputs to restrict range in Datepicker Widget (#1865)
* add daterange property control

* fix typescript errors

* update daterangepicker control

* remove daterangepicker control

* add toasts for invalid dates + add test cases

* update test cases

* update test cases

* update test cases + change validation type name + few refactor

* merge release + update toast usage in datepicker control

* update test cases

* update form dsl for test cases

* update test cases

* update setDate command in test cases

* update test cases

* update test case dsl for datepicker widget

* update test cases

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2020-11-27 14:18:38 +05:30
Hetu Nandu
ff541c3efa
Patch object order issue (#1819) 2020-11-20 15:00:50 +05:30
Hetu Nandu
9ef9d184ff
Pass execution params to action callback (#1814) 2020-11-20 13:57:46 +05:30
vicky-primathon
3b85cc8222
Added defaultSelectedRow property in table widget so that users can configure default selected row(s) (#1684)
* Added defaultSelectedRow property in table widget so that users can configure default selected rows

* Cypress test cases added to test default row selection in table widget

* Fix defualtSelectedRow property's evaluation type

* Fix default select row type

* Set default selected row when resetting user selected rows

* Use defaultSelectedRow when no user selected row in table
2020-11-20 13:13:39 +05:30
Hetu Nandu
37c2246e22
[Enhancement] Update DSL structures to allow for nested dynamic paths (#1625)
Implements #1575
2020-11-12 16:53:32 +05:30
Hetu Nandu
3a84af82ed
Fix critical issues (#1686)
Fixes #1683
Fix for dropdowns with option not being an object crashes dropdown and stops eval
Fixes #1656 #1657
Fix issue where updateWidgetProperty would get called without a widgetId
2020-11-11 17:02:14 +05:30
Abhinav Jha
543b7ec72d
Entity Explorer Render (#1354)
* WIP: Performance improvements in entity explorer

* WIP: Achieve feature parity for entity explorer with release

* Update unit tests

* Add sentry profiling to current page entity properties component

* Fix page add/delete not showing up on entity explorer issue. Update memoization logic for pagegroup entity

* Deal with the ban-ts-ignore eslint issues

* Update unit tests

* Fix widget entity children visibility

* Fix tests and code

* Fix tests for scenarios where the collapsed entities are unmount, as this is a part of the performance optimization

* Filter undefined children when generating structureDSL

* Remove rule from eslintrc

Consolidate createPage test command

* Update CreatePage tests to remove redundant dsl updates

* Revert CreatePage test changes, as adding more checks within this command globally causes other tests to have issues.

* re-enable eslint rule, as without it CI tests fail

* Revert to ban-ts-comment

* Fix typescript ban-ts-ignore issue by upgrading react-scripts and fixing typescript issue across the application

* Typescript errors handled

Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
2020-11-03 18:35:40 +05:30
Hetu Nandu
4cba17ab82
Add post eval action support (#1529)
Fixes #1504
2020-11-03 15:46:11 +05:30
Hetu Nandu
ea0d873ac8
Fix JS switch failing when going back to normal (#1388)
Fixes: #1389
2020-10-24 19:59:53 +05:30
Hetu Nandu
f4d9277950
Fix this (#1379) 2020-10-23 23:32:59 +05:30
Hetu Nandu
6dc40970ef
Fix async evaluation issues (#1348)
* Fix issue with deleted widgets still showing up in binding reference

* Fix for firefox not letting errors pass through
2020-10-22 18:45:50 +05:30
Hetu Nandu
655b160922
Web worker evaluation (#706)
- Adds Web workers and does evaluations in off the main thread
- Removes any need to store functions in the data tree and only keeps them around while evaluating
- Maintains a stored data tree in the redux state
- Evaluates based on editor events instead of state changes
2020-10-21 09:55:32 +05:30