* FEATURE-3261 : Menu Widget
-- Perform initial onboarding of the widget, not completed
* FEATURE-3261 : Menu Widget
-- Create a menuItemsControl
-- Create the first MVP of IconSelectControl
* FEATURE-3261 : Add Menu Widget
-- Align add menu item button to the center
-- Build icon select control with a grid popup
* FEATURE-3261 : Menu Widget
-- Create a icon alignment control
-- Complete the property pane of the widget
* FEATURE-3261 : Add Menu Widget
-- Implement the body of the widget
-- Bind into the properties from property pane
* FEATURE-3261 : Menu Widget
-- Fix the issues from the first feedback
* FEATURE-3261 : Menu Widget
-- Fix on the 2nd feedback
* FEATURE-3261 : Menu Widget
-- Fix on issues from IconSelectControl, IconAlignControl
* FEATURE-3261 : Menu Button Widget
-- Rename Menu to MenuButton, accordingly refactoring the relevant codes
-- Change some help content
-- Change styles for icon select control, adding padding for search box
* FEATURE-3261 : Menu Button Widget
-- Bind isDisabled property into the UI
-- Prevent input text of menu item from overflowing
-- Add tooltip feature for icon select control
-- Set the height of the popover content dynamically
* FEATURE-3261 : Menu Button Widget
-- Use POPOVER2_TARGET class name for styling
added onclick handler and update property pane config to table widget for column type image
* added default value for onclick and remove extra check
* updated TableUtilities test case
* updated cypress test Table_spec
* Handle google recaptcha v2 in button component
* Use same code for recaptcha v2 and v3
* Updated error handling comments
* Added toggle to use google recaptcha v2 with button
* Create separate components for Google recaptcha v2 and v3
* Extract click function from google recaptch v3 component
* Hide recaptcha error badge and show invalid site key error on button key
* Fix isInvalidKey name
* Added support to make rich text editor as require field
* Add default value of isRequired property for Rich Text Editor widget
* change isValid derived property to iffee functions value
* Converted isValid computation to use simple ternary operator
* basic line widget setup
* rename to divider, added icon
* completed divider functionalities
* minor textual updates
* cypress test for divider widget
* tested on local cypress run
* Divider widget jest tests
* basic logic implemented
* arrow head better alignment
* added required svg icons
* divider widget props update
* fix on propertypane dropdown iconSize
* fix capside icon width in property panel
* updated cypress dsl and tests
* minor updates
* cap arrow new implementation
* remove hover animation from divider icon
* updates and optimizations
* moved test class to component
We have added checkboxes against table rows when multi selection is enabled. The end user can also select all rows now in click of a button. The related design has also been refreshed.
* FEATURE-3357 : Rate Widget
-- Create the first MVP of rate widget
* FEATURE-3357 : Rate Widget
-- Change the widget name into rating
-- Change the widget icon
-- Fix the overflow issue in case max count is big
-- Fix the issue in case default rate is zero
-- Add validations for maxCount and defaultRate
* FEATURE-3357 : Rate Widget
-- Fix an issue : Stars is cut off if maxCount is greater than 20
-- Add test cases for two validation types, RATE_DEFAULT_RATE and RATE_MAX_COUNT
* FEATURE-3357 : Rate Widget
-- Add expected data type for tooltip field
* FEATURE-3357 : Rate Widget
-- Expose maxCount
* FEATURE-3357 : Rate Widget
-- Change contents of isAllowHalf property
-- Adjust alignment of stars dynamically
-- Decrease default widget width
* FEATURE-3357 : Rate Widget
-- Remove a unnecessary comment block
* Add defaultPageSize and totalRecordsCount properties in table widget
* Changing next button disable
* Added checks for properties change
* Handle defaultPageSize change
* Updated util.test to handle new table properties
* Configure for cypress test for page size and total records count properties
* Added cypress test for default page size and total records count validation
* Fix test cases
* Handle empty space for page size is less than availabe space in table widget
-- Set default source url to wikipedia.org
-- Fix typo on the tooltip of onURLChanged, url to URL
-- Fix the issue which is related to reduced iframe in its deploy mode
-- Fix the issue which is related to the inclusion of nearby widgets in deploy mode
-- Add Expected Data Type fields with regard to borderOpacity and borderWidth
* 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>
-- Remove the spread operator in IframeWidget
-- Connect the widget help with the correct documentation path
-- Expose source and title for autocomplete
-- Remove the redundant wrapping with meta from the widget
* 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>
* update structure of chart data
* update chart data
* update chart data structure
* remove array like validator
* remove log
* remove log
* widget utils + update tests for chart data validations
* update utils test
* add migrations
* remove unnecessary helper function
* remove unnecessary helper function
* update validation test cases
* WIP
* WIP 2
* Remove validationConfigMap from widget and add to properties
* Update data tree validator to get validation from the correct place
* Minor reference fixes
* Fix test mocks
* fix for bad setting of nested property path
* add test for migration for chart widget function
* fix test for widget utils
* remove unused import;
* remove unsued import
* update migration version
* remove console and add check if data is array
* fix custom fusion chart + validation not working issue
* move custom fusion chart config to chart data section
* remove console and unused import
* fix test
* fix property config test
* fix dynamicbinding path list in migration
* remove old chart validation
* remove old validation test
* fix widget prop utils test
* remove array codepath for widget utils
* fix utils test
* fix utils test
* fix prettier issue
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@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>
* Fixed selected row resets when table data is changed
Added cypress test case to test selected row resets when table data changes
* Fixed cypress test case
* When there is a cyclic depenency, the table data is processed as s string, leading to incorrect column computations and a render loop. Fixed this by bailing out when table data is a string, as further computations are moot
* Added defaultText property for text type validations to fix invalid data type beings passed to RichTextEditor component
* removed text and defaultValue properties from widget property validation map
* Fixed tabs data validation and added check to ensure tab property is accessible when tabs array is not empty
* added isVisible property in validations
* update green shade and set border-radius 0 for table buttons
* updated color code for assertion
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: nandan.anantharamu <nandan.anantharamu@thoughtspot.com>
* Added functionality to show/hide a tab from tab property pane controls
* Added isVisible property in tabs widget default value
* Passing visible tabs to component from widget. Added missing widgetId
* Fix hidden columns migration
Fix issue where column ids have spaces in them leading to a crash
* Quick fix unit tests
* Remove tableData dependencies from selectedRow and selectedRows