Commit Graph

1994 Commits

Author SHA1 Message Date
Rimil Dey
58a2632f75
chore: move render field to component (#17084)
## Description

As part of the action selector refactor, we are making the following changes - 
- moving renderField to its own component called Field
- created FieldConfig to hold all the configurations of these functions fields: This config will slowly be built up to hold all the miscellaneous configurations which is currently scattered throughout different files
- added types for the props
- moved FieldConfig to its own type

Fixes #16934 #16936

## Type of change

- Refactor

## How Has This Been Tested?

- manually
- Jest test cases

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
2022-10-24 11:04:55 +05:30
Ankita Kinger
f9e516cccd
fix: Add max dropdown height (#17805)
added max dropdown height
2022-10-21 19:20:52 +05:30
Rishabh Rathod
8fe7f9291d
feat: Add validation dependency (#17138)
## Problem

**Why do we need validation dependency?**

- When on change of particular property value if other property needs revalidation then current evaluation architecture do not support such validation run.

https://www.notion.so/appsmith/Validation-Dependency-d7623a5625bd4aa187a3ae2372d3ac07

**Issues to resolve**

Fixes #15303
Fixes #17159
Fixes https://github.com/appsmithorg/appsmith/issues/16170

## Solution

**New Validation Flow**

validate a property after its evaluation and check if there are other properties that need to revalidate on a change of this value. 

- if yes run validation for those properties.

How does validation dependency get created?

- every widget’s property will keep static `dependencies` array in `validation` property like shown below.

```jsx
{
	validation: {
    type: ValidationTypes.FUNCTION,
    params: {
      fn: defaultOptionValueValidation,
      expected: {
        type: 'value1 or { "label": "label1", "value": "value1" }',
        example: `value1 | { "label": "label1", "value": "value1" }`,
        autocompleteDataType: AutocompleteDataType.STRING,
      },
      dependentPaths: ["serverSideFiltering", "options"],
    },
    dependencies: ["serverSideFiltering", "options"],
  }
}
```

This `dependentPaths` array will be used to form validationDependencyMap.
 
#### Changes

- The code editor component wasn't re-rendering for a few cases. Due to this updates were not shown until the component state was changed.

- In CreateFirstTree, After evaluateTree we run `validateTree`. In `validateTree`, we validate all the properties in `validationPaths`. Here, if the errors were resolved on revalidation, it didn't reset the validation errors stored in data tree before. Now, this PR adds the reset logic. 
- Created `validationDependencyMap` to re-validate properties on change of the property their validation depends upon. 
- After each property evaluates in `updateDataTree`, we check if re-validation is needed, if yes then we re-validate dependent properties.  


## Type of change

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

- jest test

**Test Plan**
https://github.com/appsmithorg/TestSmith/issues/2078

## Checklist:

- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
2022-10-21 10:50:57 +05:30
Ankita Kinger
663aa4b427
refactor: Update styles of admin settings page (#17758)
updating styles of admin settings page
2022-10-20 22:19:30 +05:30
Aswath K
436205f6e9
fix: Converted Dropdowns to Button group & added missing tooltips (#17454)
* Makes the IconTabControl to have fullWidth property

* Changes dropdown to Button Group & adds missing tooltips
2022-10-20 19:36:32 +05:30
Hetu Nandu
ff15074f82
fix: Response Pane height context restore issue in some cases (#17750) 2022-10-20 18:23:47 +05:30
Anand Srinivasan
d62e1961d8
fix: Add collapse icon for bottom bar (#16939)
* add containerRef and explandedHeight to enable collapse icon

* change icon

* sizing

* alignment fixes

* consistent height

* remove unwanted padding

* debugger panel height

* remove extra divider line

* open panel on header click

* rename method

* cypress tests init

* jsobject navigate instead of create

* clean up

* remove variable

* undo changes

* final clean up

* logs spec clean up

* debugger locators clean up

* rename locator

* mock db spec fix

* logs spec fix

* clean up records count locator

* Rename dubugger locators and methods

* spec file change

* move methods

* rename debugger helper class

* build fix

* handle selectors

* merge clean up

* fix failing tests

* use single variable to set height

* undo cypress env changes
2022-10-20 17:38:48 +05:30
Rimil Dey
42b913cef8
feat: Add postMessage as a global function (#14925)
## Description

**Revert Context -** 

Reverts appsmithorg/appsmith#14890 (We had to revert the PR as we got some suggestions on improving the feature - now reverting the revert so we can have this feature out with improvements)

**PR Context -** 
This pull request exposes window.postMessage() as a global function in the Appsmith platform.

Post message safely enables cross-origin communication between window objects.
Example use-case - Appsmith page embedded within an iframe which communicates with the container website

Diagram for all the different levels of communication - 
![Untitled-2022-09-12-1205](https://user-images.githubusercontent.com/10229595/189592030-98bc29ac-b94e-4c75-8567-965757cc0d18.png)



**More on post message here** - https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

**References used for this PR:**

1. Geolocation APIs - https://github.com/appsmithorg/appsmith/pull/9295
2. setInterval and clearInterval support - https://github.com/appsmithorg/appsmith/pull/8158

**Fixes** https://github.com/appsmithorg/appsmith/issues/7241

## Type of change

- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

Test plan 
- **Manual**: Created an app with different buttons holding different types of data and embedded it in a code sandbox within an iframe. Also removed the target origin which throws an error (App link - https://dev.appsmith.com/app/post-msg-app/page1-624c1af4d8e632741017682e, Codesandbox link - https://codesandbox.io/s/compassionate-tdd-6dnzzd?file=/src/index.js)
- Added Jest tests
- https://github.com/appsmithorg/TestSmith/issues/1892
- https://github.com/appsmithorg/TestSmith/issues/2068
- https://github.com/appsmithorg/TestSmith/issues/2069

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-10-20 12:39:42 +05:30
Sangeeth Sivan
62fb99929e
feat: code split permission helpers and added null check for some selectors (#17718) 2022-10-20 11:33:33 +05:30
sneha122
2139382928
fix: table does not show data issue fixed (#17459) 2022-10-19 11:30:04 +05:30
Ankita Kinger
a13301808d
feat: Update invite modal submit when we have tabs in modal (#17608)
## Description

> Update invite modal submit when we have tabs in modal.

Fixes [#16741](https://github.com/appsmithorg/appsmith/issues/16741)

## Type of change

- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

> Tested it locally.

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
2022-10-18 11:07:35 +05:30
f0c1s
421dfb9b64
chore: Fixing broken client build (#17634)
## Description

EE client build is broken due to not following proper code splitting strategy; one file in particularly didn't get split earlier and changes to that file broke the client build on EE.

This PR fixes the issues.
2022-10-18 10:53:18 +05:30
Hetu Nandu
3aff53187c
feat: Maintain Focus and Context Phase 1 (#16317) 2022-10-17 20:46:38 +05:30
albinAppsmith
dab6fe95d2
feat: Migrated color picker v2 to property controls (#17362)
* feat: Migrated color picker v2 to property controls

* Design system package version updated
2022-10-16 23:53:05 +05:30
Dhruvik Neharia
c0318b6451
feat: Change Modern/Default Theme Background to #F8FAFC (#17345)
* feat: Change Modern/Default Theme Background to #F8FAFC

* feat: Update modern/default theme bg in system themes

* fix: Update basic spec theming test with new modern theme background color

* fix visual tests

* fix: Update WidgetsLayout_spec.js snapshots

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Pawan Kumar <pawan.stardust@gmail.com>
2022-10-14 11:10:50 +05:30
Ayangade Adeoluwa
282f1ff5a6
feat: Adds one way switching to Form Controls (#17194)
* Adds one way switching to Form Controls

* Fix failing jest test

* Retrigger oktotest

* JSOnload1 spec 6th case fix

* Jsonloadspec 1 fix

Co-authored-by: Aishwarya-U-R <91450662+Aishwarya-U-R@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-10-13 21:28:46 +01:00
Tanvi Bhakta
ac0c872843
chore: migrate toast (#17208)
* Refactor toast to be passed the dispatch hook externally

* Add comments explaining dilemma

* use store.dispatch instead of a hook

* use alpha version

* Change imports

* Refactor DebugButton out

* update release

* fix issue with incorrectly merged package.lock

* fix syntax of alpha version

* bump ds vesion

* copy lock from release

* update lock to have alpha

* make changes

* delete Toast

* DS package version updated

* import change from release

* use new alpha version

* update ds version

* update ds version

* chore: migrate editable text and friends (#17285)

* Delete empty components

* use alpha for ds

* Deleted EditableTextSubComponent, import changes

* Delete EditableText, import changes

* use ds alpha 10

* Delete EditableTextWrapper.tsx

* update ds to use next minor version

* use new alpha

* fix issue with merge

Co-authored-by: Albin <albin@appsmith.com>

* chore: migrate file picker v2 (#17308)

* use alpha ds

* Delete FilePickerV2, import changes

* Delete FilePicker, change imports

* update alpha version

* chore: move copy url form into setting components (#17322)

* move CopyUrlForm to src/pages/settings/formgroup

* update ds version to use next minor release

* feat: Migrate table component to design system (#17329)

* feat: Migrate table component to design system

* removed commented code in ads index file

* fix: table no data hover effect removed

Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>

* feat: Banner message component migrated to design system (#17327)

* feat: Banner image component migrated to design system

* Version update for design system package

* design system version updated

Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>

* feat: Tabs component migrated to design system (#17321)

* feat: Tabs component migrated to design system

* design system package version updated

* Update app/client/src/components/editorComponents/form/FormDialogComponent.tsx

* Update app/client/src/pages/Editor/PropertyPane/PropertyPaneTab.tsx

* Tab component expand issue fix

Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>

Co-authored-by: Albin <albin@appsmith.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
2022-10-14 01:43:44 +05:30
sneha122
4ebdc73e4f
fix: Added frontend validation checks for access token url and url in authenticated API datasource configuration (#17340)
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2022-10-13 18:59:20 +05:30
albinAppsmith
cbf415544f
feat: Migrated callout component to design system (#17289) 2022-10-13 18:08:32 +05:30
Tanvi Bhakta
08e6256fc6
chore: migrate form message (#17369)
* use ds alpha

* Remove FormMessage, change imports

* use updated ds alpha version
2022-10-13 12:14:16 +00:00
ankurrsinghal
f0f4427288
feat: InputTextControl enhanement (#17449)
enhanced the InputTextControl to accept two more event handlers for focus and blur from the property pane config

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
2022-10-13 12:13:49 +00:00
Tanvi Bhakta
221c28ccb4
chore: move TextAreaField (#17419) 2022-10-11 09:06:55 +05:30
akash-codemonk
56ee520d8c
chore: hide templates v2 behind feature flag (#17034) 2022-10-10 13:14:37 +05:30
albinAppsmith
7301c8538f
feat: Change dialogue component import to design system repository (#17302)
* feat: Change dialogue component import to design system repository

* design system version changed
2022-10-10 09:24:41 +05:30
Tanvi Bhakta
5d4de1878c
feat: import changes for step component (#17252)
* import changes for step component

* delete step component

* Update index.ts

* use alpha package

* use named import

* update ds to use next minor version
2022-10-10 01:19:09 +00:00
Aman Agarwal
ab106455f2
fix: adding mode for graphql syntax with dynamic bindings (#17229)
fix: added mode for dynamic binding with quote for graphql
2022-10-08 03:17:07 +01:00
Aswath K
da23cba1e3
fix: Evaluated popup & binding prompt being trimmed (#17081) 2022-10-06 21:24:49 +05:30
Aman Agarwal
78c89894f8
fix: updated settings page design (#16990)
fix: updated settings page design
2022-10-06 16:36:29 +05:30
albinAppsmith
2741d37a4c
feat: Moved UserProfileImagePicker from ads folder (#17111)
* fix: Moved UserProfileImagePicker from ads folder

* design system package version update
2022-10-06 11:37:52 +05:30
albinAppsmith
794a422a82
feat: migration of ads/formFields/TextField to utils as part ads migration (#17281)
* feat: migration of ads/formFields/TextField to utils as part ads migration

* fixed checkbox and toggle issue

* dummy commit to fix dp issue
2022-10-05 16:36:49 +05:30
albinAppsmith
651fb9fd28
feat: Migrate DraggableListCard and DraggableListComponent from ads (#17202) 2022-10-05 16:33:42 +05:30
albinAppsmith
ba6936e26b
feat: JS Toggle migration from ads folder to design system (#17248) 2022-10-05 06:58:42 +05:30
f0c1s
32ed0da447
fix: Rest of the audit logs potential auto-merge errors. (#17192)
* fix: EE-CE parity due to audit-logs

* fix: rest of the audit-logs potential failures

* fix: future conflict with RBAC
2022-10-04 16:48:35 +05:30
Rimil Dey
a92b680462
chore: Extract views into their own components (#17014) 2022-10-04 16:25:26 +05:30
ChandanBalajiBP
02c8f6c2dd
fix: Slow rendering of JSON and RAW response (#16971)
* fix:Slow rendering of JSON and RAW response

* added debouncing for editor refresh
2022-09-30 20:51:04 +05:30
Ayush Pahwa
38d93e23a5
fix: console log dx issue fixes (#17137)
* chore: moved all helpers and types to diff files

* fix: cloning the incoming object to avoid mutation
2022-09-30 18:29:02 +05:30
rahulramesha
db6ebe3324
fix: Extra Space at the end of the Canvas in Viewmode (#16747)
We had logic to fix MainCanvas height when a Widget is dragged, resized or deleted. Extending that logic to When a widget is added to mainCanvas as well.

Also added logic to trim mainCanvas width in View Mode.
2022-09-30 13:49:52 +05:30
sneha122
9670fa26af
fix: Fix/additional rows api header section (#17052)
* fixed additional rows in header section

* additional rows issue resolved for empty pairs

* removed unnecessary imports

* refactored additional rows issue code

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2022-09-30 12:01:36 +05:30
Souma Ghosh
54e00b9c5d
fix: JS toggle default value is wrong for vertical alignment table widget (#16733)
* fix: JS toggle default value is wrong for vertical alignment table widget
- Fixes wrong default value for Vertical Alignment in column settings
- Fixes issue where JS toggle cannot be turned off after turning it on once

* Fix failing cypress test

* Change horizontalAlignment default value to LEFT
2022-09-30 11:39:26 +05:30
Tanvi Bhakta
cafb0d37b0
feat: import changes for uneditable field (#16556)
* Bump design system package version

* Update CopyUrlForm.tsx to use the new API for UneditableField

* Remove UneditableField

* Pass prop as string because that's what the type expects

* use beta version for ds

* update yarn.lock

* Update yarn.lock

* remove yarn.lock from root

Co-authored-by: Albin <albin@appsmith.com>
2022-09-29 17:36:02 +00:00
Ankita Kinger
a1b24ab7dc
refactor: Invite modal component to support single & multi-select dropdown options (#17073)
* refactored code for invite modal

* updated invite users modal component

* minor change

* optimized addition of links in invite modal dropdown

* fixed a cypress test

* removed msw

* fixed a cypress test

* fixed a cypress test

* fixed a cypress test

* fixed a test
2022-09-29 09:53:25 +00:00
Aswath K
ce1f42f786
fix: Placeholder being shown when value is zero (#17082) 2022-09-29 11:31:45 +05:30
Aswath K
1a71a14319
fix: Re-selecting dropdown value triggers evaluation cycle (#16201) 2022-09-29 11:25:56 +05:30
Tanvi Bhakta
0f1df77e61
feat: decouple redux and the view layer in CalloutV2 (#16625)
* refactor group so the appropriate prop can be passed to CalloutV2

* Remove local calloutV2, move to the design system one

* use updated Callout

* bump ds version
2022-09-29 10:50:41 +05:30
Pawan Kumar
f59f33c1f8
fix: RTE + Form + JSONForm reskinning (#16956)
* update rich text editor styles

* fix disalbed text  color

* add border

* fix gaps and borders in json form

* fix disabled state

* fix checkbox disabled state color on checkbox + font size of title in json

* fix disabled state of rte not re-rendering

* remove unused import

* fix cypress test
2022-09-28 17:28:40 +00:00
Rimil Dey
83432a1640
fix: navigate to throws error when changing from same to new window and vice versa (#17067)
* Add quotes for navigate to value options

* Update tests
2022-09-27 15:10:32 +05:30
Rimil Dey
4e9068ddba
chore: Move constants, types and utils to their own files in Action Creator (#16947)
* Move constants and regex to their own files from index and fields file

* Move types to to its own file

* Move utils to its file

* Add proper types for functions in fields file

* Rename Switch -> Switchtype

* Fix imports

* Fix NAVIGATION_TARGET_FIELD_OPTIONS constant so that the build works

* Jest tests to cover the utils

* Add jest test cases

* Update cases

* Code review changes
2022-09-26 10:05:04 +05:30
Tanvi Bhakta
a64f27ce27
feat: migrate SearchSnippet (#16886)
* Remove SearchSnippet, refactor parents to pass an onClick function

* Use SearchSnippet from DS

* [chore] bump design system version
2022-09-26 09:49:37 +05:30
Aswath K
995847cdef
fix: Action Selector menu goes out of viewport (#16878) 2022-09-23 10:46:26 +05:30
Aswath K
d62acb209a
fix: Issues with JS toggle (#16204)
* fix: unwanted JS toggle on Datepicker's firstDayOfWeek
* Remove JS toggle for properties that already accepts JS
* Enables the JS toggle button if the value is same that of defaultValue
2022-09-23 00:30:55 +05:30