Commit Graph

42 Commits

Author SHA1 Message Date
Abhinav Jha
4361db4269
feat: Automatic height updates for widgets based on contents (Auto Height) (#18341)
* added multi select back

* (WIP): Complete the dynamc height update logic

* (WIP): Dynamic height logic

* (WIP): Container computation logic, Next steps: Prevent reflow when resize is disabled. Fix logic of widgets randomly changing positions (Debug)

* Fix logic in container computations

* Integrate for PoC

* fixed the no initial load dynamic height updates

* Stop vertical resize and reflow when dynamic height is enabled for a widget

* added another container in text widget

* enabled dynamic height for container widgets

* removed dynamic height feature from list widget

* Fixed Button and Input components height increase

* added an experiment to overflow the content if maxHEight is less

* removed the ref of Textwidget by mistake, added it back

* fixed text widget height overflow problem with a little hack

* added long labels with text

* fixed the table scroll issue

* overflow fixed for json form widget

* added extra 8px height for Switch, Rating and Checkbox Height

* (WIP): Resolve issues

* (WIP): Fix widget padding issue

* added overflow container for Radio and Switch group widgets

* (WIP): Have modals work with dynamic height

* added the overlay and the handles

* added dragging behavior to the dots

* fixed the overlapping with the selection tool

* (WIP): Fix issues reported

* now we can update the property pane values back from overlay handles

* now we can update the property pane values back from overlay handles

* (WIP): Fix table widget

* Fix package.json

* Remove unit tests temporarily

* Fix unit test

* (WIP): Fix modal resize. Fix cursors. Fix border issue on non-resizable widgets

* fetch component heights using the requestAnimationFrame callback

* behavioural changes

* (WIP): Fix issues on the platform

* Update main container size appropriately

* more behavioural changes

* overlay now only be visible when hovering over the dots

* grid showing and widget reselecting

* added onfocus and onblur events to property pane listeners

* added onfocus and onblur events to property pane listeners

* added a range slider for min and max

* added demarcations for slider values

* (WIP): Fix platform workflows for dynamic height

* Fix issues with widgets

* Fix removed import

* - Add missing cypress files

* set the limits

* limit increase on change

* Fix z-index of min max limit indicators. Fix unused-vars warnings

* Fix Table Widget and Text Widget issues

* Fix: all the bugs in the bug master list for DH (#16268)

* changed the zindex for the signifiers

* showing signifiers only when the widget is selected

* made changes suggested by Momcilo

* activate the dots when the fields are active

* created a new centered dot handle

* removed overlays on focus and made the border more like deisgn

* handles on top of other widgets

* hide the overlay when multiple widgets are selected

* added a white border

* added a white border

* bug #15509 resolved

* changed the minDynamicHeightLimit to 2 instead of 4 to fix the Bug #15527

* removed the height auto fix from BaseInputComponent to fix the Bug #15388

* removed the condition to not ccalculate dynamic height when the row difference is less than 2 to fix the bug 15353

* made fixes for the bug #16307

* made fixes for the bug #16308

* made fixes for bug 16310

* made fixes for the bug #16402

* removed some log statements

* made fixes for the bug #16407

* fixed label problem found in the issue #16543

* made fixes for the issue #16547

* made fixes for the bug #16492

* redeploy

* (WIP): Fix to make this branch functional

* imported LabelWithTooltip back from design system

* signifier is now centered

* filled the signifier with primary color

* overlay hidden while dragging

* made the signifier dashed border also draggable

* Fix issue #16590 (#16798)

* set the limits to 4 rows

* replaced the static 40 value

* added signifiers for modal widget

* added signifiers for modal widget

* tried solving the scroll issue for widgets when there are limits

* solved the height problem using ResizeObserver

* (WIP): Fix maxDynamicHeight issue with container widgets:

* made the changes as per the review

* fixed the issue for input widget when label gets out of border

* hide text widget overflow options if auto height is enabled

* (WIP): In view mode, invisible widgets now donot take space (#16920)

* (WIP): In view mode, invisible widgets now donot take space

* (WIP): Enable the feature where invisible widgets in view mode don't take space to all widgets irrespective of the dynamic height feature

* Remove Replay conditional

* removed the scroll container for container type widgets

* removed the scroll container for container type widgets

* updated the hook to set overflow none for text widget

* fixed the should dynamic height logic to respect the min height limit

* Modal widget adheres to dynamic height (#16995)

* Modal widget adheres to dynamic height

* WIP: POC: fix dynamic height issues  (#16996)

Fix height less than 4 issue. Fix JSONForm adherence to min and max height

* POC: Dynamic height undo redo issue (#17085)

* Revert debouce timeout

* (WIP): Fix issue with undo-redo in dynamic height

* fix: Dynamic height issue fixes (#17153)

* Dynamic height issue fixes
==

- Fix issue where nested widgets did not ensure parent dynamic height updates
- Fix issue where Modal widget updates came in subsequent renders
- Fix issue where JSONForm collapses
- Fix performance issue for independent updates

* Use functions to get min and max dynamic height

* Fix issue where variable might have been undefined

* added the dynamic container into the deploy mode as well

* added overflow-x hidden when overflow-y is active in the dynamic height container

* fix: Dynamic height Issue fixes (#17204)

Fix preview mode invisible widgets. Fix Tabs widget dynamic height.

* removed a console.log statement

* removed the slider control file

* imported the LabelWithTooltip from the repo rather than ds

* word-break CSS rules added for Switch and Checkbox widget when Dynamic Height is enabled

* abstracted the check for dynamic height with limits enabled as isDynamicHeightWithLimitsEnabledForWidget

* abstracted the static value of 10 in dynamic height overlay to GridDefaults

* abstracted min and max dynamic height limits to getters

* fix: replaced all the refs for simpler widgets (#17353)

* replaced all the refs for simpler widgets

* removed the updateDynamicHeight from componentDidUpdate in BaseWidget

* added back lifecycle methods back to BaseWidget

* removed the contentRef from SwitchGroup and Table

* updating the height from the auto height with limits as well

* some hacks to make the limits work

* working solution

* used setTimeout to send an update to updateDynamicHeight from overlay update

* removed a log

* added requestanimationframe in settimeout

Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* Fix issues caused during merge

* Remove unneeded derived property

* removed more unnecessary code which should have been removed after removing the ref dependency

* fixed the maxDynamicHeight issue

* Fix issue where property configs were not being sent

* fix: Auto Height Feature - add selectors for tests (#17687)

Add selectors for auto height cypress tests

* fix: removed height auto default theme (#17415)

removed height auto css rule from the default theme

Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>

* fix: Auto Height Feature - Resolve issues and restructure code (#17686)

* Fix issues in dynamic height. Restructure code and reduce abstraction leaks

* Fix typescript issues

* Update based on review comments. Comment migrations, as a cyclic import is causing the jest tests to fail.

* Remove unused imports

* Decrease code nesting

* added the base styles for the overlay like position and z-index in its styled component css

* used the isDynamicHeightEnabled prop to set the height of SwitchGroup and RadioGroup widgets from 32px to 100% in case of inline mode

* fix: Auto Height - Resolve issues (#17737)

* Fix Tabs Widget showTabs toggle based auto height. Revert removal of BaseWidget code. Remove box-intersect and use a bruteforce algorithm. Add base logic for having containers collapse due to hidden child widgets

* Hide scroll contents and overflow property pane controls when dynamic height is enabled

* Removed the class property expectedHeight from BaseWidget as it is not useful in the overlay logic after some changes

* fixed the left alignment issue of label in the rich text editor by adding some styles applied only when the dynamic height is enabled

* fixed the input field stretching issue in case of Dynamic height by adding some CSS styles when isDynamicHeight is true

* Fix failing modal widget cypress tests

* Fix issue with scrollContents and Tabs Widget defaulTab

* added a little bit padding of 4px to the right of scroll container of dynamic height with limit

* Add test locators for resize handles

* removed the dynamic height logic from the table widget

* fix: Auto-Height invisible widgets (#17849)

* Fix issue where invisible widgets were still taking space

* Make sure to collapse only if dynamic height is enabled

* Fix issues with reflow (not the invisible widgets)

* Fix container min height issues

* Fix reflow with original bottom and top values. Testing needed

* Fix invisible widgets

* fix: enabled dynamic height for stat box widget (#17971)

enabled dynamic height for stat box widget

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: added a min height to rich text editor so that it does not collapse (#17970)

added a min height to rich text editor so that it does not collapse

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* Fix issue with resizing auto height widget

* Add helper text to educate users regarding the scroll disconnect in WYSIWYG

* fix: Auto Height Fixes (#18111)

AUTO HEIGHT FIXES

- Fix JSONForm height discrepancy
- Fix issue where widgets moved below the other
- Fix droptarget height after parent container resize

* fix: sliced up the DynamicHeightOverlay component a little bit (#18100)

* sliced up the DynamicHeightOverlay component a little bit

* more refactoring

* more refactoring

* used release event emitter and refactored more

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: rich text editor center alignment issue (#18142)

* removed the center alignment from rich text editor

* dummy commit

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: old DSL container collapse (#18160)

* Fix issue where old containers from old DSLs used to collapse when auto height was enabled

* Fix issue where old containers don't allow new widgets to be added when auto height is enabled, this is because the shouldScrollContents is undefined

* fix: input widgets issue (#18172)

fixed the auto height not working issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: preview deploy mode (#18174)

fixed the preview and deploy mode

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits label intersection with handle dot (#18186)

fixed the position of the limits label to the right so that it will not intersect with the handle dot

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits rich text editor min height (#18187)

decrease the min height of the RTE so that it does not have the boundary issue with the max limit when auto height with limits is enabled

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: grammatical error in the help text (#18188)

changed react to reacts in the helpText of the dynamic height property in the proeprty pane

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height tabs double scroll (#18210)

solved the issue by disabling the scroll for the child canvas widget in the tabs widget

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: auto height limits resizing (#18213)

* fixed the auto height limits resizing issue

* made the auto height overlay independent of isResizing and used its own property to show the grid

* some more refactoring

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* dummy commit

* fix: old apps container issue (#18255)

filtered out the widgets which are detached from layout

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: fixing auto height in childless containers. (#18263)

fixing auto height in childless containers.

* task: Dynamic height reflow fixes in Branch (#18244)

dynamic height reflow fixes

* fix: compact label issue and min and max limits numeric input (#18282)

fixed compact label issue and turned min and max limits to numeric input

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: LabelWithTooltip help icon fix

* fix: NaN and min limit for min and max (#18284)

* fixed compact label issue and turned min and max limits to numeric input

* fixed NaN and set min to be 4

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: validation issues for min max (#18286)

* fixed compact label issue and turned min and max limits to numeric input

* fixed NaN and set min to be 4

* validations start working min max

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* added a full stop to container scroll helper text

* validations start working min max

* dummy commit

* feat: stop resizing auto height widgets vertically because of Drag n Drop Reflow (#18267)

* reflow fixes

* stop resizing auto height widgets vertically because of Drag n Drop Reflow

* feat: Analytics for Dynamic height (#18279)

* Fix canvas min height issue and invisible widgets issue and remove logs and fix issue where widgets overlapped when coming back from preview mode to edit mode

* Fix issue with containers not respecting auto height and decreasing height

* Fix issue with modal widget not hugging contents, and container widgets never become visible after going invisible

* Fix issue where existing containers don't have correct min height for child canvas

* fix: canvasLevelsReducers test (#18301)

fixed the canvasLevelsReducers test

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: removed auto height min max config from widget features (#18316)

removed auto height min max config from widget features

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: Fixing Modal Height updates (#18317)

Fixing Modal Height updates

* fix: text widget background auto height (#18319)

added background color of Text widget back to the auto height container

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* test: cypress tests for auto height (#17676)

* Added tests for dynamic height

* updated tests for another usecase

* moved locators into commonfile

* updated common method

* added tests for some more widgets

* Added tests for jsonForm / Form widget

* Updated the test

* updated test for multiple text widgets

* updated test with few more usecases

* updated the dsl

* updated tests for text change

* updated tests based on new changes

* updated cypress test fixes

* fix: auto height container merge poc wrt release (#18334)

updated the poc wrt PR already merged in the release regarding the auto height container

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: renamed auto height overlay components and added some tests (#18333)

* renamed auto height overlay components and added some tests

* replaced the 10 value with GridDefaults

* avoiding event to reach drop target

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* updated tests

* Merge all code into one branch

* Fix failing AutoHeightcontainer test

* fix: Fix reflow computations which were causing widget overlap (#18300)

* Fix reflow computations which were causing widget overlap

* Fix issues with parent container height and overlapping widgets

* Remove console logs

* Revert comment

* Fix issues related to reflow of containers

* feat: Making getEffectedBoxes a Recursive function in autoHeight Reflow (#18336)

Making getEffectedBoxes a Recursive function in autoHeight Reflow

* Return null for invisible widgets from withWidgetProps

* Remove duplicate import

Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>

* Remove missed console log

* fix: Label position gets deselected on selecting already selected option (#18298)

* fix: Label position gets deselected on selecting the already selected value

* Added migration for Currency & Phone input widgets

* simplify migration function using a utility

* combine conditions

* Increments LATEST_PAGE_VERSION

* Update DynamicHeight_Visibility_spec.js

updated a check wrt auto height

* Handling Modals for canvas size calculations

* fix: migrate label position test failing issue (#18365)

fixed migrate label postition test failing issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* removed the two unwanted imports from DSLMigrations to fix client build

* fix: Auto height zero and limits issue (#18366)

fixed the auto height zero and limits issue

Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>

* fix: Auto height regression issues (#18367)

* Fix auto height regression issues #18367

* feat: auto height migrations (#18368)

Add auto height migrations

* Increase file caching size

* Use manual array for list of auto height enabled widgets

* Fix cypress test dsl versions

* Revert changes to shouldUpdateHeightDynamically

* Update test results based on code changes

* Marginally increase the workbox file size cache

* review comment incorporated for test spec

* Update container auto height property on drop

* added small wait for validation

Co-authored-by: Ankur Singhal <ankur@appsmith.com>
Co-authored-by: rahulramesha <rahul@appsmith.com>
Co-authored-by: Abhinav Jha <zatanna@Abhinavs-iMac.lan>
Co-authored-by: Ankur Singhal <ankursinghal@Ankurs-MacBook-Pro-2.local>
Co-authored-by: Ankur Singhal <ankurrsinghal@gmail.com>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com>
Co-authored-by: Albin <albin@appsmith.com>
Co-authored-by: Aswath K <aswath.sana@gmail.com>
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: Apple <nandan@thinkify.io>
2022-11-23 15:18:23 +05:30
Hetu Nandu
3aff53187c
feat: Maintain Focus and Context Phase 1 (#16317) 2022-10-17 20:46:38 +05:30
rahulramesha
e128b2daf3
feat: new Widget Copy paste experience (#12906)
* copy paste commit

* class name generator changes

* modal widget fixes change

* addressing review comments

* bug fix for after deleting a widget by undoing action

* additional fix for modal widget

* additional tests for fixes
2022-05-04 13:28:57 +05:30
Ankita Kinger
c1e48f7486
feat: Refactor code for SAML integration (#12700)
* Implemented code splitting of some files for SAML integration

* Implemented code splitting of some more files for SAML integration

* updated redirect url component

* fixed an import statement

* fixed a unit test

* updated restart banner tooltip logic

* updated an import statement
2022-04-12 16:20:01 +05:30
Hetu Nandu
3380227cbb
feat: Enable Promises in Appsmith (#6253) 2021-08-27 14:55:28 +05:30
Pawan Kumar
960159eef3
Grouping widgets into container (#5704)
* Cut copy paste first cut

* removed different parent groups logic

* mouseup on the outer canvas removes selections.

* bug fix

* remove unwanted dead code.

* Adding tests

* build fix

* min height fixes

* fixing specs.

* fixing specs.

* fix merge conflcits

* fix border positioning

* fix canvas widgets incorrect bouding box

* fix bounding box position issue

* fix bounding box position issue

* fix

* border issue fix

* update test case

* add colors in theme

* use layers + use click capture on actions

* add icon for grouping

* fix overflow issue in contextmenu in containers

* fix context menu display issue

* update position of context menu

* fix container box-shadow issue

* fix container box-shadow issue

* revert container box shadow

* stop opening of property pane on shift clicking a widget

* remove console.log

* fix multiselect box issue

* add container on copy

* add analytics middleware

* refactor paste widget saga

* change flash element to accept array + revert refactor

* add logic to create containers from selected widgets

* update positions of grouped widgets

* fix comments + remove console

* update flashElementbyId to flashElementsById

* remove analytics middleware + remove unecessary imports

* add shorcut for grouping

* fix position issue when pasting

* allow grouping only when multi widgets are selected

* fix ux issues with widget grouping

* fix help text for grouping actions

* filter out the modal widget when calculting next row

* fix delete issue when grouping

* persist positin when grouping if there is no collision

* fix typo for new position

* changes for review comments

* changes for review comments

* fix position issue when pasting

* fix new container position issue

* move utils function to utils

* fix import issue

* fix the composite widget grouping issue

* fix table name bug

* remove repeated code

* move copied groups existence check;

* fix copied group check

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2021-08-25 10:30:31 +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
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
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
Ashok Kumar M
a76b8cad9b
Feature: Widget Grouping Phase II (#4825)
* dip

* dip

* Cleaning up grid density positioning.

* dip

* dip

* dip

* dip

* code clean up

* dip

* dip(restructuring widget selection)

* Deselect parents and children of a widget when user multi selects.

* dip

* dip

* dip

* dip

* dip

* fixing a bad merge

* fixing tests

* adding jest tests.

* common util

* dip

* dip

* fixes

* restrict in deploy mode.

* fixing dynamic layout.

* fixing tests.

* on paste fix.

* fixing specs.

* addressing code review comments

* dip

* dip

* dip

* fixing specs.
2021-06-17 18:56:54 +05:30
Ashok Kumar M
8c8141650a
Feature: Widget grouping Phase I (Multi select and Bulk Delete) + Canvas Enhancements. (#4219)
* Feature: Canvas layer enhancements(DIP)

* feedback fixes

* fixing build

* dip

* dip

* dip

* fixing build

* dip

* dev fixes

* dip

* Fixing top bottom resize handles

* dip

* reposition widget name on top edges.

* dip

* dip

* dip

* dip

* renaming selectedWidget to lastSelectedWidget

* code clean up

* Fixing list widget as per grid scale.

* Fixing existing specs.

* Adding migration test cases.

* dip

* FIxing proppane in modal.

* fixing modal z-indedx.

* fix for modal name.

* dip

* dip

* dip

* adding test cases for hotkeys.

* dip

* dip

* fixing build

* Trying some performance improvements for jests.

* 17 mins with runinband lets try without it.

* minor bug fixes.

* code clean up

* save migrated app on fetch.

* fixing few cypress tests

* fixing cypress tests

* fixing cypress tests.

* fixing cypress

* updated DSL

* Addressing code review comments.

* test fails

* dip

* eslint fixes.

* fixing debugger cypress tests.

* updating latest page version.

* updating migration changes to cypress dsl's.

* updating chart data fixes for cypress tests.

Co-authored-by: Apple <nandan@thinkify.io>
2021-05-18 23:59:39 +05:30
Hetu Nandu
c92eb0e5a4
Introduce different evaluation types for different binding fields (#3834) 2021-04-26 11:11:32 +05:30
Hetu Nandu
363bee8ec9
Fix action field evaluation for editor (#3701) 2021-03-30 10:59:03 +05:30
Ashok Kumar M
bf21c15ba9
Feature: Property pane enhancements(Bug fixes + Draggable popper) (#3748)
* Fix: On renaming a widget via entity explorer the canvas gets resized

* Fix: Close prop pane on resize start of unselected widget.

* Fix: Match all - corejs polyfill

* Fix: Proppane not updated properly when same type widgets are selected.

* Feature: Draggable Proppane.

* Bug fixes for draggable popup.

* Fix: Property pane editor when selecting another widget.

* resolve rebase bad merges.

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fixes

* cytest fix

* fixing draggable components inside porp pane.

* Adding cypress test.

* refactored Draggable list POC version

* reverting unwanted changes.

* prop pane bug fix

* unwanted dependencies.

* double click to open prop pane.

* Fixing bugs in draggable prop pane.

* one click prop pane open.

* ignore drag/resize click captures

* make prop pane draggable only via drag handler.

* Fixed property pane title.

* converting layer to hook and adding it to top most layer.

* removing irrelevant comments.

* close panel when widget changes.

* fixing cytests.

* bug fix

* fixing cytest

* Addressing code review comments.

* bug fix
2021-03-29 21:17:22 +05:30
hetunandu
b0580e9ee0 Revert "Feature: Property Pane improvements (#3561)"
This reverts commit 3437c16ef0.
2021-03-29 16:58:22 +05:30
Ashok Kumar M
3437c16ef0
Feature: Property Pane improvements (#3561)
* Fix: On renaming a widget via entity explorer the canvas gets resized

* Fix: Close prop pane on resize start of unselected widget.

* Fix: Match all - corejs polyfill

* Fix: Proppane not updated properly when same type widgets are selected.

* Feature: Draggable Proppane.

* Bug fixes for draggable popup.

* Fix: Property pane editor when selecting another widget.

* resolve rebase bad merges.

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fix

* cytest fixes

* cytest fix

* fixing draggable components inside porp pane.

* Adding cypress test.

* refactored Draggable list POC version

* reverting unwanted changes.

* prop pane bug fix

* unwanted dependencies.

* double click to open prop pane.

* Fixing bugs in draggable prop pane.

* one click prop pane open.

* ignore drag/resize click captures

* make prop pane draggable only via drag handler.

* Fixed property pane title.

* converting layer to hook and adding it to top most layer.

* removing irrelevant comments.

* close panel when widget changes.

* fixing cytests.

* bug fix

* fixing cytest

* Addressing code review comments.

* bug fix
2021-03-29 15:28:52 +05:30
Rishabh Saxena
99b3fa6bb8
Omnibar global search (#2903) 2021-03-08 13:54:12 +05:30
Pawan Kumar
51076eaead
Fix: Show appropriate error message when an onPageLoad action fails (#2355)
* show action in toast error message on pageload error

* add test case

* add error body in toast

* fix test case

* fix test case

* update test case

* uncomment test case

* remove the console log

* remove unused console

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
2021-01-06 10:55:47 +05:30
Hetu Nandu
4cba17ab82
Add post eval action support (#1529)
Fixes #1504
2020-11-03 15:46:11 +05:30
akash-codemonk
47847cbc7c
Add widget cta in query pane (#1157) 2020-10-15 12:51:00 +05:30
Nikhil Nandagopal
3fdd0a246a
Feature/instrumentation (#744)
* bumped sentry version
modified performance monitor to use a queue internally to make synchronous logging easy
added logging for api pane close / open and various different methods

* added use effect to stop tracking on mount of entity properties

* removed open api tracking

* fixed stop tracking to pop from the end instead of the beginning
added tracking for editor mount and sidebar mount

* added tracking for entity explorer

* moved from app route to sentry app route because passing JSX to app route causes re-renders

* Fixing theme and route change issues.

* added performance tracking for API / Query execution and Page Load actions

* added isntrumentation to open / close actions

* added instrumentation for apis & actions

* reduced sample rate
added async tracking

* added tracking for property pane

* Remove tracking from reducer

* added option to attach async operations to parent transactions

* Fix typo

Co-authored-by: Nikhil Nandagopal <nikhil@appsmith.com>
Co-authored-by: Satbir Singh <satbir121@gmail.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
2020-09-28 10:42:23 +05:30
Abhinav Jha
436f190555
Feature: Widgets: Cut-Copy-Paste-Delete shortcuts, undo-delete facility (#500) 2020-09-16 15:58:01 +05:30
NandanAnantharamu
05f190c102
Feature/entity browse (#220)
# New Feature: Entity Explorer
- Entities are actions (apis and queries), datasources, pages, and widgets
- With this new feature, all entities in the application will be available
  to view in the new entity explorer sidebar
- All existing application features from the api sidebar, query sidebar, datasource sidebar and pages sidebar
  now are avialable on the entity explorer sidebar
- Users are now able to quickly switch to any entity in the application from the entity explorer sidebar.
- Users can also search all entities in the application from the new sidebar. Use cmd + f or ctrl + f to focus on the search input
- Users can rename entities from the new sidebar
- Users can also perform contextual actions on these entities like set a page as home page, copy/move actions, delete entity, etc from the context menu available alongside the entities in the sidebar
- Users can view the properties of the entities in the sidebar, as well as copy bindings to use in the application.
2020-08-10 14:22:45 +05:30
Vicky Bansal
fc5f417923 Fix/map issues 2020-05-07 10:51:37 +00:00
Hetu Nandu
a266472e4e Fix batched action execution 2020-04-17 16:15:09 +00:00
Hetu Nandu
06fb241f8e improve saving workflow after batching 2020-04-13 19:30:50 +05:30
Hetu Nandu
0beb6bc5ca Batched redux update 2020-04-13 08:24:13 +00:00
Abhinav Jha
dc877288bc Modal Fixes 1 2020-04-03 09:32:13 +00:00
Abhinav Jha
a0872b97f2 Generate widgets from blueprint. Close previously open modals when showing a modal. Fix unicode page name issue in pagelist sidebar 2020-03-27 09:02:11 +00:00
Hetu Nandu
5e0beb9fe7 Property Pane - Convert control to dynamic 2020-02-26 12:44:56 +00:00
Hetu Nandu
fb80c4b576 Action refactor 2020-02-18 10:41:52 +00:00
Satbir Singh
84d35aced6 Feature/server side pagination 2020-02-07 02:32:52 +00:00
Satbir Singh
6987b392d7 Revert "Merge branch 'feature/server-side-pagination' into 'release'"
This reverts merge request !271
2020-02-04 09:41:12 +00:00
Satbir Singh
7edad01821 Server side pagination 2020-02-04 08:59:46 +00:00
Hetu Nandu
0dd25ba2ef Refactor Widget loading 2020-01-30 13:23:04 +00:00
Hetu Nandu
b6898d4ef7 Page Load actions with dependencies 2020-01-30 10:55:37 +00:00
Abhinav Jha
2b44c712e9 New Widget drag effects 2020-01-20 09:00:37 +00:00
Satbir Singh
f9b7777828 Column resize reorder and hiding columns 2020-01-09 11:39:26 +00:00
Hetu Nandu
dd03093834 Execute page load actions when loading page 2019-12-11 15:24:27 +00:00
Hetu Nandu
fbb7742f0e moved to absolute paths for all fiels 2019-11-25 10:37:27 +05:30
Satbir Singh
2fa2ed72cc Widget loading state. 2019-11-20 08:10:01 +00:00
Nikhil Nandagopal
751ea339d1 added transformation for requests
wired button onclick to execute action saga
split widget props into widget data and widget functions
2019-09-17 15:41:50 +05:30