* 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>
* Change recaptcha key and type and add suggestion for recaptchatoken
* Add recaptchaToken property as target for auto completion cypress tests
* Added cypress test to validate recaptcha v2 can be selected in button widget property pane
Co-authored-by: Arpit Mohan <arpit@appsmith.com>
* 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
* fix: removed -1 and 2d array population error in the selectedRowIndices
* test: init integration test for bug fix
* test: completed the integration tests for bug fixes
* test: added unit test for edge case in propertyUtils
* refactor: removed unused import
* feat: added selectedRowIndices as an option in the autocomplete
* fix: fixed table widget test cases
* 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>
* fix: The value is always empty object in AudioRecorder Widget
-- Export blob contents in raw binary, data url, and text
* fix: The value is always empty object in AudioRecorder Widget
-- Create new meta properties dataAsDataURL, dataAsRawBinary
* fix: The value is always empty object in AudioRecorder Widget
-- Rename meta properties
* fix: The value is always empty object in AudioRecorder Widget
-- Remove unnecessary constants.ts
* Create initial version of AudioWidget by copying VideoWidget
* Add EventType for AUDIO
* Change default Audio URL to a podcast related to Appsmith
* Add AudioWidget icon
* Change Entity definition for AudioWidget
* Add cypress test
* Add jest test
* fix: typo
* Changes to add js plugin
* routes+reducer+create template
* added debugger to js editor page
* entity explorer changes
* create js function
* added copy, move and delete action
* added js plugin
* added existing js functions to data tree
* removed actionconfig for js collection
* new js function added to data tree and entity as well
* parsing flow added
* changes to data tree
* parse and update js functions
* small changes for def creator for js action
* create delete modified
* small changes for update
* update flow change
* entity properties added
* removed linting errors
* small changes in entity explorer
* changes for update
* move, copy implementation
* conflict resolved
* changes for dependecy map creation
* Only make the variables the binding paths
* Basic eval sync working
* Minor fixes
* removed unwanted code
* entity props and autocomplete
* saving in progress show
* redirection fix after delete js action
* removed unnecessary line
* Fixing merge conflict
* added sample body
* removed dummy data and added plugin Type
* few PR comments fixed
* automplete fix
* few more PR comments fix
* PR commnets fix
* move and copy api change
* js colleciton name refactor & 'move to page' changes & search
* view changes
* autocomplete added for js collections
* removing till async is implemented
* small changes
* separate js pane response view
* Executing functions
* js collection to js objects
* entity explorer issue and resolve action on page switch
* removed unused line
* small color fix
* js file icon added
* added js action to property pane
* Property pane changes for actions
* property pane changes for js functions
* showing syntax error for now
* actions sorted in response tab
* added js objects to slash and recent entitties
* enabling this to be used inside of function
* eval fix
* feature flag changes for entity explorer and property pane
* debugger changes
* copy bug fix
* small changes for eval
* debugger bug fix
* chnaged any to specific types
* error in console fix
* icons update
* fixed test case
* test case fix
* non empty check for functions
* evaluate test case fix
* added new icons
* text change
* updated time for debounce for trial
* after release mereg
* changed icon
* after merge
* PR comments simple
* fixed PR comments - redux form, settings remove
* js object interface changes
* name refactor
* export default change
* delete resolve actions chnage
* after merge
* adding execute fn as 3rd option and removed create new js function
* issue 7054 fixed - app crash
* execute function on response tab changes
* refactor function name part 1
* refactor of js function name
* try catch added refactor
* test fix
* not used line removed
* test cases locator fixed
Co-authored-by: Nidhi <nidhi.nair93@gmail.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Introducing a new widget: Statbox / Statistic box Widget; This is a composite widget which has text and icon in a certain layout that can be easily changed.
Introduced a new field called as total record count which can be used to disable the pagination controls while having server side pagination. If this value is undefined the conditions will be ignored. The total record count is `total count / page size`, all the parameters need to be bound to the query/API for the functionality to work properly
User now should have access to the table sort column if any through the `{{table.sortOrder}}` API. This will return an object when sort is active > {column: string, order: enum|‘asc’|'desc'}. There should also be a `onSort` action available which can trigger an Event
* - Create a clone of the existing filepicker widget
* - If a file is larges than 5MB, don't put it in the dataTree.
Co-authored-by: Satish Gandham <satish@appsmith.com>
Introducing a new widget: `Checkbox Group`, Users can now create a group of checkboxes and have an action trigger and also be able to refer the selected values from the internal API.
The multi-select and select now has the capability to handle server side filtering, i.e. an Appsmith dev can now choose to call an api on search or options using the onFilterUpdate action
Introducing the **Floating action button / Icon button**. Now you can use this to show small actions as icons. We have added a bunch of styling customisation to this as well. You can bind an onClick action to this and easily trigger an even. The component also automatically resizes within the widget as you scale it while maintaining the right aspect ratio.
We have now separated the multi-select from the select widget, This has simplified the implementation and helped us resolve any issues we where facing because of the complexity bought by both under the same hood and has also increased the discoverability of the widget for our end users. We have also simultaneously taken up multiple enhancements related to the select and multi-select widget.
-- Add a new meta property for receiving the message from an iframe. Now the user can simply refer to {{iframe.message}} to access the data they receive in an API or widget.
* 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
* 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
* 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
* 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
* Expose response headers for API/DB actions
* Added responseMeta to actions datatree
* Modified cypress test to account for responseMeta
* Modify cypress test case
* More test changes
* Modified tests
* 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>