Commit Graph

1212 Commits

Author SHA1 Message Date
sneha122
49fb6ae852
feat: gsheet disable new query when no files selected (#21912)
## Description

This PR adds:
- When gsheet datasource is created with "Selected Sheets" Modality, and
if user fails to select any files from file picker
    - we should disable new query creation
    - we should show error message banner on datasource review page

**How to test:**
- Create google sheet datasource, break the authorisation flow, check
review page, error message like "Data source is not authorized, please
authorize to continue." would be shown.
- Edit datasource, complete the authorisation but do not pick any files
from file picker, error message like "Datasource does not have access to
any files, please authorize google sheets to use this data source" would
be shown


Fixes #20290

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

### 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
- [ ] 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
- [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: “sneha122” <“sneha@appsmith.com”>
2023-04-06 19:42:34 +05:30
Dipyaman Biswas
25024c0c79
fix: fix usage pulse fallback (#21735)
## Description

Added a fallback value (crypto.randomUUID) when there is an issue with
generating the key from segment

Fixes #https://github.com/appsmithorg/cloud-services/issues/582
Fixes #https://github.com/appsmithorg/cloud-services/issues/583


## Type of change

- Bug fix (non-breaking change which fixes an issue)
- Chore (housekeeping or task changes that don't impact user perception)


## 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
- [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

---------

Co-authored-by: balajisoundar <balaji@appsmith.com>
2023-04-06 17:51:58 +05:30
arunvjn
0bc324b8ba
fix: fixed broken file downloads for urls containing "(" or ")" (#21752)
## Description
- fixed broken file downloads for urls containing "(" or ")"
- Modified regex that checks to see if a string is a URL.
- Added unit tests for isURL utility method.

Fixes #13915 

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

## How Has This Been Tested?
- Manual
- 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
- [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
2023-04-03 23:23:10 +05:30
Favour Ohanekwu
b80b0ca3fa
feat: show lint errors in async functions bound to sync fields (#21187)
## Description

This PR improves the error resolution journey for users. Lint warnings
are added to async JS functions which are bound to data fields (sync
fields).

- JSObjects are "linted" by individual properties (as opposed to being
"linted" as a whole)
- Only edited jsobject properties get "linted", improving jsObject
linting by ~35%.(This largely depends on the size of the JSObject)
<img width="500" alt="Screenshot 2023-04-03 at 11 17 45"
src="https://user-images.githubusercontent.com/46670083/229482424-233f3950-ffec-46f5-8c42-680dff6a412f.png">
<img width="500" alt="Screenshot 2023-03-14 at 11 26 00"
src="https://user-images.githubusercontent.com/46670083/224975572-b2d8d404-aac6-43fb-be14-20edf7c56117.png">
<img width="500" alt="Screenshot 2023-03-14 at 11 41 11"
src="https://user-images.githubusercontent.com/46670083/224975952-c40848b1-69d8-489d-9b62-24127ea1a2f1.png">

Fixes #20289
Fixes #20008


## Type of change

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


## How Has This Been Tested?

- CYPRESS
- 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
- [ ] 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
- [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
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-03 16:11:15 +05:30
Hetu Nandu
c058e29030
chore: Add new navigation scenarios for route change event (#21682)
## Description

Added following new events for gaps inside analytics
- ActionBackButton
- CanvasClick

Fixes #21417

## Type of change

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


## 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
- [ ] 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-30 11:03:29 +05:30
Rishabh Rathod
7aef0f88bf
chore: update js object template (#21842)
## Description

Update the JSObject template 
1. Introduce JSObject variable mutation and improve its discoverability 
2. Show autocomplete suggestions for `this` keyword
3. Move away from complex arrow syntax for function declaration


Fixes #21489

## Type of change

- Chore 


## How Has This Been Tested?

- 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
2023-03-30 10:48:55 +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
Vemparala Surya Vamsi
6410892f2e
chore: [one click binding] Create a registry to maintain the list of the widget query generators (#21764)
## Description

Basic code to build datasource registry for one click binding.
Fixes #21506 

## Type of change

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

## 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
- [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-03-28 20:03:29 +05:30
Druthi Polisetty
93ab966e92
fix: ENTITY_BINDING_SUCCESS event added which is fired whenever there is a successful binding created by the user. (#21227)
## Description
Adding another event called ENTITY_BINDING_SUCCESS which is fired
whenever there is a successful binding created by the user. The
BINDING_SUCCESS event was firing more events than actual binding and
therefore we created a new event to capture the right data.

Fixes #20468 

## 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
When table widget 'data table' is cleared, ENTITY_BINDING_SUCCESS event
is triggered
https://www.loom.com/share/280ab5165b684d59948ae1bc9fe0c074

Templates automatically triggers entitybindingsuccess
https://www.loom.com/share/16be5ae834b44d7bacc73a6d89a99fbd


## 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-24 15:45:11 +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
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
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
Sangeeth Sivan
32e9f0d0db
chore: add pricing url and customer portal url to env var (#21346) 2023-03-15 15:33:27 +05:30
ChandanBalajiBP
f2e1df7e2d
chore: Add telemetry for error handling phase1 (#21011)
## Description

> Telemetry for error handling phase 1 

- [x] Error log opened - **OPEN_DEBUGGER**
- [x] Error log entry expanded - **DEBUGGER_LOG_ITEM_EXPAND**
- [x] Entity link clicked - **DEBUGGER_ENTITY_NAVIGATION**
- [x] Help clicked - **DEBUGGER_HELP_CLICK**
- [x] Documentation clicked - **OPEN_OMNIBAR**
- [x] Error log entry resolved - **DEBUGGER_RESOLVED_ERROR_MESSAGE**


Fixes #20623

## Type of change

> Please delete options that are not relevant.

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


## 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
2023-03-14 19:17:06 +05:30
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
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
Hetu Nandu
e2c2996bc2
fix: Optimise Modal open performance (#21103)
## Description

#20202 had caused a performance regression in widget selection
specifically around opening and closing modals. It was noticed that
focusing on widget caused the increased rendering time.
Focusing involved:
- scrolling a widget into view
- flashing the widget

These two functions are not really needed when a modal is selected since
the modal already comes top and centre. Removing these two functions for
widgets solved the rendering performance issue.

Numbers:

| Test Case | Before Widget Selection | With Widget Selection | Current
PR |

|--------------------------|-------------------------|-----------------------|------------|
| Misc Open Complex Modal | 2035.65 | 2267.84 | 2101.03 |
| Misc Open Simple Modal | 1191.92 | 1156.78 | 1082.88 |
| Open Modal | 558.62 | 813.64 | 576.45 |
| Misc Close Complex Modal | 294.21 | 431.76 | 278.43 |
| Misc Close Simple Modal | 953.42 | 963.77 | 938.77 |
| Close Modal | 384.86 | 673 | 674.61 |


> Reverse performance regression introduced in #20202

Fixes #20901

## Type of change

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


## How Has This Been Tested?

- Performance Tests

### 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-03 13:43:17 +05:30
Nilesh Sarupriya
fb9becec1d
fix: redirection to HomePage when CREATE WORKSPACE permission revoked from Default Role (#21004)
## Description

> Updating the SignUp success flow to take into account, if the new User
can create Workspace or not.
> Issue: 
> When the admin revokes the Create Workspace permission, the existing
flow is still trying to create the workflow post the signup, which
throws an Internal Server Error.
> Solution:
> A check has been introduced which will skip the Workspace Creation
step, if the admin has blocked Workspace Creation from the **Default
Role for All Users** role.
> Also, another change in behaviour is the redirection strategy.
> When the Create Permission is revoked, the user will land on the
HomePage.
> When the permission is not revoked, user will land on a new
Application with the Onboarding tutorial (this exists).

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

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?
This has been tested manually on the local setups, and a QA has been
done on the same on the Deploy Preview.

### 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

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
2023-02-28 20:37:56 +05:30
Vemparala Surya Vamsi
dc97250132
chore: Rewrite widget deprecation message (#20953)
Updating widget deprecation message.
2023-02-28 17:48:35 +05:30
akash-codemonk
2fef0131c9
chore: add analytics event for templates tab (#21030) 2023-02-28 15:43:23 +05:30
akash-codemonk
171d9e4fd8
feat: responsive entity selector control (#20813) 2023-02-27 16:31:06 +05:30
Hetu Nandu
721767d742
feat: URL Navigation for Widgets (#20202)
## Description

Widget selection is driven by URL changes. This would fix browser
navigation for users as they can use browser back/forward buttons to
travel across older contexts on Appsmith.

> Fixing browser URL navigation for widgets

Fixes #19571


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
- Jest
- Cypress

### Test Plan
> Add Testsmith [test
cases](https://github.com/appsmithorg/TestSmith/issues/2171) links that
relate to this PR

### Issues raised during DP testing
- [X] When a selected widget is below viewport and user refreshes the
page, then the widget property pane is open but the page does not
navigate to the selected widget
https://loom.com/share/09f1eda2f02d474981a0d48e4a6419ec

- [ ] Drop 2 widgets one at a time > Delete both the widgets > Now click
on back button of the browser > Observe the url it shows the widget id
in the URL but the canvas remains empty
https://loom.com/share/53cae28a5d224e67b783c8ccf53745f5
Dev Response: This issue is valid but not a major inconvenience. We will
try to track it and see if it needed to be addressed. Many other web
tools do not handle such cases


- [X] Canvas scrolls down when all widgets are selected.
https://loom.com/share/c8a68dadcdb040779abd3a73bde2b06c

- [X] Widget is not getting highlighted when added from the API editor
page. Please refer to the attached
video:-https://jiju8jbmwa.vmaker.com/record/IkwiAqFgafK9dVmu



## 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: Aishwarya UR <aishwarya@appsmith.com>
2023-02-21 19:08:16 +05:30
Sangeeth Sivan
872f799778
feat: usage and billing ce (#20653)
### Description
 - Removes feature flags for usage & billing.
 - moves pricing url to constant.

---------

Co-authored-by: Vishnu Gp <vishnu@appsmith.com>
2023-02-20 22:29:06 +05:30
Abhinav Jha
b5d8e0d086
fix: Fix issues with main container height in edit and preview mode (#20690)
## Description
- [ ] Fix issue where the bottom widget used to be cut off in preview
mode
- [ ] Remove borders for main container when dragging/resizing. This
doesn't seem to effect drag and resize experience. Removed as it did not
signify anything for the user.

Fixes #20710 


Media

Removing main canvas borders when dragging and resizing
-- Before


https://user-images.githubusercontent.com/103687/219452063-4b671ea4-4f52-47fb-99db-d3f442fa40f3.mov


-- After


https://user-images.githubusercontent.com/103687/219452049-45300814-6e4e-40ec-8d20-3b49cc35a252.mov


## Type of change

- Bug fix (non-breaking change which fixes an issue)
2023-02-20 17:40:48 +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
Anand Srinivasan
73ba3a39c5
feat: peek overlay (#20053)
## Description

Hover over appsmith properties in code to peek data.
<img width="380" alt="image"
src="https://user-images.githubusercontent.com/66776129/217707810-164924c0-36e8-4450-b087-18af333c7547.png">

This right now covers:
- Queries/JsObjects/Apis/Widgets and their properties.
- Note: For query or Api, this'll work only upto `Api.data`. (Not
`Api.data.users[0].id`)
- This is because of the way codemirror renders code and we'll need more
time to see how this is best handled.


Misc:
- added `react-append-to-body` to work with variable height for peek
overlay
- we needed a container that doesn't apply `position: absolute` to
itself
- Because, when a container's `height` is zero with `position: absolute`
(like in bp3-portal), child elements cannot be positioned using just the
`bottom` property
- with `react-append-to-body`, the container won't have `position:
absolute`, instead it is applied to the child element `<div>` directly,
hence we can position using `bottom` property.


Fixes #17507


Media
https://www.loom.com/share/0f17918fcd604805b023c215d57fce43


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


## How Has This Been Tested?

- Manual

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

### Issues raised during DP testing

https://github.com/appsmithorg/appsmith/pull/20053#issuecomment-1420545330

https://github.com/appsmithorg/appsmith/pull/20053#issuecomment-1424427913

## 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
- [ ] 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
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-17 21:33:34 +05:30
Shrikant Sharat Kandula
12cf30687f
fix: Remove extra event and old disable var (#20624)
1. Remove the `disableTelemetry` app config field, and the
`APPSMITH_DISABLE_TELEMETRY` runtime env variable in client, since it is
unused and is misleading.

2. There's a bug where the page event is being sent even if telemetry is
turned off. This is just one event, all the others are still disabled
when telemetry is off. The reason for this is because Segment
automatically sends this event on load. Quoting from [their
docs](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#page):
> Analytics.js includes a Page call by default as the final line in [the
Analytics.js
snippet](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet).
2023-02-15 19:16:04 +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
Sangeeth Sivan
02b5e7d7f6
chore: update upgrade page with s3 assets, get instance id(#20562) 2023-02-12 01:13:53 +05:30
arunvjn
1d9d5bb197
fix: access outer scope variables inside callbacks (#20168)
## Description
Any platform function that accepts a callback were unable to access the
variables declared in its parent scopes. This was a implementation miss
when we originally designed platform functions and again when we turned
almost every platform function into a Promise. This PR fixes this
limitation along with some other edge cases.

- Access outer scope variables inside the callback of run, postMessage,
setInterval, getGeoLocation and watchGeolocation functions.
- Fixes certain edge cases where functions with callbacks when called
inside the then block doesn't get executed. Eg `showAlert.then(() => /*
Doesn't execute */ Api1.run(() => {}))`
- Changes the implementation of all the platform function in appsmith to
maintain the execution metadata (info on from where a function was
invoked, event associated with it etc)

#### Refactor changes
- Added a new folder **_fns_** that would now hold all the platform
functions.
- Introduced a new ExecutionMetadata singleton class that is now
responsible for hold all the meta data related to the current
evaluation.
- Remove TRIGGER_COLLECTOR array where all callback based platform
functions were batched and introduced an Event Emitter based
implementation to handle batched fn calls.
- All callback based functions now emits event when invoked. These
events have handlers attached to the TriggerEmitter object. These
handler does the job of batching these invocations and telling the main
thread. It also ensures that platform fn calls that gets triggered out
the the context of a request/response cycle work.

#### Architecture
<img width="751" alt="Screenshot 2023-02-07 at 10 04 26"
src="https://user-images.githubusercontent.com/32433245/217259200-5eac71bc-f0d3-4d3c-9b69-2a8dc81351bc.png">

Fixes #13156
Fixes #20225 

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

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


### Test Plan
  - [ ] https://github.com/appsmithorg/TestSmith/issues/2181
  - [ ] https://github.com/appsmithorg/TestSmith/issues/2182
- [ ] Post message -
https://appsmith-git-chore-outer-scope-variable-access-get-appsmith.vercel.app/app/post-msg-app/page1-635fcfba2987b442a739b938/edit
- [ ] Apps:
https://appsmith-git-chore-outer-scope-variable-access-get-appsmith.vercel.app/app/earworm-1/home-630c9d85b4658d0f257c4987/edit
- [ ]
https://appsmith-git-chore-outer-scope-variable-access-get-appsmith.vercel.app/app/automation-test-cases/page-1-630c6b90d4ecd573f6bb01e9/edit#0hmn8m90ei

### 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:
- [ ] 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 reviewing all Cypress test
2023-02-12 00:03:20 +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
Rhitottam
8fb6abfa12
fix: Add batching strategy to segment analytics tracking so that events are sent to segment in batches instead of individual (#20087)
> Fixes https://github.com/appsmithorg/appsmith/issues/18829

> From Analytics 2.0 onwards, batching to deliver of multiple events
with fewer API calls for faster performance

[https://segment.com/blog/analytics-js-2/](https://segment.com/blog/analytics-js-2/)

[https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#batching](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#batching)
2023-02-08 14:26:46 +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
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
Sangeeth Sivan
ad5d236a05
chore: [Usage & billing] change upgrade hook link and refactor upgrade to BE page (#20312)
## Description

Updates the redirection link when the user clicks on `Upgrade`. Also
renders the background in CSS instead of using still image as an
placeholder.

Fixes #20313 


Media
![Screenshot 2023-02-02 at 2 09 25
PM](https://user-images.githubusercontent.com/74818788/216273606-99c88da1-c047-4940-ae24-4ba532c6a976.png)



## Type of change

> Please delete options that are not relevant.

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



## How Has This Been Tested?
- Manual


## Checklist:
### Dev activity
- [ ] 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
2023-02-03 09:48:50 +05:30
Druthi Polisetty
44dedf89eb
fix: Autocomplete needs to show async await keywords instead of showi… (#20150)
## Description
fix: Autocomplete needs to show async await keywords instead of showing
'no suggestions

<img width="522" alt="image"
src="https://user-images.githubusercontent.com/20187542/215432520-066587e8-665b-4939-bbcf-2bb9d39a88a9.png">


Fixes #10115

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


## How Has This Been Tested?
- 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
2023-02-02 14:01:14 +05:30
Pawan Kumar
b314bd71e4
fix: Brand colors sometimes shows different colors on cloud (#19672)
Caches the tenant config so that we don't show the ugly black color

## Description

Fixes #19530

## Type of change
- Bug fix

## 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

---------

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-02 11:43:00 +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
Sangeeth Sivan
dbf461430d
chore: redirect to pricing page on upgrade hooks (#20064)
## Description

Upgrade button now takes the user to pricing page with source and
instanceId in params.
Feature is behind the usage and billing feature flag


Fixes [#180](https://github.com/appsmithorg/cloud-services/issues/180)


## 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
- [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
2023-01-26 16:50:34 +05:30
Shrikant Sharat Kandula
0aa97324bf
fix: Fix Appsmith logo in emails (#20030)
SVG images don't load correctly in emails, so we're switching back to PNG.

Co-authored-by: Pawan Kumar <pawan.stardust@gmail.com>
2023-01-26 14:13:24 +05:30
Druthi Polisetty
6bb9cf59cb
fix: Autocomplete does not suggest same function name that belongs to… (#19943)
## Description
fix: Autocomplete does not suggest same function name that belongs to a
different object

Fixes # (issue)

[#17059](https://app.zenhub.com/workspaces/fe-coders-pod-6167d1b64ee5f20014242ab7/issues/gh/appsmithorg/appsmith/17059)


<img width="384" alt="image"
src="https://user-images.githubusercontent.com/20187542/213641964-b78c33cc-84fd-4e8d-bbd3-badbf84c6e77.png">



## Type of change

> Please delete options that are not relevant.

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

## How Has This Been Tested?
- 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-01-26 12:21:41 +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
Anand Srinivasan
7c0332b9dd
fix: Query and data source page - 404 error on reload (#19833) 2023-01-20 15:25:06 +05:30
Ayangade Adeoluwa
0d33ef1bc9
fix: Return undefined for nonexistent action headers (#18724)
This issue occurs when users switch the datasource of an API action, and
the actionConfiguration headers is empty. This PR adds conditional
checks to prevent an error from happening.

Fixes #18682

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

- Bug fix (non-breaking change which fixes an 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
- [ ] 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-18 15:31:08 +05:30
rahulramesha
6bef496dad
fix: Container jump temporary undroppable state of dragging widget (#19737)
## Description
This issue was mainly regarding the undroppable state of dragging widget
immediately after timeout is triggered and the container is reflowed.
Passing down the Limits of the dragging widget to recalculate it's state
fixed the issue.

Fixes #19667


Media


https://user-images.githubusercontent.com/71900764/211822454-b8f032ec-ac06-4003-9b3b-3a4f78864265.mp4


## 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
- [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-17 19:45:54 +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
Favour Ohanekwu
a1b07e21c7
fix: Show JS Function data in autocompletion hints (#19811)
## Description

This PR adds JS function data to autocompletion hints

Fixes #15909 

<img width="278" alt="Screenshot 2023-01-16 at 20 35 55"
src="https://user-images.githubusercontent.com/46670083/212754461-68844350-5d23-4b50-af1f-675b7719dc49.png">


## 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-01-17 08:12:16 +01:00
albinAppsmith
dffe5890fb
fix: Rebranding changes for design system components (#19773)
## Description

As part of rebranding, button component from DS was modified to use the
branding color but other components was not using branding colors. This
PR contains changes for all components that uses brand color to consume
rebranding colors as well. Below are the components which got updated.

- Checkbox
- Date Range Picker
- Dropdown - multi select
- Tabs
- Rectangular switch
- Showcase carousal
- Statusbar
- Toggle
- Toast undo redo


Fixes #19093

## Type of change

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


## How Has This Been Tested?
> 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

Co-authored-by: Pawan Kumar <pawan.stardust@gmail.com>
2023-01-17 11:10:49 +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
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
balajisoundar
4c2cd98683
chore: Use rolling window in the usage pulse call and send segment anonymous id for anonymous users (#19552)
## Description
We have updated the user tracking to use a rolling window. Now the
session starts when the user goes to the builder or viewer for the first
time and the subsequent activity tracking will be checked only after an
hour.
For anonymous users, we send the Segment anonymous id in the usage
calls. When the telemetry is off, we still initiate the segment, get the
id and then purge the analytics global object.

Fixed window (in release, as of now)- if the user starts a session at
01:15 pm, we take 01:00 pm as the session start time and we will check
for the next user activity at 2:00 pm.

rolling window (in this PR) - if the user starts a session at 01:15 pm,
we take 01:15 pm as the session start time and we will check for the
next user activity at 2:15 pm.

Fixes https://github.com/appsmithorg/cloud-services/issues/183

## Type of change

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


## 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
- [ ] 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-01-10 17:39:33 +05:30
Ayangade Adeoluwa
f7897e96be
fix: Fix api url binding params (#18987)
This PR fixes API query params from being truncated when a dynamic
binding expression is added to the API Url.

Fixes #16683 

- 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-01-09 17:46:52 +05:30
Hetu Nandu
9090dc6c33
feat: Multi Pane IDE: Phase 1 (#19261)
## Description

Starts work on the Multi Pane IDE that would be behind a feature flag
right now. We will continue work on this behind the scenes

> New shiny Multi Pane layout that will be unwrapped after a few months

Fixes #19210

## 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?
> 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-09 10:54:41 +05:30
rahulramesha
717b2c1610
feat: drag n drop and Container jump enhancements (#19047)
## Description

This PR includes Changes for Drag and drop Improvements, That includes,
- Resizing dragging widgets along Container edges.
- Initially resize widgets against Container/Droptarget widgets.
- While holding close to Container/Droptarget widgets for half a second,
start to reflow the widget.

Fixes #19139 
Fixes #12892


Media


https://user-images.githubusercontent.com/71900764/209154834-66acecbb-2df8-4598-86d5-4fe7843dd21b.mp4



## Type of change

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


## How Has This Been Tested?
- Manual
- 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
- [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-01-06 22:27:40 +05:30
Anand Srinivasan
071b992710
chore: send segment anonymous id (#19122)
Add segment's `anonymousId` as a header in all API calls.

cached id ->
[details](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/identity/#segment-id-persistence)

On Page load actions:
- If segment is enabled:
  - and cached id exists -> trigger with cached id
  - if cached id doesn’t exist, we wait for max 2 seconds.
    - if segment init is success -> trigger with anonymous id
    - if failed/delayed -> trigger without anonymous id
- If segment is disabled we don’t wait at all and anonymous id is not
sent.

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
2023-01-06 19:39:38 +05:30
sneha122
6a59c153c3
fix: Added Gsheet Auth Failure Analytic Event (#19289)
## Description

Added analytic event for google sheet authorization failure. This will help us in understanding percentage of use cases where users are not authorizing their google sheet datasource

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

Fixes #18980 


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)


## 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: “sneha122” <“sneha@appsmith.com”>
2023-01-03 20:47:25 +05:30
Pawan Kumar
57f20101bb
fix: Improving form widget keyboard accessibility (#18991) 2022-12-30 15:52:11 +01:00
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
Ankita Kinger
34d15b03ef
fix: Updating the check for saving page layout in the saga (#19194)
## Description

> Updating the check for saving page layout in the saga to show the no
permission error only on the edit page.

Fixes #19121 #19050 

## Type of change

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

## How Has This Been Tested?
> This works now in the view mode and doesn't throw the error of not
having permission to save the page.

- 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
2022-12-24 15:53:34 +05:30
Abhinav Jha
34b7a841b7
fix: Enable auto height by default for JSONForm widget (#18932)
## Description
- JSONForm by default now has auto height enabled
- Changed the CSS for the messages in JSONForm to a fixed height. This
way, the JSONForm widget doesn't change height until the default form
schema is first loaded.
- Made sure to leave the behaviour in fixed mode uneffected.

Fixes #18931

Media



https://user-images.githubusercontent.com/103687/207424195-47712381-2dd2-4aa2-a8b2-6fe159557482.mov



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


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


## 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
- [PENDING] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [PENDING] 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
- [NA] 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>
2022-12-23 17:05:27 +05:30
Anand Srinivasan
db38a64e71
chore: update imports for code split (#19085)
* move actionTriggers.ts

* update imports Explorer/helpers.tsx

* update imports EntityDefinitions.ts

* update imports Evaluation/Actions.ts

* update imports for ActionExecutionSagas

* missed worker types

* missed imports

* update imports for dataTreeUtils

* missed imports

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-22 12:04:28 +05:30
arunvjn
2dc7dc90e3
feat: Import javascript libraries (#17895) 2022-12-21 22:44:47 +05:30
GitStart-Appsmith
585a19401b
feat: [APPSMTH-29] make step up/down arrows in input Number and Currency widgets optional (#18764)
Co-authored-by: balajisoundar <balaji@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-21 22:37:15 +05:30
Aman Agarwal
4a381607eb
fix: google sheet ui issues, removed redundant code (#18785)
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2022-12-20 20:40:18 +05:30
Aswath K
f9e17f670f
fix: All property control renders when JS toggle button is clicked (#18905)
Fix the performance issue that happens when we click the JS toggle button in property pane.
2022-12-19 15:45:50 +05:30
rahulramesha
6636e8ae82
fix: Remove auto-height from list widget's children (#18755)
* remove auto height from list widget's children

* avoid large diffs

* disable auto height in list widget, review commit

* fix children object for list widget during migration

* reposition comment

* fix blueprint message when multiple widgets are added

* remove comment

* List widget test for Dynamic height updated

* fix propertyPane config

* fix property pane search for hidden dynamic height values

Co-authored-by: Apple <nandan@thinkify.io>
2022-12-18 01:33:35 +05:30
balajisoundar
f49db2a90e
feat: Provide currentRow access in the table widget select column typ… (#18180) 2022-12-16 10:05:51 +05:30
Hetu Nandu
6112e79bac
chore: Navigation analytics (#18781) 2022-12-15 09:36:13 +05:30
Ankita Kinger
faffba78a6
fix: Updating page permissions in view mode to solve error message for updating the page (#18946) 2022-12-14 20:32:13 +05:30
Aman Agarwal
cb1b0b5aa3
fix: removed old key_val_input, updated keyval_array, show ds info (#18626)
fix: removed old key_val_input, updated keyval_array, show ds info
2022-12-13 20:09:16 +05:30
Ankit Srivastava
9f84298dcf
fix: Login password length upper limit changed from 48 to 256 characters (#18176)
* fix - login password length upper limit removed

* removed unused variables

* password max limit of 256 characters

Co-authored-by: Anubhav <anubhav@appsmith.com>
2022-12-13 16:40:47 +05:30
Anand Srinivasan
284571803b
fix: update settings pane validations (#18739)
* init fix

* button style update

* decode url in preview

* bring back custom slug validation

* custom slug validation on type

* remove imports

* handle special characters in url preview

* change label

* code clean up

* remove pageId from action name selector

* messages clean up

* tests for validations

* cypress cases update

* Renamed helper methods

* add index for test cases

* AppSettings specs script ts updates

* Added Bud id in title #18698

* GIt Import spec fix

* GItImport spec fix

* Git import unskip

* Skipping Git import

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-12 10:21:14 +05:30
ashit-rath
f67f8571ec
refactor: JSONForm eliminate the use of canvasWidgets and remove childStylesheet from dynamicBindingPathList (#18715)
* refactor: JSONForm eliminate the use of canvasWidgets and remove childStylesheet from dynamicBindingPathList

* review changes

* fixed field reset on deploy

* reverted prevSourceData changes
2022-12-12 10:13:18 +05:30
akash-codemonk
a6df3a6deb
chore: add analytics for page creation ctas (#18676) 2022-12-12 10:12:17 +05:30
Aswath K
ce2925cafc
feat: Property pane search (#18164) 2022-12-11 20:12:32 +05:30
f0c1s
2ce9665b61
chore: add some more audit logs analytics (#18738) 2022-12-10 14:56:29 +05:30
Pawan Kumar
d7e2c491e0
feat: Branding (#18717)
* add branding for ce

* add ce changes

* update colorpicker ux

* remove unsued flag

* Add new email templates

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* add local appsmith logo

* code review feedback fixes + qa fixes

* remove forward slash in url of favicon

* fix message

* Fix tests

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* update messages

* Fix tests (again)

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* update messages

* fix cypress tests

* skipping app layout test cases

* fix cypress tests

* remove it.only

* try moving test

* use stable DS version

* remove __diff

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-09 20:13:47 +05:30
Hetu Nandu
3b98c8f7fe
feat: Command click navigation via code (#18326) 2022-12-08 17:46:41 +05:30
rahulramesha
3bb9e96e39
feat: [Context Switching] Complex widgets and other Phase 2 items (#17046)
This PR contains changes to retain context on the following items,
Leaving and then returning to a page should maintain what api/query was open
Entity explorer should stay as you left it when you left the page (collapse levels)
Widget/explorer tab
Width - Should be the same across all pages of an app
Property Pane width
Complex widgets, multi tier property panes

Co-authored-by: hetunandu <hetunandu@gmail.com>
Co-authored-by: Akash N <akash@codemonk.in>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-08 12:51:58 +05:30
Favour Ohanekwu
e37f7419b9
fix: Aggregate calls to add and remove Appsmith errors (#18285)
* Aggregate calls to add and remove Appsmith errors

* fix switch type

* Fix entity deletion errors

* Code clean up

* fix cypress tests

* Return early for empty errors in Appsmith debugger

* Remove redundant identifier

* Retain order of debugger logs

* Use push instead of unshift for perf reasons

* redundant commit to retrigger CI
2022-12-07 11:28:29 +01:00
Rishabh Rathod
c440343586
chore: perf data tree shrink (#18361)
trimming dataTree object size by removing configs to make evaluation faster.
2022-12-02 18:15:11 +05:30
Anand Srinivasan
c01ed28189
feat: New settings pane (#16361) 2022-12-02 11:19:51 +05:30
Ankita Kinger
6ea8e2549f
feat: Handle permission driven views for auto-saving pages and action… (#16950)
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com>
Co-authored-by: Sangeeth Sivan <sangeeth@appsmith.com>
Co-authored-by: akash-codemonk <67054171+akash-codemonk@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-01 12:00:50 +05:30
Dhruvik Neharia
1a7b4c6725
feat: Dynamic Menu Items - Menu Button Widget (#17652)
* faet: Add menu items source for menu widget

* feat: Add configuration panel for dynamic menu items

* feat: Pass down items from sourceData to menu items widget

* feat: Take menu items config from property pane for dynamic menu items

* fix: Change all onMenuItemClick to onClick for dynamic menu items

* feat: Create MenuComputeValue property control to add support for {{currentItem}} binding in menu widget

* feat: Add JS toggles for style properties for menu widget

* feat: onClick now supports currentItem for menu button widget

* feat: Add currentItem autocomplete, move property pane config to separate files for menu button widget

* feat: WIP - Add Dynamic Menu Items for Table Widget

* Revert "feat: WIP - Add Dynamic Menu Items for Table Widget"

This reverts commit 271f96211c8612bc6f073a1aab7467993b9d7e36.

* fix: remove current item label by default for dynamic menu items in menu button

* feat: Add source data max length 10 validation for dynamic menu items in menu button

* feat: Add migrations for Dynamic Menu Items for Menu Button Widget

* feat: Add cypress test for dynamic menu items for menu button

* test: Update DSLMigration test with menu button widget tests

* fix: Update MenuButtonWidget migration

* fix: DSL migrations for menu button dynmaic items

* fix: Style validations for menu widget

* feat: Add more descriptive help text for configure menu items in menu button widget

* feat: Change menu items source property type from dropdown to icon tabs

* fix: Cy test for menu button widget to select menu items source from button tabs instead of dropdown

* feat: Make ConfigureMenuItemsControl a Generic/reusable OpenNextPanelWithButtonControl

* refactor: Change MenuComputeValue to MenuButtonDynamicItemsControl

* refactor: Merge TABLE_PROPERTY and MENU_PROPERTY into one ARRAY_AND_ANY_PROPERTY

* fix: Don't polute Menu Button DSL with properties for dynamic menu items until the source is static

* style: Change color of curly braces hint in currentItem autocomplete to make it more readable

* fix: remove unused import

* refactor: Move child config panels to a different file, style: Change help text and placeholder for a few properties for Dynamic menu items - menu button

* refactor: Change event autocomplete function name, use fast equal

* refactor: Change source data validation function name and use camelCase throughout

* refactor: Validation function for source data

* refactor: Create different type for menuItems and configureMenuItems and reuse them property config

* feat: refactor: move get items to widget instead of component

* pref: Visible items to be calculated when menu button is clicked

* refactor: replace !("menuItemsSource" in child) with in migration

* refactor: Change controlType name from OPEN_NEXT_PANEL_WITH_BUTTON to OPEN_CONFIG_PANEL, use generic names inside OpenNextPanelWithButtonControl.tsx

* refactor: Minor cleanup at MenuButtonDynamicItemsControl.tsx

* refactor: Minor cleanup at MenuButtonDynamicItemsControl.tsx

* fix: Change constant used in migration to a static value

* test: Add tests for validations and helper for menu button

* test: Add more Cypress tests for dynamic-menu-items

* fix: Minor refactor at onclick handler and MenuButtonDynamicItemsControl

* refactor: Rename ARRAY_AND_ANY_PROPERTY to ARRAY_TYPE_OR_TYPE

* feat: Move initial source data and keys generation inside an update hook

* refactor: Rename ARRAY_TYPE_OR_TYPE to ARRAY_OF_TYPE_OR_TYPE

* refactor: Minor code refactor in MenuButtonWidget/widget/index.tsx

* refactor: Change OpenNextPanelWithButtonControl with OpenConfigPanelControl

* feat: Use traverseDSLAndMigrate for dynamic menu items migration

* style: Minor code hygiene changes here and there for dynamic menu items

* style: Minor code hygiene changes here and there for dynamic menu items

* style: remove any type for visible items inside dynamic menu items

* refactor: Change type MenuItems to MenuItem

* feat: Add support for dynamic menu items (menu button) inside list widget

* fix: updateMenuItemsSource hook not working when changing from DYNAMIC to STATIC menu items source

* fix: Avoid empty icon name from rendering inside button and menu item

* style: Fix a couple of code callouts

* fix: Update import from TernServer to CodemirrorTernService

* style: fix minor code callouts here and there

* fix: Add check for configureMenuItems.config

* fix: Add wait time after addOption click for DynamicHeight_Auto_Height_spec.js

* fix: Increase the wait time for DynamicHeight_Auto_Height_spec.js to 200ms

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-12-01 10:25:57 +05:30
arunvjn
1f1840aeff
feat: Enable fetch API (#17832) 2022-12-01 03:28:58 +05:30
ankurrsinghal
0de6643922
fix: auto height limits container select (#18546)
* fixed the issue of parent container select while changing the auto height with limits by adding one more check in the clickToSelectWidget hook

* added a unit test to test shouldWidgetIgnoreClicksSelector based on whether we are changing the auto height with limits

* fixed the failing tests

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
2022-11-30 13:02:36 +05:30
sneha122
b5902bf035
feat: Datasource autosave improvements (#17649)
* Datasource autosave improvements WIP

* authenticated API and ds name updates

* popup updates, api to datasource updates

* issue fixes for new ds in new workspace

* formatter issue fixed

* console warning issue fixed

* refresh edge case handled for temp ds

* DS creation cypress update

* datasource improvements issue fixes

* CreateDS flow change cypress update

* reconnect issue fixed

* added space

* Create Ds related script updates

* SaveDs changes updated

* DatasourceForm_spec.js fix

* GoogleSheetsQuery_spec.js - still spec will fail

* GoogleSheetsStub_spec.ts fix

* MongoDatasource_spec.js fix

* ElasticSearchDatasource_spec.js fix

* AuthenticatedApiDatasource_spec.js

* RestApiDatasource_spec.js - will stil fail

* RedshiftDataSourceStub_spec.js fix

* issue fixes for datasource autosave

* save as datasource issue fixed

* SKipped - Bug 18035

* MySQL spec fix

* PostgresDatasource_spec.js fix

* MySQLDataSourceStub_spec.js fix

* MsSQLDataSourceStub_spec.js fix

* Bug16702_Spec.ts fix

* SwitchDatasource_spec.js fix

* ArangoDataSourceStub_spec.js fix

* code review changes, save and authorise issue fixed

* cypress test issue and cypress tests fixed

* client build failure issue fixed

* test failure fixes

* ReconnectDatasource_spec.js fix

* Entity_Explorer_CopyQuery_RenameDatasource_spec.js fix

* GitImport_spec.js fix

* Index add

* undo redo test issue fixed

* fixed cypress tests of rest api ds

* globalsearch_spec.js fixed

* code review changes

* code review comments addressed

* ds schema cypress issue fixed

* cypress test updates

* fix updateDatasource path

* rest api cypress test fixed

* cypress code review changes

* Removing few random .only's

* replay editor fix

* indexed

* adding .skip

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-11-30 11:29:45 +05:30
Ravi Kumar Prasad
eb0c93e0e0
feat: Add type inference for redux's useSelector hook (#18257)
Add type inference for redux's useSelector hook

- Used module augmentation of TS to override the default root state interface
- Replaced custom hook with redux's useSelector
- It brings consistency as at a lot of places in the codebase we're using only the redux's useSelector
2022-11-28 08:13:17 +00:00
rahulramesha
78a37e827c
fix: Known issues with Context Switching (#18470) 2022-11-28 11:14:31 +05:30
Pawan Kumar
1821e31943
fix: Theme Stylesheet refactor (#18258)
* fix

* move stylesheet to widget level

* fix types

* fix types

* fix types

* fix types ( thanks to ashit )

* fix type issue

* add config for list widget

* fix jest tests
2022-11-28 10:14:31 +05:30
Abhinav Jha
b2070083a6
fix: Switch to preview mode performance issue (#18457)
* In progress fixes for auto height perf

* Revert collapse logic

* Revert changes

* Remove console logs, and fix tests

* Fix scenario where container widgets don't collapse

* Bring back hidden widgets

* fix: Overlapping of widgets while reflowing other widgets (#18460)

* fix: api url z-index to show it above response panel (#18200)

* chore: Switched to sequential checks instead of a parallel one for RTS check (#18440)

fix: Switched to sequential checks instead of a parallel one

* chore: Added size limit check for the message before sending the data to segment (#18453)

* fix: Allowing multi form to json switching and eliminating json to form sw… (#18192)

* Allowing multi form to json switching and eliminating json to form switching unless form data is cleared

* Fix failing jest test case

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>

* add missed width and height limits instead of incrementing depth by 1

Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>

* fix: auto height with limits deselect widget (#18455)

* fix: api url z-index to show it above response panel (#18200)

* chore: Switched to sequential checks instead of a parallel one for RTS check (#18440)

fix: Switched to sequential checks instead of a parallel one

* chore: Added size limit check for the message before sending the data to segment (#18453)

* fix: Allowing multi form to json switching and eliminating json to form sw… (#18192)

* Allowing multi form to json switching and eliminating json to form switching unless form data is cleared

* Fix failing jest test case

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>

* refactor overlay and handles state into ui reducer and added a check for is limits changing in the widgets editor as well

* added helpful comments at relevant places

Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* changes the label on limit handles collision to height

* fix: issues related to tabs widget in auto height (#18468)

* Fix issues related to tabs widget in auto height

* Fix issue where preview mode canvas did not scroll

* Fix scroll issues with fixed containers

* Fix issue where tabs widget computed the canvas height incorrectly

* Re-compute in case of tabs widget

* fix: widgets increase spacing  (#18462)

* Change how the spacing works when widgets push or pull widgets below

* Fix type issues in test file

* Fix tests to reflect changes

* Add comment to describe why we're generating distanceToNearestAbove

Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: ankurrsinghal <ankur@appsmith.com>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
2022-11-27 22:42:00 +05:30
arunvjn
abf54ec84f
chore: Moved tern server to worker (#18464)
* Fixes autocomplete on first page load.
2022-11-27 11:41:01 +05:30
Rishabh Kashyap
29204f546e
feat: add tableheader property to autocomplete in table (#18137)
* tableheader logic initiated

* autocomplete logic done

* logic and test cases written

* test cases updated

* feedback incorporated

* incorporated feedback

* test cases reduced

* test case altered to write number inplace of object

* changes made in the cypress test
2022-11-25 11:42:23 +05:30
ankurrsinghal
c287b4d781
fix: auto height regression fixes (#18410)
* removed block and added flex consistent in the alignment case of left and right

* fixed radio group which broke because of display block

* default enabled auto height for every widget

* added reivew changes

* reverted the switch group style changes and added the check for Text widget background in the AutoHeightContainer

* changed the scroll helper text for containers

* reverted the default enable for all the widgets

* test: fixed DH flaky test (#18415)

fixed DH flaky test

* fix: auto height container computations (#18408)

* Fix auto height container computations

* fix: Invisible Widgets Overlap while switching back and forth between edit and preview modes in rare cases (#18398)

sort Space based on original position if dynamic positions are equal while generating tree

* fix: group widgets label alignment. (#18360)

* fix: group widgets label alignment.

* fix: switch and radio fix transform styles for auto height.

* feat: disable auto height limits for modal (#18386)

* added multi select back

* (WIP): Complete the dynamc height update logic

* (WIP): Dynamic height logic

* (WIP): Container computation logic, Next steps: Prevent reflow when resize is disabled. Fix logic of widgets randomly changing positions (Debug)

* Fix logic in container computations

* Integrate for PoC

* fixed the no initial load dynamic height updates

* Stop vertical resize and reflow when dynamic height is enabled for a widget

* added another container in text widget

* enabled dynamic height for container widgets

* removed dynamic height feature from list widget

* Fixed Button and Input components height increase

* added an experiment to overflow the content if maxHEight is less

* removed the ref of Textwidget by mistake, added it back

* fixed text widget height overflow problem with a little hack

* added long labels with text

* fixed the table scroll issue

* overflow fixed for json form widget

* added extra 8px height for Switch, Rating and Checkbox Height

* (WIP): Resolve issues

* (WIP): Fix widget padding issue

* added overflow container for Radio and Switch group widgets

* (WIP): Have modals work with dynamic height

* added the overlay and the handles

* added dragging behavior to the dots

* fixed the overlapping with the selection tool

* (WIP): Fix issues reported

* now we can update the property pane values back from overlay handles

* now we can update the property pane values back from overlay handles

* (WIP): Fix table widget

* Fix package.json

* Remove unit tests temporarily

* Fix unit test

* (WIP): Fix modal resize. Fix cursors. Fix border issue on non-resizable widgets

* fetch component heights using the requestAnimationFrame callback

* behavioural changes

* (WIP): Fix issues on the platform

* Update main container size appropriately

* more behavioural changes

* overlay now only be visible when hovering over the dots

* grid showing and widget reselecting

* added onfocus and onblur events to property pane listeners

* added onfocus and onblur events to property pane listeners

* added a range slider for min and max

* added demarcations for slider values

* (WIP): Fix platform workflows for dynamic height

* Fix issues with widgets

* Fix removed import

* - Add missing cypress files

* set the limits

* limit increase on change

* Fix z-index of min max limit indicators. Fix unused-vars warnings

* Fix Table Widget and Text Widget issues

* Fix: all the bugs in the bug master list for DH (#16268)

* changed the zindex for the signifiers

* showing signifiers only when the widget is selected

* made changes suggested by Momcilo

* activate the dots when the fields are active

* created a new centered dot handle

* removed overlays on focus and made the border more like deisgn

* handles on top of other widgets

* hide the overlay when multiple widgets are selected

* added a white border

* added a white border

* bug #15509 resolved

* changed the minDynamicHeightLimit to 2 instead of 4 to fix the Bug #15527

* removed the height auto fix from BaseInputComponent to fix the Bug #15388

* removed the condition to not ccalculate dynamic height when the row difference is less than 2 to fix the bug 15353

* made fixes for the bug #16307

* made fixes for the bug #16308

* made fixes for bug 16310

* made fixes for the bug #16402

* removed some log statements

* made fixes for the bug #16407

* fixed label problem found in the issue #16543

* made fixes for the issue #16547

* made fixes for the bug #16492

* redeploy

* (WIP): Fix to make this branch functional

* imported LabelWithTooltip back from design system

* signifier is now centered

* filled the signifier with primary color

* overlay hidden while dragging

* made the signifier dashed border also draggable

* Fix issue #16590 (#16798)

* set the limits to 4 rows

* replaced the static 40 value

* added signifiers for modal widget

* added signifiers for modal widget

* tried solving the scroll issue for widgets when there are limits

* solved the height problem using ResizeObserver

* (WIP): Fix maxDynamicHeight issue with container widgets:

* made the changes as per the review

* fixed the issue for input widget when label gets out of border

* hide text widget overflow options if auto height is enabled

* (WIP): In view mode, invisible widgets now donot take space (#16920)

* (WIP): In view mode, invisible widgets now donot take space

* (WIP): Enable the feature where invisible widgets in view mode don't take space to all widgets irrespective of the dynamic height feature

* Remove Replay conditional

* removed the scroll container for container type widgets

* removed the scroll container for container type widgets

* updated the hook to set overflow none for text widget

* fixed the should dynamic height logic to respect the min height limit

* Modal widget adheres to dynamic height (#16995)

* Modal widget adheres to dynamic height

* WIP: POC: fix dynamic height issues  (#16996)

Fix height less than 4 issue. Fix JSONForm adherence to min and max height

* POC: Dynamic height undo redo issue (#17085)

* Revert debouce timeout

* (WIP): Fix issue with undo-redo in dynamic height

* fix: Dynamic height issue fixes (#17153)

* Dynamic height issue fixes
==

- Fix issue where nested widgets did not ensure parent dynamic height updates
- Fix issue where Modal widget updates came in subsequent renders
- Fix issue where JSONForm collapses
- Fix performance issue for independent updates

* Use functions to get min and max dynamic height

* Fix issue where variable might have been undefined

* added the dynamic container into the deploy mode as well

* added overflow-x hidden when overflow-y is active in the dynamic height container

* fix: Dynamic height Issue fixes (#17204)

Fix preview mode invisible widgets. Fix Tabs widget dynamic height.

* removed a console.log statement

* removed the slider control file

* imported the LabelWithTooltip from the repo rather than ds

* word-break CSS rules added for Switch and Checkbox widget when Dynamic Height is enabled

* abstracted the check for dynamic height with limits enabled as isDynamicHeightWithLimitsEnabledForWidget

* abstracted the static value of 10 in dynamic height overlay to GridDefaults

* abstracted min and max dynamic height limits to getters

* fix: replaced all the refs for simpler widgets (#17353)

* replaced all the refs for simpler widgets

* removed the updateDynamicHeight from componentDidUpdate in BaseWidget

* added back lifecycle methods back to BaseWidget

* removed the contentRef from SwitchGroup and Table

* updating the height from the auto height with limits as well

* some hacks to make the limits work

* working solution

* used setTimeout to send an update to updateDynamicHeight from overlay update

* removed a log

* added requestanimationframe in settimeout

Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* Fix issues caused during merge

* Remove unneeded derived property

* removed more unnecessary code which should have been removed after removing the ref dependency

* fixed the maxDynamicHeight issue

* Fix issue where property configs were not being sent

* fix: Auto Height Feature - add selectors for tests (#17687)

Add selectors for auto height cypress tests

* fix: removed height auto default theme (#17415)

removed height auto css rule from the default theme

Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>

* fix: Auto Height Feature - Resolve issues and restructure code (#17686)

* Fix issues in dynamic height. Restructure code and reduce abstraction leaks

* Fix typescript issues

* Update based on review comments. Comment migrations, as a cyclic import is causing the jest tests to fail.

* Remove unused imports

* Decrease code nesting

* added the base styles for the overlay like position and z-index in its styled component css

* used the isDynamicHeightEnabled prop to set the height of SwitchGroup and RadioGroup widgets from 32px to 100% in case of inline mode

* fix: Auto Height - Resolve issues (#17737)

* Fix Tabs Widget showTabs toggle based auto height. Revert removal of BaseWidget code. Remove box-intersect and use a bruteforce algorithm. Add base logic for having containers collapse due to hidden child widgets

* Hide scroll contents and overflow property pane controls when dynamic height is enabled

* Removed the class property expectedHeight from BaseWidget as it is not useful in the overlay logic after some changes

* fixed the left alignment issue of label in the rich text editor by adding some styles applied only when the dynamic height is enabled

* fixed the input field stretching issue in case of Dynamic height by adding some CSS styles when isDynamicHeight is true

* Fix failing modal widget cypress tests

* Fix issue with scrollContents and Tabs Widget defaulTab

* added a little bit padding of 4px to the right of scroll container of dynamic height with limit

* Add test locators for resize handles

* removed the dynamic height logic from the table widget

* fix: Auto-Height invisible widgets (#17849)

* Fix issue where invisible widgets were still taking space

* Make sure to collapse only if dynamic height is enabled

* Fix issues with reflow (not the invisible widgets)

* Fix container min height issues

* Fix reflow with original bottom and top values. Testing needed

* Fix invisible widgets

* fix: enabled dynamic height for stat box widget (#17971)

enabled dynamic height for stat box widget

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: added a min height to rich text editor so that it does not collapse (#17970)

added a min height to rich text editor so that it does not collapse

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* Fix issue with resizing auto height widget

* Add helper text to educate users regarding the scroll disconnect in WYSIWYG

* fix: Auto Height Fixes (#18111)

AUTO HEIGHT FIXES

- Fix JSONForm height discrepancy
- Fix issue where widgets moved below the other
- Fix droptarget height after parent container resize

* fix: sliced up the DynamicHeightOverlay component a little bit (#18100)

* sliced up the DynamicHeightOverlay component a little bit

* more refactoring

* more refactoring

* used release event emitter and refactored more

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: rich text editor center alignment issue (#18142)

* removed the center alignment from rich text editor

* dummy commit

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: old DSL container collapse (#18160)

* Fix issue where old containers from old DSLs used to collapse when auto height was enabled

* Fix issue where old containers don't allow new widgets to be added when auto height is enabled, this is because the shouldScrollContents is undefined

* fix: input widgets issue (#18172)

fixed the auto height not working issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: preview deploy mode (#18174)

fixed the preview and deploy mode

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits label intersection with handle dot (#18186)

fixed the position of the limits label to the right so that it will not intersect with the handle dot

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits rich text editor min height (#18187)

decrease the min height of the RTE so that it does not have the boundary issue with the max limit when auto height with limits is enabled

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: grammatical error in the help text (#18188)

changed react to reacts in the helpText of the dynamic height property in the proeprty pane

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height tabs double scroll (#18210)

solved the issue by disabling the scroll for the child canvas widget in the tabs widget

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits resizing (#18213)

* fixed the auto height limits resizing issue

* made the auto height overlay independent of isResizing and used its own property to show the grid

* some more refactoring

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* dummy commit

* fix: old apps container issue (#18255)

filtered out the widgets which are detached from layout

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: fixing auto height in childless containers. (#18263)

fixing auto height in childless containers.

* task: Dynamic height reflow fixes in Branch (#18244)

dynamic height reflow fixes

* fix: compact label issue and min and max limits numeric input (#18282)

fixed compact label issue and turned min and max limits to numeric input

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: LabelWithTooltip help icon fix

* fix: NaN and min limit for min and max (#18284)

* fixed compact label issue and turned min and max limits to numeric input

* fixed NaN and set min to be 4

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: validation issues for min max (#18286)

* fixed compact label issue and turned min and max limits to numeric input

* fixed NaN and set min to be 4

* validations start working min max

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* added a full stop to container scroll helper text

* validations start working min max

* dummy commit

* feat: stop resizing auto height widgets vertically because of Drag n Drop Reflow (#18267)

* reflow fixes

* stop resizing auto height widgets vertically because of Drag n Drop Reflow

* feat: Analytics for Dynamic height (#18279)

* Fix canvas min height issue and invisible widgets issue and remove logs and fix issue where widgets overlapped when coming back from preview mode to edit mode

* Fix issue with containers not respecting auto height and decreasing height

* Fix issue with modal widget not hugging contents, and container widgets never become visible after going invisible

* Fix issue where existing containers don't have correct min height for child canvas

* fix: canvasLevelsReducers test (#18301)

fixed the canvasLevelsReducers test

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: removed auto height min max config from widget features (#18316)

removed auto height min max config from widget features

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: Fixing Modal Height updates (#18317)

Fixing Modal Height updates

* fix: text widget background auto height (#18319)

added background color of Text widget back to the auto height container

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* test: cypress tests for auto height (#17676)

* Added tests for dynamic height

* updated tests for another usecase

* moved locators into commonfile

* updated common method

* added tests for some more widgets

* Added tests for jsonForm / Form widget

* Updated the test

* updated test for multiple text widgets

* updated test with few more usecases

* updated the dsl

* updated tests for text change

* updated tests based on new changes

* updated cypress test fixes

* fix: auto height container merge poc wrt release (#18334)

updated the poc wrt PR already merged in the release regarding the auto height container

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: renamed auto height overlay components and added some tests (#18333)

* renamed auto height overlay components and added some tests

* replaced the 10 value with GridDefaults

* avoiding event to reach drop target

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* updated tests

* Merge all code into one branch

* Fix failing AutoHeightcontainer test

* fix: Fix reflow computations which were causing widget overlap (#18300)

* Fix reflow computations which were causing widget overlap

* Fix issues with parent container height and overlapping widgets

* Remove console logs

* Revert comment

* Fix issues related to reflow of containers

* feat: Making getEffectedBoxes a Recursive function in autoHeight Reflow (#18336)

Making getEffectedBoxes a Recursive function in autoHeight Reflow

* Return null for invisible widgets from withWidgetProps

* Remove duplicate import

Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>

* Remove missed console log

* fix: Label position gets deselected on selecting already selected option (#18298)

* fix: Label position gets deselected on selecting the already selected value

* Added migration for Currency & Phone input widgets

* simplify migration function using a utility

* combine conditions

* Increments LATEST_PAGE_VERSION

* Update DynamicHeight_Visibility_spec.js

updated a check wrt auto height

* Handling Modals for canvas size calculations

* fix: migrate label position test failing issue (#18365)

fixed migrate label postition test failing issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* removed the two unwanted imports from DSLMigrations to fix client build

* fix: Auto height zero and limits issue (#18366)

fixed the auto height zero and limits issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: Auto height regression issues (#18367)

* Fix auto height regression issues #18367

* feat: auto height migrations (#18368)

Add auto height migrations

* Increase file caching size

* Use manual array for list of auto height enabled widgets

* Fix cypress test dsl versions

* Revert changes to shouldUpdateHeightDynamically

* Update test results based on code changes

* Marginally increase the workbox file size cache

* review comment incorporated for test spec

* Update container auto height property on drop

* Disable auto height with limits for modal

Co-authored-by: Ankur Singhal <ankur@appsmith.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Abhinav Jha <zatanna@Abhinavs-iMac.lan>
Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>
Co-authored-by: Albin <albin@appsmith.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: Apple <nandan@thinkify.io>

* chore: Moved height property to General section (#18402)

* fix: Height property is moved to General section

* Logs an Error if section is not General

* fix: Cypress

* enabled auto height for all the widgets except json form

* removes accidentally committed files

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* disabled default auto height for input widgets and select widgets and datepicker widget

* feat: Disable auto height for widgets in List Widget (#18381)

* Remove auto height for container Inside List widget

* remove unneccessary changes

* disable feature at generalConfig instead of firstConfig

* add todo comment

* skipped the get min limit tests

* fixed AutoHeightLimitHandleDot tests

* Updated cypress tests for regression changes

* update visual tests for widget layout

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>
Co-authored-by: Arsalan Yaldram <arsalanyaldram0211@outlook.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Abhinav Jha <zatanna@Abhinavs-iMac.lan>
Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Albin <albin@appsmith.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: Apple <nandan@thinkify.io>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2022-11-25 00:10:06 +05:30
Abhinav Jha
4361db4269
feat: Automatic height updates for widgets based on contents (Auto Height) (#18341)
* added multi select back

* (WIP): Complete the dynamc height update logic

* (WIP): Dynamic height logic

* (WIP): Container computation logic, Next steps: Prevent reflow when resize is disabled. Fix logic of widgets randomly changing positions (Debug)

* Fix logic in container computations

* Integrate for PoC

* fixed the no initial load dynamic height updates

* Stop vertical resize and reflow when dynamic height is enabled for a widget

* added another container in text widget

* enabled dynamic height for container widgets

* removed dynamic height feature from list widget

* Fixed Button and Input components height increase

* added an experiment to overflow the content if maxHEight is less

* removed the ref of Textwidget by mistake, added it back

* fixed text widget height overflow problem with a little hack

* added long labels with text

* fixed the table scroll issue

* overflow fixed for json form widget

* added extra 8px height for Switch, Rating and Checkbox Height

* (WIP): Resolve issues

* (WIP): Fix widget padding issue

* added overflow container for Radio and Switch group widgets

* (WIP): Have modals work with dynamic height

* added the overlay and the handles

* added dragging behavior to the dots

* fixed the overlapping with the selection tool

* (WIP): Fix issues reported

* now we can update the property pane values back from overlay handles

* now we can update the property pane values back from overlay handles

* (WIP): Fix table widget

* Fix package.json

* Remove unit tests temporarily

* Fix unit test

* (WIP): Fix modal resize. Fix cursors. Fix border issue on non-resizable widgets

* fetch component heights using the requestAnimationFrame callback

* behavioural changes

* (WIP): Fix issues on the platform

* Update main container size appropriately

* more behavioural changes

* overlay now only be visible when hovering over the dots

* grid showing and widget reselecting

* added onfocus and onblur events to property pane listeners

* added onfocus and onblur events to property pane listeners

* added a range slider for min and max

* added demarcations for slider values

* (WIP): Fix platform workflows for dynamic height

* Fix issues with widgets

* Fix removed import

* - Add missing cypress files

* set the limits

* limit increase on change

* Fix z-index of min max limit indicators. Fix unused-vars warnings

* Fix Table Widget and Text Widget issues

* Fix: all the bugs in the bug master list for DH (#16268)

* changed the zindex for the signifiers

* showing signifiers only when the widget is selected

* made changes suggested by Momcilo

* activate the dots when the fields are active

* created a new centered dot handle

* removed overlays on focus and made the border more like deisgn

* handles on top of other widgets

* hide the overlay when multiple widgets are selected

* added a white border

* added a white border

* bug #15509 resolved

* changed the minDynamicHeightLimit to 2 instead of 4 to fix the Bug #15527

* removed the height auto fix from BaseInputComponent to fix the Bug #15388

* removed the condition to not ccalculate dynamic height when the row difference is less than 2 to fix the bug 15353

* made fixes for the bug #16307

* made fixes for the bug #16308

* made fixes for bug 16310

* made fixes for the bug #16402

* removed some log statements

* made fixes for the bug #16407

* fixed label problem found in the issue #16543

* made fixes for the issue #16547

* made fixes for the bug #16492

* redeploy

* (WIP): Fix to make this branch functional

* imported LabelWithTooltip back from design system

* signifier is now centered

* filled the signifier with primary color

* overlay hidden while dragging

* made the signifier dashed border also draggable

* Fix issue #16590 (#16798)

* set the limits to 4 rows

* replaced the static 40 value

* added signifiers for modal widget

* added signifiers for modal widget

* tried solving the scroll issue for widgets when there are limits

* solved the height problem using ResizeObserver

* (WIP): Fix maxDynamicHeight issue with container widgets:

* made the changes as per the review

* fixed the issue for input widget when label gets out of border

* hide text widget overflow options if auto height is enabled

* (WIP): In view mode, invisible widgets now donot take space (#16920)

* (WIP): In view mode, invisible widgets now donot take space

* (WIP): Enable the feature where invisible widgets in view mode don't take space to all widgets irrespective of the dynamic height feature

* Remove Replay conditional

* removed the scroll container for container type widgets

* removed the scroll container for container type widgets

* updated the hook to set overflow none for text widget

* fixed the should dynamic height logic to respect the min height limit

* Modal widget adheres to dynamic height (#16995)

* Modal widget adheres to dynamic height

* WIP: POC: fix dynamic height issues  (#16996)

Fix height less than 4 issue. Fix JSONForm adherence to min and max height

* POC: Dynamic height undo redo issue (#17085)

* Revert debouce timeout

* (WIP): Fix issue with undo-redo in dynamic height

* fix: Dynamic height issue fixes (#17153)

* Dynamic height issue fixes
==

- Fix issue where nested widgets did not ensure parent dynamic height updates
- Fix issue where Modal widget updates came in subsequent renders
- Fix issue where JSONForm collapses
- Fix performance issue for independent updates

* Use functions to get min and max dynamic height

* Fix issue where variable might have been undefined

* added the dynamic container into the deploy mode as well

* added overflow-x hidden when overflow-y is active in the dynamic height container

* fix: Dynamic height Issue fixes (#17204)

Fix preview mode invisible widgets. Fix Tabs widget dynamic height.

* removed a console.log statement

* removed the slider control file

* imported the LabelWithTooltip from the repo rather than ds

* word-break CSS rules added for Switch and Checkbox widget when Dynamic Height is enabled

* abstracted the check for dynamic height with limits enabled as isDynamicHeightWithLimitsEnabledForWidget

* abstracted the static value of 10 in dynamic height overlay to GridDefaults

* abstracted min and max dynamic height limits to getters

* fix: replaced all the refs for simpler widgets (#17353)

* replaced all the refs for simpler widgets

* removed the updateDynamicHeight from componentDidUpdate in BaseWidget

* added back lifecycle methods back to BaseWidget

* removed the contentRef from SwitchGroup and Table

* updating the height from the auto height with limits as well

* some hacks to make the limits work

* working solution

* used setTimeout to send an update to updateDynamicHeight from overlay update

* removed a log

* added requestanimationframe in settimeout

Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* Fix issues caused during merge

* Remove unneeded derived property

* removed more unnecessary code which should have been removed after removing the ref dependency

* fixed the maxDynamicHeight issue

* Fix issue where property configs were not being sent

* fix: Auto Height Feature - add selectors for tests (#17687)

Add selectors for auto height cypress tests

* fix: removed height auto default theme (#17415)

removed height auto css rule from the default theme

Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>

* fix: Auto Height Feature - Resolve issues and restructure code (#17686)

* Fix issues in dynamic height. Restructure code and reduce abstraction leaks

* Fix typescript issues

* Update based on review comments. Comment migrations, as a cyclic import is causing the jest tests to fail.

* Remove unused imports

* Decrease code nesting

* added the base styles for the overlay like position and z-index in its styled component css

* used the isDynamicHeightEnabled prop to set the height of SwitchGroup and RadioGroup widgets from 32px to 100% in case of inline mode

* fix: Auto Height - Resolve issues (#17737)

* Fix Tabs Widget showTabs toggle based auto height. Revert removal of BaseWidget code. Remove box-intersect and use a bruteforce algorithm. Add base logic for having containers collapse due to hidden child widgets

* Hide scroll contents and overflow property pane controls when dynamic height is enabled

* Removed the class property expectedHeight from BaseWidget as it is not useful in the overlay logic after some changes

* fixed the left alignment issue of label in the rich text editor by adding some styles applied only when the dynamic height is enabled

* fixed the input field stretching issue in case of Dynamic height by adding some CSS styles when isDynamicHeight is true

* Fix failing modal widget cypress tests

* Fix issue with scrollContents and Tabs Widget defaulTab

* added a little bit padding of 4px to the right of scroll container of dynamic height with limit

* Add test locators for resize handles

* removed the dynamic height logic from the table widget

* fix: Auto-Height invisible widgets (#17849)

* Fix issue where invisible widgets were still taking space

* Make sure to collapse only if dynamic height is enabled

* Fix issues with reflow (not the invisible widgets)

* Fix container min height issues

* Fix reflow with original bottom and top values. Testing needed

* Fix invisible widgets

* fix: enabled dynamic height for stat box widget (#17971)

enabled dynamic height for stat box widget

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: added a min height to rich text editor so that it does not collapse (#17970)

added a min height to rich text editor so that it does not collapse

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* Fix issue with resizing auto height widget

* Add helper text to educate users regarding the scroll disconnect in WYSIWYG

* fix: Auto Height Fixes (#18111)

AUTO HEIGHT FIXES

- Fix JSONForm height discrepancy
- Fix issue where widgets moved below the other
- Fix droptarget height after parent container resize

* fix: sliced up the DynamicHeightOverlay component a little bit (#18100)

* sliced up the DynamicHeightOverlay component a little bit

* more refactoring

* more refactoring

* used release event emitter and refactored more

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: rich text editor center alignment issue (#18142)

* removed the center alignment from rich text editor

* dummy commit

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: old DSL container collapse (#18160)

* Fix issue where old containers from old DSLs used to collapse when auto height was enabled

* Fix issue where old containers don't allow new widgets to be added when auto height is enabled, this is because the shouldScrollContents is undefined

* fix: input widgets issue (#18172)

fixed the auto height not working issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: preview deploy mode (#18174)

fixed the preview and deploy mode

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits label intersection with handle dot (#18186)

fixed the position of the limits label to the right so that it will not intersect with the handle dot

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits rich text editor min height (#18187)

decrease the min height of the RTE so that it does not have the boundary issue with the max limit when auto height with limits is enabled

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: grammatical error in the help text (#18188)

changed react to reacts in the helpText of the dynamic height property in the proeprty pane

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height tabs double scroll (#18210)

solved the issue by disabling the scroll for the child canvas widget in the tabs widget

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits resizing (#18213)

* fixed the auto height limits resizing issue

* made the auto height overlay independent of isResizing and used its own property to show the grid

* some more refactoring

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* dummy commit

* fix: old apps container issue (#18255)

filtered out the widgets which are detached from layout

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: fixing auto height in childless containers. (#18263)

fixing auto height in childless containers.

* task: Dynamic height reflow fixes in Branch (#18244)

dynamic height reflow fixes

* fix: compact label issue and min and max limits numeric input (#18282)

fixed compact label issue and turned min and max limits to numeric input

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: LabelWithTooltip help icon fix

* fix: NaN and min limit for min and max (#18284)

* fixed compact label issue and turned min and max limits to numeric input

* fixed NaN and set min to be 4

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: validation issues for min max (#18286)

* fixed compact label issue and turned min and max limits to numeric input

* fixed NaN and set min to be 4

* validations start working min max

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* added a full stop to container scroll helper text

* validations start working min max

* dummy commit

* feat: stop resizing auto height widgets vertically because of Drag n Drop Reflow (#18267)

* reflow fixes

* stop resizing auto height widgets vertically because of Drag n Drop Reflow

* feat: Analytics for Dynamic height (#18279)

* Fix canvas min height issue and invisible widgets issue and remove logs and fix issue where widgets overlapped when coming back from preview mode to edit mode

* Fix issue with containers not respecting auto height and decreasing height

* Fix issue with modal widget not hugging contents, and container widgets never become visible after going invisible

* Fix issue where existing containers don't have correct min height for child canvas

* fix: canvasLevelsReducers test (#18301)

fixed the canvasLevelsReducers test

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: removed auto height min max config from widget features (#18316)

removed auto height min max config from widget features

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: Fixing Modal Height updates (#18317)

Fixing Modal Height updates

* fix: text widget background auto height (#18319)

added background color of Text widget back to the auto height container

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* test: cypress tests for auto height (#17676)

* Added tests for dynamic height

* updated tests for another usecase

* moved locators into commonfile

* updated common method

* added tests for some more widgets

* Added tests for jsonForm / Form widget

* Updated the test

* updated test for multiple text widgets

* updated test with few more usecases

* updated the dsl

* updated tests for text change

* updated tests based on new changes

* updated cypress test fixes

* fix: auto height container merge poc wrt release (#18334)

updated the poc wrt PR already merged in the release regarding the auto height container

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: renamed auto height overlay components and added some tests (#18333)

* renamed auto height overlay components and added some tests

* replaced the 10 value with GridDefaults

* avoiding event to reach drop target

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* updated tests

* Merge all code into one branch

* Fix failing AutoHeightcontainer test

* fix: Fix reflow computations which were causing widget overlap (#18300)

* Fix reflow computations which were causing widget overlap

* Fix issues with parent container height and overlapping widgets

* Remove console logs

* Revert comment

* Fix issues related to reflow of containers

* feat: Making getEffectedBoxes a Recursive function in autoHeight Reflow (#18336)

Making getEffectedBoxes a Recursive function in autoHeight Reflow

* Return null for invisible widgets from withWidgetProps

* Remove duplicate import

Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>

* Remove missed console log

* fix: Label position gets deselected on selecting already selected option (#18298)

* fix: Label position gets deselected on selecting the already selected value

* Added migration for Currency & Phone input widgets

* simplify migration function using a utility

* combine conditions

* Increments LATEST_PAGE_VERSION

* Update DynamicHeight_Visibility_spec.js

updated a check wrt auto height

* Handling Modals for canvas size calculations

* fix: migrate label position test failing issue (#18365)

fixed migrate label postition test failing issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* removed the two unwanted imports from DSLMigrations to fix client build

* fix: Auto height zero and limits issue (#18366)

fixed the auto height zero and limits issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: Auto height regression issues (#18367)

* Fix auto height regression issues #18367

* feat: auto height migrations (#18368)

Add auto height migrations

* Increase file caching size

* Use manual array for list of auto height enabled widgets

* Fix cypress test dsl versions

* Revert changes to shouldUpdateHeightDynamically

* Update test results based on code changes

* Marginally increase the workbox file size cache

* review comment incorporated for test spec

* Update container auto height property on drop

* added small wait for validation

Co-authored-by: Ankur Singhal <ankur@appsmith.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Abhinav Jha <zatanna@Abhinavs-iMac.lan>
Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>
Co-authored-by: Albin <albin@appsmith.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: Apple <nandan@thinkify.io>
2022-11-23 15:18:23 +05:30
Shrikant Sharat Kandula
4a43fcfdc3
Change path to load Segment 2022-11-22 16:02:55 +05:30
Ravi Kumar Prasad
57583c0764
feat: Insturment JS Objects settings #16970 (#18046) 2022-11-21 13:10:35 +05:30
Abhinav Jha
67f7d217a1
feat: (Internal Change) Add auto height computation functions (#17962)
* Add auto height reflow functions libary

* Add comments in hard to understand parts

* feat: auto height reflow lib (#17978)

added 2 tests for boxHelper and 1 simple test for reflow computeChangeInPositionBasedOnDelta

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* Reduce one loop. Fix typo

* Add helper functions and use them in lib

* Use helper function

* Add types

* Fix issue where widgets don't get close to the bottom most above widget if that widget hasn't changed

* fix: auto height reflow lib merge release (#18193)

* feat: show number of tabs on the header (#18071)

* number of tabs displayed alongside label

* styling for span removed

* feature added and cypress test cases written

* code refactoring after review

* Update top contributors

* feat: Auto-height add reducers and actions (#17953)

* Add reducers for auto height feature (Internal Change, No changes reflected to users)
Co-authored-by: ankurrsinghal <ankur@appsmith.com>

* [Bug] Incorrect count of users in workspace when adding multiple users (#17728)

fix: filtering unique users by userId

Co-authored-by: Anubhav <anubhav@appsmith.com>

* fix: Instrumentation for execution errors (#18093)

* fix: Instrumentation for execution errors

* added widget editor error event

* fix:  Sidebar heading fontSize & checkbox alignment  (#18104)

sidebar heading & checkbox alignment to heading

* chore: added type for feature flag (#18152)

add: new type for env variable

* Update top contributors

* feat: [Context Switching]: Change focus target and fix cursor position (#17794)

Co-authored-by: 
rahulramesha <rahul@appsmith.com>

* fix: JS Objects save failures due to AST changes (#18018)

* fix: update local_testing.sh to build image for external contributor PRs (#18024)

* chore: use `typography` and `getTypographyFromKey` from the design-system (#18050)

Change typography imports, change function call

* dummy

Co-authored-by: Rishabh Kashyap <rishabh.kashyap@appsmith.com>
Co-authored-by: Appsmith Bot <74705725+appsmith-bot@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Ankit Srivastava <67647761+ankitsrivas14@users.noreply.github.com>
Co-authored-by: Anubhav <anubhav@appsmith.com>
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
Co-authored-by: Rohit Agarwal <rohit_agarwal@live.in>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: subratadeypappu <subrata@appsmith.com>
Co-authored-by: Sumit Kumar <sumit@appsmith.com>
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

Co-authored-by: ankurrsinghal <ankur@appsmith.com>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
Co-authored-by: Rishabh Kashyap <rishabh.kashyap@appsmith.com>
Co-authored-by: Appsmith Bot <74705725+appsmith-bot@users.noreply.github.com>
Co-authored-by: Ankit Srivastava <67647761+ankitsrivas14@users.noreply.github.com>
Co-authored-by: Anubhav <anubhav@appsmith.com>
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
Co-authored-by: Rohit Agarwal <rohit_agarwal@live.in>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: subratadeypappu <subrata@appsmith.com>
Co-authored-by: Sumit Kumar <sumit@appsmith.com>
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
2022-11-20 11:42:32 +05:30
Hetu Nandu
c2103cd16e
fix: Log ChunkLoadError on Sentry only after 3rd failure (#18196) 2022-11-18 09:33:23 +00:00
Hetu Nandu
b4adfcf8e2
feat: [Context Switching]: Change focus target and fix cursor position (#17794)
Co-authored-by: 
rahulramesha <rahul@appsmith.com>
2022-11-15 11:50:18 +05:30
Abhinav Jha
3f71fa68a1
feat: Auto-height add reducers and actions (#17953)
* Add reducers for auto height feature (Internal Change, No changes reflected to users)
Co-authored-by: ankurrsinghal <ankur@appsmith.com>
2022-11-14 09:49:25 +05:30
balajisoundar
2df27a6fb2
feat: Option to add new row in Table widget (#17515) 2022-11-05 15:24:20 +05:30
Dhruvik Neharia
2ec1ccc6a5
feat: Code Scanner Enhancements (#17929)
* feat: Add Scanner Variant - Click to scan and always on to code scanenr

* feat: Enhancements for code scanner's property pane - update help text, hide properties on always on

* feat: Add Image Mirror button to code scanner

* feat: Update code scanner video fit to contain

* feat: Add DSL migrations for Code Scanner

* feat: Make always on the default scanner layout, rename scannerVarient to scannerLayout

* feat: Stop scanning and detecting codes in background for code scanner widget

* test: Add Cypress tests for different scanner layouts for code scanner

* refactor: fix minor code callouts here and there

* refactor: Restructure cypress test suite

* feat: Increase code scanner delay to avoid unintended detections

* refactor: combine two different conditions into one ternary

* feat: Remove one cy test case

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-11-04 11:45:45 +05:30
Ankita Kinger
38d321242f
chore: Splitting files to support groups on members page in EE (#18085)
* splitted files to support groups on members page in EE

* updated an import

* minor change
2022-11-03 22:09:51 +05:30
Favour Ohanekwu
1379180ecd
feat: Split evaluation and linting (#17287)
* Evaluations and Linting now runs on separate web-workers for a much faster and responsive coding experience on Appsmith.
* Removed worker-loader webpack plugin.
2022-11-03 14:53:15 +05:30
Bhavin K
e8219284ea
feat:allow local decimal sep. curr. & input widget (#16380)
* feat:allow local decimal sep. curr. & input widget

* test: fix the test for input widget

* refactor: code refinement

* refactor: rename the suggestion key

* fix: changed the regex to replaceAll function

* fix: address review callouts

* refactor: new default and min max validation

* fix: directly converting default value to current locale

* fix: converting value to locale directly inside onStep

* fix: add fraction during formatting

* revert: input widget locale changes

* fix: restrict getting of current locale for currency widget

* fix: introduced shouldUseLocale prop

Co-authored-by: balajisoundar <balaji@appsmith.com>
Co-authored-by: keyurparalkar <keyur@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-11-02 16:02:45 +05:30
akash-codemonk
01805a27f4
fix: show empty canvas CTA's only on the first page while creating an app (#17869) 2022-11-02 14:39:59 +05:30
GitStart
5c558e1792
feat: Adding the function to clear stored values (#17568) 2022-11-01 14:56:13 +05:30
Tanvi Bhakta
ae76dc0aef
chore: import common variables from design system (#17600)
* Delete CommonComponentProps, Classes, import them from design-system

* Delete Icon.test.tsx

* Remove color utils, add import from design-system

* Remove Variant, add import from design-system

* Remove unused toast parameters from common

* use design-system version 28-alpha-7

* Move ThemeProp from ads/common to widgets/constants

* fix import

* Delete index.ts

* feat: migrated form group from ads folder to design system repository (#17400)

* feat: migrated form group from ads folder to design system repo

* fix: formGroup label color fix

* DS version updated

* Updated Label Config

* chore: Flapdoodle version upgrade to 3.5.0 (#17609)

* chore: code split tenant API CE (#17596)

## Description

We shouldn't expose tenant config on CE , so on CE,  we should only return the necessary user permissions hard coded on the saga.

## Type of change

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

## How Has This Been Tested?

- 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
- [ ] 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

* chore: BaseAppsmithRepo code split (#17614)

* chore: Updating the tenant API to return the complete object instead of just the configuration (#17615)

* Fix sandbox iframe default setting (#17618)

* feat: upgrade hooks | audit logs (#17525)

* feat: Text Widget Reskinning (#17298)

* feat: Use truncate button color from theme

* fix: Update Truncate Button Color validation regex

* feat: Maintain Focus and Context Phase 1 (#16317)

* fix: update regex and test case for organisation website (#17612)

* chore: Add properties to analytics event (#17621)

* feat: enabled setTimeout/clearTimeout APIs (#17445)

* Update top contributors

* fix: ms sql default port updated to 1433 (#17342)

* fix: removed global style from design system dropdown component (#17392)

* bug: removed global style from design system dropdown component

* changed design system package version

* fix: Dropdown background fix - design system

* design-system - dropdown background color fix

* DS version updated

* chore: Fixing broken client build (#17634)

## Description

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

This PR fixes the issues.

* Fix/16994 refactor common datatype handling (#17429)

* fix:Add array datatype to execute request

* feat: Consume and store type of array elements in Param class (#16994)

* Append param instead of clientDataType in varargs (#16994)

* Refactor common data type handling w.r.t newer structure (#16994)

This commit takes care of the following items:
- It minimizes the number of usage to the older stringToKnownDataTypeConverter method
- Modifies the existing test cases to conform to the newer structure
- Marks stringToKnownDataTypeConverter method as deprecated to discourage further use

* Remove comma delimited numbers from valid test cases (#16994)

* Fix extracting clientDataType from varargs in MySQL (#16994)

* Pass param as a dedicated parameter in json smart replacement (#16994)

* Remove varargs from json smart replacement method (#16994)

* Move BsonType to mongoplugin module (#16994)

* Introduce NullArrayType and refactor BsonType test cases (#16994)

* Add new test cases on numeric string with leading zero (#16994)

* Refactor test case name (#16994)

* Add comment on the ordering of Json and Bson types (#16994)

* Add comment on the ordering of Json and Bson types (#16994)

* Add NullArrayType in Postgres and introduce postgres-specific types (#16994)

* Add data type test cases for Postgres and change as per review comments (#16994)

Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>

* feat: Update invite modal submit when we have tabs in modal (#17608)

## Description

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

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

## Type of change

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

## How Has This Been Tested?

> Tested it locally.

## Checklist:

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

* feat: AST based entity refactor (#17434)

* task: AST based entity refactor

* implemented refactor logic

* jest cases with string manipulation using AST logic

* comments and indentation

* added evalVersion to request

* chore: Added feature flag for datasource environments (#17657)

chore: Added Feature flag for datasource environments

* chore: Corrected analytics event for instance setting events (#17622)

* Update top contributors

* Fix typo in cloud-hosting check and NPE from Segment (#17692)

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* fix: remove file references on click of cancel button (#17664)

* fix: table does not show data issue fixed (#17459)

* chore: Add recommended indexes (#17704)

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* chore: Added workspace details to user invite analytic event (#17644)

## Description

This PR adds the workspace details to user invite analytics event

## Type of change

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

## How Has This Been Tested?

- Manually on local

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] 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

* chore: Correct the toast font on windows (#17671)

* fix: JS option missing for Label Font Style in Input widget (#17631)

* fix: replace time based action to event based (#17586)

* fix: replace time based action to event based

- The delete datasource button was getting reset to it's original state after a static time of 2200ms
- Replaced this to reset on completion of deletion instead

* fix: removed unused functions

* fix: updated the condition to show confirm delete icon

* Updated Label Config

* test: Add cypress tests for template phase 2 (#17036)

Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>

* Change Segment CDN to our proxy (#17714)

* chore: Fixing prettier formatting for AnalyticsUtil.tsx

* chore: Adding base repository function to add user permissions to generic domain object (#17733)

## Description

Adding base function to set the user permissions for a user in any domain object. 

As part of this, we also add default permission group to the `SeedMongoData`. Without this fix, the JUnit tests go into an infinite loop. Also fixing the `ExampleWorkspaceClonerTest` file.

## Type of change

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

## How Has This Been Tested?

- JUnit

## Checklist:

- [ ] 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

* Update top contributors

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: f0c1s <anubhav@appsmith.com>
Co-authored-by: Dhruvik Neharia <dhruvik@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com>
Co-authored-by: Appsmith Bot <74705725+appsmith-bot@users.noreply.github.com>
Co-authored-by: Vaibhav Tanwar <40293928+vaibh1297@users.noreply.github.com>
Co-authored-by: subratadeypappu <subrata@appsmith.com>
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
Co-authored-by: Vishnu Gp <vishnu@appsmith.com>
Co-authored-by: Keyur Paralkar <keyur@appsmith.com>
Co-authored-by: sneha122 <sneha@appsmith.com>
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
Co-authored-by: sanjus-robotic-studio <58104863+sanjus-robotic-studio@users.noreply.github.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>

Signed-off-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: f0c1s <anubhav@appsmith.com>
Co-authored-by: Dhruvik Neharia <dhruvik@appsmith.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com>
Co-authored-by: Appsmith Bot <74705725+appsmith-bot@users.noreply.github.com>
Co-authored-by: Vaibhav Tanwar <40293928+vaibh1297@users.noreply.github.com>
Co-authored-by: subratadeypappu <subrata@appsmith.com>
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: ChandanBalajiBP <104058110+ChandanBalajiBP@users.noreply.github.com>
Co-authored-by: Vishnu Gp <vishnu@appsmith.com>
Co-authored-by: Keyur Paralkar <keyur@appsmith.com>
Co-authored-by: sneha122 <sneha@appsmith.com>
Co-authored-by: sanjus-robotic-studio <58104863+sanjus-robotic-studio@users.noreply.github.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2022-10-31 06:54:47 +05:30
ankurrsinghal
161532361a
feat: custom event emitter callback handler (#17544)
* created a new custom event handler

* turned callback handler into an abstract class and created a new handler for Dynamic Height events

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2022-10-27 15:17:44 +05:30
Pawan Kumar
f310e858bf
feat: Add a read only mode to rating widget (#17465)
* add readonly prop + migrate disabled to readonly for rate widget

* add comment

* add check for dynamic value

* add readonly to dynamic property list in migration

* add tooltip in readonly state too

* fix jest tests

* dummy commit to fix git file name issue

* dummy commit to fix git file name issue
2022-10-21 12:25:18 +05:30
Aswath K
436205f6e9
fix: Converted Dropdowns to Button group & added missing tooltips (#17454)
* Makes the IconTabControl to have fullWidth property

* Changes dropdown to Button Group & adds missing tooltips
2022-10-20 19:36:32 +05:30
Rimil Dey
42b913cef8
feat: Add postMessage as a global function (#14925)
## Description

**Revert Context -** 

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

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

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

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



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

**References used for this PR:**

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

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

## Type of change

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

## How Has This Been Tested?

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

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

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-10-20 12:39:42 +05:30
Sangeeth Sivan
62fb99929e
feat: code split permission helpers and added null check for some selectors (#17718) 2022-10-20 11:33:33 +05:30
Arpit Mohan
b2cc280009 chore: Fixing prettier formatting for AnalyticsUtil.tsx 2022-10-19 23:08:25 +05:30
Shrikant Sharat Kandula
39dd761cb0
Change Segment CDN to our proxy (#17714) 2022-10-19 20:29:35 +05:30
arunvjn
28138c18c8
feat: enabled setTimeout/clearTimeout APIs (#17445) 2022-10-17 22:40:17 +05:30
Hetu Nandu
3aff53187c
feat: Maintain Focus and Context Phase 1 (#16317) 2022-10-17 20:46:38 +05:30
f0c1s
d2ba72306f
feat: upgrade hooks | audit logs (#17525) 2022-10-17 18:39:09 +05:30
Tanvi Bhakta
ac0c872843
chore: migrate toast (#17208)
* Refactor toast to be passed the dispatch hook externally

* Add comments explaining dilemma

* use store.dispatch instead of a hook

* use alpha version

* Change imports

* Refactor DebugButton out

* update release

* fix issue with incorrectly merged package.lock

* fix syntax of alpha version

* bump ds vesion

* copy lock from release

* update lock to have alpha

* make changes

* delete Toast

* DS package version updated

* import change from release

* use new alpha version

* update ds version

* update ds version

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

* Delete empty components

* use alpha for ds

* Deleted EditableTextSubComponent, import changes

* Delete EditableText, import changes

* use ds alpha 10

* Delete EditableTextWrapper.tsx

* update ds to use next minor version

* use new alpha

* fix issue with merge

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

* chore: migrate file picker v2 (#17308)

* use alpha ds

* Delete FilePickerV2, import changes

* Delete FilePicker, change imports

* update alpha version

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

* move CopyUrlForm to src/pages/settings/formgroup

* update ds version to use next minor release

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

* feat: Migrate table component to design system

* removed commented code in ads index file

* fix: table no data hover effect removed

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

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

* feat: Banner image component migrated to design system

* Version update for design system package

* design system version updated

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

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

* feat: Tabs component migrated to design system

* design system package version updated

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

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

* Tab component expand issue fix

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

Co-authored-by: Albin <albin@appsmith.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
2022-10-14 01:43:44 +05:30
f0c1s
32ed0da447
fix: Rest of the audit logs potential auto-merge errors. (#17192)
* fix: EE-CE parity due to audit-logs

* fix: rest of the audit-logs potential failures

* fix: future conflict with RBAC
2022-10-04 16:48:35 +05:30
Apeksha Bhosale
a0646bca77
fix: return statement is not necessary to execute .then and .catch execution (#16802) 2022-09-30 07:01:05 +05:30
Anubhav
5ca0260e0a fix: AnalyticsUtil 2022-09-29 14:50:56 +05:30
Hetu Nandu
f56e9a2aba
chore: Add analytic events for show bindings pane (#17174) 2022-09-29 14:13:30 +05:30
Aswath K
756d27b00e
chore: Property pane config cleanup (#16639) 2022-09-29 10:54:49 +05:30
Dhruvik Neharia
c84fdd6d96
feat: Map Chart Reskinning (#16921)
* feat: Map Chart Reskinning
- Update font family based on theme
- Fix caption, spacing, and legend styles

* feat: Add migrations for Font Family of Map Chart

* feat: Add migrations to test
2022-09-29 00:33:08 +05:30
Aswath K
995847cdef
fix: Action Selector menu goes out of viewport (#16878) 2022-09-23 10:46:26 +05:30
Aswath K
d62acb209a
fix: Issues with JS toggle (#16204)
* fix: unwanted JS toggle on Datepicker's firstDayOfWeek
* Remove JS toggle for properties that already accepts JS
* Enables the JS toggle button if the value is same that of defaultValue
2022-09-23 00:30:55 +05:30
Arsalan Yaldram
46b3627bac
feat: implemented slider widgets (#15712)
* feat: implemented slider widget from mantine ui

* fix: remove widget from widgetName

* fix: memoize marks, use primitives for rangeslider value

* fix: use theme accentColor, remove xs and xl size

* fix: renamed slider widget, added searchTags, parity properties

* feat: added labels to the slider widgets.

* fix: Rename SingleSlider components to Slider

* feat: added basic disabled state

* feat: added category slider widget, handled label callback function

* fix: Renamed slider widgets fixed imports and bindings.

* feat: widget redesign, added hover, focus, disabled states.

* feat: added isDirty meta property to the slider widgets.

* feat: Added onChange action triggers to the slider widgets.

* feat: added show marks label property for category widget.

* fix: fixed initial feedback on designs, issues.

* feat: added the new tabbed property pane improvements.

* feat: changes to the slider property panes.

* fix: removed show label on hover and add tooltip always on property.

* fix: slider sizes changed inline with the designs

* feat: added initial logos.

* fix: slider size subtext.

* feat: added show marks to number and range sliders.

* fix: Label will show one decimal point if step Size is in decimal.

* feat: added validations for the slider widgets.

* fix: remove mark dots when show marks is off, change icons.

* fix: addressed validations feedback.

* fix: added stepsize validation number widget & fixed top label aligning.

* fix: Long label styles.

* fix: wrapping removed for long labels, handled focus state.

* fix: remove overflow hidden.

* fix: added pointerEvents none to Marks.

* fix: added default value in the Number Slider widget.

* fix: refactor marks remove un-necessary function calls.

* fix: Review changes done.

* fix: remove transformstyles outside component.

* fix: remove old proprty pane config.

* fix: remove any type from widget files.

* fix: small code refactor validations category slider.

* fix: removed throttle, fixed slider setting to zero issue.

* fix: Added validation for stepSize RangeSlider. Added clamp for nextValue in getChangeValue.

* fix: number and category slider fire events only if value has changed.

* fix: added 0 as default for the min value, range and number sliders.

* fix: remove tooltip always on from category slider.

* fix: minRange validation accept only numbers.

* fix: added old property pane method.
2022-09-22 21:26:50 +05:30
sneha122
44e08b096d
fix: fixes right body type not selected after curl import (#16549)
* fixes rght body type not selected after curlimport

* added apiContentType key in ActionConfiguration formData property

This commit fixes the bug https://github.com/appsmithorg/appsmith/issues/13978 and changes two files:
		* appsmith-server/src/test/java/com/appsmith/server/services/CurlImporterServiceTest.java
		* appsmith-server/src/main/java/com/appsmith/server/services/ce/CurlImporterServiceCEImpl.java

additionaly this commit fixes the Body type detection for REST APIs with GET method  when imported from cURL.

* Made changes to the casing of Header key 'content-type', now it is  HTTPHeader.CONTENT_TYPE standard -> 'Content-Type'. changed test cases accordingly.

* Made header-key check in assertHeader functions case insensitive in CurlImporterServiceTest.java

* removed wildcard imports and changed some comments

* changes according to PR review comments

* updated imports for APIPaneUtils

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
Co-authored-by: manish kumar <manish@appsmith.com>
2022-09-21 09:40:36 +00:00
balajisoundar
79073d82b7
fix: Migration to convert old defaultOptionValue expression to new one in Select & multi select widget(#16836) 2022-09-19 17:53:07 +05:30
Ayush Pahwa
e3f90db341
feat: grouping in console logs (#16698)
* fix: updated skip functionality

* update: type of logs to add occurence count

* update: reducer function to merge the new logs

* update: added dependance on last log's occurence count

* add: UI to show the occurence badge

* fix: added null check for dependency array

* update: omit occurence from compare fn

* update: changed function call to store logs array directly

* update: moved from saving logs one by one to array

* fix: replaced forEach with reduce

* test: added functions for console log grouping

* feat: updated warning grouping color

* update: moved function to reducer file for jest tests
2022-09-19 06:29:04 +00:00
Rishabh Rathod
9a1fa98416
fix: Autocomplete now works with multiple bindings (#16314)
Fixes #16288
Fixes #16158
Fixes #16188
Fixes #15859
2022-09-19 11:02:06 +05:30
Favour Ohanekwu
d6fbdb15b9
feat: Linting in entity properties and methods (#16171)
* Initial commit

* Remove arrow function params from identifiers

* Remove invalid identifiers from extracted identifiers

* Remove invalid identifiers which are derived from function params and variable declarations

* Fix typo error

* Correctly remove invalid identifiers

* Remove invalid names from identifier list

* fix build failure

* Add Promise to list of unacceptable entity name

* Keep track of unreferenced identifiers in bindings

* Add Global scope object names as unusable entity names

* Keep track of unreferenced identifiers

* Prevent traversal of data tree for addition of new paths and entities

* Sync linting in trigger fields

* Support linting of invalid properties

* Fix linting reactivity bug in trigger field

* Remove unused objects

* Fix conflict in merging

* Lint jsobject body for function change

* Remove unused map from tests

* Code cleanup

* Modify jest tests

* Update jest tests

* Fix cypress tests

* Code cleanup

* Support  linting of multiple bindings

* Set squiggle line as long as invalid property length

* Add jest tests

* Minor code refactor

* Move ast to shared repo

* Rename confusing identifiers

* Improve naming of functions and their return values

* move shared widget validation utils and constants to shared folder

* Add jest test for invalid entity names

* Add cypress tests

* Modify test comment

* Extend list of dedicated worker scope identifiers

* Resolve code review comments

* Resolve review comments

* Annonate code where necessary

* Code refactor

* Improve worker global scope object

* Code refactor

* Fix merge conflict

* Code refactor

* Minor bug fix

* Redundant commit to retrigger vercel build

* Add null checks to dependecy chain
2022-09-17 18:40:28 +01:00
Ayush Pahwa
cc20cb2c20
fix: batching console log save calls in redux store (#16793)
* update: changed function call to store logs array directly

* update: moved from saving logs one by one to array
2022-09-16 19:18:54 +00:00
Keyur Paralkar
cb84bc68c5
fix: chart widget color fontfamily (#16750)
* fix: re-run chart widget reskinning migration

* fix: addressed review comments

* fix: added a new check for versions

* fix: moved the originalDSL to the testDSLs

* chore: removed console statement

* fix: addressed review comments
2022-09-16 19:50:29 +05:30
Dhruvik Neharia
88637de7aa
feat: Code Scanner Widget (#15990)
* feat: Add QR Scanner Widget Folder

* feat: Add QR Code Scanner in the Modal

* feat: Add viewfinder and close button

* QR generator

* feat: Change deafult camera in QR Scanner to back camera

* feat: remove qr generator widget from the registry

* feat: update qr scanner icon

* style: qr code scanner modal and video container, remove futile code

* feat: add camera switch control panel to qr scanner

* fix: update input devices list when the menu opens in qr scanner

* fix: viewfinder in qr scanner responsive on mobile

* feat: Add onCodeDetected event to the QR Scanner widget

* feat: Add QR Scanner to autocomplete's entity definitions

* feat: Add tooltip to QR Scanner

* fix: isDisabled for QR Scanner

* feat: Add icon and related properties to QR Scanner

* feat: Add QR Scanner search tags, remove futile styles

* feat: Add QR Scanner to themes, regex for button color

* test: Add one cy test for qr scanner

* revert: Remove qr scanner from system themes, will be merged in a seperate PR

* fix: typo 'disable' to 'disabled' in qr scanner widget

* test: add disabled and visibility cy tests for qr scanner

* test: add open and close qr scanner modal test

* feat: remove qr scanner image for tests

* feat: add TODO item for solving performance issues for QR Generator widget

* feat: shift from react-qr-reader to react-qr-barcode-scanner to enable barcode and QR scanning both

* feat: Update QR Scanner Widget to Code Scanner Widget

* test: update tests from qr scanner to code scanner widget

* refactor: move code scanner's property pane config to individual files

* fix: code scanner error message on permission denied

* feat: remove Modal.setAppElement from code scanner

* fix: hide code scanner scan animation overflow

* feat: code scanner modal close on escape and overlay click

* fix: code scanner video border radius on mobile

* test: scan qr test for code scanner

* feat: Add Modal.setAppElement for code scanner modal accessibility

* fix: typo in search tags of code scanner

* feat: update property pane content helper texts of code scanner

* feat: hide code scanner widget from explorer

* fix: code scanner events not working

* feat: hide code scanner widget from explorer

* feat: Show Code Scanner widget in Explorer

* fix: remove code scanner scan cypress test

* feat: Add barcode reader to search tags and put Modal.setAppElement inside a block in code scanner

Co-authored-by: balajisoundar <balaji@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-09-16 10:25:32 +05:30
Rimil Dey
903aaa7a14
feat: Change navigate to UI (#14856)
* Initial work to change navigate to UI

* Remove console.logs

* Adjust default parameters and getters/setters for page dropdown field

* change url field getter so page names are not showm

* Remove ../ from the imports
Remove unnecessary todo

* Add check for undefined fields

* Add validations for url/page name, add error message

* Make height auto to accommodate the flexible size of query param text box

* Update dropdown list of pages when page names are updated

* Set tab to url when a url has been entered, else default to page

* Add feature tests

* Add check on null value in isValueValidURL to ensure it does not crash the app

* Remove unused ref

* Fix bug when switch is selected and a new page addition let to page crash

* Initial work to change navigate to UI

* Remove console.logs

* Adjust default parameters and getters/setters for page dropdown field

* change url field getter so page names are not showm

* Remove ../ from the imports
Remove unnecessary todo

* Add check for undefined fields

* Add validations for url/page name, add error message

* Make height auto to accommodate the flexible size of query param text box

* Update dropdown list of pages when page names are updated

* Set tab to url when a url has been entered, else default to page

* Add feature tests

* Add check on null value in isValueValidURL to ensure it does not crash the app

* Remove unused ref

* Fix bug when switch is selected and a new page addition let to page crash

* Fix types and imports

* Update the tests

* Add ref back to the code

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-09-16 10:00:16 +05:30
Satbir Singh
193dacfeca
chore: Adding JS Object Events (#16472)
* Event for creating new JS Object

* Adding tracking event for function execution

* Removing unwanted comment

* Events for adding new functions added

* Handling optional properties

* Changing event names

* Renaming Event Sources to JS_OBJECT
2022-09-14 21:04:10 +05:30
Satish Gandham
a706ad3160
perf: Widget layer optimization (#16502)
* Widget layer optimization
Fix positioned and snipeable component wasted renders

* Some cleanup

* - Few more rough optimization

* Remove console logs

* Clean imports

* Prevent wasted renders of draggable component.

* Add new selector

* - Some code reorganization
- Reduce wasted renders of resizable component

* Clean up positioned container

* Final clean up

* Remove unused import

* Some cleanup based on review comments

* Some code refactoring

* Reduce wasted renderes when dragging and resizing

* Remove stray imports

Co-authored-by: Satish Gandham <satish@appsmith.com>
2022-09-14 12:25:08 +05:30
balajisoundar
87774a64ac
chore: fix table widget migration merge conflict (#16711) 2022-09-13 12:01:40 +05:30
balajisoundar
afb9aa93c1
feat: Table widget V2 Inline editing validation for plain text & number column (#15954) 2022-09-13 11:11:59 +05:30
balajisoundar
9bc5a5e076
chore: Expose widget configuration to define properties that can set … (#16573) 2022-09-13 11:10:08 +05:30
Sumit Kumar
0cbe81dfde
feat: merge GraphQL plugin to release (#16554)
* merge GraphQL plugin to release
2022-09-09 21:29:47 +05:30
Rishabh Rathod
ee35760097
Add remove def when updating def (#16580) 2022-09-06 17:21:15 +05:30
Rishabh Rathod
731bbc9428
fix: update property pane code editor autocomplete def on focus (#16263) 2022-09-05 10:23:39 +05:30
Aswath K
8b297e4da1
chore: Property pane design changes (#16112) 2022-09-05 10:22:39 +05:30
Ayush Pahwa
7d621de978
feat: console log implementation in appsmith (#16286)
* feat: capture console from across the app (#15676)

* create: console override file

- Adds methods to override the given console functionality to capture the console statements written by the user

* update: evaluate function to extract console op

- Added logs extraction for both sync and async functions
- Adding them to the return object of the evaluations

* update: timestamp field to log addition method

- Added optional argument to function definition for inputting the timestamp of the log
- This is done to maintain timings of the execution of the log

* update: interface for log objects

* update: post function execution logic

- Added logic to push the logs generated by the evaluation to the logs store

* update: added handling for sending nested fns

- While console logging functions or objects that had functions was causing an error
- Added a check for removing functions and replacing them with name of the functions instead

* chore: added types and comments

* fix: updated evaluation tests

* fix: added check for log in returned obj

* update: added the source data in the trigger logs

- Removed on js execute logs from showing up here since they are already handled. If they are not removed, they will show up on the first page load twice

* add: ellipsis function for log title string

- This is to keep big object contained in the first line only

* update: made logs reset function public

* update: resetting logs before new eval

- Logs object has to be cleared before next eval can happen to make sure there are no roll overs from last evals

* chore: added comments

* add: extracting logs after eval of functions

* add: storing logs to redux after eval

* refactor: updated types

* add: func to store logs w/ severity as arg

* refactor: updating func call for user logs

* chore: fixed elipsis logic

* chore: removed unused type

* chore: updated preview text logic

* add: type for transfer object post eval

* update: aded new userLogs obj to dataTreeEvaluator

* update: passing logs from object to saga

* update: parsing received userlogs

* refactor: used predefined fns

* refactor: moved resetlogs to common func

* chore: updated comments

* feat: update redux store and UI for system + user logs (#15936)

* update: updated types for the redux store

- Added category and data fields in the log object

* update: types of log redux store

* update: calls for the console log store function

* update: icon fetch func for log item UI

* update: syncing UI with the new designs (WIP)

* chore: fixed lint error

* update: filters for logs

* update: icon for clearing log filters

* update: filtering function

- Added checks against category and severity

* update: logitem UI

- updated type of the UI object
- added css based ellipsis
- added toggle for console logs
- added array of json views for objects/arrays
- css tweaks

* update: debugger cta

- Removed copy option
- Updated UI

* update: logic for expanding user logs

- Removed debugger CTA
- Fixed position for the expand/collapse icon
- Added joining char for when the log is expanded

* update: assets for new UI

- updated colors
- Added new icon

* hotfix: ternserver code

* add: search across the text of log

* update: icons for the app

* update: click to expand/collapse of logs

* fix: search keyword update on change within JSObjects

* fix: alignment of log items in both states

* update: jest tests for debugger errors and filter

* fix: drop down options color issue

- the icon used was not the standard one
- We have a lot of duplicates of the same icon

* fix: synced with ADS changes on release

* fix: remove dependency from old icon

* add: cypress selectors for automation testing

* fix: replaced static messages with variables

* fix: updated the dependency map for filter

* fix: height of the filter drop down

* fix: chaining logic for search filter

* fix: syncing the padding values to ADS

* fix: help icon visibility issue

* fix: width of filter dropdown

Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>

* add: e2e tests for console statements using IIFE

* test: added test for console logs in jsobjects

* fix: functionality of expanding context menu on msg click

* fix: added try catch and handling for numbers

* hotfix: handling unwanted toasts

* fix: alignment and clickable cursor

* fix: alignment of expanded span in console logs

* add: analytics event on new console log created

* fix: added handling for boolean and undefined

* fix: removed log reset from common func

- Whenever we are creating global DTO, the logs were being reset. This caused logs to reset whenever a promise was encountered in the logs.

* fix: combined JS log saving to widget process

* add: new analytics event on filter changed

* update: added handling for empty value

* update: removed comma between multiple logs

* update: synced test changes with release

* update: removed unused wait timings

* Logs spec script update

* update: ts methods in log spec e2e test

* logs spec update

* update: removed body clicks from test script

* Logs spec update

* update: removed ask from google option

* refactor: ui fixes

* fix: text selection of logs

* fix: updated dropdown width management

* update: made the flushlogs function async

* update: added handling for promises

* update: added test with promises fail and pass

* fix: added sync variant to work for sync objects

* refactor: commented out unused tests

* update: exceptions in the name of log entity

* fix: pagination of logs to handle dynamic data stream

* fix: removed unused async function

* fix: moved logs handling to separate saga

* fix: color for context menu text

Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-09-04 17:28:05 +05:30
Ankita Kinger
e28e89807c
feat: Refactor invite modal for handling RBAC updates (#16405)
* refactored code for invite modal changes for rbac

* code splitted some more files for refactoring invite modal component

* removed unused imports

* created new variable for handlers

* updated an import

* reverted a change

* refactored a section of code

* fixed a cypress test

* fixed a cypress test

* updated imports

* exported some entities
2022-09-02 22:45:08 +05:30
akash-codemonk
9bb1ad64ee
fix: welcome tour ending on page refresh (#16079) 2022-09-02 18:45:48 +05:30
Smruti Parida
0d892bea37
fix: Refactoring to replace all usages of isEqual method from lodash with equal method from fast-deep-equal/es6 (#16439)
* replaced all instances of _.isEqual, isEqual from lodash with equal from fast-deep-equal/es6

Co-authored-by: Smruti Parida <smrutiparida@Preetis-MacBook-Pro.local>
2022-09-02 14:46:30 +05:30
Souma Ghosh
ca11be276f
feat: Add new pageOffset binding to Table Widget (#16083)
* feature: Add new pageOffset binding to Table Widget

* Add jest tests
Modify getPageOffset to account for failed tests

* Review changes

* take page size as tableData.length when Serverside pagination is on

* Update bindings count in cypress test for table widget v2

* Changes default value of pageOffset to 0
Use pageSize instead of tableData.length when tableData is not available

* Update jest tests according to changes in the code

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-09-01 15:31:02 +05:30
Sangeeth Sivan
e9d719103c
chore: code split sagas and reducer's index file (#16261)
* chore: code split sagas and reducers index file

* fix: update imports

* chore: remove acl reducers file on ce

* fix: code split reducers properly

* chore: remove unnecessary import

* chore: split root sagas file
2022-08-24 17:46:32 +05:30
Rishabh Rathod
b7de2c0c9c
fix: ternserver code (#16179)
## Description

Hotfix to resolve `focusedValue` undefined error 
## Type of change

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

## How Has This Been Tested?



## Checklist:

- [ ] 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
2022-08-22 13:37:03 +05:30
Rishabh Rathod
83d30b8d05
fix: autocomplete fixes & enhancement (#15857) 2022-08-22 11:17:24 +05:30
albinAppsmith
fbc3bd663b
feat: Migrate design system components import to design-system repo - I (#15562)
* Icon component deleted and changed the imports in refrence places

* design system package version changed

* import changes

* Delete TextInput.tsx

* Change imports

* Change single named import

* Update package

* Update package

* Delete ScrollIndicator.tsx

* Change imports

* Icon import completed

* Event type added

* Changed Button component imports

* import change button

* Button onclick type fix

* Label with Tooltip import changes

* Changed breadcrumbs import

* EmojiPicker and Emoji Reaction import changes

* AppIcon import change

* import bug fix

* Menu Item import chnages

* Icon selector imports changed

* Delete LabelWithTooltip.tsx

* Change imports across the app

* Update package version

* Update version number for design-system

* Delete Checkbox.tsx

* Remove the exports

* Add lock file for ds package update

* Change imports

* default import -> named

* Update release version

* Make arg type explicit

* Updated design-system to latest release

* Missing file mysteriously comes back and is updated accordingly

* changes design-system package version

* Add types to arguments in the onChange for text input

* onBlur type fix

* Search component in property pane

* WDS button changes reverted

* package version bumped

* conflict fix

* Remove Dropdown, change imports

* Category import fix

* fix: table icon size import

* Bump version of design system package

* Yarn lock

Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
2022-08-22 10:39:39 +05:30
Rishabh Rathod
5da0411fa9
fix: Autocomplete object value binding (#15999)
## Description

Fixes #15950
Fixes #16141

## Type of change

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

## How Has This Been Tested?
**Test plan**
- [ ] https://github.com/appsmithorg/TestSmith/issues/1982
- [ ] https://github.com/appsmithorg/TestSmith/issues/2049


## Checklist:

- [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
- [ ] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
2022-08-19 19:09:07 +05:30
ashit-rath
893fd34cdd
perf: Widget re-rendering refactor (#14485)
* initial commit

* props hoc

* changes

* removed ignores and withWidgetProps

* added extra props to canvasStructure

* widget props changes

* list widget changes

* reintroduced widget props hook and other refactors

* remove warnings

* added deepequal for childWidgets selector

* fix global hotkeys and tabs widget jest test

* fix main container test fix

* fixed view mode width

* fix form widget values

* minor fix

* fix skeleton

* form widget validity fix

* jest test fix

* fixed tests: GlobalHotkeys, Tabs, CanvasSelectectionArena and fixed main container rendering

* minor fix

* minor comments

* reverted commented code

* simplified structure, selective redux state updates and other inconsistencies

* fix junit test cases

* stop form widget from force rendering children

* fix test case

* random commit to re run tests

* update isFormValid prop only if it exists

* detangling circular dependency

* fixing cypress tests

* cleaned up code

* clean up man cnavas props and fix jest cases

* fix rendering order of child widgets for canvas

* fix dropdown reset spec

* adding comments

* cleaning up unwanted code

* fix multiselect widget on deploy

* adressing review comments

* addressing minor review comment changes

* destructuring modal widget child and fix test case

* fix communityIssues cypress spec

* rewrite isVisible logic to match previous behaviour

* merging widget props with component props before checking isVisible

* adressing review comments for modal widget's isVisible

Co-authored-by: rahulramesha <rahul@appsmith.com>
2022-08-19 15:40:36 +05:30
Keyur Paralkar
d39cecbbb4
feat: chartwidget reskin feedback (#15621)
* style: added styles to chart configs

* style: adjusted axis names and legend position

* style:
* adjusting legend position
* removed background property at the widget level
* exposed current theme data at widget level

* fix: addressed feedback on chart widget reskin

* fix:
* style according to feedback
* styled custom charts

* fix:
* added migration for accentColor and fontFamily
* implemented reskinning feedback

* fix: changed the position of properties in custom chart config

* fix:
* added unit test for migration
* changed the caption color

* fix: spacing fix

* fix: added accentColor and fontFamily defaults

* test: added cypress test for chart reskinning

* test: fixed cypress test failure
2022-08-12 17:40:17 +05:30
Rishabh Rathod
e255593e28
fix: Improve Autocomplete for local vars, JSObject & ButtonGroup Widget
Add Autocomplete support for
- local variables 
- JSObjects
- ButtonGroupWidget
Remove Autocomplete suggestion for
- `eval`
-  undefined global values like `tabs`
2022-08-11 15:29:38 +05:30
Rishabh Rathod
78379d4718
fix: update def on widget property name update (#15490) 2022-08-10 10:50:08 +05:30
Aswath K
a3fe6a7826
fix: Remove unwanted logs which may confuse the users (#15815) 2022-08-08 19:24:37 +05:30
arunvjn
4e5b21600d
Optimise code editor renders (#15405) 2022-08-04 11:10:44 +05:30
Aswath K
7624b91026
chore: Grouping & Reorganisation for ButtonWidget, JSON Form widget and Audio Widget (#14379)
* POC: Grouping for ButtonWidget

* Adds featureflag

* improve feature flag experience for unfinished widgets

* Styling of tabs

* Adds activation group for ButtonWidget

* Makes contentConfig & styleCOnfig optional to avoid typescript errors from tests

* Adds UI for search

* Fixes title, search & tabs UI to the top

* fix: style issue

* fix styles

* refactor ProeprtyPaneTab

* updates Button based on Figma design changes

* POC for AudioWidget

* chore: JSON Form Grouping & Reorganisation (#15033)

* POC: JSON Form grouping

* fix: Empty sections

* Moves icon into a separate sub section

* fix some sections based on updated Designs

* fix styling issues

* fix: double border

* udpdates based on Figma updates

* Updates order as per Figma

* refactor and better naming of function

* address review comments for JSON form configs

* fix UI issues

* reorder JSON form's array data section

* Adds Button Form settings

* Address QA comments

* update JSON form with new design changes

* Open array & object style by default

* trigger ci

* chore: Grouping & reorganisation of Video widget (#15297)

* POC: JSON Form grouping

* fix: Empty sections

* Moves icon into a separate sub section

* fix some sections based on updated Designs

* fix styling issues

* fix: double border

* udpdates based on Figma updates

* Updates order as per Figma

* Content & Style Config for Video Widget

* refactor and better naming of function

* address review comments for JSON form configs

* fix UI issues

* ??

* chore: Grouping & reorganisation of Document Viewer widget (#15514)

* Grouping & re-org for Document Viewer

* fix: scroll issue

* feat: Search properties in property pane (#14876)

* Upgrades fuse.js package

* Property pane search POC

* POC: JSON Form grouping

* fix: Empty sections

* Moves icon into a separate sub section

* fix some sections based on updated Designs

* fix styling issues

* fix: double border

* udpdates based on Figma updates

* Updates order as per Figma

* fix unused variable after merge

* Adds empty search UI

* Makes the order of search result proper

* Refactor PropertyControlGenerator

* refactor and support for panel

* Revert "Upgrades fuse.js package"

This reverts commit 76d8038139ff4b8add79019a75eaaf40fd620e8e.

* extract out search functionality to helper

* cleanup

* fix: panel issue

* Focus on Search bar on opening the property pane

* better naming

* fix: fuzzy search params

* refactor: As suggested in the code review

* fix: section is not hidden when there's no children

* fix: issue panel properties
2022-08-04 11:01:05 +05:30
arunvjn
7c37f7b35a
Add a new rule to show selectedRow in autocomplete's best match (#15406)
Refactored auto complete sorting logic.
2022-08-03 12:54:38 +05:30
Hetu Nandu
887832d29a
refactor: deprecate commenting and notifications (#15484) 2022-08-03 12:32:49 +05:30
Bhavin K
cf9b869b12
fix: improve camera widget (#14679)
* fix: issue points Android :2,3,6

* fix: improving the camera widget

* fix: show the device menu in fullscreen mode

* refactor: use getPlatformOS for check platform os

* refactor: add missing yarn file

* fix: camera switching issue when video mode

* fix: removed the audio/video mute button from ios devices

* fix: Disable the media button instead of hide in ios devices
2022-08-03 11:32:23 +05:30
Pawan Kumar
bae0b75583
feat: Code-split for admin setting for toggling appsmith watermark (#15036)
* create checkbox

* code split for hiding branding badge

* code split for hiding branding badge

* code review feedback fixes

* rename auth to upgrade button

* update mobile branding badge

* change label

* minor refactor

* minor updates

* add a cypress tests to check if watermark setting contains a upgrade button
2022-07-28 14:08:37 +05:30
Souma Ghosh
27e91f8524
feat: Expose message event details for Iframe Widget (#14730)
* Expose message event details for Iframe Widget

* Change meta property name from messageEventProps to messageMetadata

* Cypress test for Iframe Message event details

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-07-22 10:42:57 +05:30
Rimil Dey
9284c5e240
Auto-indent JS code in the editor (#13222)
This pull request:

    introduces a new option to the menu in the JS editor which lets users prettify/auto-indent code.
    introduces a new keyboard shortcut that lets users prettify/auto-indent code
    Fixes bug where pressing CMD + <- in Mac (Home in windows) shifts the cursor to the first indented column. If the cursor is present on the first indented column, the cursor shifts to the 0th column in the editor

Fixes #9268
2022-07-20 12:43:23 +05:30
rahulramesha
b878d5bd01
fix: Update maincanvas height on widget resize, drag or delete operation (#14992)
* fix extra space on canvas

* reverting selector changes

* use updated main canvas minheight

* use default canvas minHeight
2022-07-15 15:57:13 +05:30
balajisoundar
a97ab3d9a2
feat: Table widget v2 with support for non-ASCII characters and improved jest coverage (#11307) 2022-07-14 12:32:35 +05:30
Aswath K
3824435f7d
chore: Adds analytics for Property Pane keyboard navigation (#13703)
* Adds analytics for DropdownControl

* Add isUpdatedViaKeyboard to WIDGET_PROPERTY_UPDATE

* fix: jest test for iconselectorcontrol

* refactor: Interaction analytics event dispatching moved to a hook

* refactor: event collection logic to HOC

* Analytics for SwitchControl

* Analytics for CodeEditor

* Analytics for InputTextControl

* Analytics for ColorPicker

* fix issue with ColorPicker

* refactor to re-use ref

* rename the hook to ts

* Analytics for StepControl

* Analytics for ButtonTabComponent

* Analytics for NumericInputControl

* Analytics for IconSelector

* fix: failed test

* Analytics for ActionSelector

* fix: failed jest test

* fix: jest test for StepControl

* Analytics for Option Control

* Analytics for LocationSearchControl

* Adds Analytics for Tab key

* analytics for Property pane connections

* Add analytics for widget name

* Adds analytics for copy & delete button

* fix issue with widget name analytics

* add useCallback for tab keydown handler for button

* Create separate Event handling for design system

* removes unused imports

* changes ADS_EVENT to DS_EVENT

* Changes AdsEventTypes to DSEventTypes

* Changes AdsEventDetail to DSEventDetail

* changes occurences of Ads to DS

* avoids creation of intermediate function

* removes trace of 'analytics' from DS components

* rename dispatchDSEvent to emitDSEvent

* fix: Cypress selector
2022-07-14 10:30:30 +05:30
Anand Srinivasan
59f91b618c
fix: curl import error (#15178)
* send only pageId on curl import creation

* remove variables

* fix data source redirect
2022-07-13 19:24:05 +05:30
Aswath K
d61a91af8d
fix: initial selected value not getting displayed (#15000) 2022-07-12 12:46:15 +00:00
Hetu Nandu
71a82b4670
feat: Add the Zipy identify call (#15060) 2022-07-11 15:48:24 +05:30
arunvjn
fd6faf85ea
chore: code changes to support clean urls v2 (#14757) 2022-07-11 09:36:29 +05:30
Nidhi
906a7298dc
feat: Simplified Google Sheets queries (#14869)
* Client changes 1

* add DSL functionality

* Temp commit for refactoring changes

* Do I even know what I'm doing here?

* chore: Second GS layout

* Update: Visibility conditional outputs for schemas

- Added the output from conditional outputs for schema children too

* Update: Entity selector visibility control

- Added logic for controlling visibility of sub components via the JS expressions system

* Update: Passing disabled prop to toggle button

* Update: Passing disabled prop to toggle btn

* Update: Styled component for toggle button

- Added disabled styles based on the disabled prop sent to the toggle form view JSON button

* Update: configProperty role in Entity Selector

- Removed dependance of the configProperty of the entity selector children to it's parent component

* Update: type of placeholder key

- Made placeholder key from form config JSON to accept either string or an object
- Earlier only string was accepted
- This is for pagination component

* Update: Added placeholder control for pagination

* Client changes 1

* add DSL functionality

* Do I even know what I'm doing here?

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design

* fix: updated tooltip component for wrong ui on entity explore

* temp triggers

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design (#12395)

* fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design

* fix: updated tooltip component for wrong ui on entity explore

* fix: updated tooltip ui, where condition placement, sort by ui

* temp form data access logic

* fix: updated sorting type width ui

* fix: updated ui for spacing, width and text issues

* Update: Type for tooltip of UQI forms

- Added option to send an object to the tooltipText object.
- This allows for composite components like pagination to have tooltips for each sub component

* Update: tooltip for pagination component

- Added handling to parse the tooltip for multiple components.
- This allows for composite components like pagination to have tooltips for each sub component

* Update: Type cast for tooltip component

- Made the content passed to tooltip component as a string only

* Update: Fixed tooltip component CSS

* Update: Dropdown option component

- Added a tooltip wrapper to each option
- This is to show on hover text like disabled state

* fix: updated ẇhere clause broken ui for condition

* Add: functions to check and extract expressions

- Loop through the formConfig and find any keys that have a value that is bindable
- Used pre defined regex to check if value is a moustache binding

* Add: Types for evaluated form configs

- Added types for the form configs to be evaluated and their output post eval

* Add: Flow to run the form config

- Run the form config and update the result to the redux state

* Update: Name of the type for formconfigs

- Updated since it was clashing with a component of the same name

* Add: Function to enforce config type checks

- This is done so that the improper configs can be weeded out and the rest of the form can be shown

* Add: Function to update evaluated config

- Added option to update the config if it's values needed evaluation

* Add: Type check for schema sections

* Update: Error handling for invalid control type

- We were throwing an exception till now, changed it to a warning text

* Add: Exposed tooltip for dropdown option disabled state

* Update: switch to json mode functionality

- Added logic to convert data to a string rather than an object when the first switch to JSON mode happens

* Update: Added key to tooltip for dropdown options

* Trigger API modification

* Add: function to fetch default trigger URL

* Update: Made URL optional in dynamic trigger config

* Update: Dynamic trigger API call

- Made the API call for dynamic triggers have URL as optional field
- Added type check to the response of the API call

* Update: resp type for trigger APIs

* Update: Moved code to utils folder

- Moved functions for UQI form eval processing to utils file

* Update: passing original controltype to JS switch

* Update: config for JSON editor mode

- Updated the config to have different options for JSON mode depending on the original control type

* Update: Connected line numbers flag to config

* Revert: CSS changes for tooltip

* Refactor: Removed consle

* Add: type for the config of dynamic values

* Add: Feature to evaluate config for triggers

* Refactor: fix type check errors

* fix: dropdown ui width with text alignment

* Update: fixed selector for dynamic values

* Update: selector call for fetchDynamicValues

* Add table header index prop for columns selector

* migration partial commit

* migration partial commit

* Refactor: removed unused import

* Update: reused function for checking dynamic value

* Update: removed unused import

* Fix format JSON issues

* Retrieve binding paths from entity selector components

* Fixes 6 remaining issues with UQI implementation

* Fix dropdown issues

* Fix dropdown height issues and fixes triggering of APIs when option is deselected

* Migration changes

* Fix QA generated UQI issues

* Fix projection component height and route change logic

* Fix multi select dropdown placeholder text issue and json stringify issue with switching view types

* Reset entity type value when command value changes

* Test changes

* Review comments

* Moved migrations around

* Corrected import statement

* Added JSON schema migration

* Updated schema version

* perf improvements and filter dropdown options feature

* Fix Code mirror component config for toggleComponentToJson input fields.

* Fix prettier issues

* fix prettier issues

* Fix style issues as a result of the merged conflicts

* Fix failing test case

* Fixed a few other flows (#14225)

* Fixed a few other flows

* Review comments

* Fix generate CRUD, fix evaluation of dynamic bindings and fix various styling issues.

* More fixes (#14367)

* Factor in the root formconfig parent key.

* Fix flickering issues, and evaluatedFormConfig issues

* fix: Teeny bugs (#14455)

* Teeny bugs

* Added previous functionality as is

* Improvements in the way we fetch dynamic values

* Fix stringiification issue and cyclic dependency issues

* Resolve projection component values deletion

* Resolve merge conflicts and fix prettier issues

* fix: Tsc issues

* Fix property pane connection navigation

* updating ee locator

* updating inputfield locator

* dropdown locator update

* Merge conflict not properly resolved.

* Fix s3 spec

* Fix Mongo Spec

* Fix some more tests

* fix: prevent cyclic dependency when switching to js mode (#14668)

* add delete events for change from array to string in diff

* add test to assert absence of cyclic dependency error when switching to js in switchgroup widget

* Assert that evaluation is not disabled when no cyclic dependency happens

* Cypress test preparations for google sheets and form controls

* Fixed a few test errors (#14874)

* Add: unit tests for uqi UI updates

- view type tests
- conditional output extraction
- processing conditional output to handle view/enabled state of the component

* Add: completed isValidFormConfig test

* Update: improved tests for update config

- These tests cover the functionality to update a section config after it's components are done evaluating

* Fix failing cypress tests and cyclic dependency issue

* Fixes some more tests

* Fixed migration of row objects (#14896)

* Bumped the version of design system package

* Update: reverted change to EE selector

* Fix deletion pointer

* Update: selector for js on load spec

- Synced with changes related to ADS dropdown

* Fix mongoDBShoppingCart spec

* Remove comments

* Fix: mongo shopping cart test failures

* fix: mongo shopping cart spec

* Dummy push to retrigger vercel

* fix: mongo shopping cart spec

* Update MongoDBShoppingCart_spec.js

* fix: removed unused click away

* dummy commit

* Update: moved helper functions to separate file

* Add: added tests for saga functions

- Worked on testing for
   - extractFetchDynamicValueFormConfigs
   - extractQueueOfValuesToBeFetched

* Add if check for queueOfValuesToBeFetched

* Resolve review comments

* Empty-Commit

Co-authored-by: Irongade <adeoluayangade@yahoo.com>
Co-authored-by: Ayush Pahwa <ayush@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com>
Co-authored-by: Albin <albin@appsmith.com>
2022-07-04 11:13:27 +05:30
Rimil Dey
20eabaf67c
Revert "feat: Add a field for the post message api exposure" (#14890) 2022-06-29 14:39:33 +05:30
Aswath K
2393790170
fix: Unable to toggle JS button for table column (#14843) 2022-06-28 17:53:03 +05:30
Rimil Dey
ad601f32fe
Merge pull request #12551 from appsmithorg/feature/expose-post-message
feat: Add a field for the post message api exposure
2022-06-24 12:02:59 +05:30
Apeksha Bhosale
7fa4df32a1
fix: Saving variables as string rather than values in backend (#12999)
* parsing of js object has changed

* added test for parsing

* parse object with literal

* added variable to reactive paths and solved some PR comments

* test fixed

* small fix

* removed restricting functions to be added if object body has errors

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-06-24 09:36:52 +05:30
Rimil Dey
f3e34f70c6 Remove unrequired parameter 2022-06-24 09:20:11 +05:30
Rimil Dey
fdb2c6e805 Add unknown to msg type in action triggers
Add errors to post msg saga
2022-06-24 09:20:11 +05:30
Rimil Dey
24cb572a11 Code review comments 2022-06-24 09:20:10 +05:30
Rimil Dey
ca73f81f79 Change the function name from postMessage -> postMessageToTargetWindow to prevent overriding worker thread's postMessage 2022-06-24 09:20:09 +05:30
Rimil Dey
e808bf2d41 Add entity definition for autocomplete 2022-06-24 09:20:08 +05:30
rahulramesha
07ded0dacc
feat: Deprecation warning message update to reference the widget that is replacing it (#14532)
* reference replacement widget in the deprecation warning message

* updated import path for messages

* adding test case for validating deprecated widget COnfig
2022-06-23 20:39:00 +05:30
Anand Srinivasan
ed59802702
add analytics log on app crash (#14575) 2022-06-22 16:00:33 +05:30
Arsalan Yaldram
c8f4dd04b5
Merge pull request #14718 from appsmithorg/fix/editorutils
fix: editor utils moment async import
2022-06-22 11:05:33 +05:30
akash-codemonk
b6641f48a3
chore: add analytics events for to see how a user moves from the canvas to any other file (#14385) 2022-06-22 09:31:49 +05:30
Arsalan Yaldram
f58451aa5f
feat: upgrade to create react app 5 (#14000)
* Updated Typescript types.

* Typefixes after merge with release.

* chore: GenericApiResponse Removed alltogether.

* chore: resolved ApiResponse unknown errors removed PageListPayload.

* Added shouldBeDefined.

* fix: Resolved type errors.

* fix: Typescript upgrade to 4.5 and type fixes.

* feat: upgrade to cra 5

* feat: uncomment service worker registeration

* force secure websocket protocol

* jest test fixes

* fix: react function lint rule removed

* fix: klona test case.

* fix: typescirpt issues resolved

* fix: timeout for colorpicker test and change env.

* feat: update client-build.yml file

* fix: remove brotliplugin use compression plugin

* fix: build config fixed

* fix: upgrade webpack plugin

* fix: add branchbutton test to todo.

* fix: remove branch button test.

* fix: Add tailwind theme values, fix cypress tests

* fix: Typescript type fixes.

* feat: run jest tests in silent mode

* fix: cypress rgb values add branchbutton jest test

* fix: review comments, fixes for error.message

* fix: increase cache size for the workbox

* fix: remove OrgApi.ts file

* fix: cypress.json file remove credentials

* fix: downgrade react and react-dom packages

Co-authored-by: rahulramesha <rahul@appsmith.com>
2022-06-21 19:27:34 +05:30
Aswath K
bd33b76c1d
feat: widget fuzzy search (#14464)
* widget fuzzy search POC

* fix threshold

* Makes fuse to initialize only once

* add proper dependancy to useEffect

* Adds more search terms

* Adds search term for other widgets

* reduce distance for better search results
2022-06-17 08:42:47 +05:30
Ankita Kinger
9b7944e7ee
feat: migrate organisation to workspace (#13863)
* migration from organization to workspace on code level

* updated a few more files

* fixed runtime errors

* update org settings URL

* Renamed organizationId in domain objects

* changed field named from organization to workspace

* Reverted AppsmithRole changes

* fixed migrations

* recreating indexes

* migration update

* seed data runs before migration, undo changes

* mock commit

* seedmongo to populate upgraded data, datasource upgrade

* fixed two test cases

* updated migrations

* updated prop name

* Upgraded AclPermission

* comment

* migrated AppsmithRole

* more changes

* final set of changes

* variable name changes

* update cypress variable name

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ce/ApplicationControllerCE.java

* Update app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Datasource.java

Co-authored-by: Trisha Anand <trisha@appsmith.com>

* reverting encryption handler change

* migrated a few missed out org to workspace

* migrated a few missed out org to workspace

* migration changes

* Removed Permission import

* fixed AppsmithRole

* mongodb version update

* fixed compile error

* fixed compile issue

* fixed some tests

* simplified embedded mongodb config

* updated a cypress test

Co-authored-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Trisha Anand <trisha@appsmith.com>
Co-authored-by: Sidhant Goel <sidhant@hexcod.in>
2022-06-15 21:07:41 +05:30
Rishabh Rathod
4e13fc5125
fix: AppViewer init and page fetch logic (#14294)
OnPageSwitch we need not `initializeAppViewPage` but instead, only `fetchPublishedPage` this changes fixes that.
2022-06-10 18:22:59 +00:00
Pawan Kumar
e3a8d782cf
fix canvas loading issue (#14400) 2022-06-09 13:45:45 +05:30
Pawan Kumar
065cb0e1ba
chore: code split for hiding branding badge (#14346)
* code split for hiding branding badge

* use selectors in branding badge
2022-06-08 15:11:53 +05:30
ashit-rath
3adbb8736f
feat: Rich Text Editor enable browser spellcheck (#13886)
* feat: Rich Text Editor enable browser spellcheck

* fix: added custom menu

* add function for OS check, updated text based on OS

* fix: text update

Co-authored-by: bhavin <techbhavin@gmail.com>
2022-06-08 14:35:35 +05:30
Aswath K
c29fd2db19
chore: Adds canDisplayValue to property controls (#13309)
* Adds canDisplayValue to property controls

* Adds tests

* add fn for LocationSearch & ActionSelector

* Adds CSV value support in ButtonTabControl
2022-06-03 10:37:02 +05:30
Pawan Kumar
7c9135f945
fix: Canvas jitters on page refresh on an application where widgets don't occupy the entire width of the canvas (#13917)
* fixes the flicker of widgets

* fix jest test

* fix use dynamic app layout jitter issue

* fix use dynamic app layout jitter issue

* remove unecessary dispatch

* remove unecessary dispatch
2022-05-26 10:22:55 +05:30
Bhavin K
1760e8150c
fix: checkbox, switch property fields update, migration added (#13997) 2022-05-25 17:03:33 +05:30
Rishabh Rathod
cbce8f8b8e
fix: trigger consuming previous evaluated values (#13084)
We are changing how we maintain meta values in our architecture,

Earlier metaHOC component state was used to store meta values that were debounced and pushed in batch to metaReducer and trigger evaluation.
We remove the metaHOC state and directly update values to metaReducer and trigger evaluation separately via a debouched function.
2022-05-25 15:16:14 +05:30
rahulramesha
a2688bb4da
feat: Add deprecation warning badge to deprecated widgets (#13381)
This Change also introduces, isDeprecated flag to widget config, when true will add the warning to the widget's propertyPane.
2022-05-25 09:38:32 +00:00
f0c1s
f4c1049027
Add analytics for git import application (#13925)
Analytics tracking is missing for git import application. This commit adds event tracking as follows:

- When git-import-application card is clicked
2022-05-19 12:16:38 +05:30
albinAppsmith
7f241cb98e
feat: Entity explorer pages section resize (#13576)
* * Page container resize changes

* * changed inline style to styled component

* * Added preserve height functionality
2022-05-16 12:09:32 +05:30
f0c1s
7a3985f962
feat: git discard changes (#11835)
* feat: git discard changes
* fixed cypress test in git connection
* feat: add discardDocUrl and update casing
* chore: update tests
* chore: fix review comment

Co-authored-by: haojin111 <haojin828@outlook.com>
2022-05-06 10:14:24 +05:30
arunvjn
3c57ac1764
fix: update JS libs version numbers in entity explorer (#13526) 2022-05-04 19:06:10 +05:30
Pawan Kumar
809a633306
feat: App Theming (#9714)
* fix style bugs

* fix select styles

* test: fix font size issue for cypress tests

* incorporate ashit feedback

* test: addresed review comments for cypress tests

* add analytics events

* height issue in view mode

* incorporate code review feedbacks

* incorporate code review feedbacks

* refactor: addressed review comments; removed border radius and box shadow for text widget; Updated migrations

* feat: Makes shadow and radius controls keyboard accessible (#11547)

* makes shadow and radius controls keyboard accessible

* removes unused imports

* moves options out of render method

* fix: changed the misnomer background property name to the relevant property name

* fix: border radius issue for the map widget

* address qa bugs

* address qa bugs

* fix ux of theming pane when widget is selected

* fix:
* added backgroundColor to the video widget
* restricted pop-over border radius to 0.375rem
* added box shadow for the input group for select widget

* fix: added delete icon in the delete theme modal

* address qa bugs

* change checkbox column size in config

* add js convertible to button color

* remove unused imports

* test: fixed jest tests

* fix primary color typo

* fix: migrations for the theming

* fix:
* Removed background color from MultiTreeSelect and TreeSelect component.
* grouped button's menu button pop over border radius restricting to 0.375rem.

* test: updated Dsl migration UT

* address qa bugs

* address qa bugs

* fix: address qa comments

* address qa bugs

* fix:
* migration issue;
* unit test cases;

* fix rating widget scroll issue

* fix youtube video border radius bug

* fix select widget

* fix select widgets styles

* address qa bugs

* merge conflicts

* makes the reset button keyboard accessible (#12134)

* -resolved merge conflicts

* address qa bugs

* fix: labelTextSize migration fixes

* refactor:
* made changes to the fontSizeUtils function
* fixed the issue related to unit tests

* fix button group widget

* remove unused imports

* fix: fixed the text size migration for the table widget

* refactor: addressed review comments for the table widget theming migration

* fix button group widget

* add init calls for view mode

* json form init theme changes

* fix: added migration for boxShadow, borderRadius and textSizes for table widget

* fix broken fields

* test: fixed unit tests

* wip

* inconsistancy fixes and schemaItem update in updateHook/fieldConfiguration

* feat: init json form migration theming

* json form primaryColor -> accentColor

* update table widget

* update table widget

* object field label styling

* fix: migration related to the JSON form

* fix: fixed labelTextSize migration for JSON form nested widgets

* property control nested stylesheet lookup

* JSONForm label styles form array items

* show label for checkbox field array item

* fix button group widget

* wip

* refactor: addressed table widget review comments

* refactor: addressed ashit review comments;
* added childStylesheet for widgets

* feat: Keyboard navigable Color Picker control (#11797)

* Makes ColorPicker keyboard accessible

* seperate out keyboard and mouse interactions

* fix issue with not focusing back to input

* Adds test for Color picker

* chore: added comment for the boxShadow property

* fix:
* added unit test cases for the widget and property utils
* resolved warning messages

* wip

* theme config update

* fix merge conflicts

* refactor: moved theming migration inside the migrations folder

* fix qa bugs

* fix jest test

* fix: unit test cases

* fix table column creation logic

* refactor: addressed review comments for migrations

* fix: Overriding margin and padding for custom render in the dropdown component (#12875)

* * fix for custom render padding and margin in ADS dropdown

* * fix for removing padding from normal render options

* refactor: moved the boxShadow condition to the variable

* fix qa bugs

* fix: migration QA callouts for audio recorder widget

* refactor: added updated comments for boxShadow migration for table widget

* fix theme binfings for JSONForm fields under Object

* fix table widget theming bug

* fix: addressed code review comments

* fix: unit test cases

* fix: qa migration callouts

* fix table widget theming bug

* fix JSONForm currency input dropdown not submit form

* Added new tests - AppThemingSpec

* fix qa bugs

* fix unit test

* fix JSONForm cellBorderWidth to have default value post migration

* fix unit test

* fix qa bugs

* remove unused imports

* fix qa bugs

* fix JSONForm input height issue

* fix qa bugs

* Updating Theming spec

* * dropdown color fixes (#13249)

* fix caching issue
;

* Fixed Theming tests

* fix tests

* fix tab widget tests

* fix: json form children level migration issue

* fix table widget tests

* Updated test

* updated tests

* updated test

* updated tests

* updated tests

* updated pageload

* fix cypress tests

* remove cypress created files

* fix color picker issues

* Failure fixes

* Fixed some more tests

* fix: cypress test failures

* fix tests

* remove consoles

* fix table tests

* fix qa bugs

* updating snapshots for AppPageLayout_spec as per new UI

* fix rating widget bug

* fix qa bugs

* fix:
* cypress failing tests
* Migration QA callouts
* Removed unused imports

* update constract check algo

* fix color contrast issue

* fix: cypress failure test cases

* update font sizes labels

* fix regression bugs

* fix:
* JSON form labelTextSize issue fix
* Updated comment for the fontSizeUtility function
* migrations issues related to table widget borderRadius and boxShadow

* fix: default labelTextSize issue for the Input and Select families

* fix regression bugs

* fix regression bugs

* PassingParams spec - added wait time

* fix: font family default value issue on JS toggle

* fix js toggle issue in text widget

* fix tests

* fix tests

* fix tests

* fix cypress tests

* fix regression bugs

* fix regression bugs

* fix:
* refactored table widget migration function as per review comments,
* added default value to the widget

* fix: failing unit test cases

* fix theming spec

* fix cypress tests

* test: fixed failed cypress test

* incorporate ashit feedback

* fix cypress tests

* fix: addressed review comments

* comment out table cypress test

* fix merge conflicts

* comment out color picker tests

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: keyurparalkar <keyur@appsmith.com>
Co-authored-by: Aswath K <aswath@appsmith.com>
Co-authored-by: Nayan <nayan@appsmith.com>
Co-authored-by: Ashit Rath <ashit@appsmith.com>
Co-authored-by: balajisoundar <balaji@appsmith.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: apple <nandan@thinkify.io>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2022-05-04 15:15:57 +05:30
rahulramesha
e128b2daf3
feat: new Widget Copy paste experience (#12906)
* copy paste commit

* class name generator changes

* modal widget fixes change

* addressing review comments

* bug fix for after deleting a widget by undoing action

* additional fix for modal widget

* additional tests for fixes
2022-05-04 13:28:57 +05:30
Favour Ohanekwu
3efb3588d2
chore: Add JS editor test cases 2022-05-03 15:22:45 +01:00
akash-codemonk
9b9048fdc4
chore: add analytics event for similar templates click (#13177) 2022-04-29 15:39:16 +05:30
Favour Ohanekwu
942547287c
feat: js object v1 run and settings redesign (#11456) 2022-04-28 17:51:02 +01:00
Ankita Kinger
3835e81105
chore: Add analytic event for the Reset button click on the Admin settings page. (#13408) 2022-04-28 14:46:38 +05:30
Ankita Kinger
251ad6097b
chore: Add analytic events on Authentication page (#13384)
* added analytic events for Authentication page on Admin settings

* updated event names
2022-04-27 23:16:24 +05:30
ashit-rath
1acf242600
feat: JSONFrom add isValid form level property to represent overall form validity (#13083) 2022-04-22 17:20:51 +05:30
Abhinav Jha
60503bb9a6
feat: Dynamic Height widget config (#13143)
* Add platform feature which adds dynamic height property controls and default properties based on widget config

* Move features to the top, so that defaults can override them if necessary

* - Add unit tests to verify that the property controls show up for dynamic height
- Add unit test to verify that the hidden hook in the dynamic height controls work
- Fix console warning for react key unavailable in Generator.tsx
- Move constants and types to their respective files

* Remove dynamic height config from Container Widget

* Add comments in hard to understand areas

* Add function which converts fn validation params to fnString
2022-04-22 15:14:22 +05:30
Bhavin K
7e3d873d20
feat: added searched address into map center data (#12962) 2022-04-22 11:44:42 +05:30
Bhavin K
958233f4f5
fix: added dataFormat into file data (#12807) 2022-04-21 16:09:24 +05:30
rahulramesha
98f6a3fede
move reflow out of beta (#12746) 2022-04-20 18:33:30 +05:30
Rishabh Rathod
846ba223ea
fix: replace rfdc with klona (#12568)
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2022-04-14 14:19:13 +00:00
Paul Li
eb37416a2a
feat: Controls for labels in widgets to align the widgets in forms and other places (#10600)
* feat: When there are multiple input widgets with different label lengths then the input box looks misaligned

-- Create a new property control for a label position
-- Create a new property control for a label alignment
-- Prototype a label section for Input widget

* feat: When there are multiple input widgets with different label lengths then the input box looks misaligned

-- Add a property, labelWidth in the property pane

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Input widget: Implement all the requirements in case its type is Text

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Adapt the functionalty on other types of the input widget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add label functionalities into DropdownWidget
-- Clean up for the input widget and DRY

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add label functionalities into MultiSelectWidget
-- Eliminate unnecessary component prop, columns

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add label functionalties into Tree Select widget
-- Add styles for alignment between lable and input control over the widgets

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add label functionalities into MultiSelectTreeWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Introduce label functionalities into DatePickerWidget2
-- Use width instead of columns prop in InputWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Apply label functionalities into RichTextEditorWidget
-- Eliminate compactMode from StyledLabel

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Apply label functionalities into CheckboxGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Apply label functionalities into SwitchGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Reimplement switch group for the correct meaning of right alignment

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Apply label functionalities into RadioGroupWidget
-- Add new properties, alignment and inline for consistency

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Adjust cols and rows for RadioGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Eliminate unused StyledRadioProps

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Complete first MVP of enhanced SwitchGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Complete the first MVP of enhanced RadioGroupWidget
-- Eliminate unused StyledSwitch component for SwitchGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add min-height, align-self rules for LabelContainer

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Use original label property for RadioGroupWidget
-- Add a migration for adding isInline and alignment properties for RadioGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Update version to latest one in DSLMigrationsUtils.test.ts

* fix failing jest test

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Reimplement label functionalities on BaseInputWidget, InputWidgetV2, CurrencyInputWidget, PhoneInputWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Eliminate unused imports in DSLMigrationsUtils

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix on the label related test case which is failed in Input_spec.js

* feat: Controls for labels in widgets to align the widgets in forms and other places
-- Fix on #10119: The label text truncates on resizing the input widget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix scroll issue when shrink with MultiSelectWidget and MultiSelectTreeWidget

* fix: Widget Popup test

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Reimplement width and alginment features on the level of label element
-- Prevent actual inputs from DropdownWidget, MultiSelectWidget, SingleSelectTreeWidget, MultiSelectTreeWidget from overflow when resizing
-- Enable label feature on a RadioGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Set label container's default width to 33% when width is not set

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix crash issue when labelWidth is filled by non-numeric value, eliminating passing NaN as its value

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Set flex-grow to zero on input types other than TEXT

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Implement label features on newly created MultiSelectWidgetV2

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Eliminate LabelPositionTypes, directly using enum LabelPosition
-- Add a comment for a constant LABEL_MAX_WIDTH_RATE
-- Directly import React for LabelAlignmentOptionsControl
-- Remove unnecessary constructor for LabelAlignmentOptionsControl
-- Define handleAlign instance method as a higher-order function
-- Only migrate alignment property for RadioGroupWidget
-- Use Object.hasOwnProperty instead of in operator

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Migrate alignment property of RadioGroupWidget in case of currentDSL.version is 52

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Revert currentDSL.version to 52

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add a Jest test case for RadioGroupWidget's alignment property migration

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Replace all nested ternary operators with if statements

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Implement label feature on new version of SelectWidget
-- Add Cypress tests for widgets' label section

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Refactor code for BaseInputWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Change CSS selector for step buttons for Numeric BaseInputWidget
-- Directly use migrateRadioGroupAlignmentProperty migration function without using transformDSL

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix on typo about migrateRadioGroupAlignmentProperty

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add data-testid attributes for Cypress selectors

* feat: Deprecate form button widget

-- Assert flex-direction to row in CheckboxGroup_spec.js

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add a missing data-testid for SelectWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix on failed test cases: CheckboxGroup_spec, DatePicker_2_spec, MultiSelectWidgetV2

* fix: Select popup DSL

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Create a new property control, NumericInputControl
-- Replace all the label properties with the newly created controls

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Create a new Cypress command, checkLabelWidth and apply to all related test cases
-- Increase width in checkboxgroupDsl.json
-- Rename className for label in MultiSelectWidgetV2

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Reimplement the tooltip feature for labels
-- Add missing props for labels in DateField, MultiSelectField, RadioGroupField, SelectField fields for JSONFormWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Refactor property controls, including LabelPositionOptionsControl, LabelAlignmentOptionsControl, NumericInputControl to keep consistency
-- Apply default values into label section

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Extract the label related parts from the various widgets as an independent component

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Eliminate TypeScript any type from BaseInputComponent

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Change labelPosition property type to DROP_DOWN
-- Modify LabelAlignmentOptionsControl to use ButtonTabComponent

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Define getLabelWidth method into BaseWidget
-- Extract the common CSS rules for the widget containers
-- Revert rows and columns for SwitchGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix on the failed test case in DSLMigrationsUtils.test.ts

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix on overflow issue on CheckboxGroupWidget
-- Create a distinctive spec file for label feature
-- Eliminate the redundant label specs with the relevant widgets

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Delete unnecessary files, including Select_spec.js, LabelButton.tsx and LabelPositionOptionsControl.tsx
-- Revise wrong comment for checkLabelForWidget Cypress command

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Do not set the label width only if its value is 0
-- Clean up the component for DatePickerWidget2

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Eliminate unused imports in DatePickerWidget2

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Make RadioGroupWidget's layout flexible in all modes

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix on Cypress test case for RadioGroupWidget in Widgets_Labels_spec
-- Change Cypress commands, including addAction, addSuccessMessage, enterActionValue to accept parentSelector

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Change getLabelWidth method to not have any argument
-- Define some constants for label numbers
-- Extract the common styles for SwitchGroupWidget and RadioGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Refactor some constants

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Eliminate unused width prop from RadioGroupWidget
-- Get labelWidth from getLabelWidth

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Eliminate the min-height restriction on a label
-- Eliminate the scroll on the earlier InputWidgetV2 which was not in compact mode

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add one more condition checking if the current input type is text

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Extract common code base for MultiSelectTreeWidget and MultiSelectWidgetV2
-- Apply a few CSS fixes on the scrollbar issue select related widgets

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Apply some tweaks for earlier widgets with labels so as not to be broken UX

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Fix on the failed Cypress test case in Widget_Popup_spec.js

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Add constants, LABEL_DEFAULT_WIDTH_RATE, SELECT_DEFAULT_HEIGHT, LABEL_MARGIN_OLD_SELECT

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Increase the widths of CheckboxGroupWidget and SwitchGroupWidget

* feat: Controls for labels in widgets to align the widgets in forms and other places

-- Set the font size to 14px for NumericInputControl

Co-authored-by: ohansFavour <fohanekwu@gmail.com>
Co-authored-by: Tolulope Adetula <31691737+Tooluloope@users.noreply.github.com>
2022-04-14 16:47:25 +08:00
rahulramesha
cfba555fe8
chore: Should not persist DSL for mainContainer layout changes (#12351)
* Moving out non persistent state out of DSL

* replacing canvas width seector

* converting to immerReducer

* adding TODO and more immer reducer changes
2022-04-14 10:06:20 +05:30
rahulramesha
faaf977728
feat: Container Jump Improvements and Code for tracking Container Jumps (#12686)
* conatiner Jump Optimization and tracking

* Round of mouse positions ans add negative jest test cases

* addressing review comments
2022-04-13 20:27:44 +05:30
f0c1s
736c2e024e
feat: git delete branch (#12681) 2022-04-13 15:33:23 +05:30
CommanderRoot
a778a98016
chore: replace deprecated String.prototype.substr() (#11928)
String.prototype.substr() is deprecated (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) so we replace it with slice() which works similarily but isn't deprecated

Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
2022-04-13 12:30:38 +05:30
Anand Srinivasan
8420f6c5fa
fix: Js object - set async tag after all objects are parsed (#12684)
* set isAsync after all parsing is done

* clean up
2022-04-13 11:07:46 +05:30
Rishabh Rathod
136308fd7c
fix: table search text dependency deletion (#11608)
* Replace BindingPaths with ReactivePaths and remove non-bindable property path from bindingPaths to reduce confusion.
2022-04-12 13:09:26 +00:00
Ankita Kinger
c1e48f7486
feat: Refactor code for SAML integration (#12700)
* Implemented code splitting of some files for SAML integration

* Implemented code splitting of some more files for SAML integration

* updated redirect url component

* fixed an import statement

* fixed a unit test

* updated restart banner tooltip logic

* updated an import statement
2022-04-12 16:20:01 +05:30
balajisoundar
6cdef28afa
fix: Phone and currency widget's dialCode and currencyCode should … (#12720) 2022-04-08 19:39:05 +02:00
arunvjn
7f4a190657
chore: Added analytics for manual upgrade and adds redirection (#12707) 2022-04-08 20:27:19 +05:30
Favour Ohanekwu
dcddf4cb86
chore: Add data property in entity explorer as part of "show bindings" (#12590)
* include JSAction data in show-bindings
2022-04-07 21:37:03 +01:00
arunvjn
fabfb65a4f
chore: Parallelise feature flags and user info API (#12263) 2022-04-07 23:27:32 +05:30
Anand Srinivasan
ada1293797
Revert "fix: trigger fields linting issue (#11875)" (#12668)
This reverts commit 186a97c699.
2022-04-07 16:31:31 +05:30
Paul Li
481c1297a7
fix: Auto-suggestion is not working for progress widget while binding (#12658) 2022-04-07 13:37:09 +05:30
Tolulope Adetula
e05e75758d
Merge pull request #11383 from appsmithorg/feat/4182-form-detect-changes
feat: Internal property to detect changes in a form
2022-04-05 06:35:20 +01:00
arunvjn
b961f6e2e3
fix: Pages tab navigation in preview mode for git apps (#12567) 2022-04-05 10:02:52 +05:30
arunvjn
1af6ef2be8
fix: 404 on renaming new pages in apps with legacy URLs (#12547) 2022-04-04 13:11:52 +02:00
Paul Li
dfd3662bd1 Merge branch 'release' into feat/4182-form-detect-changes 2022-04-04 13:27:03 +08:00
rashmi rai
6e26065865
fix: fetchOptionsCondtionally (#12347) 2022-04-03 16:41:59 +00:00
Paul Li
9590e0fc7a Merge branch 'release' into feat/4182-form-detect-changes 2022-04-02 00:13:16 +08:00
Paul Li
78e452634e
feat: Progress bar widget enhancements (#12053)
* feat: Progress bar widget enhancements

-- Scaffold the widget for the first time

* feat: Progress bar widget enhancements

-- Change widget icon

* feat: Progress bar widget enhancements

-- Build property pane

* feat: Progress bar widget enhancements

-- Add a missing property, counterClockwise
-- Rename some properties

* feat: Progress bar widget enhancements

-- Build the first MVP of the widget

* feat: Progress bar widget enhancements

-- Reset rows to 4

* feat: Progress bar widget enhancements

-- Add Cypress test cases

* feat: Progress bar widget enhancements

-- Limit value by ranging from  0 to 100

* feat: Progress bar widget enhancements

-- Make isIndeterminate property not to be JS convertible
-- Hide progress bar and circular progress widget icon from entity explorer

* feat: Progress bar widget enhancements

-- Place indeterminate circular progress to be 100% fit into the container

* feat: Progress bar widget enhancements

-- Show result without rounding for the circular type

* feat: Progress bar widget enhancements

-- Comment out ProgressBar_spec.js

* feat: Progress bar widget enhancements

-- Remove circular progress and progressbar widgets from allowed list for list widget

* feat: Progress bar widget enhancements

-- Move ProgressBar_spec into CommentedScriptFiles directory
2022-04-02 00:02:19 +08:00
rahulramesha
5dd2f444aa
feat: Multi widget reflow (#10813)
feature for group reflow
2022-04-01 20:27:03 +05:30
Paul Li
6d744859c6 Merge branch 'release' into feat/4182-form-detect-changes 2022-04-01 04:14:05 +08:00
Anand Srinivasan
186a97c699
fix: trigger fields linting issue (#11875)
* initial fix

* fix warnings

* log evaluation order length

* log time

* logs

* re-order

* rename

* onclick vs release logs

* unit test for loading properties

* clean up

* ends with .tableData

* add comment
2022-03-31 17:07:18 +05:30
Paul Li
c582ad22da Merge branch 'release' into feat/4182-form-detect-changes 2022-03-31 17:53:50 +08:00
akash-codemonk
73c5267d13
chore: Templates UI updates (#11775) 2022-03-31 10:46:04 +05:30
Bhavin K
2b47e00a71
fix: add overflow property in text-widget (#12160) 2022-03-31 10:18:51 +05:30