Commit Graph

49 Commits

Author SHA1 Message Date
Aman Agarwal
acc3b19377
fix: action reducers were using old implementation of updating state (#22912)
## Description

In this PR `ActionReducer` code was refactored to use
`createImmerReducer` instead of `createReducer`, which helped in solving
the gsheet error of spreadsheet name mismatch and api url field update failing autosave by updating the redux
store values properly.
2023-05-05 14:45:10 +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
Ankita Kinger
1a3944d0db
fix: Removing temporarily copied action to a page when API responds with an error (#19229)
## Description

> Removing temporarily copied action to a page when API responds with an
error.

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

## Type of change

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

## How Has This Been Tested?
> Tested the same scenario locally. The issue was with coping an action
to another page that doesn't have a create action permission. Fixed that
in this PR and it reverts to the old state without page refresh when API
responds with an error. Moving the action works fine with an error
response from API. Didn't need any fixing.

- 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-27 05:14:04 +00:00
arunvjn
4e5b21600d
Optimise code editor renders (#15405) 2022-08-04 11:10:44 +05:30
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
Ayangade Adeoluwa
bc8d885813
feat: Response view switcher for all action editors (#9629)
* Response view switcher for all action editors

* fixes prettier issue

* adds correct type to responseDataTypes property

* fix some more conflicts

* Try a new  multi switch component

* Revert multiswitch changes

* Adds finishing touches

* remove warnings

* Fixing bugs, reusing logic
2022-04-08 16:32:34 +00:00
Favour Ohanekwu
5036229b52
clear action data on page switch (#10104) 2022-01-04 07:42:06 +01:00
Aman Agarwal
d05b2d5b56
fix: Correcting the run button loading state on cancel in API pane (#9094)
* fix(run-button-loading): the run button loading state changed on cancel

* fix(run-button-loading): added test case for run button loading status
2021-12-14 12:37:42 +00:00
Hetu Nandu
3380227cbb
feat: Enable Promises in Appsmith (#6253) 2021-08-27 14:55:28 +05:30
Rishabh Rathod
a9f16d75bd
Enable Autocomplete for Static Objects (#6302)
* Remove type from COLORS constant

* Remove type from InputTypes in InputWidget

* Remove type from ReduxActionTypes

* Remove type from ReduxErrorActionTypes

* Remove type from SocialLoginTypes

* Fix widget actions issues

* Remove OPEN_SUB_PANE commented redux action
2021-08-03 13:36:48 +05:30
arunvjn
08966499be
Remove request/response data from copies of an executed API (#4521) 2021-05-18 17:17:22 +05:30
arunvjn
068e4065d7
Expose response headers for API/DB actions (#4336)
* Expose response headers for API/DB actions

* Added responseMeta to actions datatree

* Modified cypress test to account for responseMeta

* Modify cypress test case

* More test changes

* Modified tests
2021-05-14 12:21:09 +05:30
Hetu Nandu
363bee8ec9
Fix action field evaluation for editor (#3701) 2021-03-30 10:59:03 +05:30
Hetu Nandu
ebd61efcca
Show a toast when action executeOnLoad status updates (#3042) 2021-02-15 21:43:44 +05:30
Hetu Nandu
0332c15d56
Better handling of action error response (#2839) 2021-02-04 15:08:25 +05:30
Piyush Mishra
148497a1bc
Refactor datasources and actions for stronger type checking (#2167) 2021-01-12 09:47:28 +05:30
Piyush Mishra
806a139ddb
Make prettier changes (#2337) 2020-12-24 10:02:25 +05:30
Arpit Mohan
a942dc198e Revert "Onboarding flow (#1960)"
This reverts commit e84699e7ba.

Reverting this commit because this flow requires more changes before it's ready for prime-time.
Will continue development on this feature in a different branch
2020-12-22 13:02:02 +05:30
akash-codemonk
e84699e7ba
Onboarding flow (#1960)
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2020-12-18 18:48:47 +05:30
Rishabh Saxena
17ded71de3
fix actions/queries not fetched after cloning a page (#2196)
* fix actions/queries not fetched after cloning a page

* cf fix

* update type

* update test to check if api is cloned

* trigger tests
2020-12-16 14:51:31 +05:30
Abhinav Jha
4f569f4996
Fix issue where datasource was missing for an action (#1498) 2020-11-02 14:58:20 +05:30
akash-codemonk
d652c1485d
Update the action config with the datasource info (#1451) 2020-10-30 11:54:15 +05:30
Nikhil Nandagopal
88b471cbd0
added code to merge page load responses if they return before action … (#528)
* added code to merge page load responses if they return before action load responses

* commit to trigger tests

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-09-10 16:12:16 +05:30
akash-codemonk
dbfd986d0e
Add action settings tab to api and query pane (#434)
* Add action settings tab to api and query pane

- Ask for confirmation before running an action

* Update  property of actions basedon the updateLayout response

Prevent confirmation dialog for Action run, until  property of action is true

Send an API Request when the user toggles the  property of an Action

* update http method to toggle executeOnLoad for an action to PUT

* Fix save layout response type

* Remove console.log

* If updating executeOnLoad, avoid calling update action API

Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2020-08-27 21:09:16 +05:30
Hetu Nandu
73f495e4c5
Fix curl import causing action responses to be wiped (#363)
* Fix curl import causing action responses to be wiped

* remove unused
2020-08-20 11:53:25 +05:30
Hetu Nandu
fe43680abc
Action test fixes (#130)
* Fixes for tests
* remove marketplace tests
* fix some other tests
* Simplify update datasource
* Add cypress env variables
2020-07-21 19:31:51 +05:30
Hetu Nandu
70955de703
Create fetch actions workflow for view mode (#102)
* Create fetch actions workflow for view mode

* Remove config from autocomplete results
2020-07-15 18:31:35 +05:30
Hetu Nandu
13e173fa77
Action save fixes (#33)
- Increased timeout for move action
- Table header typescript fix
- Fix data tree selectors for better performance
- Debounce update action saga by 500 ms
- Query delete fix
- Query save fix
2020-07-06 19:05:31 +05:30
Hetu Nandu
4a6717889c
Streamline action save with widgets (#10)
- Remove drafts from actions
- Direct update action from forms
- Debounced saving of actions
- Add org id in default datasource
- Merge query and api run saga
2020-07-03 14:28:58 +05:30
Hetu Nandu
d9540f8927 Evaluated value popup 2020-06-04 13:49:22 +00:00
Hetu Nandu
0bdb9bea4c feat: dynamic post body in api form
- add info icon
- display helper text and placeholders dynamically
2020-05-05 07:50:30 +00:00
Hetu Nandu
85f57e350f Api pane creation fixes 2020-04-22 09:15:24 +00:00
Hetu Nandu
af3b5d212f fix: ui fixes and type defination fixes
- avoid using any or undefined types in the code
- fix ui issues for api home screen
- update naming convensions
- remove unwanted code
- use color variables
2020-04-14 12:34:14 +00:00
Abhinav Jha
8024fe5131 Feature - update widget name 2020-02-21 12:16:49 +00:00
Hetu Nandu
fb80c4b576 Action refactor 2020-02-18 10:41:52 +00:00
Satbir Singh
84d35aced6 Feature/server side pagination 2020-02-07 02:32:52 +00:00
Hetu Nandu
0dd25ba2ef Refactor Widget loading 2020-01-30 13:23:04 +00:00
Hetu Nandu
9b00a345ad Various P0 fixes 2020-01-27 13:53:33 +00:00
Hetu Nandu
729599009a Api page association 2020-01-24 09:54:40 +00:00
Hetu Nandu
fbb7742f0e moved to absolute paths for all fiels 2019-11-25 10:37:27 +05:30
Satbir Singh
2fa2ed72cc Widget loading state. 2019-11-20 08:10:01 +00:00
Hetu Nandu
8c8312928a Fix various api pane bugs 2019-11-13 07:34:59 +00:00
Hetu Nandu
895649d77f Dynamic Property in Editor mode 2019-11-06 06:35:15 +00:00
Hetu Nandu
e380c489fb Dynamic binding scaffold 2019-11-01 07:11:32 +00:00
Hetu Nandu
4c5850499d Few more api pane fixes
Fixes: #165 #164 #163 #162 #161 #160 #157 #133 #119 #118 #115 #114
2019-10-29 12:02:58 +00:00
Hetu Nandu
a0b536eced Fixes for the API Editor #109 #112 #111 #116 2019-10-25 05:35:20 +00:00
Hetu Nandu
e0348cc1f3 API form 2019-10-21 15:12:45 +00:00
Nikhil Nandagopal
a8adc4e5f3 ran lint & prettier manually 2019-09-16 16:07:38 +05:30
Nikhil Nandagopal
f905417242 added actions & executor sagas 2019-09-13 15:26:11 +05:30