Commit Graph

299 Commits

Author SHA1 Message Date
Ayush Pahwa
4217acbcc4
feat: prevent secrets to be pushed to repo (#15259)
## Description

Currently, our repository is prone to any dev pushing secrets to the repository by mistake. This can become a major problem very quickly and in the case of services like AWS, an alarm is raised and the key is deactivated causing apps using the key to break.

After this PR is merged, people will need to have [git secrets](https://github.com/awslabs/git-secrets) installed in their systems and have to register the AWS secrets to the repo.

The setup instructions have been mentioned [here](https://www.notion.so/appsmith/Getting-Started-e81ccc35463343b28e09c200cdbe5f42#c3183e8e6e404701920dd288b8506360)

Notes: 
1. right now, since we are using the pre-commit hooks using husky, the hooks work when we have done yarn install. 
2. Also, the scan only checks the directory we are in while making the change or raising the PR. This is because it uses `git ls-files` to get the list of files to scan.
3. If someone doesn't run `git-secrets --register-aws`, the tests will pass automatically since there is no regex registered with the system to scan against.

Fixes #15042

## Type of change

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

## 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-07-20 20:35:18 +05:30
Hetu Nandu
5d568b7a6f
fix: Tooltip for long names in Entity Explorer (#15068) 2022-07-20 06:06:11 +00:00
Arsalan Yaldram
56063ab23d
feat: update dependencies (bot-alerts) (#15124)
* chore(deps): bump async from 2.6.3 to 2.6.4 in /app/client

Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: bump moment from 2.29.3 to 2.29.4 in /app/client

Bumps [moment](https://github.com/moment/moment) from 2.29.3 to 2.29.4.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.3...2.29.4)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: updated rts folder packages

* feat: remove node-sass

* fix: use marked 3.0.8 instead of marked 4

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-15 17:07:56 +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
Arsalan Yaldram
8428ae506a
fix: using old versions of marked (#15151) 2022-07-13 13:04:23 +05:30
Tolulope Adetula
d9d1c0c676
fix: dropdown not closing is fixed (#15058)
* fix: Dropdown issues

* CR fix

Co-authored-by: balajisoundar <balaji@appsmith.com>
2022-07-12 17:20:09 +05:30
albinAppsmith
3d22d935d3
feat: Design System - Text component migration (#14994)
Removed Text component
Changed imports to design system
2022-07-11 10:25:28 +05:30
Arsalan Yaldram
c8c8051dbf
feat: dependent-bot dependencies updates (#14970)
* chore(deps): bump tmpl from 1.0.4 to 1.0.5 in /app/client

Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump path-parse from 1.0.6 to 1.0.7 in /app/client

Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): bump marked from 2.0.0 to 4.0.10 in /app/client

Bumps [marked](https://github.com/markedjs/marked) from 2.0.0 to 4.0.10.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v2.0.0...v4.0.10)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): bump async from 2.6.3 to 2.6.4 in /app/client

Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: updated marked types and imports

* fix: added marked as commonjs import

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-08 00:20:19 +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
Arsalan Yaldram
1c774c2482
feat: upgrade client npm packages. (#14858) 2022-06-30 16:59:09 +05:30
albinAppsmith
fcbcec751d
feat: Design System package & Tooltip integration (#14547)
* Added Appsmith Design System Package
* Removed tooltip from ADS folder
* Changed imports for Tooltip

* added alias for the @appsmithorg/design-system

* fix for npm aliasing in jest

* design system package version change to beta 1.0.1-beta.8

* Tooltip Position type changed to PopoverPosition

* design system package updated
2022-06-24 19:53:02 +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
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
Arsalan Yaldram
8d55d6f51d
chore: update node version to 16.14.0 (#14127) 2022-05-26 23:39:59 +05:30
Arsalan Yaldram
b28eb3fed8
chore: Update node version to 16.15.0 LTS (#14094) 2022-05-26 16:05:02 +05:30
Satish Gandham
8dc9c0b017
feat: Optimize create uneval tree via memoization (#13476)
* - Memoize the expeinsive parts of createUnevalTree

* - Split the generateDataTreeWidget and memoize the expensize part
- Remove stary console statement in MultiSelectWidget

* - Some debugging code, needs to be removed.

* Debugging in progress

* Still debugging

* Still debugging

* Working??

* Jest tests passing, and fast enough

* remove unused imports

* One failing jest test, testing luck with cypress

* Remcoe console statment from jest test

* - Sync with release.
- Comment failing jest test

* Disable a test

* - Clean up

* Final cleanup and documentation

* - Make function and variable names accurate and easy to understand

* Update code comments

Co-authored-by: Satish Gandham <satish@appsmith.com>
2022-05-18 10:51:53 +05:30
Aswath K
c03cc6e1d3 fix: package issue with focus-trap causing jest test failure 2022-05-04 16:32:04 +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
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
f0c1s
736c2e024e
feat: git delete branch (#12681) 2022-04-13 15:33:23 +05:30
Rishabh Rathod
5c7a0105de
fix: react overlay issue (#12742) 2022-04-10 18:02:57 +05:30
dependabot[bot]
b440798dcd
chore(deps): bump node-forge from 1.1.0 to 1.3.0 in /app/client (#12191)
Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.1.0 to 1.3.0.
- [Release notes](https://github.com/digitalbazaar/forge/releases)
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.1.0...v1.3.0)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 11:54:59 +05:30
Arpit Mohan
8eea57358c
chore: Upgrading mocha dependencies (#12085) 2022-03-24 18:25:24 +05:30
ashit-rath
32fee08c5c
feat: JSON Form widget (#8472)
* initial layout

* updated parser to support nested array

* array field rendering

* changes

* ts fix

* minor revert FormWidget

* modified schema structure

* select and switch fields

* added checkbox field

* added RadioGroupField

* partial DateField and defaults, typing refactoring

* added label and field type change

* minor ts changes

* changes

* modified widget/utils for nested panelConfig, modified schema to object approach

* array/object label support

* hide field configuration when children not present

* added tooltip

* field visibility option

* disabled state

* upgraded tslib, form initial values

* custom field configuration - add/hide/edit

* field configuration - label change

* return input when field configuration reaches max depth

* minor changes

* form - scroll, fixedfooter, enitity defn and other minior changes

* form title

* unregister on unmount

* fixes

* zero state

* fix field padding

* patched updating form values, removed linting warnings

* configured action buttons

* minor fix

* minor change

* property pane - sort fields in field configuration

* refactor include all properties

* checkbox properties

* date properties

* refactor typings and radio group properties

* switch, multselect, select, array, object properties

* minor changes

* default value

* ts fixes

* checkbox field properties implementation

* date field prop implementation

* switch field

* select field and fix deep nested meta properties

* multiselect implementation

* minor change

* input field implementation

* fix position jump on field type change

* initial accordian

* field state property and auto-complete of JSONFormComputeControl

* merge fixes

* renamed FormBuilder to JSONForm

* source data validation minor change

* custom field default value fix

* Editable keys for custom field

* minor fixes

* replaced useFieldArray with custom logic, added widget icon

* array and object accordian with border/background styling

* minor change

* disabled states for array and objects

* default value minor fix

* form level styles

* modified logic for isDisabled for array and object, added disabledWhenInvalid, exposed isValid to fieldState for text input, removed useDisableChildren

* added isValid for all field types

* fixed reset to default values

* debounce form values update

* minor change

* minor change

* fix crash - source data change multi-select to array, fix crash - change of options

* fix positioning

* detect date type in source data

* fix crash - when object is passed to regex input field

* fixed default sourceData path for fields

* accodion keep children mounted on collapse

* jest test for schemaParser

* widget/helper and useRegisterFieldInvalid test

* tests for property config helper and generatePanelPropertyConfig

* fix input field validation not appearing

* fix date field type detection

* rename data -> formData

* handle null/undefined field value change in sourceData

* added null/undefined as valid values for defaultValue text field

* auto detect email field

* set formData default value on initial load

* switch field inline positioning

* field margin fix for row direction

* select full width

* fiex date field default value - out of range

* fix any field type to array

* array default value logic change

* base cypress test changes

* initial json form render cy test

* key sanitization

* fix fieldState update logic

* required design, object/array background color, accordion changes, fix - add new custom field

* minor change

* cypress tests

* fix date formatted value, field state cypress test

* cypress - field properties test and fixes

* rename test file

* fix accessort change to blank value, cypress tests

* fix array field default value for modified accessor

* minor fix

* added animate loading

* fix empty state, add new custom field

* test data fix

* fix warnings

* fix timePrecision visibility

* button styling

* ported input v2

* fix jest tests

* fix cypress tests

* perf changes

* perf improvement

* added comments

* multiselect changes

* input field perf refactor

* array field, object field refactor performance

* checkbox field refactor

* refectored date, radio, select and switch

* fixes

* test fixes

* fixes

* minor fix

* rename field renderer

* remove tracked fieldRenderer field

* cypress test fixes

* cypress changes

* array default value fixes

* arrayfield passedDefaultValue

* auto enabled JS mode for few properties, reverted swith and date property controls

* cypress changes

* added widget sniping mode and fixed object passedDefaultValue

* multiselect v2

* select v2

* fix jest tests

* test fixes

* field limit

* rename field type dropdown texts

* field type changes fixes

* jest fixes

* loading state submit button

* default source data for new widget

* modify limit message

* multiseelct default value changes and cypress fix

* select default value

* keep default value intact on field type change

* TextTable cypress text fix

* review changes

* fixed footer changes

* collapse styles section by default

* fixed footer changes

* form modes

* custom field key rentention

* fixed footer fix in view mode

* non ascii characters

* fix meta merge in dataTreeWidget

* minor fixes

* rename useRegisterFieldInvalid.ts -> useRegisterFieldValidity.ts

* modified dependency injection into evaluated values

* refactored fixedfooter logic

* minor change

* accessor update

* minor change

* fixes

* QA fixes date field, scroll content

* fix phone number field, removed visiblity option from array item

* fix sourceData autocomplete

* reset logic

* fix multiselect reset

* form values hydration on widget drag

* code review changes

* reverted order of merge dataTreeWidget

* fixes

* added button titles, fixed hydration issue

* default value fixes

* upgraded react hook form, modified array-level/field-level default value logic

* fixed select validation

* added icon entity explorer, modified icon align control

* modify accessor validation for mongo db _id

* update email field regex

* review changes

* explicitly handle empty source data validation
2022-03-24 12:43:25 +05:30
Aishwarya-U-R
47fc1443f2
test: Script fixes for flaky tests + Unskipping few skipped tests + Cypress upgraded (#11724)
* AForceMigration started

* Table_GenralProp Background color failure fix

* Adding assertPageSave()

* Flaky fix

* Flake fix

* S3 - upload case uncomment

* Added click aft clear - Table_AddBtn spec

* Unskipping Promises scripts

* Promises fix

* Table_genral fix

* Separating Table_Color spec

* Failure fixes

* JObjtoInput flaky fix

* .wait to .Sleep

* Failure fix

* HSEditor complete replace fix

* small replace

* Update a user's name flaky fix

* EE_CopyQuery spec fix

* UNSkipping select widget test

* Flaky fixes

* viewportHeight updated

* Page Load spec - fixed & unskipping test

* Mongo cy.al failure fix

* Promises.any fix

* Promises.any fix

* List_Spec fix

* LIst_spec fix

* Promises.any fix

* Replay editor- flaky fix

* S3 flaky fix

* expandCollapse flaky click fix
2022-03-19 21:26:53 +05:30
dependabot[bot]
cb016364ca
chore(deps): bump prismjs from 1.25.0 to 1.27.0 in /app/client (#11460)
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.25.0 to 1.27.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.25.0...v1.27.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hetunandu <hetunandu@gmail.com>
2022-03-17 14:29:43 +05:30
dependabot[bot]
9b62f037b6
chore(deps): bump lodash-es from 4.17.14 to 4.17.21 in /app/client (#11821)
Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.14 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.14...4.17.21)

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hetunandu <hetunandu@gmail.com>
2022-03-16 21:06:54 +05:30
akash-codemonk
65aee7fd14
feat: Application templates (#10964) 2022-03-03 16:26:53 +05:30
Abhinav Jha
a70763d1c3
Add showdown types package as a dev dependency for the client (#11496) 2022-02-28 18:08:56 +05:30
Pawan Kumar
cc3f98c0f1
chore: Remove chance lib (#11230)
* remove chance

* update yarn.lock

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2022-02-24 10:04:17 +00:00
Abhinav Jha
938edd5284
chore: Remove old way of adding feature flags (#11213)
* Remove optimizely, as it isn't being used anymore from the frontend codebase

* Remove optimizely references form netlify config, vercel config, index.html, docker script, nginx templates and example .env file
2022-02-16 19:57:58 +05:30
Favour Ohanekwu
a659cba4ea
chore: upgrade jshint to fix security alert (#11179) 2022-02-15 23:23:19 +05:30
Apeksha Bhosale
980c8cbf57
fix: added new library and reduced function calls for global data (#11001) 2022-02-11 16:22:27 +05:30
Rishabh Rathod
f91f860d1e
Add brotli and gzip compression (#10869) 2022-02-05 01:52:31 +05:30
rahulramesha
1b2295d31f
react spring upgrade (#10427)
Upgrading react-spring
2022-01-21 11:42:46 +05:30
Tolulope Adetula
70cff3c373
fix: Copy and paste (#10422)
* fix: Copy and paste

* fix: test cases

* fix: onPaste action

* Update index.tsx
2022-01-18 19:54:34 +01:00
balajisoundar
02785b90b2
feat: Input, Phone no., Currency input widget (#10259)
* feat: Input, Phone no., Currency Widget

* cypress tests, jest test, QA and CR callouts

* fix tests

* Cypress and jest test fixes
2022-01-18 13:22:24 +05:30
dependabot[bot]
a033cd3a19
chore: bump postcss from 7.0.35 to 8.2.13 in /app/client (#10246)
Bumps [postcss](https://github.com/postcss/postcss) from 7.0.35 to 8.2.13.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/7.0.35...8.2.13)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2022-01-15 12:41:36 +05:30
Snyk bot
4bc56cb99e
chore: [Snyk] Security upgrade node-sass from 7.0.0 to 7.0.1 (#10016)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-ANSIREGEX-1583908

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2022-01-15 04:25:27 +05:30
Aishwarya-U-R
cc426f1455
test: Automated tests for Promises in Typescript + failure fixes (#10288)
* JSObjects scripting

* storeValue Implemented

* Resolve, AsyncAwait script implementation

* Moved ts tests inside already existing folders

* Then & Catch test script implemented

* Promise.race test script implemented + S3 fix

* JSObject_To_ListWidgetSpec.ts failure fix

* S3 flaky test fix

* createOrg flaky fix

* FilePicker_with_fileTypes_spec.js filename fix

* createOrg flaky fix

* createOrg revert

* JSObject_To_ListWidgetSpec.ts added validations

* .then .catch promises script added

* Added script for Promises Maintaining context

* Added WaitUntilEleDisappear()

* JSObj run fix
2022-01-13 05:23:27 +00:00
Snyk bot
c127f98cd3
fix: [Snyk] Security upgrade node-forge from 0.10.0 to 1.0.0 (#10247)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NODEFORGE-2330875
2022-01-07 18:48:01 +05:30
Paul Li
85d54a7b56
feat: Map Chart widget (#6929)
* FEATURE-6314 : Map Chart Widget

-- Scaffold the widget

* FEATURE-6314 : Map Chart Widget

-- Add a new widget icon
-- Proptotype the property pane for the first time

* FEATURE-6314 : Map Chart Widget

-- Install fusionmaps
-- Draw naive world map for the PoC

* FEATURE-6314 : Map Chart Widget

-- Integrate the limited number of FusionMaps into the widget
-- Bind basic properties and a action into the map

* FEATURE-6314 : Map Chart Widget

-- Comment out the console statements for linting error

* FEATURE-6314 : Map Chart Widget

-- Update dependency versioning

* feat: Map Chart Widget

-- Fix on linting errors, including unused variables, console statement

* Feat: Map Chart Widget

-- Install dependencies from scratch

* fix: increased max chink size allowed in the build config

* Feat: Map Chart Widget

-- Refactor code base according to the changed widget structure
-- Add cleanup for removing event listener
-- Eliminate the unnecessary codes, comments

* Feat: Map Chart Widget

-- Remove unnecessary icon
-- Refactor on constants

* Feat: Map Chart Widget

-- Add a cypress test case for map type changes
-- Add a cypress test case for title change
-- Add a cypress test case for toggling show labels
-- Add a cypress test case for onEntityClick event listener

* feat: Map Chart Widget

-- Scaffold the setup for custom map config

* feat: Map Chart Widget

-- Dynamically import map definition files

* feat: Map Chart Widget

-- Eliminate unnecessary comments

* feat: Fusion Maps Widget

-- Update base dependencies

* partial map chart changes.

* feat: Map Chart Widget

-- Refactor entire code base, removing custom configs
-- Disable prefetching on mapCharts chunk

* feat: Map Chart Widget

-- Comment onEntityClick test case out

* feat: Map Chart Widget

-- Fix on onEntityClick test case

* feat: Map Chart Widget

-- Change the widget icon
-- Rename onEnityClick to onDataPointClick
-- Expose selectedDataPoint
-- Add a new Cypress test case for the toast message on onDataPointClick

* feat: Map Chart Widget

-- Add a new property colorRange
-- Add default values for data and colorRange properties
-- Eliminate unnecessary constant colorRange

* feat: Map Chart Widget

-- update selectedDataPoint meta property unconditionally

* feat: Map Chart Widget

-- Update initial map type config to be consistent with the corresponding property

* feat: Map Chart Widget

-- Add widget icon for entity explorer

* feat: Map Chart Widget

-- Make array elements of data, colorRange properties unique

* feat: Map Chart Widget

-- Prevent re-render when disabling color codes and double-clicking on entities

* feat: Map Chart Widget

-- Declare defaultChartConfigs variable inside component class
-- Replace deprecated substr method with substring

* feat: Map Chart widget

-- Complement validation rules for data property

* feat: Map Chart widget

-- Define rows and cols without using GRID_DENSITY_MIGRATION_V1
-- Change updateDataSet hook by replacing switch statement with object mapping

* feat: Map Chart widget

-- Pull out dataSetMapping from the updateDataSet hook

* feat: Map Chart widget

-- Force click events with regard to onDataPointClick test cases

* feat: Map Chart widget

-- Update fusioncharts and fusionmaps npm packages to the latest version

* feat: Map Chart widget

-- Make contents responsive using CSS styles instead of directly changing width, height attributes of the chart

Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2022-01-07 17:57:45 +08:00
Tolulope Adetula
54bb8bffe0
fix: rich text editor cursor fix (#9889)
* fix: rich text editor cursur fix

* fix: failing tests

* fix: debounce callback

* fix: Throw away any pending invokation

* fix: use SetTimeout for deboucing

* fix: markdown issues

* fix: onTextChange on page load

* fix: failing test
2021-12-30 00:01:45 -08:00
Paul Li
6c8c7b2da8
feat: camera widget (#8069)
* feat: Camera Widget

-- Scaffold the basic structure of the widget

* feat: Camera Widget

-- Prototype a feature, taking picture

* feat: Camera Widget

-- Add types for MediaRecorder
-- Define media capture status and action types
-- Prototype basic video recording, playing features

* feat: Camera Widget

-- Implement video player
-- Add timer for recording and playing video
-- Add permission and error handling logic
-- Add device selectors

* feat: Camera Widget

-- Place control buttons above device inputs layer
-- Make the widget fully responsive

* feat: Camera Widget

-- Change the color of caret-down icon to white
-- Remove overlaying of web cam and video player
-- Add some padding for device inputs

* feat: Camera Widget

-- Add black background to the container of the widget

* feat: Camera Widget

-- Change the widget icon

* feat: Camera Widget

-- Implement the mute feature of a mic or a camera

* feat: Camera Widget

-- Check media device permissions before getting started

* feat: Camera Widget

-- Add a fullscreen control

* feat: Camera Widget

-- Set error text color to white
-- Change the layout of control panel

* feat: Camera Widget

-- Apply layout change for control panel according to app layout change

* feat: Camera Widget

-- Add a new derived property, videoURL

* feat: Switch Group Widget

-- Adopt theme changes

* feat: Camera Widget

-- Make background grey in case of both error and disabled status

* feat: Camera Widget

-- Update npm dependencies

* feat: Camera Widget

-- Fix on #8788, using muted property

* feat: Camera Widget

-- Show off the microphone setting icon only if the current mode is video
-- Set isMirrored property to true by default

* feat: Camera Widget

-- Add photo viewer

* feat: Camera Widget

-- Add onImageCapture, onRecordingStart, onRecordingStop actions instead of onMediaCapture

* feat: Camera Widget

-- Expose meta properties for the widget

* feat: Camera Widget

-- Fix on responsiveness issue

* feat: Camera Widget

-- Add type definitions for MediaStream recording

* feat: Camera Widget

-- Hide isMirroed property for video mode

* feat: Camera Widget

-- Wrap all the controls with TooltipComponent

* feat:  Camera Widget

-- Implement enter, exit full screen feature

* feat: Camera Widget

-- Add a widget icon for entity explorer

* feat: Camera Widget

-- Fix on the typo for the label of onRecordingStop property

* feat: Camera Widget

-- Enable/disable media tracks

* feat: Camera Widget

-- Set the video's height to 100% in fullscreen mode

* feat: Camera Widget

-- Add overlayers on Webcam

* feat: Camera Widget

-- Set position to relative on fullscreen wrapper div
-- Set the photo viewer's height to 100%

* feat: Camera Widget

-- Add image, mediaCaptureStatus, timer meta properties to keep UI states when the widget is dragged

* feat: Camera Widget

-- Refactor code base, eliminating commented code blocks

* feat: Camera Widget

-- Revert all the changes needed for keeping status when the widget is dragged
-- Set mirroed property to false for video mode
2021-12-24 22:06:59 +08:00
Parthvi12
b82ea06aa3
test: Adding visual tests for layout validation (#9857)
* Adding visual tests for layout validation

* updating screenshot to match CI's screenshot resolution

* updating screenshot as per CI

* setting failure threshold for the image comparision

Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2021-12-24 17:47:22 +05:30
dependabot[bot]
f8f230f531
chore: bump prismjs from 1.24.0 to 1.25.0 in /app/client (#7649)
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.24.0 to 1.25.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.24.0...v1.25.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2021-12-11 12:31:48 +05:30
Snyk bot
b31d390054
chore: app/client/package.json & app/client/yarn.lock to reduce vulnerabilities (#9447)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-JSONSCHEMA-1920922

Co-authored-by: Arpit Mohan <arpit@appsmith.com>
2021-12-10 18:11:35 +00:00
Paul Li
54579a4e6c
feat: Switch Group widget (#7590)
* Feat: Switch Group Widget

-- The first MVP of the widget

* feat: Switch Group Widget

-- Follow the same config and implementation as the other group widgets

* feat: Switch Group Widget

-- Elaborate the help text for defaultSelectedValues

* feat: Switch Group Widget

-- Add a widget icon

* feat: Switch Group Widget

-- Remove unnecessary property control at ItemsControl.tsx
-- Refactor some code snippets for higher code quality
-- Add basic cypress test cases

* fix: icon for the widget optimised & replaced

* feat: Switch Group Widget

-- Add a unit test for defaultSelectedValuesValidation

* feat: Switch Group Widget

-- Make the validation type for defaultSelectedValues property to ValidationTypes.ARRAY
-- Remove original validation function and its unit test

* feat: Switch Group Widget

-- Fix on typo
-- Fix on formatting issue
-- Change the help text for isRequired property

* feat: Switch Group Widget

-- Revert help text for isRequired property to the original one

* feat: Switch Group Widget

-- Set strict property to true on defaultSelectedValues

* feat: Switch group widget

-- Refactor utility function, getCamelCaseString
-- Add the corresponding test case

* feat: Switch group widget

-- Implement options property as a plain JS field
-- Reimplement update logic for selectedValues when options changes
-- Add a new utility function for checking equality of object arrays
-- Add a unit test for the above function
-- Rewrite the corresponding Cypress test cases

* feat: Switch Group Widget

-- Remove isArrayEqual utility function and directly use functions from lodash

* feat: Swtich Group Widget

-- Make selectedValues as a derived property

* feat: Switch Group Widget

-- Replace the widget icon

* feat: Switch Group Widget

-- Rewrite a test case for onSelectionChange property

* feat: Switch Group Widget

-- Remove redundant calls for openPropertyPane

* feat: Switch Group Widget

-- Remove closePropertyPane call from afterEach hook

* feat: Switch Group Widget

-- Change the selector for every switch element in onSelectionChange test case

* feat: Switch Group Widget

-- Fix on failed Cypress test case, adding closePropertyPane command to onSelectionChange

* feat: Switch Group Widget

-- Remove template literal from a selector

* feat: Switch Group Widget

-- Make click on onSelectionChange test case forced

* feat: Switch Group Widget

-- Fix on crash issue when editing on Options property

* feat: Switch Group Widget

-- Add the widget icon to show in entity explorer

* feat: Switch Group Widget

-- Fix on blue color on mouse down
-- Add a new property for alignment

Co-authored-by: somangshu <somangshu.goswami1508@gmail.com>
2021-12-09 20:02:47 +08:00
Snyk bot
ddf1490866
chore: app/client/package.json & app/client/yarn.lock to reduce vulnerabilities (#9630)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NODESASS-1059081
2021-12-08 13:10:08 +00:00
Anand Srinivasan
4ced0954db
feat: Syntax parsing through AST (#9115)
* ast changes

* ast fix for cyclic dependency

* jest test updates for ast

* feat: Extract references in code with AST (#8617)

Co-authored-by: Nidhi <nidhi@appsmith.com>

* undo debugger changes

* code clean up and comments

* update type checks for literal nodes

* include tests for IIFE and direct object access

* fix - dependency map not updated on IIFE/direct object access

* update tslib

* unescape on AST parsing

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
2021-12-02 15:33:43 +05:30