Commit Graph

1518 Commits

Author SHA1 Message Date
Tolulope Adetula
0222cf6d19
fix: combineDynamicBindings function (#22600)
## Description
This PR fixes two issues with List Widget that inject values like
`currentItem` into the evaluation context.

1. The issue related to having an escape character or a new line \n in
the code for the widget. For example `{{(() => "123 \n 123")()}}` or
```
Date:
{{currentIndex}}
```

2. Where JS Code with text like `Returned:{{ currentItem.name === "Blue"
? "Yes": "No"}}` would always evaluate to `No`. This happens because the
text is converted into a function, and we need to inject some contexts
so that the eval can run without error. After conversion, we have
`{{((currentItem) => "Returned:" + currentItem.name === "Blue" ? "Yes":
"No")(Text1.currentItem)}}` , which, when passed to eval, comes out as
No

Fixes #14200
Fixes #15162 

## Type of change
- Bug fix (non-breaking change which fixes an issue)



## How Has This Been Tested?
- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-26 23:58:17 +05:30
Tolulope Adetula
8c8123669e
fix: remove data identifier error when there's no List data (#22607)
## Description
When the List widget has empty data, we want to avoid showing the Data
identifier error.

Fixes #21767
Fixes #22504

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change
- Bug fix (non-breaking change which fixes an issue)



## How Has This Been Tested?

- Jest

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-26 19:12:19 +01:00
Preet Sidhu
196642b84b
fix: Remove excess padding on right side and fix widget drop in nested containers (#22533)
## Description

Issues:
1. Excess padding on right side on MainContainer and other
container-like widgets.
2. End highlight not visible in deeply nested containers.
3. Modal widget takes up space on MainContainer.

Causes:
1.a. Border around the MainContainer has been removed. However, the
border width was still being deducted from the total width.
1.b. For parentColumnSpace calculation, CONTAINER_GRID_PADDING (= 6px)
was used. However, on AutoLayout canvases, containers only account for
5px in padding, resulting in excess space of 2px on the right side.
2.a. End position highlight has negative drop zones causing it to be
excluded from selection calculations.
2.b. container scrollbars are causing the drag on the canvas to not get
triggered.
3.a. This happens when the modal widget is dropped in an existing flex
layer. Check for `detachFromLayout` prop and move the widget to the
bottom of flexLayers.

Fixes # (issue)

1. https://github.com/appsmithorg/appsmith/issues/20705
2. https://github.com/appsmithorg/appsmith/issues/21311
3. https://github.com/appsmithorg/appsmith/issues/22423
4. https://github.com/appsmithorg/appsmith/issues/20111
5. https://github.com/appsmithorg/appsmith/issues/22655


Media



https://user-images.githubusercontent.com/5424788/232890004-2f66b697-e84c-4625-966d-894cc63f70b7.mov




## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [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
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
2023-04-26 13:39:11 -04:00
Sangeeth Sivan
441f6314c6
fix: rich text editor not working on airgapped instance (#22570)
## Description

- This will import tinymce editor as a module to support airgapped
instances.


Fixes #22407 


Media


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)




## How Has This Been Tested?


- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Pawan Kumar <pawan@appsmith.com>
2023-04-26 12:57:21 +05:30
Ankita Kinger
ae05e93ec9
chore: Removing feature flag for app level invites (#22650)
## Description

Removing feature flag for app-level invites. Also, updating import
statements to use `@appsmith/..` instead of `ce/..`

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

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
- Manual
- Jest
- Cypress

## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-26 12:48:16 +05:30
Ashok Kumar M
39dc4ced18
fix: Bug Fixes in AutoLayout(Minor) (#22203)
> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.

## Description

In This PR, I am trying to polish and pick off smaller bugs that are
reported as part of QA efforts.

Fixes #22236
Added alignment to suggested widgets to make sure adding widgets to same
layer works as expected.

Fixes #22238
Adjust CanvasResizer position to make sure it is rendered and positioned
as expected.

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-21 11:53:17 +05:30
Keyur Paralkar
977cee645a
fix: null check before accessing editableCell property in table widget (#22500)
## Description

This PR adds optional chaining while accessing the properties of
`editableCell` object in the table widget.

Fixes #20789


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

Please refer to the
[comment.](https://github.com/appsmithorg/appsmith/issues/20789#issuecomment-1515845278)
### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-20 18:42:31 +05:30
Sangeeth Sivan
5b512b44a2
fix: airgapped instance bug fixes (#22440)
## Description

- This PR fixes few of the bugs on airgapped instances.

Fixes #22361 
Fixes #22375 
Fixes #22392 
Fixes #22394 
Fixes #22395 
Fixes #22441 
Fixes #22437 

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change


- Bug fixes (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual


### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-20 13:54:55 +05:30
Rajat Agrawal
ba7099ce00
fix: Sorting by renamed custom column (#22405)
Fixes #19928 

Steps to repro:

1. Add a custom column named `customColumn1` to a table.
2. Modify the computed value for it to `{{currentIndex}}`.
3. Ensure that sorting is working for the table using `customColumn1`.
4. Go to property pane settings for this column and rename it to
`customColumn2` from its title in the property pane.
5. Ensure that sorting is working using `customColumn2`.

Actual Behavior:
Sorting isn't working using `customColumn2`.

Expected Behavior:
Sorting should work using `customColumn2`.
2023-04-20 12:11:38 +05:30
Priyanka
8a0490137c
fix: Tab title text cut issue (#22486)
## Description
Tab name panel does not spatially accommodate letters like 'g' and 'p' in the name
2023-04-20 11:42:20 +05:30
Aswath K
412c48481e
feat: Vertical alignment and row gaps for Auto Layout (#21888)
## Description

- Defined the default vertical alignment of widgets within a row. Now,
all widgets will align bottom except container widget which will align
top
- Added a predefined row gap of 12px in the case of desktop and 8px in
the case of mobile viewport.

Fixes #22227
Fixes #22228

## Type of change

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

## How Has This Been Tested?

- Manual
- Drag n drop multiple widgets, verified all the widgets except
container widget are bottom aligned and container widget is top aligned
- Checked if the row gap is 12px in the case of non-mobile viewport and
it is 8px in the case of mobile viewport
  - Checked if the highlights are shown in the proper position
  - Tested some templates after conversion

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] 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
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
Co-authored-by: Preet <preetsidhu.bits@gmail.com>
2023-04-20 10:44:37 +05:30
ashit-rath
8345937dff
fix: JSONForm multiselect field with invalid option crash (#22510)
## Description

When invalid `Options` is passed to a multiselect field in a JSONForm,
the widget crashes.
Example of invalid `Options`
```js
{{ [ { label: "asd", value: "zxc"}, null ] }}
```
The second option is `null` which makes the whole `Options` property as
invalid.

Fixes #20791

## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual
- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/1466

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-19 15:11:03 +05:30
Sangeeth Sivan
50c4f904bb
fix: hide camerawidget knowmore link & intro modal start tutorial button (#22350)
## Description

- This hides the `Start tutorial` button on intro modal and `Know more`
link when camera widget has no permission for airgap.


Fixes [#22457](https://github.com/appsmithorg/appsmith/issues/22457)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.


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



## How Has This Been Tested?

- Manual



## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-18 18:00:23 +05:30
Rishabh Rathod
7425acaa1b
fix: set initialState from metaProps (#22049)
## Description


Fix the meta value code to set the initialMetaState correctly. 


## Type of change


- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual
- Jest
- Cypress

### Test Plan

### Issues raised during DP testing


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-04-18 12:40:36 +05:30
Keyur Paralkar
a03477ea05
fix: page number calculation for the last page of table widget (#22355)
## Description

The intention of this PR is to fix the incorrect page number on the last
page of the table widget. When SSP(Server side pagination) is turned on
and the last page of the table doesn't have the same number of records
as previous page then the pages are recalculated and this leads to
confusion.

The above bug was introduced with this PR: [fix: Incorrect page count
when number of records in page is different from page size
#17535](https://github.com/appsmithorg/appsmith/pull/17535) and the fix
is to revert these changes.

Fixes #18574

## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-17 17:29:43 +05:30
ashit-rath
27fe4d74e2
fix: List v2 child widgets event defined with action selector (#22418)
## Description

TL;DR
For list widget's child widget, when events like `onClick` were defined
using the action selector, it throws syntax error.

Reason:
Underneath the hood the new action selector by default applies a
semi-colon (`;`) at the end of every action selected. This does not play
well with the List v2 as the widget adds a wrapper on top of this action
which leads to a syntax error.

Fix:
 For trigger paths the binding is ow enclosed with `{ }`
 where as the binding paths are not enclosed with `{ }`

 Example
```js
 (() => { showAlert("Hello") })() // For trigger paths
 (() => currentItem.name )() // For binding paths
```

It is expected for binding paths to return a value from the binding so
to make it return by default js binding cannot be wrapped around `{ }`.

In case of trigger paths, it is not expected for the js binding to
return anything but only execute other actions. When wrapped around `{
}`, it gives an advantage when action selectors are used to define a
trigger/event. Action selectors by default adds a semi-colon(;) at the
end of every action. If the wrapper `{}` is not present then a binding
```
  (() => showAlert("Hello"); )()

```
would throw an error as the addition of a semi-colon is an invalid
JavaScript syntax.
  Hence we convert the above IIFE to 
```
(() => { showAlert("Hello"); } )()
```
 to make the semi-colon work.

Fixes #22373

## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [x] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [x] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Rimil Dey <rimil@appsmith.com>
2023-04-17 11:52:01 +05:30
Aswath K
e567c6a037
fix: Table V1 to support Auto Layout. Added auto-height for DatePicker (#22360) 2023-04-17 11:31:07 +05:30
Tolulope Adetula
7111e29c7d
fix: clickable containers in the List widget (#21987)
## Description

This fix primarily targets the List Widget. It enables the List Widget
Containers/Items to be selected when clicking on an empty space or a
plain widget/element. For instance, if a Text widget is clicked, the
onItemClick action on the list container is triggered. However, if the
Text widget contains a clickable link, only the link is activated, and
the OnClick event doesn't propagate to the List Widget Container. The
triggeredItems functionality remains unaffected.

Fixes #21409

## Type of change

> Please delete options that are not relevant.

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



## How Has This Been Tested?

- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2372

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-14 14:55:44 +01:00
Rajat Agrawal
e775e300e6
chore: Move autocomplete suggestions from entityDefinitions to individual widget components (#21818)
Fixes #21718 

This is a PR for review of approach that I have come up with refactor
for issue : #21718.

We can discuss the approach in the comments.

This PR moves autocomplete suggestions from a static utility file,
entityDefinitions, to widget/index.ts file of each widget.

This refactor will help in the long term project of moving widgets into
its own module as well as support for custom widgets.
2023-04-14 11:57:49 +05:30
Sangeeth Sivan
c5744334d5
feat: self host google fonts (#22129)
## Description

### 22005
- An air-gapped instance most likely can't communicate to the public
internet, relying on google to load fonts is not possible.
- So, this PR downloads and the required fonts on our local and serve
them to the browser locally.


Fixes #22005 
Fixes #22060 
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.


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



## How Has This Been Tested?


- Manual




## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Pawan Kumar <pawan@appsmith.com>
2023-04-13 18:48:37 +05:30
Rajat Agrawal
30f3d250c4
fix: Table Widget property to specify if prev or next buttons were pressed (#21712)
We have added two new boolean meta properties, previousPageVisited and
nextPageVisited, that are set whenever respective pagination button is
clicked. This property is updated for server side pagination mode as
well as non server side pagination mode.

By default, both properties are set to false.

When the user clicks on previous page button or tries to enter a page
number which is less than current page number, `previousPageVisited` is
set to `true` and `nextPageVisited` is set to `false`.

The users can use these property as follows in their code : 

```
myFun1: () => {
		if (Table1.nextPageVisited == true){
			NextQuery.run()
		}
		else if (Table1.prevPageVisited == true){
			PrevQuery.run()
		}
		else {
			BaseQuery.run()
		}
	}
```
2023-04-13 15:38:46 +05:30
Sangeeth Sivan
ae382de042
feat: hide things on airgap (#22274)
## Description

- hide `start from template` and `google recaptcha` for button widget.

> Hide certain features on airgap instance

Fixes #22006  
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.


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



## How Has This Been Tested?

- Manual



## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-12 00:04:23 +05:30
Keyur Paralkar
d313798e6f
fix: null check before accessing accessing properties in table and phone input widget (#22218)
## Description

Fixes #22207
Fixes #22209 

The [sentry](https://github.com/appsmithorg/appsmith/issues/22207) issue
occurred because the code was trying to access the `sticky` property of
a column that did not exist in the table widget. Hence to mitigate this
I have added an optional chaining check.

This PR also fixes #22209 by adding optional chaining while accessing
the `text` prop in the phone input widget

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Manual
- Check that the console error is not thrown similar to the above sentry
issue.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-11 19:53:14 +05:30
Sangeeth Sivan
82280cfde9
feat: util to serve images locally or via remote url (#22080)
## Description

- On air-gapped instances we can't fetch appsmith assets from S3, that
will result in broken which is not desirable.
- So this adds a script and util function which searches the client and
server codebase for the assets url and downloads the image and puts it
in the `public` folder so that the browser can access those even in an
airgapped instance since the assets are being served locally.

> Way to serve assets locally.

Fixes #22004 
> if no issue exists, please create an issue and ask the maintainers
about this first

Media
https://vdqm24wed6.vmaker.com/record/IquS90WbWgS1I0bz - blocked certain
api routes from getting called on airgap
2023-04-10 12:32:31 +05:30
Preet Sidhu
6a8806f629
feat: Add widget responsiveness and conversion algorithm (#21386)
## Description

QA branch for mobile responsiveness

---------

Co-authored-by: Aswath K <aswath@appsmith.com>
Co-authored-by: Arsalan Yaldram <arsalanyaldram0211@outlook.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
2023-04-07 09:51:35 -04:00
Keyur Paralkar
3ee46ffd14
fix: add select options field to new row (#22003)
## Description

This PR introduces new two new properties: `Same options in new row` and
`New row options` for the select column type.
We show these two fields when the allow add new row is turned on in
table
- SameOptionsInNewRow -- Boolean field ; When turned on the option for
the first row is used in the new row. Default is true
     - Label : Use same options in new row
- Tooltip : Toggle to display same choices for new row and editing
existing row in column.
- NewRowOptions -- Array field; when the above boolean is turned off we
show this option to let people add options specifically for new row.
Supports static and dynamic data, but doesn't support currentRow
    - Label: New row options
- Tooltip : Options exclusively displayed in the column for new row
addition.

Fixes #20230


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Cypress:
- When allowAddNewRow is turned on, same new option should be true and
new row option should be invisible.
- When turned on same option, options of the first row should appear
while editing as well as adding new row.
    - When turned off, New row option should be visible
- Fill new row options, the new row options should appear while adding
new row in select field.
    -  New row options should not have access to the currentRow
- Both the options should only be visible only when allowNewRow is true.
    -  Should support static and dynamic values in new row options

- Manual
- For the new DnD Tables. Check if the above functionality is working as
expected.
- For Existing tables, Check if the above functionality is working as
expected. This needed to be tested from migration standpoint

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2367

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-06 23:58:24 +05:30
Ravi Kumar Prasad
6ac99037b0
feat: Action selector (#21582)
## Description
Replaces the old boring action selector dropdown with a much more
sophisticated UI that is capable of going above and beyond. Users with
an aversion to code can now build their more complex workflows with a
click of a few buttons.

Consider this code snippet 
```javascript
Api1.run(() => {
  showAlert("Hello");
  navigateTo('Page1', {}, 'SAME_WINDOW');
}, () => {
  removeValue("test");
});
```
|**Old action selector** |**New action selector**|
|:-:|:-:|
|<img width="250" alt="Screenshot 2023-03-29 at 16 54 14"
src="https://user-images.githubusercontent.com/32433245/228520661-a639b580-8986-4aec-a0f5-e2786d1a0f56.png">|
<img width="250" alt="Screenshot 2023-03-29 at 16 55 15"
src="https://user-images.githubusercontent.com/32433245/228521043-5025aa42-af95-4574-b586-bc4c721240bc.png">|

**Click on an action block to edit its parameters.**
<img width="500" alt="Screenshot 2023-03-29 at 17 01 18"
src="https://user-images.githubusercontent.com/32433245/228522479-493769d0-9d2c-4b67-b493-a79e3bb9c947.png">

**Switch to JS mode to get the raw code**
<img width="273" alt="Screenshot 2023-03-29 at 17 05 51"
src="https://user-images.githubusercontent.com/32433245/228523458-13bc0302-4c94-4176-b5aa-3ec208122f57.png">

### Code changes
**New UI components**
  - ActionCreator component splits the code into block statements.
  - Each block statement is represented by ActionTree.tsx UI component.
  - ActionTree.tsx represents an action and its chains.
- ActionCard.tsx is the block that represents the individual action on
the UI.
- ActionSelector.tsx component is popover that contains the form for
editing individual action.
- TabView, TextView, SelectorView, ActionSelectorView and KeyValueView
are components that represent configurable fields in ActionSelector
form.
  
**AST methods**
  - Added methods to get/set function names, expressions, arguments.
- Added methods to get/set then/catch blocks to allow chaining of
actions.
  - Added methods to check if code is convertible to UI.

Fixes #10160
Fixes #21588 
Fixes #21392
Fixes #21393
Fixes #7903
Fixes #15895
Fixes #17765
Fixes #14562

Depends on https://github.com/appsmithorg/design-system/pull/306

## Type of change
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
- Manual
- Jest
- Cypress

### Test Plan
https://github.com/appsmithorg/TestSmith/issues/2296

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [x] Cypress test cases have been added and approved by either SDET or
manual QA
- [x] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [x] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Rimil Dey <rimil@appsmith.com>
Co-authored-by: arunvjn <arun@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2023-04-06 22:19:12 +05:30
nikhil-babar
22eea18345
[Community Contribution] fix: clean implementation of isAutoHeightEnabledForWidget (#21738)
## Description

The previous implementation of isAutoHeightEnabledForWidget function was
having flag for checking feature with limits which did not fit in clean
code principles
The PR consist of a clean implementation of
isAutoHeightEnabledForWidgetWithLimits and change in references
accordingly.

Fixes #20110

## Type of change

- Bug fix 

## How Has This Been Tested?

- Manual
2023-04-03 11:41:10 +05:30
Tolulope Adetula
af9d0aa05c
fix: accessing itemView in nested list widget (#21702)
## Description

1. Revert the removal of selectedItemView and TriggeredItemView
2. Only remove these properties when child widgets call it.

Fixes #21581


## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Jest
- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2187

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-30 16:26:42 +05:30
Vemparala Surya Vamsi
99afdcc2c4
chore: Table performance improvement (#20983)
## Description
Several changes made to enhance the table performance:
- Batch updates of meta properties to limit the number of rerenders
- Removed expensive comparator operations.
- Memoised components which are not susceptible to updates.
- Table filter code optimisation to limit the number of times setState
is triggered.

Fixes #20910
2023-03-30 10:24:29 +05:30
Ankita Kinger
47c09cef92
chore: Code splitting FE files to support app level invites on Business edition (#21783)
## Description

> Code splitting FE files to support app level invites on Business
edition.

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

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
> Nothing is affected on CE by this change.

- Manual

## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-29 17:07:06 +00:00
Apeksha Bhosale
d344853c4f
fix: During diff creation if value changes from undefined to string evaluation is getting skipped (#21710)
## Description

When we change the table style to SHORT from DEFAULT, during diff as the
value changed from undefined to SHORT translated diff converts it to
NOOP and skips all dependent paths evaluation. Change here indicates if
any path changes from no value to any value evaluate path and all
dependent paths as well

- **MetaHOC changes**:- metaProperties is used to set the
`initialMetaState` for the metaHOC instead of using `this.props`.

Fixes #21708 

## Type of change

> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)



## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
2023-03-27 12:27:46 +05:30
Tolulope Adetula
98b5c02d36
fix: child widget not updating state in List widget (#21597)
## Description
The checkbox/switch(and groups) are not updating state when used inside
the List widget.
This is due to the positioning set on the List widget Containers.

Fixes #21515

## Type of change
- Bug fix (non-breaking change which fixes an issue)



## How Has This Been Tested?
- Cypress


## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-24 13:10:47 +05:30
Dhruvik Neharia
099859134d
feat: Improved App Navigation (#19312)
## TL;DR
A new revamped experience for navigation for Appsmith users.

## Description 
Introduces new navigation styles with better default navigation - Top
(Stacked), a variant for Top (Inline), and a collapsible Sidebar.
Configure your app's navigation by navigating to the navigation settings
tab inside the app settings pane and observe how your app with the
selected navigation settings will look side by side as you change them.

This PR pushes the v1 for EPIC #17766.

Fixes #19157
Fixes #19158
Fixes #19174
Fixes #19173
Fixes #19160
Fixes #20712
Fixes #19161
Fixes #20554
Fixes #20938
Fixes #21129

## Media
<video
src="https://user-images.githubusercontent.com/22471214/227187245-84e4e3fa-18e4-4690-8237-cfce29f432e5.mp4"></video>

## Type of change
- New feature (non-breaking change which adds functionality)
- This change requires a documentation update

## How Has This Been Tested?
- Manual
- Cypress

### Test Plan

https://www.notion.so/appsmith/Test-Plan-a7883ae4980d470690de5c62a41dd168

### Issues raised during DP testing

https://docs.google.com/spreadsheets/d/1Kocq8h1H3EXlbqDgiNruzBr9MeNPyY26zct8IWYEY40/edit#gid=0

## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Pawan Kumar <pawan@appsmith.com>
2023-03-23 17:11:58 +05:30
Hetu Nandu
c28bea180c
fix: Selected Widget Visibility (#21317)
## Description

### Part 3 of selected widget refactor

As part of context switching and selected widget refactor, we saw that
widgets that are inside modals or tabs and are hidden cannot be switched
to without updating some meta properties. The meta properties are
actually owned by the end user and the developer user would create some
default values for it as well. This becomes a problem soon when the
platform also tries to update it. So as part of this refactor, we will
use the selected widget ancestry (the chain of widgets from the top to
the currently selected widget) to handle if widgets need to be visible
or not. It will also indicate the widgets in the path of selection to
"make way" for the selected widget to be seen.

Media


https://user-images.githubusercontent.com/12022471/224916943-b10e8694-0c95-4157-bb93-288d7c0bf60a.mov

- This works on any number of levels of hirarchy
- The logic is supposed to handled by each widget that can potentially
hide other widgets inside it
- Improves some platform perf as the handing so widget meta is not done
by the platform anymore

Affected widgets:
- Modal Widget
- Tabs Widget

> tl;dr: Update the platform's way to show widgets that can be hidden.
Makes sure a selected widget is always shown.

Fixes #1282
Resolves #18173


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual
- Cypress

### Test Plan
> Test case link:-
[#2202](https://github.com/appsmithorg/TestSmith/issues/2202)

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity:-
https://github.com/appsmithorg/appsmith/issues/1282#issuecomment-1472204952


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-23 11:13:07 +05:30
Tolulope Adetula
6d43c79647
feat: default selected item (#21031)
## Description

`defaultSelectedItem` property was added to the List widget. This
enables the User to Select any item when the list widget loads. This
selection makes use of the Data identifier property and it currently for
ClientSide pagination.

Fixes #13214 

## Type of change

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


## How Has This Been Tested?
- Cypress
- Manual

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2215

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [x] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-22 17:56:49 +01:00
Tolulope Adetula
c22d4b0ed3
fix: reset page number server side pagination is just enabled in List widget (#21472)
## Description

Reset Page Number when server-side pagination is just turned on.

Fixes #20635

## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2184

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-22 19:17:41 +05:30
Vemparala Surya Vamsi
9333cc3421
fix: table ISO 8061 format bug for v1 and v2 version (#21600)
This pr fixes the ISO-8061 format issue with table v1 and v2. We see a
validation errors in both when ISO-8061 format is selected.
Fixes #20799
2023-03-22 11:29:28 +05:30
Apeksha Bhosale
2b25e1e9b0
fix: Improving performance of JS evaluations by splitting the data tree (#21547)
## Description
This is the second phase of the split data tree. In the previous version, we collected all config paths in each entity and put them in the `__config__` property. All those config properties do get inserted into final data tree which we don't need at all. 
As part of this change, we will be creating another tree i.e **'configTree'**  which will contain all config of each entity. 

unEvalTree is split into 2 trees => 
1. unEvalTree 
2.  configTree

Example: 
previous unEvalTree Api1 content 
<img width="1766" alt="image" src="https://user-images.githubusercontent.com/7846888/215990868-0b095421-e7b8-44bc-89aa-065b35e237d6.png">


After this change
unEvalTree Api1 content
<img width="1758" alt="image" src="https://user-images.githubusercontent.com/7846888/215991045-506fb10a-645a-4aad-8e77-0f3786a86977.png">
Note- above example doesn't have '__config__' property

configTree Api1 content 
<img width="1760" alt="image" src="https://user-images.githubusercontent.com/7846888/215991169-a2e03443-5d6a-4ff1-97c5-a12593e46395.png">


## Type of change
- Chore (housekeeping or task changes that don't impact user perception)
- #11351


## How Has This Been Tested?
- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or manual QA
- [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-03-20 16:34:02 +05:30
Pawan Kumar
c0a29f5af9
fix: Marker is not showing title tooltip when passed to marker (#21150)
While migrating the map widget underlying library, we missed adding
title in the set of options that we are passing to marker. This PR adds
the title back

Fixes #21149
2023-03-20 14:37:19 +05:30
Tolulope Adetula
f8d04d0a8a
fix: Invisible child widgets in List Widget (#21548)
## Description

The invisible widget seems to regress the List widget. This PR fixes
this by disabling Auto height Saga updates on the List widget Child
WIdgets.


Fixes #21519

## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2187

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-20 13:36:28 +05:30
Valera Melnikov
805256a274
chore: corrections for eslint and prettier (#21543)
Correction of eslint and printer errors/warnings. It is associated with [this activity](https://theappsmith.slack.com/archives/CGBPVEJ5C/p1678968535728579) in order to avoid conflicts with others.

  1. Fix eslint warnings in unit tests. All unit tests are passed.
  2. Fix prettier at cypress.

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-03-17 19:50:51 +05:30
Ivan Akulov
424d2f6965
chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
## Description

This PR upgrades Prettier to v2 + enforces TypeScript’s [`import
type`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export)
syntax where applicable. It’s submitted as a separate PR so we can merge
it easily.

As a part of this PR, we reformat the codebase heavily:
- add `import type` everywhere where it’s required, and
- re-format the code to account for Prettier 2’s breaking changes:
https://prettier.io/blog/2020/03/21/2.0.0.html#breaking-changes

This PR is submitted against `release` to make sure all new code by team
members will adhere to new formatting standards, and we’ll have fewer
conflicts when merging `bundle-optimizations` into `release`. (I’ll
merge `release` back into `bundle-optimizations` once this PR is
merged.)

### Why is this needed?

This PR is needed because, for the Lodash optimization from
7cbb12af88,
we need to use `import type`. Otherwise, `babel-plugin-lodash` complains
that `LoDashStatic` is not a lodash function.

However, just using `import type` in the current codebase will give you
this:

<img width="962" alt="Screenshot 2023-03-08 at 17 45 59"
src="https://user-images.githubusercontent.com/2953267/223775744-407afa0c-e8b9-44a1-90f9-b879348da57f.png">

That’s because Prettier 1 can’t parse `import type` at all. To parse it,
we need to upgrade to Prettier 2.

### Why enforce `import type`?

Apart from just enabling `import type` support, this PR enforces
specifying `import type` everywhere it’s needed. (Developers will get
immediate TypeScript and ESLint errors when they forget to do so.)

I’m doing this because I believe `import type` improves DX and makes
refactorings easier.

Let’s say you had a few imports like below. Can you tell which of these
imports will increase the bundle size? (Tip: it’s not all of them!)

```ts
// app/client/src/workers/Linting/utils.ts
import { Position } from "codemirror";
import { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```

It’s pretty hard, right?

What about now?

```ts
// app/client/src/workers/Linting/utils.ts
import type { Position } from "codemirror";
import type { LintError as JSHintError, LintOptions } from "jshint";
import { get, isEmpty, isNumber, keys, last, set } from "lodash";
```

Now, it’s clear that only `lodash` will be bundled.

This helps developers to see which imports are problematic, but it
_also_ helps with refactorings. Now, if you want to see where
`codemirror` is bundled, you can just grep for `import \{.*\} from
"codemirror"` – and you won’t get any type-only imports.

This also helps (some) bundlers. Upon transpiling, TypeScript erases
type-only imports completely. In some environment (not ours), this makes
the bundle smaller, as the bundler doesn’t need to bundle type-only
imports anymore.

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?

This was tested to not break the build.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
2023-03-16 17:11:47 +05:30
Abhinav Jha
5601412191
chore: Remove collaboration pointers from the Editor (#19660)
## Description

This is an internal cleanup change, which removes the collaboration
pointers from the Editor.

**_Background_**: We had a feature for collaboration which we had
sunset. As a part of this feature, we could see the mouse pointers of
the other users who were editing the same page in realtime. This feature
is today visible only to internal Appsmith users. This part of the
feature, also doesn't serve a purpose for our users.

**_Why are we removing this?:_** This code has no impact on our users.
This makes maintaining this code, as well as the additional
computational load on the components unnecessary.

**_How do we put this back in?:_** The idea of this PR is to see the
changes in one place and hence make it easy to revert when needed.

Fixes #19659 19659

Media
Here is what it looked like:
![Screenshot 2023-01-10 at 2 04 42
PM](https://user-images.githubusercontent.com/103687/211501101-465d00d8-f094-429f-83a2-c96ee3b2c76c.png)




Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2023-03-15 22:10:06 +05:30
Pawan Kumar
bc431d0162
chore: remove unused control in select widget (#21367)
This PR removes a useless property called Colors is visible in the
property pane which does not have any sub-property inside it.
2023-03-15 16:52:26 +05:30
Favour Ohanekwu
097700a13f
fix: Add default value for hasChanges meta property in Form Widget (#21337)
## Description

This PR adds a default value of `false` for the hasChanges meta property
of the Form Widget

Fixes #18369 




## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-13 07:39:34 +01:00
Tolulope Adetula
40359acff1
fix: list widget in form widget (#21329)
The list widget should be visible in the Form widget.
Also, updatePageNo shouldn't be called recursively when the List widget
Height is adjusted.
2023-03-10 19:47:20 +05:30
balajisoundar
dfc0983ed4
chore: [lazy canvas rendering] check whether observer exist before disconnecting while cleaning up (#21171)
Fixes #20558

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-09 10:18:23 +05:30
rahulramesha
a66d64b547
fix: Drag to select widgets within container like widgets ends up selecting Parent widget (#20885)
## Description
This PR fixes, drag to select widget feature inside container like
widgets. The changes include,

- Add condition to stop triggering select action when, drag to select is
still active
- Delay stopping drag to select to the end of the execution stack, to
prevent triggering selection action
- Change name of `isDragging` to `isMouseDown` to avoid confusion with
the other `isDragging` in the same file
- Trigger start dragging to select action after `mousedown` and
`mousemove` instead on every `mousedown`


Fixes #20804 


Media



## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Manual
Before


https://user-images.githubusercontent.com/71900764/220725344-a4a50770-1335-405f-ac32-2ec63d3c9e6f.mp4

After


https://user-images.githubusercontent.com/71900764/220725390-9d94cd31-28d2-4b21-ae62-dbb98c2678ea.mp4



### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-07 10:12:15 +00:00
Keyur Paralkar
2ccd20e1e5
fix: column dragging and column reordering (#20928)
## Description

This PR implements the following changes:
- Move the drag events from the Parent component's useEffect to the
`HeaderCell` component.
- Refactored the code. Inside the table component, we refactored the
code such that when SSP is disabled the component uses `StaticTable` and
when SSP enabled then we use `VirtualTable`.
- It also includes the fix for the following issue. Whenever the user
has a scroll to the bottom of the page, on clicking of add new button it
is expected that the scroll should move to the top but it wasn't
happening.

> Add a TL;DR when description is extra long (helps content team)

Fixes #20858
> if no issue exists, please create an issue and ask the maintainers
about this first


## Type of change


- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual
    - Test cases:
        - Column name should appear on update from the property pane
        - reorder whenever SSP is enabled
        - On column re-size
        - When a col is frozen
        - When a col is unfrozen
        - When all the headers or one of them is removed
        - When sorted also should work
        - Enable multi-row selection
        - When in preview mode and back and forth(Check the above cases)
        - When in Deployed mode
- Dragging of columns from the column header should work as expected
both in Deploy and Published mode.
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] 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
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-05 19:49:44 +05:30
Preet Sidhu
75cf47b8c5
feat: Auto layout appsmith editor and mobile responsiveness (#21151)
## Description

Core features of Auto Layout and mobile responsiveness, hidden under a feature flag.

> Add a TL;DR when description is extra long (helps content team)



Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.


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


## How Has This Been Tested?
> Manual regression and sanity tests for all fixed canvas functionality.

- Manual
- Jest
- Cypress



## Checklist:
### Dev activity
- [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
- [ ] 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
- [x] PR is being merged under a feature flag


---------

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-03-04 12:55:54 +05:30
Pawan Kumar
0696183b06
chore: Yarn workspaces + Storybook + WDS (#20776) 2023-03-03 12:17:35 +05:30
Tolulope Adetula
72738b95e2
fix: remove parent list widget from child widget level data (#20963)
## Description

Avoid cyclic dependency in child widget when using level data to
reference Parent List widget

Fixes #20793 

## Type of change
- Bug fix (non-breaking change which fixes an issue)



## How Has This Been Tested?

- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2187

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-02 16:49:14 +01:00
Pawan Kumar
a27c52a7e4
fix: Select widget isOptionSelected > TypeError: Cannot read properties of null (reading 'value') (#20994)
This PR fixes an issue reported by a sentry in which the select widget
was crashing due to null selected option.
2023-03-02 13:47:58 +05:30
Favour Ohanekwu
9483e75db4
fix: Create entries for new reactive nodes in dependencyMap (#20633)
## Description

### Cause of issue
When a reactive node was newly added (a possible change from `undefined`
to a valid value), the `dependency map` was not updated.

This PR :

- Fixes this issue by handling all possible cases of a NEW_EVENT
-  Cleans up the logic to update the dependency map

Fixes #20401 



## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Jest unit tests

### Test Plan


### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [x] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [x] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-01 08:40:52 +01:00
Tolulope Adetula
51816565ec
feat: Total Record Count field for Server-side pagination in List widget (#20845)
## Description

Created a new property, Total Record Count. This helps the user navigate
the list items.
It prevents landing on an empty page since the app developer sets a
Total Record Count.


Fixes #14551 

## Type of change

- New feature (non-breaking change which adds functionality)
- This change requires a documentation update


## How Has This Been Tested?
- Manual
- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2189

## Checklist:
### Dev activity
- [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 on 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-27 13:12:42 +01:00
Mohammad Aakash
cb856fb250
fix: Fixed menu items exceeded canvas issue. (#20579)
Fixed the issue of when we added many menu items. So, they exceed the
canvas. So, i fixed them by adding scroll bar on it and added the height
for it so, it will not exceed the canvas.
2023-02-27 17:21:15 +05:30
Abhinav Jha
74c3a9c347
fix: Remove scrollbars in edit mode (#20805)
## Description
- Due to the resize handle dot (see screenshot)

![Screenshot 2023-02-20 at 8 39 24
PM](https://user-images.githubusercontent.com/103687/220142698-511a62e6-3d58-4bd2-833e-2d8ae5310a01.png)

A scroll used to appear (before this PR) when a widget was at the bottom
of an auto height enabled container like widget. (See _before_ recording
below in the media section)

- This used to happen only in the edit mode, as the resize handles are
not available in any other mode (view or preview)
- This PR fixes it by ensuring the parent container accommodates by
removing the scrollbars when we have auto height enabled in container
like widgets.
- As a result, despite the dots being present, the scrollbars don't
appear in the container like widgets when auto height is enabled. (see
_after_ recording below in the media section)


Fixes #20806
Media

Before


https://user-images.githubusercontent.com/103687/220143436-c4f95377-0f38-4340-ba12-c5f352bd3511.mov

After


https://user-images.githubusercontent.com/103687/220143336-bd475c52-efb8-4d70-8c21-09a7b663133a.mov



## Type of change
- Bug fix (non-breaking change which fixes an issue)
2023-02-24 13:22:53 +05:30
Souma Ghosh
39e9923b2d
fix: Table breaks on adding binding to column name (#20686)
## Description

When user adds any sort of binding to the column name of a table from
property pane Columns section, the table breaks.
This was happening because of the column label getting stored as
undefined or as an object that the binding evaluates to.
Only string values are expected in column label. Hence the table was
breaking for non string values of column label.

This PR fixes this issue by replacing the column name with a default
text "customColumn" whenever the column label is not of type string

https://www.loom.com/share/1c5feab1aafa43abaac757d853a02770

Fixes #20663 

## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2188

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-22 21:02:05 +05:30
Tolulope Adetula
d2af098746
fix: Limit List widget nesting to a maximum of 3 levels (#20506)
## Description

Limit the amount of nesting in the List widget to 3 levels.

The List widget could be nested in 2 ways.
1. Drag and Drop from Explorer
2. Copy and Paste.
3. Drag and Drop from Canvas

To cater to all these cases, I created 3 more blueprint operations that
serve as a life cycle for the widget.
1. BEFORE_ADD
2. BEFORE_PASTE
3. BEFORE_DROP

This would enable validation of the level/nesting before the DSL is
updated

Fixes #20585

## Type of change
- New feature (non-breaking change which adds functionality)
- This change requires a documentation update


## How Has This Been Tested?
- Cypress

### Test Plan
> [Nested List Widget Test
Plan](https://github.com/appsmithorg/TestSmith/issues/2187)

## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Ashit Rath <ashit@appsmith.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
2023-02-21 09:43:25 +05:30
Valera
cd02e171cc
fix: change word truncate behavior in show more modal (#20747)
## Description
Swapping `word-break: break-all;` to `overflow-wrap: break-word;` in the
"Show more" modal.

Before

![2023-02-17_10-54-25](https://user-images.githubusercontent.com/11555074/219649645-e9a83f85-9ef5-4ee6-9a98-22971f374a8a.png)
After
![2023-02-17_10-54-25
2](https://user-images.githubusercontent.com/11555074/219649649-3d4d8079-e52e-4cd2-ab30-7051027bf8a5.png)

Fixes https://github.com/appsmithorg/appsmith/issues/20413

## Type of change
Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?
Manual

## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-20 14:20:22 +05:30
ChandanBalajiBP
b72dea33f3
feat: Error handling phase 1 (#20629)
## Description
This PR updates the error logs 
- Establishing a consistent format for all error messages.
- Revising error titles and details for improved understanding.
- Compiling internal documentation of all error categories,
subcategories, and error descriptions.

Updated Error Interface:
https://www.notion.so/appsmith/Error-Interface-for-Plugin-Execution-Error-7b3f5323ba4c40bfad281ae717ccf79b

PRD:
https://www.notion.so/appsmith/PRD-Error-Handling-Framework-4ac9747057fd4105a9d52cb8b42f4452?pvs=4#008e9c79ff3c484abf0250a5416cf052

>TL;DR 

Fixes # 


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

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


## How Has This Been Tested?

- Manual
- Jest
- Cypress

### Test Plan


### Issues raised during DP testing


## Checklist:
### Dev activity
- [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
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: subrata <subrata@appsmith.com>
2023-02-18 18:25:46 +05:30
Keyur Paralkar
b22ad3a769
feat: added column freeze and unfreeze functionality to table widget (#18757)
**PRD**:
https://www.notion.so/appsmith/Ability-to-freeze-columns-dd118f7ed2e14e008ee305056b79874a?d=300f4968889244da9f737e1bfd8c06dc#2ddaf28e10a0475cb69f1af77b938d0b

This PR adds the following features to the table widget:

- Freeze the columns to the left or right of the table.(Both canvas and
page view mode).
- Unfreeze the frozen columns. (Both canvas and page view mode).
- Columns that are left frozen, will get unfrozen at a position after
the last left frozen column. (Both canvas and page view mode).
- Columns that are right frozen, will get unfrozen at a position before
the first right frozen column. (Both canvas and page view mode).
- Column order can be persisted in the Page view mode.
- Users can also unfreeze the columns that are frozen by the developers.
- Columns that are frozen cannot be reordered(Both canvas and page view
mode)
- **Property pane changes (Columns property)**:
- If the column is frozen to the left then that column should appear at
top of the list.
- If the column is frozen to the right then that column should appear at
the bottom of the list.
- The columns that are frozen cannot be moved or re-ordered in the list.
They remain fixed in their position.
- In-Page mode, If there is a change in frozen or unfrozen columns in
multiple tables then the order of columns and frozen and unfrozen
columns should get persisted on refresh i.e. changes should get
persisted across refreshes.
2023-02-15 17:12:46 +05:30
ashit-rath
a47dba5e26
feat: List V2 (#15839)
## Description

TL;DR
This is a complete architectural change of of List widget works to
support all widgets we currently have and should automatically support
any future widgets.
It also introduces nested List widgets i.e a list widget can have a
another list widget which in turn can have another list widget.

Fixes #18206
Fixes #6775
Fixes #13211
Fixes #16582
Fixes #11739
Fixes #15094
Fixes #6840
Fixes #10841
Fixes #17386
Fixes #18340
Fixes #16898
Fixes #17555
Fixes #6858
Fixes #9568
Fixes #17480
Fixes #18523
Fixes #18206  
Fixes #16586
Fixes #18106
Fixes #16576
Fixes #14697
Fixes #9607
Fixes #19648 
Fixes #19739
Fixes #19652 
Fixes #18730 
Fixes #19503 
Fixes #19498
Fixes #19437
Fixes #5245 
Fixes #19150
Fixes #18638
Fixes #11332
Fixes #17901
Fixes #19043
Fixes #17777
Fixes #8237
Fixes #15487
Fixes #15988
Fixes #18621
Fixes #16788
Fixes #18110
Fixes #18382
Fixes #17427
Fixes #18105
Fixes #18287
Fixes #19808
Fixes #14655

## Type of change

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

## How Has This Been Tested?
- Cypress
- Jest
- Manual

## 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
- [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: Tolulope Adetula <31691737+Tooluloope@users.noreply.github.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
2023-02-14 17:07:31 +01:00
Abhinav Jha
55cf16ae9d
feat: Non auto height invisible widgets (#20118)
## Description
This PR adds another feature update we had planned for Auto Height
- [ ] For new applications, in View and Preview mode, any widget which
is invisible will let go of its space and collapse if it's either on the
main Canvas or a container-like widget which has Auto-height enabled.
- [ ] Widgets within a container-like Widget, say Tabs, that doesn't
have Auto-height enabled, will now let go of their space if they're
invisible.
- [ ] The experience in Edit mode has not changed.

TL;DR: In new applications, in the Preview and Published _AKA_ View
modes, if a widget is invisible and within an Auto-height-enabled
container like a Tab, a Modal, a Form, or the main Canvas, it will fully
collapse, allowing widgets below it to move up and take its space. This
changes the behavior today prior to the release of this PR for
Auto-height-enabled widgets.

Fixes #19983
Fixes #18681
2023-02-14 19:06:19 +05:30
Vemparala Surya Vamsi
c7ba1a2edf
fix: modal autofocus fix issue #19957 (#20244)
## Description

This fix checks the modal's content and check if any of the input
widgets state has autofocused enabled. If it does it allows the html
autoofocus attribute to resolve the focus state and if not the focus is
shifted to the modal.
2023-02-10 12:05:08 +05:30
Souma Ghosh
c79f93fcfe
fix: Table filter text loses focus when user is typing (#19951)
## Description

TL;DR
When user types in the input box for table filter, the input loses focus
after a 500ms while typing. This is a regression from
https://github.com/appsmithorg/appsmith/pull/16904 PR (bug -
https://github.com/appsmithorg/appsmith/issues/12638)


We were stringifying the whole filter object and using it in the key for
each table filter. But when we changed the filter value the key would
get updated and hence the filter re-rendered and the text input lost
focus.
The key was previously set this way to address another bug where the
value field of the filter would not update in the DOM although the
filter data was correct.
The solution to address both these issues was to assign a unique key to
the filters. Since the filter data is totally front-end generated we do
not have any unique id to use here as the key. So we generate unique id
for each filter now and use it as the key.

Fixes #18040 

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR
> Suggested tests
>- Verify that value input does not lose focus in table filter
>- Verify bug - https://github.com/appsmithorg/appsmith/issues/12638
>- Verify that clearing filters don't reset the current page in the
table and only adding and applying a filter resets the page to 1
>- Verify basic filter functionalities

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-09 16:59:06 +05:30
balajisoundar
bacb77a352
chore: Render below the fold widget components when browser is idle using Intersection Observer (#18747)
## Description
In order to improve the first load of the applications, now we're only
rendering the widget components that are [above the
fold](https://en.wikipedia.org/wiki/Above_the_fold#In_web_design) right
away and rendering the other widget components whenever the browser is
idle. This decreases the amount of time it takes before the first paint
on the screen.

This is getting shipped behind a feature flag!
2023-02-08 16:53:39 +05:30
Vemparala Surya Vamsi
af356c4715
fix: doc viewer and xlsx fixes (#19427) (#20113)
## Description
Updated versions of mammoth and execljs to browser versions. Earlier
versions used were compatible in a node js environment and expected
certain base libraries which were missing in the browser env. Hence
caused errors which prevented the app from loading the base encoded
versions.
2023-02-08 15:22:51 +05:30
Abhinav Jha
8c2825e862
fix: Modal widget background issues (#20446)
## Description

The following issues were caused because of the recent changes with
respect to auto height instant update.
In the recent change, we removed a few wrappers around containers which
seemed unnecessary. This led to the fact that in deploy mode, these
wrappers were not present. The issue with this was that, these wrappers
were responsible for the modal widget's background color styling. This
also led to an issue where the background color was not applied in edit
mode.

To fix this, we've added a wrapper in the component and removed all
styling logic from the widget. This is because, the component is
responsible for the actual rendering and what users see. The widgets
should act as an interface, and as a result, should not deal with
styling.

Fixes #20434 
Fixes #20405 
Fixes #20436 


## Type of change
- Bug fix (non-breaking change which fixes an issue)
2023-02-08 13:31:26 +05:30
Shrikant Sharat Kandula
bb4ca19179
chore: Remove Maps API Key env variable for client (#19486)
Part of #11855.

Instead of getting the Google Maps API Key from runtime env variables,
we get it from the server, as part of the response of
`/api/v1/tenant/current`. This doesn't add a database call, just include
the env variable name in the response, so shouldn't have any performance
impact on the API.

On the client though, the Maps API key won't be available, until at
least the first call to `/tenant/current` is finished.

Also, first big PR in client code. 🙂

Edit: not `/me` anymore, but from `/tenant/current`.

---------

Co-authored-by: Pawan Kumar <pawan.stardust@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-07 14:53:15 +05:30
Pawan Kumar
8076b62c1c
fix: v.1.9.5 Map Widget can't choose color on Markers and Unresponsive on updating (by requerying) (#20274)
## Description
When we worked on replacing the underlying library of google map
component, we accidently replaced the custom icon with the one provided
by google due to which color functionality got lost. This PR fixes this
and also tracks for changes in position or color in the marker values.



Fixes #20271 

## Type of change
- Bug fix 

## How Has This Been Tested?
- Manual

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2180

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-07 14:21:19 +05:30
Abhinav Jha
20de52000d
feat: Auto height instant update (#19082)
## Description
This PR adds one of the promised updates to the auto height feature. 
More specifically, we wanted to add was the ability to see the
containers change height as we drag and drop widgets within them instead
of after dropping (when auto height is enabled)
This PR does that.


Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-03 11:17:40 +05:30
Dhruvik Neharia
dcb93797cf
fix: Prevent falsy values from breaking the app (#20243)
## Description
Fixes breaking of app when the source data inside menu items evaluated
to NULL.

Fixes #19106 

## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual
- Jest

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2128

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-03 00:29:00 +05:30
Souma Ghosh
f95f0dcee0
fix: Multiseries chart data does not load completely (#20248)
## Description

When single series line chart data has 0 in one y axis value the chart
renders fine but when we add a series to the chart the 0 values were
being sent as null. This was because of an `if` condition which would
send null if the value is 0.
This PR fixes it so that 0 values are passed down to chart properly.

Fixes #20212

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Jest

### Test Case
> https://github.com/appsmithorg/TestSmith/issues/2174

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-02 19:47:09 +05:30
ankurrsinghal
4ff2a488c3
fix: center the widget when height is min auto height (#19496)
## Description
Widgets like Text widget cannot be centered vertically by default in the
canvas as they used to before the Auto Height feature. The reason for
this is that the Auto height feature allows components to specify the
height of the widgets, instead of the other way around (which used to be
the case before auto height)

To fix this, we've made it so that, when a widget -- which has auto
height enabled -- has a height equal to the minimum height and is set to
the minimum possible height (4 rows), the contents in the component are
centered vertically.

Fixes #20119 


Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2023-02-02 18:18:50 +05:30
Keyur Paralkar
406871436a
fix: date settings visibility for different column types (#20172)
## Description

This PR removes the condition where on Image date column type hidden property is false


Fixes #20173

## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual
     - Make sure that date settings is not available in any other column type
     - Make sure that date settings is only available when column type is date and editable is true

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or manual QA
- [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-30 17:46:07 +05:30
Hetu Nandu
aa9b19c995
refactor: Widget Selection (#19643)
## Description

This change is a refactor of widget selection logic. It consolidates all
the business logic to make it easy to maintain. It also improves the
performance a bit.

It touched a lot of features as we heavily rely on this 

```
Select one
Select multiple with drag
Select multiple with shift
Select multiple with cmd/ctrl
Selections should be on the same level of hierarchy
Unselect all by clicking on the canvas
Unselect all by pressing esc
Select all with cmd + a
Paste in main container
Paste in another container
Undo
Redo
Modal Selection
Modal child selection
Context switching
cmd click
snipping mode
new widget suggestion
onboarding
```

> Refactor widget selection logic

Fixes #19570

## Type of change

- Refactor


## How Has This Been Tested?

All existing tests should pass

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing

https://github.com/appsmithorg/appsmith/pull/19643#issuecomment-1383570810

https://github.com/appsmithorg/appsmith/pull/19643#issuecomment-1383607820

https://github.com/appsmithorg/appsmith/pull/19643#issuecomment-1385095478
[Bug bash
issues](https://www.notion.so/appsmith/610aa302f3e146a7b090b7dc6bc63ef9?v=0d277a9b07bf4aac9d717bcaf138c33a)

## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-28 07:47:06 +05:30
Keyur Paralkar
0df0abe7e9
chore: removed unused import (#20145)
## Description

Removes un-used import to fix build failures in CI

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-27 14:29:13 +05:30
Vemparala Surya Vamsi
74c647d95c
fix: add new button is always visible as long as it is enabled (#19762) (#19952)
An enabled add new button was hidden when other header components are
disabled, this PR fixes it.
2023-01-27 13:02:26 +05:30
Arjoban Singh
320c72ad4d
fix: resolve issue of inconsistent color of select all label in disabled state. (#20046)
This `SelectAll` component was using `isDisabled` prop internally, but
the disabled state was passed in `disabled` prop. Although the internal
`ChecboxLabel` component is using disabled prop, so to make
`SelectAll`'s disabled prop name consistent, I used `disabled` prop,
rather than `isDisabled`.
2023-01-27 12:18:37 +05:30
Arjoban Singh
7cef53bb5e
fix: resolve issue of double click to select all in checkbox group (#19994)
In CheckBoxGroupComponent, when `isSelectAll` is enabled, it takes two
clicks to check/uncheck it rather then one. The reason for this issue
was, the custom className `select-all` given to `StyledCheckbox`
component. The same className is available from tailwind which adds the
`user-select: all` property, making the label text of select all option
to be selectable. So it used to select the text on first click, and then
used to check the select all option on second click.
2023-01-27 12:18:01 +05:30
Vemparala Surya Vamsi
f9e58f2ad0
fix: table border issue fix (#18339) (#19967)
Added a bottom border to the entire table header div element
2023-01-27 12:15:44 +05:30
albinAppsmith
110e6085b8
feat: Renamed design system package (#19854)
## Description

This PR includes changes for renaming design system package. Since we
are building new package for the refactored design system components,
the old package is renaming to design-system-old.

Fixes #19536 

## Type of change

- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)


## How Has This Been Tested?

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-23 09:20:47 +05:30
Pawan Kumar
02a0874fec
fix: Checkbox group widget fails to display the updated values (#19504)
## Description

In the issue report by the user the component was not checked values for
defaultSelectedValues. That was because we had componentDidUpdate which
was checking the change in the options property. If there was a change,
it was setting the selectedValues. We found out that this check is not
required. Because of this check only, the component was re-rendering,
and sometimes it was unchecking all the checked values. So we just
removed the check and added the cypress check.

Fixes #19474

## Type of change
- Bug fix 


## How Has This Been Tested?
- Cypress

### Test Plan
> https://github.com/appsmithorg/TestSmith/issues/2143

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-20 11:53:50 +05:30
Vemparala Surya Vamsi
f0ef2b299d
fix: date picker required fix (#19547) (#19853)
Visual support for required state for date picker did not exist earlier
this PR fixes it. It shows a danger border when required condition is
not fulfilled
2023-01-18 17:31:31 +05:30
f0c1s
a0e8bd2061
chore: fix typo from area to aria (#19837)
## Description

It is ARIA, and the attribute is `aria-label`; code had `area-label`.
This PR fixes that typo.

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-18 09:59:42 +05:30
ankurrsinghal
68d21fba7c
feat: multi-line input and auto-resize textarea (#19141)
## Description

Features:-
1. Created a new AutoResizeTextArea component in the editorComponents.
Textarea does not increase its height on adding text, but it increases
its scroll height. To accommodate Auto Height with the
textarea/Multi-line InputWidget, I have created a new TextArea component
which changes its height when its content changes based on its
scrollHeight. This is done by creating another hidden similar proxy
Textarea with contents equal to the widget's value, and whenever this
value changes we run a layout effect that sets the main text area height
equal to the scrollHeight of the proxy textarea.

2. Added a new configuration `Multi-line` for InputWidget in the
Data-Type which will decide whether to replace the `input` element with
`textarea`.
Currently, the way to decide whether we should display a textarea or not
is based on whether widget's height is greater than 8 rows or not. To
fix it, I added a proper configuration which will user to select whether
he/she wants a Single-line input or Multi-line textarea.

3. Replaced the label of `Text` configuration to `Single-line` which
remains a simple `input` element as before.
Changed the label of the Text configuration to Single-line in contrast
with Multi-line.

4. Migration
Added migration number 75 for the InputWidgetsV2. Used the same previous
logic to detect whether the input type should be multiple-line or not
and set the `inputType` to `MULTI_LINE_TEXT` if it's true.

5. Changed a lot of CSS styling in Input components (Currency and Phone
too) so that they look similar to other components like DatePicker and
Select. Currently the input component take containers height which is
different from other components.

6. The onSubmit behaviour of the Multi-line input has also changed. Now
the line-break will happen on Enter and submit will be triggered on Cmd
+ Enter.

7. Added an updateHook in the Input widget which when selected the
Multi-line input will set its dynamic height property to AutoHeight.


Fixes #19655


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

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


## How Has This Been Tested?
- Manual
- Jest

### Test Plan

https://github.com/appsmithorg/TestSmith/issues/2151

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Apple <nandan@thinkify.io>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2023-01-17 18:46:35 +05:30
Vemparala Surya Vamsi
107ead87e7
feat: emoji picker for the RTE widget (#19767)
## Description
Added support for emoji picker in RTE(#19450), Emoji can be added
through the toolbar and editor as well.
2023-01-16 15:36:13 +05:30
Souma Ghosh
12ea1b86ea
feat: Date column type editing for table widget (#19181)
- Integrates Date picker component inside table's date column
- Enables edit mode for date type column in table widget
- Adds all the required Property controls for date picker
- Builds the user flow for date column editing in table widget
2023-01-16 14:53:56 +05:30
dilippitchika
6ce3d9d1e5
chore: Updated a field name in JSON form to be more user friendly (#19580)
## Description

We recently closed a feat-#14231 where we enabled our developers to use
the hidden fields from JSON form in form data. These hidden fields will
point to source data. I have made a change to the label of the field,
previously it was "Use source data" which was unclear as to why "Use
source data" instead we are going to use "Show hidden fields in data"
which on hover will reveal more contextual information on how this field
works.

Had to keep the name short since property pane fields can't be too
lengthy, but wanted to do enough to add more meaning to this property.


Fixes #19577 

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?
- Manual


### Test Plan

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [x] 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
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Ashit Rath <ashit@appsmith.com>
2023-01-16 09:26:25 +05:30
Pawan Kumar
eba4745965
fix: Upgrade map widget library to support react 17 (#19315)
This PR:
 - updates the react 16 to react 17
 - replaces the underlying library for the map widget
 - adds clustering of markers
 - refactor code for map widget's component
 
## Description

Fixes #16946

## Type of change
- Breaking change


## How Has This Been Tested?
- Manually

### Test Plan
https://github.com/appsmithorg/TestSmith/issues/2149

### Issues raised during DP testing
1.
https://github.com/appsmithorg/appsmith/pull/19315#issuecomment-1378495845


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
2023-01-14 00:19:21 +05:30
Arsalan Yaldram
23b0f74c81
fix: slider widgets remove design system label component. (#19246)
## Description
- Slider widgets were still using the `Label component from design
system package`. Replace it with the `Label component from
widgets/components`.

Fixes # (issue)

## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-13 16:38:28 +05:30
Arsalan Yaldram
119f0be18b
chore: update Styled components to latest version and related cleanup (#19284)
## Description
We need to upgrade `styled-components`, so that it will become easy to
upgrade to version 6.0 when it is out. This is because, v6.0 has an
important functionality which isn't available in today's version.

### Tasks completed
- Update Styled components to latest version.
- Prepare codebase by cleaning up the styled components functions that
will be deprecated in version 6
- We are still using the `withTheme` HOC, we should instead use the
`useTheme` hook (best practices)
- Remove the `AnyStyledComponent` type it is un-necessary and will be
deprecated

Fixes #19463


## Type of change
- Non breaking change. The application should work as before and should
not effect any visual elements or UI.

## How Has This Been Tested?
- Manual @appsmithorg/qa please refer to the test plan for areas of
interest.
- Cypress: All existing test cases must pass.

### Test Plan
- We need to do a sanity check on the Product Updates Modal, Release
section.
- We also need to do a sanity check on the Login, Signup, ResetPassword
pages.
- I think we can merge this Pull Request and continue with our weekly
regression, because there are no style changes in this Pull Request,
everything should work as expected.


## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-13 16:35:59 +05:30
Vemparala Surya Vamsi
f0e47a667e
fix: This fixes the border issue for the table v1 widget (#18322) (#19526)
> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.

## Description

This fixes a UX issue in the table v1 widget. Under the filters and
download button the border appear to be missing, this commit fixes it.

Fixes #18322 

## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [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
- [ ] 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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-13 05:13:45 +00:00
balajisoundar
db399c96c7
chore: table widget cell tooltip should be calculated only on hover (#19056)
## Description
Prior to this PR, we were calculating whether a cell has overflowing
content or not when the table gets loaded, to show a tooltip on hover.
But this is affecting the performance of the table, now we're
calculating for a cell only when the user hovers the cell.

Fixes #18995

## Type of change

- chore


## How Has This Been Tested?

- Manual
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [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
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-01-04 10:01:14 +05:30
GitStart-Appsmith
4d7d7f80f9
feat: [APPSMTH-30] When field is hidden in a json form allow user to set if they want to use source data as fallback (#18791)
## Description
When fields is hidden in a json form, those fields value are no longer
available on the widget formData. This implementation is meant to give
dev the options to set if they want to use sourceData that still
contains hidden fields value as fallback when some fields are hidden.

### Step To Reproduce
1. Drop a JSON form
2. create a field and its value is present in the Jsonform1.formdata
3. make this field invisible and its value is not present in the
formdata anymore.
4. do the same thing with a simple form, the field is present regardless
of the field visiibility.


NB: This would require updating the Appsmith Documentation

Fixes #14231 

## Type of change

- New feature (non-breaking change which adds functionality)
- This change requires a documentation update

## How Has This Been Tested?
- Cypress Tests

## 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
- [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
2023-01-03 13:32:16 +05:30
Pawan Kumar
57f20101bb
fix: Improving form widget keyboard accessibility (#18991) 2022-12-30 15:52:11 +01:00
Pawan Kumar
5a1582eb7b
chore: Update upgrade button intercom message + Fix text color on error pages when background is dark (#18975)
This PR
- updates the upgrade button intercom message.
- Fixes text color on error pages when background is dark 

## Type of change
- Bug fix 


## How Has This Been Tested?
- Not needed.

## Checklist:
### Dev activity
- [ ] 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
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2022-12-30 16:27:10 +05:30
Dhruvik Neharia
5c3c5337bb
feat: Dynamic Menu Items - Table Widget (#18945)
## Description

This PR allows adding menu items from a Source for a Menu Button Column
inside the Table Widget.
2022-12-30 16:22:11 +05:30