Commit Graph

25 Commits

Author SHA1 Message Date
srix
d34edec1f4
feat: assistive binding (#27070)
> Pull Request Template

## Description
An assistive Binding feature is added. A new code editor hinter menu
will pop up once three characters is pressed, and they match with any
entities. This assistance is expected to help many new app builders
discover binding features.

PRD: [Widget binding &
success](https://www.notion.so/appsmith/Widget-binding-success-bc2f559b67194891992c6163eb8ac457)
UI Design :
[Zeplin](https://app.zeplin.io/project/64df0f50e3f9570e8dcfc803/screen/64df0fa0e771af22508f2267)
POC: [POC for Binding Success -
Engineering](https://www.notion.so/appsmith/POC-for-Binding-Success-Engineering-07157e8e90c7451a850d6d054d975f36)
ERD : [Engineering Requirement - Assistive
Binding](https://www.notion.so/appsmith/Engineering-Requirement-Assistive-Binding-b04e41f07e3b4c998be7b8b49f8324ba)


#### PR fixes following issue(s)
Fixes # (issue number)

When a users input within a property of a widget matches any
query/api/jsobject of their application, a dropdown menu will appear
with possible binding options for users to select from. #26682

When the user adds a new binding from the menu the cursor should be
present in between the moustache bindings #26683

When a user toggles JS mode for the input, bindings with the cursor in
between them should be present by default (incase input has no value)
#26685

#### Media

#### Type of change
> Please delete options that are not relevant.
- New feature (non-breaking change which adds functionality)


## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [x] Manual
- [x] Cypress
>
>
#### Test Plan
https://github.com/appsmithorg/TestSmith/issues/2507
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)

- [x]
https://github.com/appsmithorg/appsmith/pull/27070#issuecomment-1710094372
- [x]
https://github.com/appsmithorg/appsmith/pull/27070#issuecomment-1711189712
- [x]
https://github.com/appsmithorg/appsmith/pull/27070#issuecomment-1711209028
- [x]
https://github.com/appsmithorg/appsmith/pull/27070#issuecomment-1711214677
- [x]
https://github.com/appsmithorg/appsmith/pull/27070#issuecomment-1711311082
- [x]
https://github.com/appsmithorg/appsmith/pull/27070#issuecomment-1711321208
- [x]
https://github.com/appsmithorg/appsmith/pull/27070#issuecomment-1711336112

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


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [x] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [x] Test plan has been peer reviewed by project stakeholders and other
QA members
- [x] Manually tested functionality on DP
- [x] We had an implementation alignment call with stakeholders post QA
Round 2
- [x] Cypress test cases have been added and approved by SDET/manual QA
- [x] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

---------

Co-authored-by: arunvjn <arun@appsmith.com>
Co-authored-by: Favour Ohans <fohanekwu@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-09-15 21:23:51 +05:30
albinAppsmith
629999f124
feat: [epic] appsmith design system version 2 deduplication (#22030)
## Description

### Fixes
- [x] https://github.com/appsmithorg/appsmith/issues/19383
- [x] https://github.com/appsmithorg/appsmith/issues/19384
- [x] https://github.com/appsmithorg/appsmith/issues/19385
- [x] https://github.com/appsmithorg/appsmith/issues/19386
- [x] https://github.com/appsmithorg/appsmith/issues/19387
- [x] https://github.com/appsmithorg/appsmith/issues/19388
- [x] https://github.com/appsmithorg/appsmith/issues/19389
- [x] https://github.com/appsmithorg/appsmith/issues/19390
- [x] https://github.com/appsmithorg/appsmith/issues/19391
- [x] https://github.com/appsmithorg/appsmith/issues/19392
- [x] https://github.com/appsmithorg/appsmith/issues/19393
- [x] https://github.com/appsmithorg/appsmith/issues/19394
- [x] https://github.com/appsmithorg/appsmith/issues/19395
- [x] https://github.com/appsmithorg/appsmith/issues/19396
- [x] https://github.com/appsmithorg/appsmith/issues/19397
- [x] https://github.com/appsmithorg/appsmith/issues/19398
- [x] https://github.com/appsmithorg/appsmith/issues/19399
- [x] https://github.com/appsmithorg/appsmith/issues/19400
- [x] https://github.com/appsmithorg/appsmith/issues/19401
- [x] https://github.com/appsmithorg/appsmith/issues/19402
- [x] https://github.com/appsmithorg/appsmith/issues/19403
- [x] https://github.com/appsmithorg/appsmith/issues/19404
- [x] https://github.com/appsmithorg/appsmith/issues/19405
- [x] https://github.com/appsmithorg/appsmith/issues/19406
- [x] https://github.com/appsmithorg/appsmith/issues/19407
- [x] https://github.com/appsmithorg/appsmith/issues/19408
- [x] https://github.com/appsmithorg/appsmith/issues/19409

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


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


## Type of change

> Please delete options that are not relevant.

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


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

- Manual
- Jest
- Cypress

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

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


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


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

---------

Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: akash-codemonk <67054171+akash-codemonk@users.noreply.github.com>
Co-authored-by: Tanvi Bhakta <tanvi@appsmith.com>
Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Rohit Agarwal <rohit_agarwal@live.in>
Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: Vijetha-Kaja <vijetha@appsmith.com>
Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com>
Co-authored-by: Apple <nandan@thinkify.io>
Co-authored-by: Saroj <43822041+sarojsarab@users.noreply.github.com>
Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Aishwarya-U-R <91450662+Aishwarya-U-R@users.noreply.github.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: Preet Sidhu <preetsidhu.bits@gmail.com>
Co-authored-by: Vijetha-Kaja <119562824+Vijetha-Kaja@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2023-05-20 00:07:06 +05:30
arunvjn
4661f7ab0c
chore: code splitting changes for Appsmith AI (#23188)
## Description
- Changes to codeEditor/index.ts to support AI integration.
- Added AIAssisted prop to code editor component.
- Added AIWindow interface to support AI popover in business edition.

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

## Testing
>
#### How Has This Been Tested?
- [x] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-15 15:09:18 +05:30
Satish Gandham
83538ad74d
feat: Bundle optimization and first load improvements (#21667)
Co-authored-by: Ivan Akulov <mail@iamakulov.com>
Co-authored-by: Satish Gandham <hello@satishgandham.com>
Co-authored-by: Ivan Akulov <iamakulov@outlook.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
2023-05-11 10:56:03 +05:30
Ravi Kumar Prasad
6ac99037b0
feat: Action selector (#21582)
## Description
Replaces the old boring action selector dropdown with a much more
sophisticated UI that is capable of going above and beyond. Users with
an aversion to code can now build their more complex workflows with a
click of a few buttons.

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

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

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

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

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

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

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

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

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

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

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


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

---------

Co-authored-by: Rimil Dey <rimil@appsmith.com>
Co-authored-by: arunvjn <arun@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2023-04-06 22:19:12 +05:30
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
Rimil Dey
4e9068ddba
chore: Move constants, types and utils to their own files in Action Creator (#16947)
* Move constants and regex to their own files from index and fields file

* Move types to to its own file

* Move utils to its file

* Add proper types for functions in fields file

* Rename Switch -> Switchtype

* Fix imports

* Fix NAVIGATION_TARGET_FIELD_OPTIONS constant so that the build works

* Jest tests to cover the utils

* Add jest test cases

* Update cases

* Code review changes
2022-09-26 10:05:04 +05:30
Preet Sidhu
c03fddf1c9
fix: Improve CodeMirror rendering performance using idleCallback (#13676)
* working editor wrapper

* updated other property controls

* fix tablefilter_spec unit test

* autofocus on editor

* update font styles

* show lint errors

* add syntax highlighting

* fix import issue

* fix input height

* use lazy and suspense

* wip

* update code clean up

* update input style

* fix select widget issue

* fix build issue

* fix import issue and linting css

* update lint error method

* add polyfill for idle callback

* fix undo aggregate helper changes

* rename CodeEditor component

* fix tests add delay before code mirror

* undo name change

* rename lazy editor

* add comments and update aggregate helper

* fix cypress helper

* fix testJsonText command

* update aggregate helper

* add wait to allow time to load

* fix filepicker issue

* fix currency input test

* fix unit tests

* update aggregate helper

* fix table property tests

* fix test

* fix command

* update json text command

* updated command ii

* update iii

* update iv

* add force click

* check for wrapper

* fix for objects

* fix test iv

* fix test v

* fix tests vi

* fix tests vi

* fix variable naming issue

* fix tests vii

* remove wait from wrapper click

* fix tests viii

* fix recheck wrapper availability

* fix updateCodeInput command

* fix undo while loop

* fix ix

* fix each loop

* removed EnableAllCodeEditors

* updated tests

* Upated wait

* updated some more tests

* updated wait time

* updated common method

* updated all related common methods

* update state name and add callback timeout

* updated test

* updated the test

* fix use while loop and update count

* update click func

* fix use get instead of find

* fix on click action command

* remove comments

* fix: update import statements

* add force click to widget command

* update wrapper ui

* fix auto load code editor

* update editor wrapper ui

* fix lineheight adjustment

* refactor editor wrapper

* update style import

* fix ascetic style import

* fix font style

* fix wrapper height

* update color for code block

* fix min height of content wrapper

* remove error linting and editor wrapper

* remove unused variable

* remove unused imports

* fix font color for objects

* update styles for placeholders

* remove console log

* remove react syntax highlighter

* cancel idlecallback on unmount

* Delay input foucs

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: apple <nandan@thinkify.io>
Co-authored-by: Satish Gandham <satish@appsmith.com>
2022-07-20 14:56:12 +05:30
Aswath K
2393790170
fix: Unable to toggle JS button for table column (#14843) 2022-06-28 17:53:03 +05:30
Satish Gandham
b580e55e83
fix: Check if event.target is defined before accessing the value (#8475)
This is a patch, should see what triggered this issue.

Co-authored-by: Satish Gandham <satish@appsmith.com>
2021-10-13 11:55:04 +05:30
Tolulope Adetula
d056c0baaa
feat: menu button as column type (#7039)
* fix: add menubutton

* feat: Make on Menu Item Click

* fix: remove console

* fix: refactor Utils.ts

* fix: add Comments

* fix: refactor utils

* fix: use forEach not Map

* fix: refactor table widget

* fix: add comment to config

* fix: refactor hook

* refactor: property Config

* fix: eslint issues

* fix:Add null check, refactor menuItemComponent

* test: add Cypress test for Menu button In Table widget

* fix: warning error

* fix: conflicts and remove menuStyle

* fix: change property pane arrangement

* fix: QA issues

* fix: Change default text, Change menu button color

* fix: Add background color to menuitems

* fix: bg color

* fix: failing tests
2021-10-06 13:57:05 +01:00
Tolulope Adetula
ca8b74da30
fix: app crashes when editing table visibility (#7472) 2021-09-17 05:33:26 +00:00
Abhinav Jha
b49f5097c6
refactor: Widget Development API (#6405) 2021-09-09 20:40:22 +05:30
Hetu Nandu
1f16c2d1ee
Tern server performance fix and Best match fix (#6338) 2021-08-04 11:04:44 +05:30
Abhinav Jha
1391b55bae
Widget Property Validation structure (#5270) 2021-07-26 11:20:46 +05:30
Bhavin K
7259d1e908
Bug/mustache binding extra space (#5587)
Table data was not populating when extra space inside the mustache binding, This is now fixed for list and table widget

* removed return statements from computed values

* list widget responce update

* table data handled return, added migration

* removed unused function

* updatetd rowBinding string generator

* fix failing cypress test

* fix cypress tests
2021-07-22 14:13:58 +05:30
Pranav Kanade
f414285201
[Feature] Unified New Nav (#5558)
* temp commit

* using onsubmit to continue using action on form

* added recaptcha site key to env example file

* moved the recaptcha lib loading logic to signup page

* removed unnecessary edit

* handle the case where the recaptcha token is not provided as env var

* added proper env var config for client

* recaptcha config for ansible

* recaptcha config for heroku

* recaptcha config for k8s

* updated app.json

* fixed the typos

* added more description for env vars

* removed api key

* minor typo fix

* added new integration button

* updated the add int default link

* added active and create new tabs

* added the empty components to tabs. will control the section manually.

* added proper grid for integrations page

* added vertical tabs

* Added secondary tabs to integrations page

* added separate page for new apis

* classname changes

* added new components for active queries, new queries etc.

* added a separate component for data source list

* adding screen component conditionally, to be showing upon user's choice

* 1. Added grid styling to datasource home
2. Added connect buttons to em

* fixed data source security banner

* updated the styling for new api page

* added tertiary menu for active integrations

* updated styling for active connections

* updated collapse component to work properly

* added show more option to active data sources

* Slash commands feature init commit

* Added more commands

* Introduced JSX to render custom commands

* Merge conflict fix

* Spacing changes

* removed apis/db tabs and replaced em with integrations tab

* removed the unnecessary + integrations btn

* Added slash commands button

* Adjust styles for better ui

* Ordered the action entries under integrations

* Added new datasource command

* updated the getURL with proper params

* updated the link of create datasource btn

* updated the back btn link from data source editor

* Show connect data cta in property pane

* Styling fixes

* Fix margin

* added scrollable content to create new

* added on click scroll to create new page

* fixed a bug, creating new datasource twice

* added new action creator for integrations.

* Minor changes to add new bindings command.
Changed ui behaviour of / button

* UI style change

* updated the query editor to match the over all theme

* updated the query editor tabs

* Added the run btn to empty response screens

* minor fix

* updated the bg color of api type drop down

* updated the url being visited after delete api/query

* removed log

* Insert binding command UI change

* More UI changes

* removed unnecessary junk from integrations editor index

* clean up, removed unnecessary files

* removed useless routes

* for debugger only checking if integrations editor

* Removed all the links for api/query home pages

* Move command actions to a saga
Added support to binding the data back to the widget when are new API is created from widget

* Added reverse binding for DB queries

* Show / button only on hover

* not routing to integrations on create query/api

* Hide actions from suggestions in action pages

* removed the query/datasource/api home pages

* Changes widget.data to widget in slash commands

* Show dependencies in property pane

* Fix warning

* fixed scrolling issue

* will show a list of queries and apis for action picker

* showing icons for each action under integrations

* Fix dropdown not showing up

* Minor refactoring.
Changed commands

* added a way to list data sources in action creators

* Update query page url

* cam show icons for datasources

* Removed unused code

* Feature/slash commands (#5002)

* Slash commands feature init commit

* Added more commands

* Introduced JSX to render custom commands

* Merge conflict fix

* Spacing changes

* Added slash commands button

* Adjust styles for better ui

* Added new datasource command

* Minor changes to add new bindings command.
Changed ui behaviour of / button

* UI style change

* Insert binding command UI change

* More UI changes

* Move command actions to a saga
Added support to binding the data back to the widget when are new API is created from widget

* Added reverse binding for DB queries

* Show / button only on hover

* Hide actions from suggestions in action pages

* Changes widget.data to widget in slash commands

* Minor refactoring.
Changed commands

* Removed unused code

* remove more unusued code

* Added support to generate new api from a datasource in quick commands

* Code correction to use types

* Refactored commands code

* Minor bug fixes

* Remove new integrations command for actions.
Fixed autocomplete not showing up

* Changes to prevent autocomplete trigger for navigation commands

* Prevent hinter execution when show hint is open already.

* Show hinter on focus

* Update text to be called in the omnibar

* updated the copy for empty active datasources

* Update url

* Fix text decoration

* updated the redirection for back btns

* Use themes

* Add cypress test

* fixed back btn nav

* fetching form configs for datasources

* a callback fixed

* Fix slash command not executed on click (#5540)

* Replace the value if not a string else append

* Log commands menu events

* updated mock data base navigation

* updated mock data base navigation

* updated the close editors and back buttons

* All back btns from editors will go back to data sources and back from data source will go back to canvas

* fixed bg colors

* minor styled updates

* removed margin from header of generic datasource

* warnings fixes

* If user is already on the location not redirecting em

* when editing, will check if the coming from data source and redirect accordingly

* updated redirection for newly created api/queries

* updated back btn for newly created datasources

* back for new curl goes to data sources

* Revert "[Fix] revert new nav (#5533)"

This reverts commit 1647815d

* remaining original reverted chagnes

* fixed the width of incoming/outgoing entity bar in property pane

* removing residue from resolved merge conflicts

* Fix widget icons not visible in dropdown menu

* minor fix to use proper integration URL

* updated the URLs for unified datasources

* converted back and close to btns from banners

* on accessing data source from sidebar, it'll always go to view mode

* updated the edit path for saas editors

* Added saved state for google sheet

* on google sheet delete redirecting to create new

* minor fix

* fixed the redirection call on saving a datasource

* removed save and test cmd as it wasn't needed

* Removing test cases to be fixed by Arun

* commenting more tests to be fixed by Arun

* updated call api cy command

* Fix extra margin issue

* fixed the update datasource saga

* fixed video spec

* Revert "commenting more tests to be fixed by Arun"

This reverts commit 42087a95ad77107401a1619e4c2d4c541a81d6c3.

* Revert "Removing test cases to be fixed by Arun"

This reverts commit f6fad67e558d22045114a90409428ef9b737478f.

* fixed the entity explorer query datasource spec

* cautious fix

* update widget locators

* fixed leave org test

* fixes for FormWidgets

* updated the image spec

* Use memo

* Fix debugger url checks

* for copy and delete widget pointing directly to svgs

* Fix entity text

* Fix styling and show tooltip for property pane dependencies

* removed the unnecessary callback

* added a separate saga to to redirect to new integrations using onSuccess

* Bug Fixes - New nav (#5629)

* will show scrollbar only on hover

* made mock data cards clickable

* fixed the grid view

* fixed the cursor position when clicking on / btn

* updated the hint for `/` command

* binding prompt will close on focus change

* hiding / command for api body

* hiding / command for query pane

* Added 2 new icons

* Fix cursor position on selecting a binding and clicking on the slash menu button

* trying out fix to copyWidget cy command

* removing zero width space characters from the property pane text

Co-authored-by: arunvjn <arun@appsmith.com>
Co-authored-by: Akash N <akash@codemonk.in>
Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com>
Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
2021-07-07 09:16:16 +05:30
Pranav Kanade
1647815d24
[Fix] revert new nav (#5533)
* Revert "[Bug] Mock data section is missing (#5517)"

This reverts commit be48f2f5

* Revert "[Feature #4542] : simple nav unify api/datasource (#4987)"

This reverts commit 8d8b9ed2
2021-07-01 18:14:41 +05:30
Pranav Kanade
8d8b9ed203
[Feature #4542] : simple nav unify api/datasource (#4987)
* temp commit

* using onsubmit to continue using action on form

* added recaptcha site key to env example file

* moved the recaptcha lib loading logic to signup page

* removed unnecessary edit

* handle the case where the recaptcha token is not provided as env var

* added proper env var config for client

* recaptcha config for ansible

* recaptcha config for heroku

* recaptcha config for k8s

* updated app.json

* fixed the typos

* added more description for env vars

* removed api key

* minor typo fix

* added new integration button

* updated the add int default link

* added active and create new tabs

* added the empty components to tabs. will control the section manually.

* added proper grid for integrations page

* added vertical tabs

* Added secondary tabs to integrations page

* added separate page for new apis

* classname changes

* added new components for active queries, new queries etc.

* added a separate component for data source list

* adding screen component conditionally, to be showing upon user's choice

* 1. Added grid styling to datasource home
2. Added connect buttons to em

* fixed data source security banner

* updated the styling for new api page

* added tertiary menu for active integrations

* updated styling for active connections

* updated collapse component to work properly

* added show more option to active data sources

* removed apis/db tabs and replaced em with integrations tab

* removed the unnecessary + integrations btn

* Ordered the action entries under integrations

* updated the getURL with proper params

* updated the link of create datasource btn

* updated the back btn link from data source editor

* added scrollable content to create new

* added on click scroll to create new page

* fixed a bug, creating new datasource twice

* added new action creator for integrations.

* updated the query editor to match the over all theme

* updated the query editor tabs

* Added the run btn to empty response screens

* minor fix

* updated the bg color of api type drop down

* updated the url being visited after delete api/query

* removed log

* removed unnecessary junk from integrations editor index

* clean up, removed unnecessary files

* removed useless routes

* for debugger only checking if integrations editor

* Removed all the links for api/query home pages

* not routing to integrations on create query/api

* removed the query/datasource/api home pages

* fixed scrolling issue

* will show a list of queries and apis for action picker

* showing icons for each action under integrations

* added a way to list data sources in action creators

* cam show icons for datasources

* linked integration tab movement to URL

* fixed the create new query bug

* removed search

* added the auto redirection mode

* added new mode to support showing mock data bases

* on click show more works properly

* removed extra padding

* removed height

* showing all the data sources on active tab

* fixed the creation of google sheet

* updated the proper routing for curl

* fixed page height

* removed loader

* added a spinner for creating a new api

* will be showing edit/add query permanantly

* updated the redirection on save and delete datasource

* fixed the redirection logic on delete

* will not show security banner

* added empty state for active data sources

* updated the hover state

* minor fix to redirect on delete from entity pane

* fixed a cy command to create new api

* fixed a command to select api/query from lightning menu

* updated the navigate to data source editor

* removed add btns for new int creation

* updated the testSaveDeleteDatasource command

* fixed bind table text pagination spec

* more test case fixes for deleting a query using context menu

* update curl test

* updated curl post import spec

* fixed click from apis to integrations

* updated execute db query command + updated delete query mech

* updated CreationOfUniqueAPIcheck command

* updated query datasource spec

* fixed an action creator bug.

* fixed curl api creation bug

* removed irrelavent part of the test

* fixed the button colors

* updated back link from datasource page

* Revert url validation changes for the debugger since this is used to check whether we are on a query or an api and show its dependencies

* updated a test case to open integrations option in action selectors

* Update app/client/src/pages/Editor/IntegrationEditor/DatasourceCard.tsx

Co-authored-by: Rishabh Saxena  <rishabh.robben@gmail.com>

* separated msg

* styling fixes for collapse component

* renamed a file

* declared a new const in theme

* updated border

* removed a faint line from collapse card

* removed unnecessary condition

* updated component name

* log removed

* split action creator file

* updated the icon usage in action creators

* can properly fetch mock data sources

* can show mock databases in create new

* can use mock db sources

* fixed the scrollbars

* updated the api icon for both global search + action creator

* updated integrations name in datasources

* added a back to canvas ribbon

* updated query and api editor to show back to canvas ribbon

* added a ribbon to go back

* updated button styles

* updated the action creator and test commands/classes

* updates to show the proper mock databases

* added proper type for mock datasources

* removed unnecessary log

* updated a test case to work with new nav

* minor updates for tests

* updated a command to properly delete a datasource

* minor redirection fix

* made the mock db api call unblocking

* fixed scroll bars all over

* fixed bg colors for back ribbons

* declared a constant for thin scrollbar

* removed unnecessary action.

Co-authored-by: Akash N <akash@codemonk.in>
Co-authored-by: Rishabh Saxena  <rishabh.robben@gmail.com>
2021-06-30 23:51:52 +05:30
Apeksha Bhosale
4825ce2a2a
Show JS eval errors in evaluated value pane and debugger (#4463)
Co-authored-by: jsartisan <pawankumar2901@gmail.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-05-26 18:02:43 +05:30
Satish Gandham
8ad7eecdeb - Auto fix sort ddestructured props rule 2021-05-13 14:05:39 +05:30
Satish Gandham
7f7f6f666b
Development: Add eslint rules for code consistency (#4083)
Co-authored-by: Satish Gandham <satish@appsmith.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2021-04-28 15:58:39 +05:30
ram-primathon
3b0fb539d5
Property Pane re design (#3057)
Co-authored-by: devrk96 <rohit.kumawat@primathon.in>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Vicky Bansal <67091118+vicky-primathon@users.noreply.github.com>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
2021-03-15 17:47:56 +05:30
Abhinav Jha
647151e527
Internal Fix: Migration issues with Table widget (#3212)
* Fix hidden columns migration

Fix issue where column ids have spaces in them leading to a crash

* Quick fix unit tests

* Remove tableData dependencies from selectedRow and selectedRows
2021-02-25 17:21:54 +05:30
Piyush Mishra
a4fe0a461e
Table Widget New Features (#2816)
- Each column has more options and can be configured in the property pane instead of the table
- Table level styles can now be set in the property pane
- Property sections are collapsible

Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
2021-02-16 15:59:08 +05:30