* changed chart data to behave as an array <str, str> and not use json stringify to update
added a generic logic to flag all objects with internal bindings as dynamic
moved unescape to only handle at the time of eval and removed new lines before eval
* added a migration for older charts that have their data as strings
* flagged column actions as an action trigger to avoid evaluating it
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
* Fixes to data tree appsmith entities
* Add app mode `appsmith.mode`
* Add a common app data state for appsmith namespace entities
* Add autocomplete entries for btoa and atob
* Add urlString property in appsmith.url for full url
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.
Adds a third parameter to the Action.run function that can be referenced inside an action config
Usage
`{{ Api1.run(...,...,{key: value}) }}` inside property pane
`{{this.params.key}}` inside action pane
* You can reference data tree properties in the params values:
`{{ Api1.run(..., ..., { key: "Input1.text.toUpperCase()" })`
* Bindings can have both params and data tree values referenced.
* Param values can be javascript functions
`body: {{ this.params.list.map(i => Input1.text + i ) }}`
- Remove drafts from actions
- Direct update action from forms
- Debounced saving of actions
- Add org id in default datasource
- Merge query and api run saga