* feat: Implement data type handling in MySQL (#16621)
With this implementation we can now achieve the following under prepared statement:
- Ability to distinguish between null object and "null" string
- Ability to distinguish values like {{"098765"}} and {{098765}}. The former is identified as a string and the latter is identified as an integer
* feat: Add unit test cases on data type handling in MySQL (#16621)
* chore: Move MySQL specific types to a separate class (#16621)
* chore: Remove import shortening (#16621)
* Fix testStructure test case to have loose coupling with the order of tables (#16621)
* Fix: Add missing client-side data types in params in a few test cases (#16621)
* Fix query in test case (#16621)
* Fix test cases and add small refactoring (#16621)
* Refactor assertion with a check on Optional (#16621)
* additional cypress test cases for mysql
* updated test case object
* update for failing test cases
* mysql failure point fix
* mysql false spec failure point fix
* fix flacy test cases
* flacky JSON test cases
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
We had logic to fix MainCanvas height when a Widget is dragged, resized or deleted. Extending that logic to When a widget is added to mainCanvas as well.
Also added logic to trim mainCanvas width in View Mode.
* fix: JS toggle default value is wrong for vertical alignment table widget
- Fixes wrong default value for Vertical Alignment in column settings
- Fixes issue where JS toggle cannot be turned off after turning it on once
* Fix failing cypress test
* Change horizontalAlignment default value to LEFT
* refactored code for invite modal
* updated invite users modal component
* minor change
* optimized addition of links in invite modal dropdown
* fixed a cypress test
* removed msw
* fixed a cypress test
* fixed a cypress test
* fixed a cypress test
* fixed a test
Also fixing the comodification array error when we are removing items from a list while iterating over it.
Fixes#17030
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* feat: Autoassigns column datatype in table widget
- Limited to only number, string and boolean datatypes
* Review changes
Adjust jest tests accordingly
* Adds support for recognising Date type columns
Review changes
* Adds jest test for Date field
* Fix warning
* Adjust cypress tests and add helper method to account for code changes
* Fix failing test
* update rich text editor styles
* fix disalbed text color
* add border
* fix gaps and borders in json form
* fix disabled state
* fix checkbox disabled state color on checkbox + font size of title in json
* fix disabled state of rte not re-rendering
* remove unused import
* fix cypress test
* fix: Table's last column doesn't resize properly
* Adds comments to code responsible for dynamic resizing of last column width
Adjusts component width to account for widget padding
- This fixes issue where last column goes outside the table container resulting in showing less padding-right for the last column cells
* Review changes
* Review changes
* Fix failing test
* fix: Table Filter issues
- Filter reverts to previous operator upon removing a filter condition
- Removing a filter does not rightly update the filter value field
- Removing the second filter causes the table to crash
* Adds cypress tests for bug 12642 and 12638
* fix: updated skip functionality
* update: type of logs to add occurence count
* update: reducer function to merge the new logs
* update: added dependance on last log's occurence count
* add: UI to show the occurence badge
* fix: added null check for dependency array
* update: omit occurence from compare fn
* update: changed function call to store logs array directly
* update: moved from saving logs one by one to array
* fix: replaced forEach with reduce
* test: added functions for console log grouping
* feat: updated warning grouping color
* update: moved function to reducer file for jest tests
* Initial commit
* Remove arrow function params from identifiers
* Remove invalid identifiers from extracted identifiers
* Remove invalid identifiers which are derived from function params and variable declarations
* Fix typo error
* Correctly remove invalid identifiers
* Remove invalid names from identifier list
* fix build failure
* Add Promise to list of unacceptable entity name
* Keep track of unreferenced identifiers in bindings
* Add Global scope object names as unusable entity names
* Keep track of unreferenced identifiers
* Prevent traversal of data tree for addition of new paths and entities
* Sync linting in trigger fields
* Support linting of invalid properties
* Fix linting reactivity bug in trigger field
* Remove unused objects
* Fix conflict in merging
* Lint jsobject body for function change
* Remove unused map from tests
* Code cleanup
* Modify jest tests
* Update jest tests
* Fix cypress tests
* Code cleanup
* Support linting of multiple bindings
* Set squiggle line as long as invalid property length
* Add jest tests
* Minor code refactor
* Move ast to shared repo
* Rename confusing identifiers
* Improve naming of functions and their return values
* move shared widget validation utils and constants to shared folder
* Add jest test for invalid entity names
* Add cypress tests
* Modify test comment
* Extend list of dedicated worker scope identifiers
* Resolve code review comments
* Resolve review comments
* Annonate code where necessary
* Code refactor
* Improve worker global scope object
* Code refactor
* Fix merge conflict
* Code refactor
* Minor bug fix
* Redundant commit to retrigger vercel build
* Add null checks to dependecy chain
* test: mysql datatypes cypress test cases
* test: cypress added comments with cleaner code
* updates w.r.t review comments
* fix 10th cases failure
* fix for test failing on CI
* fix for test failing on CI another way
* fix: address review comments
* feat: Add QR Scanner Widget Folder
* feat: Add QR Code Scanner in the Modal
* feat: Add viewfinder and close button
* QR generator
* feat: Change deafult camera in QR Scanner to back camera
* feat: remove qr generator widget from the registry
* feat: update qr scanner icon
* style: qr code scanner modal and video container, remove futile code
* feat: add camera switch control panel to qr scanner
* fix: update input devices list when the menu opens in qr scanner
* fix: viewfinder in qr scanner responsive on mobile
* feat: Add onCodeDetected event to the QR Scanner widget
* feat: Add QR Scanner to autocomplete's entity definitions
* feat: Add tooltip to QR Scanner
* fix: isDisabled for QR Scanner
* feat: Add icon and related properties to QR Scanner
* feat: Add QR Scanner search tags, remove futile styles
* feat: Add QR Scanner to themes, regex for button color
* test: Add one cy test for qr scanner
* revert: Remove qr scanner from system themes, will be merged in a seperate PR
* fix: typo 'disable' to 'disabled' in qr scanner widget
* test: add disabled and visibility cy tests for qr scanner
* test: add open and close qr scanner modal test
* feat: remove qr scanner image for tests
* feat: add TODO item for solving performance issues for QR Generator widget
* feat: shift from react-qr-reader to react-qr-barcode-scanner to enable barcode and QR scanning both
* feat: Update QR Scanner Widget to Code Scanner Widget
* test: update tests from qr scanner to code scanner widget
* refactor: move code scanner's property pane config to individual files
* fix: code scanner error message on permission denied
* feat: remove Modal.setAppElement from code scanner
* fix: hide code scanner scan animation overflow
* feat: code scanner modal close on escape and overlay click
* fix: code scanner video border radius on mobile
* test: scan qr test for code scanner
* feat: Add Modal.setAppElement for code scanner modal accessibility
* fix: typo in search tags of code scanner
* feat: update property pane content helper texts of code scanner
* feat: hide code scanner widget from explorer
* fix: code scanner events not working
* feat: hide code scanner widget from explorer
* feat: Show Code Scanner widget in Explorer
* fix: remove code scanner scan cypress test
* feat: Add barcode reader to search tags and put Modal.setAppElement inside a block in code scanner
Co-authored-by: balajisoundar <balaji@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Initial work to change navigate to UI
* Remove console.logs
* Adjust default parameters and getters/setters for page dropdown field
* change url field getter so page names are not showm
* Remove ../ from the imports
Remove unnecessary todo
* Add check for undefined fields
* Add validations for url/page name, add error message
* Make height auto to accommodate the flexible size of query param text box
* Update dropdown list of pages when page names are updated
* Set tab to url when a url has been entered, else default to page
* Add feature tests
* Add check on null value in isValueValidURL to ensure it does not crash the app
* Remove unused ref
* Fix bug when switch is selected and a new page addition let to page crash
* Initial work to change navigate to UI
* Remove console.logs
* Adjust default parameters and getters/setters for page dropdown field
* change url field getter so page names are not showm
* Remove ../ from the imports
Remove unnecessary todo
* Add check for undefined fields
* Add validations for url/page name, add error message
* Make height auto to accommodate the flexible size of query param text box
* Update dropdown list of pages when page names are updated
* Set tab to url when a url has been entered, else default to page
* Add feature tests
* Add check on null value in isValueValidURL to ensure it does not crash the app
* Remove unused ref
* Fix bug when switch is selected and a new page addition let to page crash
* Fix types and imports
* Update the tests
* Add ref back to the code
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* Widget layer optimization
Fix positioned and snipeable component wasted renders
* Some cleanup
* - Few more rough optimization
* Remove console logs
* Clean imports
* Prevent wasted renders of draggable component.
* Add new selector
* - Some code reorganization
- Reduce wasted renders of resizable component
* Clean up positioned container
* Final clean up
* Remove unused import
* Some cleanup based on review comments
* Some code refactoring
* Reduce wasted renderes when dragging and resizing
* Rename getSelectedWidget to getLastSelectedWidget in selectors/ui
Co-authored-by: Satish Gandham <satish@appsmith.com>
* rts configurations for ast
* update shared dependencies.json for shared ast module
* feat: api for script to identifiers
* fix: typo for identifiers
* feat: api for multiple scripts to get identifiers
* fix: rts config, apis for ast
* fix: removed unnecessary changes for ast modules
* fix: docker image for rts including ast shared module, rts file alias ref
* fix: added comments in build.sh file
Co-authored-by: Aman Agarwal <aman@appsmith.com>