Commit Graph

608 Commits

Author SHA1 Message Date
Vicky Bansal
dbc3ca6bdf
feat: Table widget - Configure table data rows count (#5552)
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
2021-08-30 14:54:59 +05:30
Bhavin K
b892712685
Table widget: default selected row, 0th (#5930) 2021-08-30 12:28:45 +05:30
Pranav Kanade
a1ba69adfc
feat: draggable comment pins (#6742)
* made inline comment pins draggable and added wrapper around overlay comments wrapper

* moved drag hook to pin

* can drag on canvas

* Properly updating the thread to be able to properly move the pin

* always passing the ref to container

* updating BE to save the new pins position

* minor fix

* changed a file name

* minor improvement to fix unit test

* fix, updated dragging reducer function to not expect appId

* removing unrelated change

* added drag and drop for comment pins without react dnd

* updated unit tests

* minor fix

* added a grab pointer and minor offset when user moves the pin

* removed unnecessary store states

* moved drop from onDragEnd to onDrop to reset everything.

* using state selector and dispatch hook

* removed use of anchor widget

* removed pointer change from comments wrapper

* verifying if current pin is being dragged

* updated action creator name

* moved dragging in comments reducer.

* using dragging thread id from store itself

* using relative positioning of pointer to predict the location of pin

* unit test cases fixed

* minor fix

* removed the dependency of off set from callback
2021-08-27 14:27:18 +05:30
Vicky Bansal
2f45db2008
Input widget: New data type supported - Phone number with ISD codes (#5256) 2021-08-26 16:22:45 +05:30
ashit-rath
1c5fb48b1d
Enhancement - chart widget x-axis label orientation (#6708)
* Chart widget - x-axis label orientation selector

* added test cases

* minor typing fix

* renamed CustomChartConstants -> ChartConstants, moved ChartComponents constants to ChartConstants
2021-08-26 15:28:43 +05:30
Tolulope Adetula
d5f91c5495
Fix/select widget placeholder (#6677)
* fix: add placeholder to select widget
* fix: consistency between select / multi-select widgets
2021-08-25 19:37:01 +05:30
Vicky Bansal
cb1604905e
Table sort column APIs (#6068)
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
2021-08-25 18:50:06 +05:30
Pawan Kumar
596edce2e0
fix: List Item de-selection and empty state on deploy mode (#6871)
* revert deselection

* fix empty list state page mode

Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
2021-08-25 15:56:45 +05:30
akash-codemonk
95c60bafeb
fix: Hide debugger errors until onPageLoadActions are run (#6786) 2021-08-25 10:04:42 +05:30
Paul Li
cb4242e7e5
Feat: Style customisation in the button widget (#6052)
Added multiple style props to the button widget:
- Button styles
- The background colour can change with a hex code
- elevation (box-shadow & colour)
- There are button variant contained (solid button), outlined (only borders), text (text buttons)
- Button can have an end icon or start icon
2021-08-24 19:23:15 +05:30
Paul Li
b170a014c6
menu style customization (#6237)
- Menu widget needs to show transparent background
- Make background none if user choose no background colour
- Adopt button style options(menu style, variant, box shadow, border radius)
2021-08-24 11:07:16 +05:30
Satish Gandham
da1af9cac7
Filepicker v2 - Don't store large files in the dataStore (#6692)
* - 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>
2021-08-24 09:08:57 +05:30
Ashok Kumar M
971cc35e7f
[Feature] Click on widget will no longer open property pane (#6219)
* [Feature] Click on widget will no longer open property pane

* fixing test cases

* coverage fixes

* fixing imports.

* fixing build failure.

* fixing new specs

* clear property pane state for any new selection.
2021-08-23 19:42:17 +05:30
Yash Vibhandik
a5fe7c391e
fixed the filter issue in table widget (#6739)
The filters did not get reset where the data in the table widget changes in the edit mode. This is now fixed
2021-08-23 12:59:14 +05:30
Yash Vibhandik
158a71acab
FIX #3123 : added custom csvSeparator property in table widget for csv download (#6291) 2021-08-18 16:03:26 +05:30
Bhavin K
3741bc160e
Added series title (internal property) to the chart widget selectedDataPoint (#6104) 2021-08-18 12:41:07 +05:30
Tolulope Adetula
b6f9aef70a
feat: Add isDisabled to Button column and isVisible to all Table widget Column settings (#4819) 2021-08-17 18:24:43 +05:30
ashit-rath
f904e4bffe
Fix: Widget: 'value' of null errors (#6535)
* validations: array - fixed default value, array object - fixed object index error message computation

* improved validation config

* minor test case additions
2021-08-17 11:35:51 +00:00
Bhavin K
1876403c4f
Added tooltip message on hover in the button widget (#6105) 2021-08-17 16:56:05 +05:30
Bhavin K
3270d6c7ba
Input widget enhancements (#5670)
Many new input widget enhancement added. The widget now has the capability to have its own label and tooltip as helper. The user can now add Icons inside the input widget and align them as well, The user can allow choose the max allowed length of the input. We have also added the isValid property in tandem to the regex property for additional validations using JS expressions
2021-08-17 16:38:04 +05:30
Paul Li
532e8f2a74
Feature : Checkbox Group widget (#6199)
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.
2021-08-17 14:41:38 +05:30
Vicky Bansal
82722e5a38
Fix table date type column sorting (#6134) 2021-08-16 19:07:30 +05:30
Ashok Kumar M
b2ade8e17e
Fix: disable widget selections when widget dragging is in progress. (#6573)
* Fix: disable widget selections when widget dragging is in progress.

* new widget select

* fixing jest tests.
2021-08-16 14:54:42 +05:30
Tolulope Adetula
f4e0e8adb0
Feat/server side filtering multiselect (#5737)
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
2021-08-16 12:26:09 +05:30
Ashok Kumar M
f19ebbafe9
[Feature] Widget grouping - Allow Drag and Drop of multiple widgets. (#5389)
* dip

* dip

* scroll

* fixes

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* dip

* solve for canvas glitches

* dip

* dip

* dip

* adjust scroll speed

* dip

* dip(code clean up)

* dip

* dip

* ---dip

* dip

* dip

* dip

* middle ware for dropping multiple widgets.

* adding scroll to drag for canvas selection.

* fixing drag disabled and modal widget(detach from layout) drops

* firefox and safari fixes

* rebase conflicts.

* fixing broken specs.

* fixing specs and adding jest tests.

* show border and disable resize when multiple widgets are selected.

* selection box grab cursor

* merge conflicts.

* code clean up

* fixing specs.

* fixed a bug and failed specs.

* fixing rerenders.

* code clean up

* code review comments

* always have the drag point inside the widget.

* fetching snap spaces instead of calculating.

* remove widget_move action

* fixing bugs with add widget parent height updation.

* fixing specs.

* List widget conflict fixes.

* fixing canvas drop persistence.

* Adding click to drag for modals and fixing few issues.
2021-08-12 11:15:38 +05:30
Tolulope Adetula
38e1d660ef
fix: table column order and isVisible (#6521)
Hot-fixes:
- Table column order reset on page / data refresh
- Table column visible property reset on page / data refresh
2021-08-11 19:32:14 +05:30
Hetu Nandu
eba88cdc85
Hotfix Table Widget crashes when there is a cyclical dependency (#6505) 2021-08-10 15:51:27 +05:30
rahulramesha
8a71fb68b2
Revert "Supporting all ASCII characters in table widget (#6041)" (#6429)
This reverts commit 3ae1bd6d95.
2021-08-10 13:27:29 +05:30
Paul Li
a92b7595db
BUG-6029 : Property pane for iFrame widget does not appear on clicking on widget (#6260)
-- Add a overlaid div for iframe
2021-08-09 15:21:33 +05:30
Pawan Kumar
8546b24839
Fix: List Widget issues (#6226)
* fix binding

* fix multiple binding not working issue

* use box shadow inset + fix gap issue

* fix container z index issue

* fix resize ux issue

* update container height

* allow selecting list widget only when the property pane is not visible

* fix resize handle overflow issue

* fix dot issue in current item structure + fix resize issue for template

* fix select widget not workign inside list widget issue

* remove unused keys

* fix jest test

* fix derived.js test

* add undefiend check

* add currentIndex for autocomplete

* revert white color to transparent for list container

* fix pagination wrong calculation

* remove beta tag

* fix issue with cypress test failing

* fix issue with dropdown widget

* fix the boolean value issue

Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2021-08-09 11:05:01 +05:30
Paul Li
4f6a62fa53
Icon Button Widget (#5723)
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.
2021-08-05 16:46:26 +05:30
Paul Li
7afb3034bf
BUG : Iframe widget: wrong placeholder Title (#6053)
Rectified the wrong placeholder in the iframe widget title property.
2021-08-05 10:52:27 +05:30
Hetu Nandu
1f16c2d1ee
Tern server performance fix and Best match fix (#6338) 2021-08-04 11:04:44 +05:30
Yash Vibhandik
31f8a708ae
FIX #6324 : reset recaptcha token on click and handled button loading explicitly (#6337)
reset re-captcha token on click and handled button loading explicitly such that the user know that the api call has not finished
2021-08-03 19:06:03 +05:30
Rishabh Rathod
a9f16d75bd
Enable Autocomplete for Static Objects (#6302)
* Remove type from COLORS constant

* Remove type from InputTypes in InputWidget

* Remove type from ReduxActionTypes

* Remove type from ReduxErrorActionTypes

* Remove type from SocialLoginTypes

* Fix widget actions issues

* Remove OPEN_SUB_PANE commented redux action
2021-08-03 13:36:48 +05:30
Tolulope Adetula
24b78d1e2b
Multiselect Widget (#5228)
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.
2021-08-03 12:08:01 +05:30
rahulramesha
f7095296e7
[perf] propertyControl re-rendering (#5941)
* prevent unnecessry re-renders on property control keyPress

* Changes to memoize with useSelector

* propertyControl re-rendering initial commit

* Optimized and Generalized PropertyControl

* Updating Property Dependencies

* removing useCallback and replacing WidgetEnhancementHelpers with selector

* nested property path changes

* reverting name Change

* tests fixes and adding dependencies for validation structure

Co-authored-by: Satish Gandham <satish@appsmith.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
2021-08-02 18:36:22 +05:30
Bhavin K
3ae1bd6d95
Supporting all ASCII characters in table widget (#6041) 2021-08-02 12:07:55 +00:00
Abhinav Jha
cd8407152c
Missing validations (#6281)
* Fix validations for certain scenarios which were missed earlier
2021-08-02 12:53:46 +05:30
Paul Li
334c092fe4
FEATURE-5852 : make the iframe widget message property accessible (#5897)
-- 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.
2021-07-30 12:06:00 +05:30
Rishabh Saxena
bec7acdcfc
Fix iframe url xss (#6209) 2021-07-28 11:31:09 +05:30
rahulramesha
10ff97b3dc
fix for tabelwidget filter bug (#6001)
Co-authored-by: Rahul R <rahulramesha@Rahuls-MacBook-Pro.local>
2021-07-27 10:48:52 +05:30
Pranav Kanade
3547976dc7
[Feature] new nav sniping mode (#5746)
* 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>
2021-07-26 22:14:10 +05:30
Vicky Bansal
0e6ff2bebe
Fix-Keep date picker open when selecting time, month, year in Table widget filters (#5991)
Keep date-picker open when selecting time or changing month, year in Table filters, The user before this could not select or change time. We have fixed this by closing the date-picker popover onClick of outside overlay/canvas.
2021-07-26 12:29:53 +05:30
Abhinav Jha
1391b55bae
Widget Property Validation structure (#5270) 2021-07-26 11:20:46 +05:30
rahulramesha
f5e079f040
[Perf] prevent un-necessry re-renders of resizable Component on property control keyPress (#5885)
prevent un-necessry re-renders of resizable Component on property control keyPress
2021-07-23 12:10:39 +05:30
Yash Vibhandik
a0c9ecb2a5
FIX #3229 : added new props shortcuts and closeOnSelection for smooth interactions (#5276)
In the date picker widget we now have an option to let the date picker popup remain open until the a positive feedback is given by clicking outside the popup or another widget. In other words the date-picker popup will not close where a date is selected with `closeOnSelection` disabled. 

We have also added an option to show date-picker shortcuts to the end user.
2021-07-22 18:16:41 +05:30
Bhavin K
7259d1e908
Bug/mustache binding extra space (#5587)
Table data was not populating when extra space inside the mustache binding, This is now fixed for list and table widget

* removed return statements from computed values

* list widget responce update

* table data handled return, added migration

* removed unused function

* updatetd rowBinding string generator

* fix failing cypress test

* fix cypress tests
2021-07-22 14:13:58 +05:30
Vicky Bansal
6f91c1afd8
Feature/draggable filters in table widget (#5886)
The filter pane in the table widget was fixed to top which would hinder the viewport for the end user. We have now changed the filter pane to a draggable component such that the user can place it anywhere on the canvas while they apply filters to see data change in realtime.

* FEATURE #4088 : added draggable filterpane for table widget

* FEATURE #4088 : update icons, editMode prop and added renderDragBlock support in popper

* FIX #5329: added close button for close filter pane

* FIX #5332 : updated zindex for table filter pane

* fix list widget test

* Fix drag icon position and cypress failing tests

* Fix endsWidth comparator function
2021-07-20 10:48:58 +05:30
Tolulope Adetula
82d887338a
fix: update JS options (#4475)
Add JS options to widget properties, please check the issue for more details
2021-07-16 17:59:53 +05:30