From 7441f722102702eab7b5d1c6dc227b176cba0b0e Mon Sep 17 00:00:00 2001 From: Chris Vanderloo Date: Sat, 2 May 2020 20:21:41 -0400 Subject: [PATCH] initial undo/redo ui --- ExistentialGraphs.studio | Bin 10841 -> 13300 bytes public/assets/redo.svg | 15 ++++++++ public/assets/undo.svg | 15 ++++++++ src/App.js | 24 ++++++------- src/canvas/Canvas.js | 13 +++---- src/canvas/Canvas.scss | 70 +++++++++++++++++++++++++++++++++++-- src/canvas/DropdownMenu.js | 25 +++++++++++++ src/canvas/StepMenu.js | 12 +++++++ 8 files changed, 154 insertions(+), 20 deletions(-) create mode 100644 public/assets/redo.svg create mode 100644 public/assets/undo.svg create mode 100644 src/canvas/DropdownMenu.js diff --git a/ExistentialGraphs.studio b/ExistentialGraphs.studio index 22e6c4f559aa9466a1cb2156b0132ffa8bf9774d..ce40a4beb41512a792750e63b51b88c67cd80ab1 100644 GIT binary patch delta 12576 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 MZy6XEJ{o~|0ILVF{r~^~ delta 10081 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 + + + + + + + + + + + + + + diff --git a/public/assets/undo.svg b/public/assets/undo.svg new file mode 100644 index 0000000..07c8280 --- /dev/null +++ b/public/assets/undo.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/App.js b/src/App.js index 376943e..8d1f1a7 100644 --- a/src/App.js +++ b/src/App.js @@ -12,22 +12,22 @@ class App extends React.Component { this.openCanvas = this.openCanvas.bind(this); this.saveProof = this.saveProof.bind(this); this.introWindow = React.createRef(); - this.state = { - initialCSS: 'initial', - canvasOpen: false, - popupOpen: false, - proof: { - premises: [], - conclusion: '', - steps: [] - } - }; // this.state = { // initialCSS: 'initial', - // canvasOpen: true, + // canvasOpen: false, // popupOpen: false, - // proof: {premises: ["({Q})(({P}){Q})"], conclusion: "{Q}", steps:[] } + // proof: { + // premises: [], + // conclusion: '', + // steps: [] + // } // }; + this.state = { + initialCSS: 'initial', + canvasOpen: true, + popupOpen: false, + proof: {premises: ["({Q})(({P}){Q})"], conclusion: "{Q}", steps:[] } + }; } saveProof(proof) { diff --git a/src/canvas/Canvas.js b/src/canvas/Canvas.js index 97d124f..dd8bac6 100644 --- a/src/canvas/Canvas.js +++ b/src/canvas/Canvas.js @@ -6,8 +6,8 @@ import EGVariable from './EGVariable'; import EGCut from './EGCut'; import './Canvas.scss'; import Panzoom from 'panzoom'; +import DropdownMenu from './DropdownMenu'; import config from './config'; -import { NotificationContainer, NotificationManager } from 'react-notifications'; const nanoid = require('nanoid').nanoid; // some defaults: @@ -161,9 +161,9 @@ class Canvas extends React.Component { this.setState( { data: data }); this.changeCutLevel(step, newCopyID, data[insert.id].level + 1) // Update the state - currentStep+=1; + currentStep += 1; steps.push(step); - this.setState({ steps: steps, currentStep: currentStep, data:data }); + this.setState({ steps: steps, currentStep: currentStep, data: data }); return true; } @@ -189,9 +189,9 @@ class Canvas extends React.Component { return false; } // Update the state - currentStep+=1; + currentStep += 1; steps.push(step); - this.setState({ steps: steps, currentStep: currentStep, data:data }); + this.setState({ steps: steps, currentStep: currentStep, data: data }); return true; } @@ -677,7 +677,8 @@ class Canvas extends React.Component { if (this.panzoom) zoomWithWheel = this.panzoom.zoomWithWheel return ( -
+
+
+ ); + } +} + +export default DropdownMenu; \ No newline at end of file diff --git a/src/canvas/StepMenu.js b/src/canvas/StepMenu.js index ac2d509..911ba65 100644 --- a/src/canvas/StepMenu.js +++ b/src/canvas/StepMenu.js @@ -31,6 +31,18 @@ class StepMenu extends React.Component {
+
+
+
+ +
+
+
+ +
+
+
+
this.handleClick(event, currentStep + 1, backEnabled)}> -- 2.51.2