Commit Graph

55 Commits

Author SHA1 Message Date
Ashok Kumar M
2a8e37bf3b
feat: Sliding Canvas for Dragging and Selection (#9983)
* Move existing canvas's to CanvasArenas folder

* moving hooks to canvas arenas folder.

* Sticky canvas implementation.

* fixing specs(WIP)

* dip

* fixing test cases.

* removing comments.

* fixing build

* renaming for readability.

* adding folder for canvas based sagas.

* Resolve conflicts.

* fixing failed cases.

* fixing cypress cases.

* fixing bugs introduced coz of drag and drop.

* fixing bugs.

* few more bug fixes in draw to select.

* mouse pointer default when drag to select.

* bug fix.

* dip

* integrating intersection api.

* dip need to adjust offset

* fixing offset issues.

* readability fix

* rebase bug fixes.

* bug fix.

* adjust canvas slider on mouse over.

* unwanted changes.

* left offset fix + removing dead code.

* fixing bugs.

* fixing broken test cases.

* addressing code review comments.
2022-01-25 20:58:31 +05:30
haojin111
d701f8dfb1
fix: misc git sync fixes / ui polish (#9229)
Co-authored-by: Rishabh Saxena <rishabh@appsmith.com>
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
2021-12-07 07:59:32 +00:00
Pawan Kumar
8395f5e18f
feat: property pane docking (#7361)
* add tailwindcss

* docked property pane

* uncomment a line

* make entity explorer as drawer on unpin

* remove unused imports

* add pin state in  reducer

* add menu icon in header

* fix widget sidebar

* fix widgets sidebar

* style property pane

* update property pane css

* update icons in property pane

* update property pane header styles

* update spacing

* fix few ui issues

* wip: preview mode

* wip:preview mode

* remove unused import

* comments sidebar in app and edit mode

* fix order of import

* use selected state for property pane

* update scrollbar style

* add classes to sidebar and property pane

* make widgets editor fluid

* make widgets editor fluid and refactor logic

* resize the widgets editor if explorer is pinned

* add shortcut for preview mode

* fix link for tabs in edit mode

* zoom in/zoom out for 0.75

* fix chart widget + table widget crashing

* allow zooming of canvas

* fix weird canvas draw issue + update container for handling zoom

* add actions for is panning

* allow panning with grab cursor

* reset panning + zooming when entering preview mode

* add grabbing cursor when grabbing

* only prevent default when space key is pressed

* dont allow zoom in preview mode

* remove unused imports

* fix dont allow zoom in preview mode

* fix ux of panning on space hit

* make fluid as the default app layout

* chart spec

* fix dropdown_on change spec

* fix add widget table and bind spec

* remove draggable property pane spec

* fix container spec

* fix form widget spec

* fix jest test

* fix the function typo

* remove clicking of close button for property pane in cypress tests

* remove property pane actions test

* fix drag and drop test failing

* add cypress selector id to back button in property pane

* fix toggle js spec

* fix merge conflicts from new design system

* editor header

* fix product updates styles + widget card

* remove all unused imports

* fix dynamic layout spec

* fix entity explorer tab rename test failing

* fix table spec

* fix bind tabletextpagination spec

* fix js object spec

* fix entity explorer rename issue

* fix cypress test

* fix cypress command wrong commit

* fix tab spec

* fix property pane copy tests

* add zoom header

* zoom levels

* make property pane sidebar resizable

* add multi select property pane

* fix widget search bug

* update property pane width in state on drag end

* fix viewer header

* fix editor header

* update editor header + remove zooming

* update small style

* dont allow closing of explorer when resizing

* fix jest test

* fix dropdown widget jest test

* preview test case wip

* add entity explorer pinning tests + preview mode tests

* add tooltip in layout control + add padding bottom in property pane view

* incorporate aakash feedbacks

* fix preview mode margin issue

* remove panning code

* fix cypress failing test

* uncomment jest test

* remove redundant code

* fix maincontainer test

* incorporate review feedbacks

* incorporate aakash feedbacks

* review feedbacks

* incorporate review feedbacks

* incorporate qa feedbacks

* fix dynamic layout spec

* updated test based on latest change

* dsl updated

* Updated dsl

* Updated dsl

* resize deselects widget issue.

* fix canvas height issue

* fix typo

* incorporate qa feedbacks

* incorporate qa feedbacks

* incorporate qa feedbacks

* update color for setting control for widget name

* fix onboarding styles conflicts

* Updated tests

* fix application overflow issue

* updated test method

Co-authored-by: root <root@DESKTOP-9GENCK0.localdomain>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro.local>
Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
Co-authored-by: Apple <nandan@thinkify.io>
2021-11-23 13:31:46 +05:30
Pranav Kanade
a1488a73f6
refactor: client side rts (#7837)
* moved constants to a proper files

* added new action constants

* updated websocket reducers and actions

* updated websocket saga to handle proper socket events

* updated initialization

* updated multi pointer arena + realtime app editors components

* minor feedback update

* updated events list by socket level

* removed e.persist

* passing socket obj rather than just id
2021-10-01 16:44:19 +00:00
Abhinav Jha
b49f5097c6
refactor: Widget Development API (#6405) 2021-09-09 20:40:22 +05:30
Arpit Mohan
c078976616
chore: Minor refactoring changes for RTS (#7011)
* Checking for anonymousUser when performing session check

* Using the custom path /rts instead of the default /socket.io. This makes the endpoint more readable & scalable for future websocket endpoints as well.
2021-09-02 08:47:42 +05:30
Pranav Kanade
f65ef8ddf3
feat: add multiplayer feature flag (#6888)
* updated feature flag to type

* added feature flag dependency for pointer sharing and editor listing features
2021-08-26 12:26:13 +05:30
Pranav Kanade
7a75d400ab
Feature: Sharing pointers of concurrent editors (#6540)
* updated collab event names

* added a canvas to record the mouse movement

* can show pointers

* temp

* can draw multiple pointers using canvas, moved multiplayer canvas to artboard level

* using constants to draw the cursors on canvas

* can show pointers with different colors

* showing proper username

* added constants for collab events and namespace

* updated the page socket var name

* defined a id constant, and resizing the canvas if needed on window resizing, and then clearing it

* minor refactor

* hide pointer of users leaving the page

* moved our the share pointer func

* defined separate types

* added minor comment

* using requestAnimationFrame to improve performance.

* added connection checks before emitting events. Added mechanism to try to reconnect manually

* using ref to keep animation step id

* updated the way using requestAnimationFrame

* passing pageId as prop to canvas and pointer canvas

* emitting events only if there are more than one realtime editors

* added pageId dependency

* removed unnecessary prop and using reactive state

* remove explicit connection event

* maintaining connection state of page level socket
2021-08-18 15:59:52 +05:30
Hetu Nandu
c2a1c1feb4
Don't log debug level logs in prod (#5527) 2021-07-05 11:19:43 +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
Ashok Kumar M
a7e0990cf8
Feature: Canvas Layout Options(max width config) (#3141)
* Feature: Canvas Layout Options(max width config)

* Fixing css issues.

* Changing Default Device option to Desktop.

* Changed Implementation to maintain resize updates within the client.

* Addressing code review changes.

* Updating device resolutions.

* updating cytests

* Fixing resize bug.
2021-03-03 10:56:47 +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
Hetu Nandu
5e0beb9fe7 Property Pane - Convert control to dynamic 2020-02-26 12:44:56 +00:00
Abhinav Jha
2b44c712e9 New Widget drag effects 2020-01-20 09:00:37 +00:00
Abhinav Jha
99d660370d Cleanup
DragLayerComponent
2020-01-16 11:46:21 +00:00
Abhinav Jha
3d5fa544fc When dragging/resizing a widget, the other widgets' boundaries show up. 2020-01-08 10:49:01 +05:30
Abhinav Jha
3483975e0b Selected and Focused states of widgets 2020-01-06 16:32:22 +05:30
Abhinav Jha
189c380e85 Property pane should open on move, add and resize 2020-01-02 18:12:02 +05:30
Abhinav Jha
3e88ae0074 Property pane toggle scenario updates 2020-01-02 16:34:36 +05:30
Abhinav Jha
d9b8059799 Focus widget on hover. Show property pane on double click 2019-12-27 15:40:04 +05:30
Abhinav Jha
a7a83119ee Drag all widgets on touch and move 2019-12-25 14:47:37 +05:30
Abhinav Jha
5051bd74b8 Fix published dialog not opening issue. Add try catch around Canvas 2019-11-26 10:45:46 +00:00
Hetu Nandu
fbb7742f0e moved to absolute paths for all fiels 2019-11-25 10:37:27 +05:30
Abhinav Jha
03e78f0751 WIP: Allow absolute paths for imports. Refactor ContainerComponent.tsx to PositionedContainer.tsx, CanvasWidgetContainer.tsx, ContainerComponent.tsx. Refactor all widgets and components to adhere to new props and apis. 2019-11-13 07:00:25 +00:00
Abhinav Jha
ffb9b89620 WIP: Page Creation, Page Switching, Published Application Viewer, DropdownComponent
- Fixes #22, #151, #166, #167, #168, #169
2019-10-31 08:36:04 +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
58c0c647bf Move WidgetFunctions to Context Provider 2019-10-03 21:54:29 +05:30
Abhinav Jha
5bf84ee361 Move FocusContext to Canvas 2019-10-03 16:34:11 +05:30
Abhinav Jha
ffb532fa7a WIP: Canvas widget drop and positioning 2019-09-20 03:55:37 +05:30
Abhinav Jha
56714c3fa0 Merge branch 'release' of gitlab.com:theappsmith/internal-tools-client into feature/canvas-grid-rewrite 2019-09-18 16:28:21 +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
Nikhil Nandagopal
930061481b Merge branch 'release' into feature/actions
# Conflicts:
#	.lintstagedrc
#	package.json
#	src/pages/Editor/Canvas.tsx
#	src/pages/Editor/index.tsx
#	src/sagas/ActionSagas.tsx
#	src/sagas/PageSagas.tsx
#	src/sagas/index.tsx
2019-09-17 15:48:37 +05:30
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
Abhinav Jha
20a3e19ad3 WIP: code changes to allow for dragging and dropping 2019-09-17 15:39:00 +05:30
Abhinav Jha
71029406d7 Fixes #5 and #9. Fix build script. Remove public files. Code Review Fixes 2019-09-16 17:08:37 +05:30
Abhinav Jha
e6f5588488 Remove canvas poc code. Create build script for generating font files 2019-09-16 13:38:03 +05:30
Abhinav Jha
6f19e0d17a WIP: Fix Prettier formatting issues and add precommit hook 2019-09-09 16:00:22 +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
Abhinav Jha
e9610d0248 Basic App Layout 2019-08-20 18:49:19 +05:30
Nikhil Nandgopal
1b71b829fb added droppable component
moved snapcolumspace and rowspace to state
2019-04-02 21:42:08 +05:30
Nikhil Nandgopal
085d420567 implemented basic drag and drop 2019-04-01 12:38:00 +05:30
Nikhil Nandgopal
e3ecb9974a added action creators to pass actions to sagas 2019-03-30 18:00:42 +05:30
Nikhil Nandgopal
d83f3d9308 added axios type script
added api calls from a mock server
added redux saga
2019-03-26 20:58:24 +05:30
Nikhil Nandgopal
4e2b003a5d added canvas widget normalizer 2019-03-21 23:12:23 +05:30
Nikhil Nandgopal
746efeee06 fixed widget pane rendering 2019-03-18 21:15:53 +05:30