Commit Graph

200 Commits

Author SHA1 Message Date
Rishabh Saxena
a0d2e8533d
Initialise comments (#3328)
* 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>
2021-04-29 16:03:51 +05:30
Nikhil Nandagopal
217b55697b
Merge pull request #4089 from appsmithorg/fix/table-data
Updated the default table data to guide users to connect a datasource
2021-04-27 14:14:23 +05:30
Ashok Kumar M
8f7cc87801
Fix: Tabs widget refactor with new nested property validation (#4014)
* dip

* test cases first commit

* Adding Tabs migrator.

* fixing tests.

* bug fix.

* selected tab fix

* missed commit

* fixing bugs

* Fixing tab name bugs.

* close property pane when dragging or resizing

* migration changes.

* release rebase changes.

* adding List factory

* remove dynamic bindings on deleting tabs.

* Adding validation messages for nested properties as well

* fixing validation issue.

* tabs visibility validation.

* missed commit

* Fixing broken cypress tests.

* Fixing broken tests.
2021-04-27 12:46:54 +05:30
Nikhil Nandagopal
edac5344d2 Merge branch 'release' of github.com:appsmithorg/appsmith into fix/table-data 2021-04-26 19:00:09 +05:30
Nikhil Nandagopal
165c7cdc78 removed unused imports 2021-04-26 18:59:53 +05:30
Nikhil Nandagopal
54fd4c5832 updated action as a primary col 2021-04-26 18:16:56 +05:30
Pawan Kumar
d814e780ed
Fix: Update chart from array to object (#3907)
* 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>
2021-04-26 16:05:59 +05:30
akash-codemonk
36532cbcc8
[Feature] Debugger logs (#3633) 2021-04-23 19:20:55 +05:30
Pawan Kumar
1717b0e392
[Feature] Grid Widget (#2389)
* 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>
2021-04-23 11:13:13 +05:30
Hetu Nandu
4d73e7e0b3
Widget validation for nested property paths (#3947) 2021-04-21 20:04:25 +05:30
Nikhil Nandagopal
a13fe4369e updated the default table data to guide users to connect a datasource 2021-04-21 16:10:45 +05:30
Rishabh Saxena
244930dd69
Add support of component unit testing (#3828)
Update jest config, add msw hooks
2021-04-02 15:17:16 +05:30
Vicky Bansal
bdf31dbf37
Text Widget new styling properties (#3167) 2021-04-01 14:00:33 +05:30
Hetu Nandu
363bee8ec9
Fix action field evaluation for editor (#3701) 2021-03-30 10:59:03 +05:30
Nikhil Nandagopal
3b2072eeb9
Merge pull request #3055 from appsmithorg/fix/rte-newline
Added defaultText and defaultHTML properties in RTE
2021-03-12 17:38:58 +05:30
vicky-primathon.in
3da86b33fe Merge branch 'release' of https://github.com/appsmithorg/appsmith into fix/rte-newline 2021-03-12 15:24:51 +05:30
Nikhil Nandagopal
6bdd39c4b8 minor fixes 2021-03-12 14:47:42 +05:30
Nikhil Nandagopal
d7a5f36fea Made bade 64 encoding the default type for S3
Added a data field for file pickers that is filled based on the property pane value
2021-03-12 13:44:32 +05:30
Trisha Anand
9f63bfafd2
Adding JSON intelligent substitution for Rest Api plugin (#3474)
* POC : null value getting handled correctly

* Refactor code. Tested with and without quotes. This is working! Woohoo!

* Added support for mustache binding to include json objects and arrays

* Added test for smart substitution.

* Added setting to turn on/off smart substitutions in Rest API plugin

* Handling turning on smart json substitution

* Added error handling

* Added config to turn on smart substitution in JSON to make the tests pass now

* Adding a beta tag to the API setting.

* Spelling error resolved.

* Incorporated review comments.

* Catching JSON Parse exception in http call.
2021-03-11 14:10:00 +05:30
Rishabh Saxena
99b3fa6bb8
Omnibar global search (#2903) 2021-03-08 13:54:12 +05:30
Ashok Kumar M
af6b3dfdbb
Fix: Drop overlay widgets anywhere and add them as main container child (#3332)
* Fix: Drop overlay widgets anywhere and add them as main container child

* Using detachFromLayout config.
2021-03-04 10:26:00 +05:30
vicky-primathon.in
950c7b93bb Merge branch 'release' of https://github.com/appsmithorg/appsmith into fix/rte-newline 2021-02-26 16:35:12 +05:30
Vicky Bansal
118467c5bb
Feature: Show/Hide Tabs in Tabs Widget (#3192)
* 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
2021-02-26 11:47:21 +05:30
vicky-primathon.in
b474442ec7 Merge branch 'release' of https://github.com/appsmithorg/appsmith into fix/rte-newline 2021-02-23 18:11:14 +05:30
NandanAnantharamu
6c80f23201
Feature: DatePicker V2 (#2889)
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>
2021-02-23 18:05:09 +05:30
Ashok Kumar M
d1822a9dee
Feature: Modal Widget (#3092)
* Feature: Modal Widget(DIP)

* Adding cypress tests.
2021-02-23 09:48:23 +05:30
Abhinav Jha
4b01e7b3d6 Fix RTE text input parsing.
Fix default input type
2021-02-19 11:19:30 +05:30
vicky-primathon.in
517fe592f1 Merge branch 'release' of https://github.com/appsmithorg/appsmith into fix/rte-newline 2021-02-18 15:42:45 +05:30
Piyush Mishra
74b013d909
Encode params toggle (#3006)
* Makes client side changes to support actionConfiguration.encodeParamsToggle setting.
* Add migration code.

Co-authored-by: Sumit Kumar <sumit@appsmith.com>
Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2021-02-16 20:31:35 +05:30
Ashok Kumar M
a55c10a8ed
Feature Switch Widget (#2999)
* Feature Switch Widget

* Center switch widget

* Adding Cypress tests and changing some nomenclature.

* Adding doc reference

* Swap label for checkbox widget.

* Addressing code review comments.

* remove swap label as exposed property

* Align widget even when label isn't present.

* Changing swapLabel property to Alignment property.

* Fixing test cases.

* Adding default alignment for checkbox.

* Switch documentation link correction

* Removing Ids and adding bind and trigger properties as per new config.

* Changing  default state to bindable property.

Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2021-02-16 17:45:17 +05:30
Piyush Mishra
a4fe0a461e
Table Widget New Features (#2816)
- 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>
2021-02-16 15:59:08 +05:30
vicky-primathon.in
6ca247219c Added defaultText and defaultHTML properties in RTE to change newline only in case of default text value
Added migrations to handle the same
2021-02-15 17:19:33 +05:30
devrk96
ac23629647
Feature: API Pane Redesign (#2218)
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2021-02-11 18:24:00 +05:30
akash-codemonk
c1b3f311e3
New onboarding flow (#2686)
Co-authored-by: a <rishabh.robben@gmail.com>
2021-02-11 12:06:07 +05:30
Rishabh Saxena
c72833b53b
Add an option to set reset the input widget's value on submit (#2837) 2021-02-04 11:21:16 +05:30
Rishabh Saxena
b8bcac8544
add support for an onSubmit action for the input widget (#2749) 2021-01-28 16:45:14 +05:30
Vicky Bansal
e34a98833c
Trigger onPageSizeChange action when table page size changes (#2737) 2021-01-27 11:10:53 +05:30
Rishabh Saxena
affb68ee52
Fix widths for pagination test and modal confirm btns (#2445) 2021-01-06 16:39:08 +05:30
Piyush Mishra
806a139ddb
Make prettier changes (#2337) 2020-12-24 10:02:25 +05:30
Rishabh Saxena
396b12b024
reorder widgets alphabetically, autofocus search input (#2325) 2020-12-23 17:02:30 +05:30
a
61e12235b2 Revert "reorder widget locale wise, autofocus search input"
This reverts commit 0bcc8872eb.
2020-12-23 11:08:52 +05:30
a
0bcc8872eb reorder widget locale wise, autofocus search input 2020-12-23 11:01:00 +05:30
Piyush Mishra
580c261e5d
copy tab data before mutating (#2084) 2020-12-10 14:21:54 +05:30
Arpit Mohan
a900b48712
Improving the text we see in the API and query settings pages (#1997) 2020-12-02 16:27:57 +05:30
Pawan Kumar
9997f2cb9f
Feature: Min and Max date inputs to restrict range in Datepicker Widget (#1865)
* add daterange property control

* fix typescript errors

* update daterangepicker control

* remove daterangepicker control

* add toasts for invalid dates + add test cases

* update test cases

* update test cases

* update test cases + change validation type name + few refactor

* merge release + update toast usage in datepicker control

* update test cases

* update form dsl for test cases

* update test cases

* update setDate command in test cases

* update test cases

* update test case dsl for datepicker widget

* update test cases

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2020-11-27 14:18:38 +05:30
vicky-primathon
3b85cc8222
Added defaultSelectedRow property in table widget so that users can configure default selected row(s) (#1684)
* Added defaultSelectedRow property in table widget so that users can configure default selected rows

* Cypress test cases added to test default row selection in table widget

* Fix defualtSelectedRow property's evaluation type

* Fix default select row type

* Set default selected row when resetting user selected rows

* Use defaultSelectedRow when no user selected row in table
2020-11-20 13:13:39 +05:30
akash-codemonk
c3c7b9b7d7
Add new property to conditionally hide form fields in datasource and editor (#1682)
* Create a form control component which handles the hidden logic

* Add tests
2020-11-19 09:02:58 +05:30
Abhinav Jha
543b7ec72d
Entity Explorer Render (#1354)
* WIP: Performance improvements in entity explorer

* WIP: Achieve feature parity for entity explorer with release

* Update unit tests

* Add sentry profiling to current page entity properties component

* Fix page add/delete not showing up on entity explorer issue. Update memoization logic for pagegroup entity

* Deal with the ban-ts-ignore eslint issues

* Update unit tests

* Fix widget entity children visibility

* Fix tests and code

* Fix tests for scenarios where the collapsed entities are unmount, as this is a part of the performance optimization

* Filter undefined children when generating structureDSL

* Remove rule from eslintrc

Consolidate createPage test command

* Update CreatePage tests to remove redundant dsl updates

* Revert CreatePage test changes, as adding more checks within this command globally causes other tests to have issues.

* re-enable eslint rule, as without it CI tests fail

* Revert to ban-ts-comment

* Fix typescript ban-ts-ignore issue by upgrading react-scripts and fixing typescript issue across the application

* Typescript errors handled

Co-authored-by: vicky-primathon.in <vicky.bansal@primathon.in>
2020-11-03 18:35:40 +05:30
Abhinav Jha
120c2da507
Fix: Tabs Widget (#1532)
* Fix issue where placing widgets into the first tab of a tabs widget was disallowed.

* Concatenate using spread instead of produce

* Remove widget blueprint from widget props

* Deal with nested blueprint
2020-11-03 18:32:50 +05:30
satbir121
51cb0d82a2
Fixing zoom on pan issue. (#1474)
* FIxing zoom on pan issue.

* Adding a disabled label to 1x zoom.

* Adding comments.

* Update PropertyPaneConfigResponse.tsx

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
2020-11-02 15:21:14 +05:30