diff --git a/client/src/components/Canvas/CanvasComponents/AlertLevelWidget.jsx b/client/src/components/Canvas/CanvasComponents/AlertLevelWidget.jsx index a66f0f0..9591b72 100644 --- a/client/src/components/Canvas/CanvasComponents/AlertLevelWidget.jsx +++ b/client/src/components/Canvas/CanvasComponents/AlertLevelWidget.jsx @@ -15,9 +15,9 @@ export default function AlertLevel({id, isEditable, isDelete, DeleteWidget}) { height="100%" p={2} > - - - Country Name + + + Country Name diff --git a/client/src/components/Canvas/CanvasComponents/CustomResizeHandle.jsx b/client/src/components/Canvas/CanvasComponents/CustomResizeHandle.jsx new file mode 100644 index 0000000..f50c0da --- /dev/null +++ b/client/src/components/Canvas/CanvasComponents/CustomResizeHandle.jsx @@ -0,0 +1,27 @@ +import { RiExpandDiagonal2Line } from "react-icons/ri"; +import React from "react"; + +const CustomResizeHandle = React.forwardRef((props, ref) => { + const { handleAxis, isVisable, ...restProps } = props; + if (!isVisable) return null; + return ( +
+ +
+ ); +}); + +export default CustomResizeHandle; \ No newline at end of file diff --git a/client/src/components/Canvas/CanvasComponents/Widget.jsx b/client/src/components/Canvas/CanvasComponents/Widget.jsx index 4cd41c2..b31f8e8 100644 --- a/client/src/components/Canvas/CanvasComponents/Widget.jsx +++ b/client/src/components/Canvas/CanvasComponents/Widget.jsx @@ -1,4 +1,5 @@ -import { useSlotRecipe, chakra, Flex, CloseButton, Text } from "@chakra-ui/react" +import { useSlotRecipe, chakra, Flex, CloseButton, Text, IconButton } from "@chakra-ui/react" +import { FaEllipsisH } from "react-icons/fa"; export default function Widget({ id, title, isEditable, isDelete, DeleteWidget, children }) { const recipe = useSlotRecipe({ key: "widget" }); @@ -16,11 +17,14 @@ export default function Widget({ id, title, isEditable, isDelete, DeleteWidget, ):( <> - {title} + + {title} + + )} - + {children} diff --git a/client/src/components/Canvas/views/Home.jsx b/client/src/components/Canvas/views/Home.jsx index 8233705..bc95eb8 100644 --- a/client/src/components/Canvas/views/Home.jsx +++ b/client/src/components/Canvas/views/Home.jsx @@ -12,7 +12,7 @@ import DeleteAllButton from "../CanvasComponents/DeleteAllButton"; export default function Home({...props}) { // deconstructing props - const { width, height, view, layout, setLayout, setOriginalLayout, onLayoutChange, onChangeView, onCancel, + const { view, layout, setLayout, setOriginalLayout, onLayoutChange, onChangeView, onCancel, isDelete, setIsDelete, isEditable, setIsEditable, widgetArray, setWidgetArray } = props; const onAddWidget = (ID) => { @@ -21,10 +21,13 @@ export default function Home({...props}) { { i: ID, x: (prev.length * 3) % 12, - y: Infinity, - w: 3, - h: 3, - static: false + y: Infinity, + w: 2, + h: 5, + minW: 2, + minH: 5, + static: false, + resizeHandles: ['se'] } ]); onEditWidgets(); diff --git a/client/src/components/Canvas/views/HomeTabs/MyDashboard.jsx b/client/src/components/Canvas/views/HomeTabs/MyDashboard.jsx index 6cfcffd..a982349 100644 --- a/client/src/components/Canvas/views/HomeTabs/MyDashboard.jsx +++ b/client/src/components/Canvas/views/HomeTabs/MyDashboard.jsx @@ -1,5 +1,6 @@ import GridLayout, { WidthProvider } from 'react-grid-layout'; import { useSlotRecipe, chakra, Flex } from '@chakra-ui/react'; +import CustomResizeHandle from '../../CanvasComponents/CustomResizeHandle'; export default function MyDashboard({layout, onLayoutChange, isEditable, isDelete, DeleteWidget, widgetArray}) { console.log("rendering MyDashboard"); @@ -36,11 +37,14 @@ export default function MyDashboard({layout, onLayoutChange, isEditable, isDelet draggableHandle=".widget-handle" // Make only the header draggable onDragStart={handleDragStart} onDragStop={handleDragStop} + position="relative" + resizeHandle={} + isResizable={isEditable} > {merged.map((item) => { const Widget = item.widget; return ( - + )