From 8c45f896f0bf21d9860adcdea0f41692059dc2e6 Mon Sep 17 00:00:00 2001 From: paul Date: Thu, 26 Sep 2024 13:47:05 +0530 Subject: [PATCH] fixed toolbar animation --- notes.md | 2 +- roadmap.md | 6 +++++- src/canvas/canvas.js | 12 +++++++----- src/canvas/toolbar.js | 13 +++++++++---- src/components/cards.js | 2 +- src/components/draggable/droppable.js | 2 ++ src/components/modals.js | 4 +++- 7 files changed, 28 insertions(+), 13 deletions(-) diff --git a/notes.md b/notes.md index 26ee4ba..91d9fab 100644 --- a/notes.md +++ b/notes.md @@ -1,5 +1,5 @@ ### State management in react is a f*king mess -### Update to TypeScript +### Migrate to TypeScript ### Don't use delete keyword to delete keys from object, it becomes hard to debug diff --git a/roadmap.md b/roadmap.md index cbdbdef..2121b5e 100644 --- a/roadmap.md +++ b/roadmap.md @@ -10,7 +10,8 @@ Any feature that has 👑 beside it, is meant only for [premium users](./readme. - [ ] Documentation - [ ] Tree view for elements on the canvas - [ ] Add text editor to support event handlers -- [ ] Support more widgets +- [ ] Support for Event handlers +- [ ] Support more pre-built widgets such as ttk.Notebook, multi-page etc. - [ ] Rewrite DND for better feedback - (swappy/react-dnd-kit/ GSAP draggable) - [ ] Duplicate widgets @@ -21,6 +22,7 @@ Any feature that has 👑 beside it, is meant only for [premium users](./readme. - [ ] Load UI files 👑 - [ ] Light/Dark theme 👑 - [ ] Run the preview 👑 +- [ ] Load templates 👑 ### 2.0.0 - [ ] Support for more third party plugins @@ -32,5 +34,7 @@ Any feature that has 👑 beside it, is meant only for [premium users](./readme. ### 3.0.0 +- [ ] Allow 3rd party UI plugin developers +- [ ] Allow Templates to be sharable - [ ] Node based System (eg: like blender/ unity node system) - [ ] Support for PySide / PyQt 👑 (commercial license only) \ No newline at end of file diff --git a/src/canvas/canvas.js b/src/canvas/canvas.js index 9f14355..1250f48 100644 --- a/src/canvas/canvas.js +++ b/src/canvas/canvas.js @@ -77,7 +77,7 @@ class Canvas extends React.Component { contextMenuItems: [], selectedWidget: null, - toolbarOpen: true, + toolbarOpen: false, toolbarAttrs: null } @@ -240,7 +240,8 @@ class Canvas extends React.Component { // console.log("selected widget", selectedWidget.getToolbarAttrs(), selectedWidget, this.state.selectedWidget) this.setState({ selectedWidget: selectedWidget, - toolbarAttrs: selectedWidget.getToolbarAttrs() + toolbarAttrs: selectedWidget.getToolbarAttrs(), + toolbarOpen: true }) @@ -271,7 +272,7 @@ class Canvas extends React.Component { this.setState({ contextMenuItems: [], - toolbarOpen: true + // toolbarOpen: true }) // this.setState({ // showContextMenu: false @@ -538,7 +539,7 @@ class Canvas extends React.Component { this.setState({ selectedWidget: null, toolbarAttrs: null, - // toolbarOpen: + toolbarOpen: false }) } @@ -649,6 +650,7 @@ class Canvas extends React.Component { handleDropEvent = (e, draggedElement, widgetClass = null) => { e.preventDefault() + console.log("Drop event") this.setState({ isWidgetDragging: false }) @@ -1043,7 +1045,7 @@ class Canvas extends React.Component { render() { return ( -
+
diff --git a/src/canvas/toolbar.js b/src/canvas/toolbar.js index 2433048..adb5944 100644 --- a/src/canvas/toolbar.js +++ b/src/canvas/toolbar.js @@ -282,10 +282,15 @@ const CanvasToolBar = memo(({ isOpen, widgetType, attrs = {} }) => { return (

{capitalize(`${widgetType || ""}`).replace(/_/g, " ")} diff --git a/src/components/cards.js b/src/components/cards.js index c5203fb..419dc19 100644 --- a/src/components/cards.js +++ b/src/components/cards.js @@ -29,7 +29,7 @@ export function SidebarWidgetCard({ name, img, url, license, widgetClass, innerR + className="tw-cursor-pointer tw-w-fit tw-bg-white tw-h-fit">
{ + const handleOk = (e) => { + e.stopPropagation() + setIsModalOpen(false) if (onOk){ onOk()