Refactor onSave and onCancel to track both layout and widgetArray useState() in order to restore state on cancel

This commit is contained in:
Daniel S. Hansen
2025-08-11 14:40:05 -07:00
parent c1787d7871
commit 77bba49dc8
2 changed files with 3 additions and 4 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ import { v4 as uuid } from 'uuid';
export default function Home({...props}) { export default function Home({...props}) {
// deconstructing props // deconstructing props
const { view, layout, setLayout, setOriginalLayout, onLayoutChange, onChangeView, onCancel, const { view, layout, setLayout, setOriginalLayout, onLayoutChange, onChangeView, onCancel, setOriginalWidgets,
isDelete, setIsDelete, beginEditIfNeeded, isEditable, setIsEditable, widgetArray, setWidgetArray } = props; isDelete, setIsDelete, beginEditIfNeeded, isEditable, setIsEditable, widgetArray, setWidgetArray } = props;
// const onAddWidget = (ID, w, h, minw, minh, maxw, maxh) => { // const onAddWidget = (ID, w, h, minw, minh, maxw, maxh) => {
+2 -3
View File
@@ -19,9 +19,8 @@ export default function Dashboard() {
const beginEditIfNeeded = () => { const beginEditIfNeeded = () => {
if ( !isEditable ) { if ( !isEditable ) {
// Save deep copies to preserve state setOriginalLayout(layout);
setOriginalLayout(structuredClone(layout)); setOriginalWidgets(widgetArray);
setOriginalWidgets(structuredClone(widgetArray));
setIsEditable(true); setIsEditable(true);
setIsDelete(false); setIsDelete(false);
} }