Commit Graph

33 Commits

Author SHA1 Message Date
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
Bhavin K
4b932089a5
Feature: Line separator widget (#4954)
* 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
2021-07-07 15:00:06 +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
Satish Gandham
7f7f6f666b
Development: Add eslint rules for code consistency (#4083)
Co-authored-by: Satish Gandham <satish@appsmith.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2021-04-28 15:58:39 +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
Piyush Mishra
1521f7445c
Fix eslint warnings (#2510) 2021-01-12 06:52:31 +05:30
Piyush Mishra
806a139ddb
Make prettier changes (#2337) 2020-12-24 10:02:25 +05:30
Rishabh Saxena
2f152bf5b1
fix prev widget hidden when dragging new (#2211) 2020-12-16 14:51:57 +05:30
satbir121
901932f9d7
Switching to system fonts (#344)
* Switching to system fonts

* Fixed text alignment issue in text component.

* Changing font of ads components.

* Adding a font type

* Removing unused fonts

* Making fonts in theme an object.

* Removing unncessary font declerations

* Fixing storybook

* Reverting background remove
2020-08-19 03:21:23 +05:30
Abhinav Jha
e22a9c6dc6
Entity Explorer Fixes (#305)
* Fix: modal widget closes when navigating to the widgets pane from explorer

* Fix: Align API input tab with the headers

Fix: align delete and run buttons to the right in queries pane

* Fix: while dragging, the cursor must be 'grabbing'

* Set new widget name in editing mode

* Fix: While property pane is open, changing the widget name in entity explorer does not update the name in the property pane

* Fix: The expanded entity property value popup should not have a label, as its function is only to show the full version of truncated data

* Feature: Edit datasource name from entity explorer

* Fix: Allow users to navigate from the placeholder text

* Fix: When moving or copying apis, navigate to the moved or copied api
2020-08-14 12:48:30 +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
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
Satbir Singh
cfb967117c More events 2020-03-11 13:59:46 +00:00
Satbir Singh
d6d6d4b40d Feature/events 2020-03-03 07:02:53 +00:00
Abhinav Jha
000be868ec Add classes for login button, publish button, application card, widgetcard, editor nav links and application search input. 2020-02-25 12:53:59 +05:30
Abhinav Jha
861e5dd3c4 Fix widget boundaries persist issue 2020-01-21 07:14:47 +00:00
Abhinav Jha
2b44c712e9 New Widget drag effects 2020-01-20 09:00:37 +00:00
Hetu Nandu
fbb7742f0e moved to absolute paths for all fiels 2019-11-25 10:37:27 +05:30
Hetu Nandu
884984bea0 UI fixes 2019-11-13 11:34:11 +00:00
Abhinav Jha
b950ede2b1 Use re-select and re-re-select. Fetch property pane configs from appsmith API. Refactor code to use reselect and re-reselect 2019-10-21 11:40:24 +00:00
Abhinav Jha
e0706cf6e3 Change location for save page notification 2019-09-27 13:38:31 +05:30
Abhinav Jha
cc40fd87e2 Fix WidgetCardNames 2019-09-26 17:07:09 +05:30
Abhinav Jha
4ca0ef7324 Icon imports. Fixes #13 and #14 2019-09-26 16:41:28 +05:30
Abhinav Jha
703081154c WIP: Fix fetch page. Add save page boilerplate. Add widget property change boilerplate. 2019-09-17 20:39:55 +05:30
Abhinav Jha
20a3e19ad3 WIP: code changes to allow for dragging and dropping 2019-09-17 15:39:00 +05:30
Abhinav Jha
6f19e0d17a WIP: Fix Prettier formatting issues and add precommit hook 2019-09-09 16:00:22 +05:30
Abhinav Jha
29d6bd52da WIP: Workflow fixes 2019-09-06 17:10:00 +05:30
Abhinav Jha
c23724effe Resolve #2 Basic Editor Styling
- Add Widget Icons
- Font face observer
- Widget Pane styling based on Theme
2019-09-06 15:00:22 +05:30
gray
6284f07c76 Add default theme base 2019-09-05 23:17:50 +05:30
Abhinav Jha
cf5ec97bb0 Drag drop monitor, code cleanup 2019-09-02 16:28:11 +05:30
Abhinav Jha
babc8fcfcd Linting, fixes, dragpreview fix 2019-08-29 16:52:09 +05:30
Abhinav Jha
02af80d3dc Implement Drag and Drop of components 2019-08-26 18:11:21 +05:30