|
@@ -23,6 +23,7 @@ function Addition() {
|
|
const [showAlert, setShowAlert] = useState(false);
|
|
const [showAlert, setShowAlert] = useState(false);
|
|
const [numbersGrid, setNumbersGrid] = useState([{id: 1, number: ""}]);
|
|
const [numbersGrid, setNumbersGrid] = useState([{id: 1, number: ""}]);
|
|
const [resultsGrid, setResultsGrid] = useState([{id: 1, number: ""}]);
|
|
const [resultsGrid, setResultsGrid] = useState([{id: 1, number: ""}]);
|
|
|
|
+ const [stepsGrid, setStepsGrid] = useState([{id: 1, step: ""}]);
|
|
|
|
|
|
// focus the input field
|
|
// focus the input field
|
|
let calculationInput = useRef(null);
|
|
let calculationInput = useRef(null);
|
|
@@ -234,6 +235,7 @@ function Addition() {
|
|
}
|
|
}
|
|
|
|
|
|
let foundComma = false;
|
|
let foundComma = false;
|
|
|
|
+ let stepsGridCopy = [];
|
|
for (let i=0; i<resArr.length-1; i++) {
|
|
for (let i=0; i<resArr.length-1; i++) {
|
|
let text = "";
|
|
let text = "";
|
|
let trueNumbers = false;
|
|
let trueNumbers = false;
|
|
@@ -265,13 +267,12 @@ function Addition() {
|
|
if (foundComma){
|
|
if (foundComma){
|
|
idxCarry += 1;
|
|
idxCarry += 1;
|
|
continue;
|
|
continue;
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
// add carry only if > 0
|
|
// add carry only if > 0
|
|
if (carries[idxCarry]!=="0"){
|
|
if (carries[idxCarry]!=="0"){
|
|
realSum += parseInt(carries[idxCarry]);
|
|
realSum += parseInt(carries[idxCarry]);
|
|
- text += " + " + carries[idxCarry] + " Übertrag"
|
|
|
|
|
|
+ text += " + " + carries[idxCarry] // + " Übertrag"
|
|
}
|
|
}
|
|
|
|
|
|
let realCarry = parseInt(realSum/10).toString()
|
|
let realCarry = parseInt(realSum/10).toString()
|
|
@@ -280,22 +281,22 @@ function Addition() {
|
|
|
|
|
|
if (trueNumbers){
|
|
if (trueNumbers){
|
|
text += resArr[idxNumbers]
|
|
text += resArr[idxNumbers]
|
|
|
|
+ text += " und " + carries[idxCarry-1] + " Übertrag "
|
|
text = text.replace(" ", "0")
|
|
text = text.replace(" ", "0")
|
|
- text += resArr[idxNumbers]===realSum && carries[idxCarry-1]===realCarry ? "\t\tRichtig" : "\t\tFalsch";
|
|
|
|
|
|
+ text += resArr[idxNumbers]===realSum && carries[idxCarry-1]===realCarry ? "(Richtig)" : "(Falsch)";
|
|
|
|
|
|
- let paragraph = document.createElement("p");
|
|
|
|
- paragraph.innerHTML = text
|
|
|
|
- document.getElementById("idmtResultSteps").appendChild(paragraph);
|
|
|
|
|
|
+ stepsGridCopy.push({step: text});
|
|
|
|
|
|
- let btn = document.createElement("button");
|
|
|
|
- btn.innerHTML = "bearbeiten: " + text;
|
|
|
|
- btn.addEventListener("click", () => startOver(i));
|
|
|
|
- document.getElementById("idmtResultSteps").appendChild(btn);
|
|
|
|
|
|
+// let btn = document.createElement("button");
|
|
|
|
+// btn.innerHTML = "bearbeiten: " + text;
|
|
|
|
+// btn.addEventListener("click", () => startOver(i));
|
|
|
|
+// document.getElementById("idmtResultSteps").appendChild(btn);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ setStepsGrid(stepsGridCopy);
|
|
let btnSubmit = document.createElement("button");
|
|
let btnSubmit = document.createElement("button");
|
|
- btnSubmit.innerHTML = "submit result";
|
|
|
|
|
|
+ btnSubmit.innerHTML = "Ergebnis abgeben";
|
|
btnSubmit.addEventListener("click", finishCalculation);
|
|
btnSubmit.addEventListener("click", finishCalculation);
|
|
document.getElementById("idmtResultSteps").appendChild(btnSubmit);
|
|
document.getElementById("idmtResultSteps").appendChild(btnSubmit);
|
|
|
|
|
|
@@ -307,7 +308,8 @@ function Addition() {
|
|
|
|
|
|
const finishCalculation = () => {
|
|
const finishCalculation = () => {
|
|
setShowAlert(false);
|
|
setShowAlert(false);
|
|
- let resCalc = resArr.filter(n => n !== " ").join("")
|
|
|
|
|
|
+ document.getElementById("idmtResultSteps").innerHTML = "";
|
|
|
|
+ let resCalc = resArr.filter(n => n !== " ").join("");
|
|
setResultsGrid([{number: resCalc}]);
|
|
setResultsGrid([{number: resCalc}]);
|
|
resCalc = parseFloat(resCalc);
|
|
resCalc = parseFloat(resCalc);
|
|
|
|
|
|
@@ -400,9 +402,19 @@ function Addition() {
|
|
handleCarryChange={handleCarryChange}/>
|
|
handleCarryChange={handleCarryChange}/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <div id="idmtResultSteps"></div>
|
|
|
|
<div id="finishCalculation"></div>
|
|
<div id="finishCalculation"></div>
|
|
|
|
|
|
|
|
+ <div id="idmtResultSteps">
|
|
|
|
+ <DataGrid
|
|
|
|
+ dataSource={stepsGrid}
|
|
|
|
+ focusedRowEnabled={true}
|
|
|
|
+ showBorders={true}
|
|
|
|
+ showColumnHeaders={false}
|
|
|
|
+ >
|
|
|
|
+ <Column dataField="step" />
|
|
|
|
+ </DataGrid>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
<Alert/>
|
|
<Alert/>
|
|
|
|
|
|
</div>
|
|
</div>
|