* resize n reflow rough cut
* removing warnings
* relatively stable changes
* minor bug fix
* reflow relative collision
* working dp cut
* fix for reflow of widgets closer next to each other
* disabling scroll
* Drag with reflow
* reflow fix
* overlap and retracing fix
* On Drop updates.
* bug when no displacement but resize update.
* temp fix for new widget addition.
* reflow bug fixes
* new widget addition bug.
* stop reflow on leave.
* fix corner case overlap
* update bottom row when reflowed widgets go beyond bottom boundary.
* capture mouse positions on enter
* enable container jumps with faster mouse movements.
* reflow only for snap changes.
* restructured reflow Algorithm
* collision check and bug fixes
* undo redo fix for new widget drop
* resizable fix snapRows fix
* directional stability
* self collision fix
* first round of perf fixes
* update bottom row while resizing and resize-reflowing
* performance fix and overlapping fix
* Remove eslint warning
* remove eslint warning
* eslint warning
* can reflowed Drop Indication Stability
* container jumps and force direction on entering canvas
* fixing scroll on resize jitters.
* reflow when jumping into container.
* reflow ux fixes while leaving container
* resizing fixes.
* fixes for edge move.
* restrict container jumps into reflowed containers.
* container jump direction reflow
* checkbox dimensions fix.
* Excess bottom rows not lost post dragging or resizing widgets.
* fixing the after drop css glitch.
* double first move trigger bug fix.
* stop reflow only if reflowing
* stabilize container exit directions
* using acceleration and speed instead of movement covered to restrict reflow.
* fixing modal drops.
* remove warnings.
* reflow resize styles
* moving acceleration and movement logic to a monitoring effect.
* adding beta flag for reflow.
* fixing jest tests
* Adding analytics to beta flag toggle.
* Adding placeholder for reflow beta screens.
* fixing initial load's screen
* few more crashes.
* force close onboarding for the session.
* fixing bugs in reset canvas.
* Beta flag bug fixes.
* fixing bugs.
* restrict reflow screens during onboarding.
* disabling reflow screens in tests.
* code review comments.
* fixing store based specs.
* fixing cypress failures.
* fixing specs.
* code cleanup
* reverting yarn lock changes
* removing onboarding screens.
* more cleanup and function descriptors
* keeping reflow under the hood.
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* Scaffolding for undo-redo
* undo redo working Poc commit
* memory performance improvements by diffing
* dont run update on undo/redo"
* merging widget postion update and canvas bottom row update into one dsl update.
* fix tabs widget
* Visible updates per undo redo action (#6838)
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
* resize atomic operation
* fix switch control state issue
* disallow undo/redo for snipping and comment mode
* disallow undo/redo for snipping and comment mode
* fix color picker issue in undo/redo
* add test for replayDSL
* option control fix, adding logs
* minor position change undo redo updates
* add test cases for replayHelpers
* property Upade visual change
* remove unused code
* global hot key jest test for undo redo
* Fixing batch updates on property change..
* add tests for toggle control in property pane
* unwanted utils.
* add tests for text control
* add tests for deletion
* add tests for dropping a new widget
* adding jest test for replayUtils
* add move widget tests
* add tests for color picker control
* add analytics for undo/redo
* add analytics for undo/redo
* tab addition atomic
* cypress tests for propertyPane, toasts and radiowidget optionControl
* replayDSL end of redo stack fix
* property update changes
* menu option control debounce input
* color picker empty undo fix
* fix cypress tests
* widget add/remove atomic
* revert alternative approach to handle atomic operations
* update replayDSL test
* add some comments
* addressing review comments
* flash color for property pane controls
* Fixing adding of tabs widget as well.
* code review comments.
* merging widget postion update and canvas bottom row update into one dsl update.
* fix ordering of tabs property control
* meta property update canvas min height.
* fixing failed specs.
* Fixing entity explorer update on deleting tab from entity explorer.
* address review comments and minor property update changes
* fixing failing tests
* merge conflicts
* changes to cater widget api.
* fix suggested widget table issue
* draggable list for undo redo
* fix widget name focus
* excluding canvas updates.
* fixing codeEditor update on propertySection collapse
* fixed failing test case
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* added sniping mode toggle option to header
* added cover to components on hover in sniping mode
* fixed the transition time
* using filled icon
* Show dependencies in action pane
* Added a wrapper to make a widget snipeable
* removed older parts of sniping from Positioned Container
* removed onclick action from snipeable wrapper
* Showing widget name in different color
* Added a mechanism to send user to sniping mode from successful API screen
* created new property pane saga to bind the data
* Fix datasource list width issue
* Fix sidebar going out of view when the response is a table
* Minor refactor
* Show add widgets section on the sidebar
* Stop showing autocomplete option after adding a widget
* fetching pageId, appId from store
* Get suggested widget from response
* Fix table data not getting evaluated after adding binding
* Fix property pane going below the entity explorer while navigating from query/api pane
* Fix width of sidepane shifting for apis
* Fix vertical margins of connections
* Fix api pane suggested widget showing up for errors
* Fix margins
* can show select in canvas btn in sidebar
* can get the action object at the end to bind the data
* updated saga and action names
* can bind data to table
* Use themes
* Use new image url for Table widget
* Added conditional mapping for sniping mode binding.
* updated the widget name tags and seq of calls to open property pane
* pushed all sniping mode decoration to header
* moved setting sniping mode logic to editor reducer
* Added keyboard short cut to get out of sniping mode
* updated reset sniping mechanism
* removed a divider line
* if there are no relationships, will not show the complete section
* Connect Data will automatically show relevant tab in integrations
* Update list and dropdown image urls
* Remove create table button
* no wrapping bind to text
* minor review considerations
* showing the widget name to left in sniping mode
* can set data to datepicker
* will not show snipe btn if there are no widgets in canvas
* Changes for multiple suggested widgets
* removed dependency of sniping from suggested widgets
* Added analytics events for sniping mode
* logic for binding data to a widget, moved to snipeable component
* changed binding widget func from capture to onClick and took care of sniping from widget wrapper too.
* added tests to check sniping mode for table
* updated test spec
* minor fix
* Fix copy changes
* Update test to use table widget from suggested widget list
* if fails to bind will generate warning and keep user in sniping mode
* in sniping mode will only show name plate if it is under focus
* fixed the test case
* added a comment
* minor fix to capture on click event in sniping mode
* updated text
* Hide connections UI when there are no connections
* Increase width to 90%
* Show placeholder text and back button in sidepane
* Show tooltip on hover
* Add analyitcs events for suggested widgets and connections
* Update label based on whether widgets are there or not
* binding related changes
* renamed the saga file containing sinping mode sagas
* Changes for inspect entity
* Revert "binding related changes" temporarily
This reverts commit 54ae9667fecf24bc3cf9912a5356d06600b25c84.
* Update suggested widgets url
* Update table url
* Fix chart data field not getting evaluated
* a minor fix to show proper tool tip when user hovers on widget name
* Show sidepane when there is output
* Update locators
* Use constants for messages
* Update file name to ApiRightPane
* Remove delay
* Revert "Revert "binding related changes" temporarily"
This reverts commit ee7f75e83218137250b4b9a28fcf63080c185150.
* Fix width
* Fix overlap
Co-authored-by: Akash N <akash@codemonk.in>
* update meta properties + default properties map
* update widget registery
* update get meta property
* update metahoc + widgetfactory + data tree evaluator
* try sending function as string to worker
* revert data tree evaluator update
* pass default props map from dataTreeWidget file
* wip
* save child meta properties
* remove console.log
* save meta and default map in list
* update listwidget
* remove console.log + unused variables
* revert getMetaPropertiesMap function
* fix data tree test
* fix list widget test
* fix entity definition test
* fix overriting of item in updatedItems
* remove todo comments
* fix meta prop issue
* revert making meta properties from undefiend to "" & fix filepicker bug
* fix test case
* change items to listData and updatedItems to items
* remove console.log
* fix test
* extract derived properties to dervied.js
* disabled top, left, right resize handler list widget container
* add test for dervied js
* add test for selectedItem
* fix background color bug on hover
* remove console.log
* fix chart widget inside list widget
* fix checkbox issue + points raised by yogesh
* revert the createImmerReducer usage
* fix parse derived properties
* remove internal props object that fails the test
* fix import typo
* allow bottom resize handler
* fix template height check
* fix template height check
* update template size check
* fix the is visible invalid prop issue
* fix migration of list widget phase 2
* fix migration
* remove unused import
* fix migration
* fix migration
* remove console.log
* hide delete option for container in entity explorer
* fix testcases
* remove unused import
* fix switch widget meta prop
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* filter null values in property pane autocomplete
* add hover states for list items
* add loading state in list
* fix loading state of list widget
* open list widget property on click of container
* fix isVisible bug in list widget children
* remove unused import
* add cusor pointer
* add focused state for first item in list widget
* fix empty state
* fix test case
* fix visiblity bug
* fix test case
* fixes for review comments
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
* Initial scaffolding for comments CRUD APIs
* add actions
* add assets
* state management for existing comments and creating new
* add ui components
* add overlay comments wrapper to baseWidget
* add toggle comment mode button at editor header
* trigger tests
* Disallow commenting as someone else
* Add applicationId for comments
* lint
* Add overlay blacklist to prevent component interaction while adding comments
* Comment thread style updates
* Placeholder comment context menu
* Controlled comment thread visibility for making new comments visible by default
* Update comment type description
* Reset input on save
* Resolve comment thread button ui
* fix close on esc key, dont create new comment on outside click
* Submit on enter
* add emoji picker
* Attempt at adding a websocket server in Java
* CRUD APIs for comment threads
* Add API for getting all threads in application
* Move types to a separate file
* Initial commit for real time server (RTS)
* Add script to start RTS
* Fix position property
* Use create comment thread API
* Use add comment to thread API
* Add custom cursor
* Dispatch logout init on 401 errors
* Allow CORS for real time connection
* Add more logs to RTS
* Fix construction of MongoClient
* WIP: Real time comments
* Enable comments
* Minor updates
* Read backend API base URL from environment
* Escape to reset comments mode
* Set popover position as auto and boundary as scroll parent
* Disable warning
* Added permissions for comment threads
* Add resolved API for comment threads
* Migration to set commenting permission on existing apps
* Fix updates bringing the RTS down
* Show view latest button, scroll to bottom on creating a new comment
* Cleanup comment reducer
* Move to typescript for RTS
* Add missing server.ts and tsconfig files
* Resolve / unresolve comment
* Scaffold app comments
* Minor fixes: comment on top of all widgets, add toggle button at viewer header
* Reconnect socket on creating a new app, set connected status in store
* Retry socket connection flow
* Integration tests for comments with api mocks using msw
* Fix circular depependency
* rm file
* Minor cleanup and comments
* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper
* Use policies when pushing updates in RTS
* ENV var to set if comments are enabled
* Fix: check if editor/viewer is initialised before waiting for init action
* Add tests for comments reducer
* Revert "ENV var to set if comments are enabled"
This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.
* Enable comments for users with appsmith email
* lint
* fix
* Try running a socket.io server inside backend
* Update comment reducer tests
* Init mentions within comments
* Fix comment thread updates with email rooms
* Minor fixes
* Refactors / review suggestions
* lint
* increase cache limit for builds
* Comment out tests for feature that's under development
* Add Dockerfile for RTS
* Fix policies missing for first comment in threads
* Use draftJS for comments input with mentions support
* fix fixtures
* Use thread's policies when querying for threads
* Update socket.io to v4
* Add support for richer body with mentions
* Update comment body type to RawDraftContentState
* fix stale method
* Fix mentions search
* Minor cleanups
* Comment context menu and thread UI updates
* revert: Scaffold app comments
* Yarn dependencies
* Delete comment using id api added
* Init app comments
* Add test for creating thread
* Api for delete comment with id
* Test comment creation response and policies
* Copy comment links
* Fix reset editor state
* Delete valid comment testcase added
* Delete comment TC : code refactor
* Don't allow creating comments with an empty body
* Pin comments WIP[]
* Ignore dependency-reduced-pom.xml files from VCS
* Cleanup of some dev-only files, for review
* Delete comment
* Update socket.io to v4 in RTS
* Pin and resolve comment thread object added in commentThread
* Pin and resolve comment thread object added in commentThread
* Update comment thread API
* Added creationTime and updationTime in comment thread response
* Added creationTime and updationTime in comment thread response
* Added human readable id to comment threads, fallback to username for null name in user document
* Refactor
* lint
* fix test, rm duplicate selector
* comment out saga used for dev
* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status
* lint
* trigger tests
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
* Updated test
* updated assertions
* Resizing image to take full width of table cell
* updated assertion
* Stop updating dynamicBindingPathList directly from widget
* Fix selectedRow and selectedRows computations
* Fix primaryColumns computations
* Updated test for derived column
* Added tests for computed value
* Added check clear data
* Reordering of test
* updated common method
* Made image size as 100% of table cell size
* add templating logic
* Updated flow and dsl
* Clear old primary columns
* Updated testname
* updated assertion
* use evaluated values for children
* Fix primary columns update on component mount and component update
* add isArray check
* remove property pane enhancement reducer
* add property pane enhancement reducer
* disable items other than template + fix running property enchancment on drop of list widget
* disbled drag, resize, settingsControl, drag for items other than template
* add grid options
* uncomment the widget operation for add child for grid children
* handle delete scenario for child widget in list widget
* WIP: Use the new delete and update property features
* add listdsl.json for testcases
* add test cases for correct no. of items being rendered
* add test cases currentItem binding in list widget
* change dragEnabled to dragDisabled
* change resizeEnabled to resizeDisabled
* change settingsControlEnabled to settingsControlDisabled
* change dropEnabled to dropDisabled
* update settingsControlDisabled default value
* Use deleteProperties in propertyControls
* Fix unsetting of array indices when deleting widget properties
* remove old TableWidget.tsx file
* Fix derived column property update on primary column property update
* Handle undefined primary columns
* Fix filepicker immutable prop issue
* Fix object.freeze issue when adding ids to the property pane configuration
* fix widget issue in grid
* Fix column actions dynamicBindingPathList inclusion issue
* remove consoles + fix typo around batch update
* Remove redundant tests
* js binding test for date picker
* hydate enhancement map on copy list widget
* check for dynamicleaf
* fixes
* improve check
* fix getNextWidgetName
* update template in list widget when copying
* updating template copy logic when copying widget
* update dynamicBindingPathList in copied widget
* Add path parameter to hidden functions in property pane configs
* fix copy bug when copying list widget
* add computed list property control
* Remove time column type
Fix editor prompt for currentRow
Fix undefined derivedColumns scenario
Remove validations for primaryColums and derivedColumns
Fix section toggle for video, image and button column types
* Fix table widget actions and custom column migrations
* Add logs for cyclical dependency map ♻️
* Process array differences
* add property control for list widget
* Fix onClick migrations
* Property pane config parity
* binding and trigger paths from the property pane config (#2920)
* try react virtualized library
* Fix unit test
* Fix unit test ✅
* Fix minor issues in table widget
* Add default meta props to binding paths to ensure eval and validation
* Dummy commit 🎉
* Remove unnecessary datepicker test
Fix chart data as string issue
* Achieve table column sorting and resizing parity with release
* handle scenario where last column isn't available to access
* Fix for panel config path not existing in the widget
* Fix bindings in currentRow (default)
Add dummy property pane config for canvas widget
* Update canvas widgets with dynamicPathLists on delete of property paths
* Add all diffs to change paths and trim later
* Add back default properties 🚶🏻♂️
* Use object based paths instead of arrays for primaryColumns and derivedColumns
* Fix issue in reordered columns
* Fix inccorect update order
* add virtualized list
* Fix failing property pane tests
* minor change
* minor list widget change
* Remove .vscode from git
* Rename ads to alloy
Fix isVisible in list widget
* move grid component to widget folder
* fix import in widget registry
* add sticky row in virtualized list
* add sticky container
* Fix Height of grid widget items container
* fix dragging of items in children other than template children
* update list widget
* update list widget
* Fix padding in list widget
* hide scrollbar in list widget list
* fix copy bug in list widget
* regenrate enhancement map on undo delete widget
* Use enhancementmap for autocomplete in list widget
Basic styles for list widget scrollbar
* add custom control in widget config
* minor commit
* update scrollbar styles
* remove unused variable
* fix typo in custom control
* comment out test cases
* remove unused imports
* remove unused imports
* add JSON stringify in interweave
* add noPad styling in dragLayer for noPad prop
* implement grid gap
* add list item background color prop
* add white color in color picker control
* fix gap in last list item
* remove onBeforeParse in textcomponent
* remove virtualization in grid widget
* allow overflow-y
* add onListItemClick action
* add beta label
* add pagination
* fix actions in pagination in list widget
* add list widget icon
* add list background color default value
* remove extra div
* fix pagination issue
* fix list widget crashing on perpage change
* extract child operation function to widgetblueprint saga
* refactor enhancements
* add enhancement hook
* refactor propertyUpdate hook enhancment
* remove enhacement map
* revert renaming ads to alloy
* add autopagination
* Cleanup unused vars
Re-write loop using map
Fix binding with external input widget
* update default background color
* remove unnessary scrol + fix pagination per page
* remove console.log
* use grid gap in pixel instead of snap
* fix list widget tests for binding
* add tests for on click action and pagination
* remove unnecessary imports
* remove overflow hidden in list component
* Add feature to enable template actions
* update property pane help text for list widget
* disable pagination in editor view
* update property pane options
* add test case for action
* uncomment tests
* fix grid gap validation
* update test cases
* fix property pane opening issue for list tempalte
* Disable form widgets in list widget
* fix template issue for actions
* add validation tests for list data
* update starting template
* add selectedRow + enable pagination in edit mode
* remove extra padding in list widget + popper fix on settingDisabled
* add stop propagation for button click
* fix click event in edit mode
* disallow filepicker widget for list widget
* add test for list widget entity definition for selectItem
* remove unused imports
* fix test
* remove evaluated value for list child widgets
* add comment
* remove log
* fix copying bug in list widget
* add check for not allowing template to copy
* fix test
* add test for property pane actions
* remove unused import
* add draglayercomponent test
* add test for draggable component
* add test for evaluatedvalue popup
* add test for messages.ts
* add test for widgeticons
* add test for property pane selector
* add test for widget config response
* start testing widget configresponse
* add test for enhancements in widget config
* add test for codeeditor
* add test for base widget + list widget
* add test for executeWidgetBlueprintChildOperations
* remove unused import
* add test for widget operation utils
* remove unused import
* add test for handleSpecificCasesWhilePasting
* remove unused function
* remove unused import
* add empty list styling
* resolve all review comments
* fix message test
* add test for widget operation utils
* fix merge conflicts
* move validations in property config
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: Piyush <piyush@codeitout.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
* Property pane enhancements
- Property pane sections are collapsible
- Property pane controls can be hidden conditionally
- Property pane configurations now come from the widget instead of a global config file
- Property pane property updates can be hooked with other related updates
- Property pane control and section ids are generated dynamically now.
* Add chart type: "Custom FusionChart" (#2996)
Co-authored-by: Zeger Hoogeboom <zegerhoogeboom@users.noreply.github.com>
Co-authored-by: zeger <zeger@equinoxai.com>
- 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>
Fixes#1683
Fix for dropdowns with option not being an object crashes dropdown and stops eval
Fixes#1656#1657
Fix issue where updateWidgetProperty would get called without a widgetId
- Adds Web workers and does evaluations in off the main thread
- Removes any need to store functions in the data tree and only keeps them around while evaluating
- Maintains a stored data tree in the redux state
- Evaluates based on editor events instead of state changes
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.