Commit Graph

114 Commits

Author SHA1 Message Date
Favour Ohanekwu
3efb3588d2
chore: Add JS editor test cases 2022-05-03 15:22:45 +01:00
Rishabh Rathod
136308fd7c
fix: table search text dependency deletion (#11608)
* Replace BindingPaths with ReactivePaths and remove non-bindable property path from bindingPaths to reduce confusion.
2022-04-12 13:09:26 +00:00
Ankita Kinger
c1e48f7486
feat: Refactor code for SAML integration (#12700)
* Implemented code splitting of some files for SAML integration

* Implemented code splitting of some more files for SAML integration

* updated redirect url component

* fixed an import statement

* fixed a unit test

* updated restart banner tooltip logic

* updated an import statement
2022-04-12 16:20:01 +05:30
Favour Ohanekwu
b3e30725dc
properly handle translated diffs when change is between undefined and an Array (#12577) 2022-04-09 14:55:41 +01:00
ashit-rath
32fee08c5c
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 12:43:25 +05:30
Apeksha Bhosale
79e165af96
feat: Settings js editor (#9984)
* POC

* Closing channels

* WIP

* v1

* get working with JS editor

* autocomplete

* added comments

* try removing an import

* different way of import

* dependency map added to body

* triggers can be part of js editor functions hence

* removed unwanted lines

* new flow chnages

* Resolve conflicts

* small css changes for empty state

* Fix prettier

* Fixes

* flow changes part 2

* Mock web worker for testing

* Throw errors during evaluation

* Action execution should be non blocking on the main thread to evaluation of further actions

* WIP

* Fix build issue

* Fix warnings

* Rename

* Refactor and add tests for worker util

* Fix response flow post refactor

* added settings icon for js editor

* WIP

* WIP

* WIP

* Tests for promises

* settings for each function of js object added

* Error handling

* Error handing action validation

* Update test

* Passing callback data in the eval trigger flow

* log triggers to be executed

* WIP

* confirm before execution

* Remove debugging

* Fix backwards compatibility

* Avoid passing trigger meta around

* fix button loading

* handle error callbacks

* fix tests

* tests

* fix console error when checking for async

* Fix async function check

* Fix async function check again

* fix bad commit

* Add some comments

* added clientSideExecution flag for js functions

* css changes for settings icon

* unsued code removed

* on page load PART 1

* onPageLoad rest iof changes

* corrected async badge

* removed duplicate test cases

* added confirm modal for js functions

* removed unused code

* small chnage

* dependency was not getting created

* Fix confirmation modal

* unused code removed

* replaced new confirmsaga

* confirmaton box changes

* Fixing JSEditor Run butn locator

* corrected property

* dependency map was failing

* changed key for confirmation box

Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-03-17 17:35:17 +05:30
Rishabh Rathod
7a484fc027
fix: meta changes (non-default) also update metaHOC state (#10734)
* Reset metaHOC state on widget reset

* Pass all meta values for metaHOC reset logic

* pass only metaReducer values in meta

* fix unit test

* Add test
2022-02-26 02:16:04 +05:30
albinAppsmith
5cfe12bcea
feat: Entity explorer UI redesign (#9811)
Co-authored-by: arunvjn <arun@appsmith.com>
2022-01-29 12:56:19 +05:30
Rishabh Rathod
b61ceab94b
fix: Add meta to eval cycle and update it when default changes (#10401)
* Rearrange data tree widget factory

* Remove existing handling of default value override

* Altternate way of meta property override

* Fix tests

Co-authored-by: hetunandu <hetu@appsmith.com>
2022-01-28 16:40:05 +05:30
Favour Ohanekwu
f7ce277e4c
fix: currentItem showing error in debugger for list widgets (#10338) 2022-01-20 11:59:03 +01:00
balajisoundar
02785b90b2
feat: Input, Phone no., Currency input widget (#10259)
* feat: Input, Phone no., Currency Widget

* cypress tests, jest test, QA and CR callouts

* fix tests

* Cypress and jest test fixes
2022-01-18 13:22:24 +05:30
Favour Ohanekwu
c96c0d4f3b
feat: Show evaluated value in embeddedDatasource url (#9198)
Show evaluated value in embeddedDatasource url
2021-12-28 13:14:32 +01:00
Hetu Nandu
39b0a4e5a6
feat: Native promises support in Appsmith (#8988)
Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-12-23 14:17:20 +00:00
Favour Ohanekwu
79b45c60df
fix: Update replaceAll function for browser support (#9776)
Update replaceAll function for browser support
2021-12-15 11:42:25 +01:00
Hetu Nandu
7143bba134
feat: Geolocation APIs on appsmith (#9295)
Co-authored-by: Anand Srinivasan <66776129+eco-monk@users.noreply.github.com>
2021-12-07 15:49:33 +05:30
Confidence Okoghenun
0b18ea64f3
chore: Renames actions to event on property pane (#8579) 2021-11-26 15:02:04 +05:30
Apeksha Bhosale
8cb3436524
fix: this is undefined in js editor (#9174)
* replace this in js object

* move this replacement in data tree factory
2021-11-16 14:12:31 +05:30
Apeksha Bhosale
229412e19d
Refactor: JS Editor eval flow (#8821)
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2021-11-08 12:19:22 +05:30
Hetu Nandu
2c3a0991f7
feat: setInterval and clearInterval support (#8158) 2021-10-11 12:55:03 +00:00
Apeksha Bhosale
7665ff3c4f
fix: small fixes js editor (#8022)
* remove space below response

* changes to name editor

* removing variable as dynamic binding path list

* error message change for js object
2021-10-04 16:38:02 +05:30
Abhinav Jha
b49f5097c6
refactor: Widget Development API (#6405) 2021-09-09 20:40:22 +05:30
Apeksha Bhosale
09eea59330
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 23:02:22 +05:30
Hetu Nandu
3380227cbb
feat: Enable Promises in Appsmith (#6253) 2021-08-27 14:55:28 +05:30
Abhinav Jha
1391b55bae
Widget Property Validation structure (#5270) 2021-07-26 11:20:46 +05:30
Hetu Nandu
441f42c72f
Generate linting errors via JSHint (#5034) 2021-06-21 16:39:51 +05:30
Pawan Kumar
91bf527bea
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 13:12:57 +05:30
Apeksha Bhosale
179d5ae8a9
Improve JS error reporting in the debugger (#4854) 2021-06-04 12:39:36 +05:30
Satish Gandham
6bf7903570
Merge pull request #4470 from appsmithorg/ui/eslint/sort-destructured-props
Add eslint rule to sort destructured props and auto fix the issues.
2021-05-17 14:52:59 +05:30
arunvjn
068e4065d7
Expose response headers for API/DB actions (#4336)
* Expose response headers for API/DB actions

* Added responseMeta to actions datatree

* Modified cypress test to account for responseMeta

* Modify cypress test case

* More test changes

* Modified tests
2021-05-14 12:21:09 +05:30
Satish Gandham
8ad7eecdeb - Auto fix sort ddestructured props rule 2021-05-13 14:05:39 +05:30
Hetu Nandu
c92eb0e5a4
Introduce different evaluation types for different binding fields (#3834) 2021-04-26 11:11:32 +05:30
Hetu Nandu
4d73e7e0b3
Widget validation for nested property paths (#3947) 2021-04-21 20:04:25 +05:30
Hetu Nandu
363bee8ec9
Fix action field evaluation for editor (#3701) 2021-03-30 10:59:03 +05:30
Hetu Nandu
9a4c317f20
Store value improvements (#3663) 2021-03-24 10:39:47 +05:30
Hetu Nandu
6f7ce24a2f
Fix action subtree evaluation (#3142) 2021-02-22 16:44:08 +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
Hetu Nandu
1598899dd6
Fix invalid toast message for evaluation error (#2443)
Fixes #2432
Fixes: #2429


Co-authored-by: Piyush Mishra <piyush@codeitout.com>
2021-01-05 17:15:37 +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
806a139ddb
Make prettier changes (#2337) 2020-12-24 10:02:25 +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
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
Abhinav Jha
76ae0103bf
Upgrade npm packages (#1079)
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2020-10-12 18:36:05 +05:30
Hetu Nandu
27d5135907
Immutable Widgets (#799)
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2020-09-30 18:12:09 +05:30
Nikhil Nandagopal
4995706679
Fix chart data evaluation (#548)
* 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>
2020-09-15 22:24:15 +05:30
Hetu Nandu
f7ec5209cf
Add function to download part of the Data tree as a file (#458) 2020-08-28 17:37:37 +05:30
Hetu Nandu
4873ac3421
Local store via Datatree (#367) 2020-08-24 17:39:17 +05:30
Hetu Nandu
d24d0ed17c
Fixes to data tree appsmith entities (#307)
* 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
2020-08-14 13:13:01 +05:30
NandanAnantharamu
05f190c102
Feature/entity browse (#220)
# 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.
2020-08-10 14:22:45 +05:30
Hetu Nandu
42ab557aca
Add url and user inside data tree (#240)
* Add url and user inside data tree

* Cleanup

* change key to URL

* add email and username instead of name
2020-08-07 19:54:26 +05:30
Hetu Nandu
b6c710cfa2
Add support for run time params in action execution (#98)
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 ) }}`
2020-07-17 18:25:34 +05:30
Hetu Nandu
4a6717889c
Streamline action save with widgets (#10)
- 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
2020-07-03 14:28:58 +05:30
Akash N
7d6dacb848 Show the action's actionConfiguration for for 'config' in autocompletion 2020-06-29 13:11:53 +05:30
Hetu Nandu
2d956644df Hot fixes 2020-06-19 13:06:45 +00:00
Hetu Nandu
d9540f8927 Evaluated value popup 2020-06-04 13:49:22 +00:00
Satbir Singh
a2086d2b5f Action selector refactor 2020-04-20 05:42:46 +00:00
Hetu Nandu
a266472e4e Fix batched action execution 2020-04-17 16:15:09 +00:00
Hetu Nandu
378242e5e8 remove url from data tree 2020-04-07 13:31:34 +05:30
Satbir Singh
bb9fc29409 Page Params 2020-04-01 08:09:57 +00:00
Abhinav Jha
a0872b97f2 Generate widgets from blueprint. Close previously open modals when showing a modal. Fix unicode page name issue in pagelist sidebar 2020-03-27 09:02:11 +00:00
Hetu Nandu
1e86690b52 data tree only contains current page actions 2020-03-19 08:55:52 +05:30
Abhinav Jha
37c96ab839 Fix - P0 issues 2020-03-04 08:10:40 +00:00
Hetu Nandu
5e0beb9fe7 Property Pane - Convert control to dynamic 2020-02-26 12:44:56 +00:00
Hetu Nandu
fb80c4b576 Action refactor 2020-02-18 10:41:52 +00:00