Summary Files Commits Branches @commit @diff @stats
path: root / src
diff options
context:
space:
mode:
Commitcf9e224eb0a0bfd5303790ebd4879cc2295a3b38 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-10-11 15:13:24 +0300
Committer
 Syndamia <kamen@syndamia.com>
2025-10-11 15:13:24 +0300
Filesa0cc35cb7d5305477c7142076f0449824d4a8051 /src
syndamia.com-cf9e224eb0a0bfd5303790ebd4879cc2295a3b38.tar
syndamia.com-cf9e224eb0a0bfd5303790ebd4879cc2295a3b38.tar.gz
syndamia.com-cf9e224eb0a0bfd5303790ebd4879cc2295a3b38.zip
Parentdbf5524a28abe0ec3bf953cb0a7ca774d79c49d4 (diff)
feat(teaching/upp-2025/w02): Add a button for increasing the available rows in the table
diff --git a/src/teaching/upp-2025/week02/machine.du b/src/teaching/upp-2025/week02/machine.du
index 5938519..089bf0a 100644
--- a/src/teaching/upp-2025/week02/machine.du
+++ b/src/teaching/upp-2025/week02/machine.du
@@ -2,7 +2,7 @@
'define expected-reading 2 min
'define created 05 October 2025
-'define edited 05 October 2025
+'define edited 11 October 2025
[$pagenav]
В тази таблица може да редактирате клетките на колона A и тези срещу INPUT1 и INPUT2.
diff --git a/src/teaching/upp-2025/week02/machine_table.html b/src/teaching/upp-2025/week02/machine_table.html
index bf1a6cd..1b9cc72 100644
--- a/src/teaching/upp-2025/week02/machine_table.html
+++ b/src/teaching/upp-2025/week02/machine_table.html
@@ -102,24 +102,7 @@
<td></td><td></td>
</tr>
<tr>
- <th>21</th><td spellcheck="false" contenteditable="true"></td>
- <td></td><td></td>
- </tr>
- <tr>
- <th>22</th><td spellcheck="false" contenteditable="true"></td>
- <td></td><td></td>
- </tr>
- <tr>
- <th>23</th><td spellcheck="false" contenteditable="true"></td>
- <td></td><td></td>
- </tr>
- <tr>
- <th>24</th><td spellcheck="false" contenteditable="true"></td>
- <td></td><td></td>
- </tr>
- <tr>
- <th>25</th><td spellcheck="false" contenteditable="true"></td>
- <td></td><td></td>
+ <td colspan="4"><button id="addrows">+10 реда</button></td>
</tr>
</table>
<script type="text/javascript" src="./machine_table.js" crossorigin="anonymous" defer></script>
diff --git a/src/teaching/upp-2025/week02/machine_table.js b/src/teaching/upp-2025/week02/machine_table.js
index 99a0255..9aba500 100644
--- a/src/teaching/upp-2025/week02/machine_table.js
+++ b/src/teaching/upp-2025/week02/machine_table.js
@@ -3,6 +3,21 @@
const machineStyles = document.getElementById("upp2025_w02");
machineStyles.disabled = false;
+// Extra rows //
+
+const rows = document.getElementById("worksheet").children[0];
+const addrowsBtn = document.getElementById("addrows");
+
+addrowsBtn.addEventListener('click', function() {
+ let last = rows.children[rows.children.length - 2];
+ for (let i = 1; i <= 10; ++i) {
+ let row = last.cloneNode(true);
+ row.children[0].innerText = Number(row.children[0].innerText) + i
+ rows.insertBefore(row, rows.children[rows.children.length - 1]);
+ }
+ memoryRefresh();
+});
+
// Execution //
const INPUT1 = document.getElementById("input1");
@@ -16,10 +31,16 @@ var speed = 1000;
var running = false;
var stop = false;
-const memory = document.querySelectorAll("#worksheet tr:not(:first-of-type) > td:first-of-type");
-var memoryLocation = memory.length;
+var memory = null;
+var memoryLocation = -1;
var parametrisedCommand = null;
+function memoryRefresh() {
+ memory = document.querySelectorAll("#worksheet tr:not(:first-of-type) > td:first-of-type:not(:last-of-type)");
+ memoryLocation = memory.length;
+}
+memoryRefresh();
+
function executeInit() {
running = true;
A.innerText = 0;
@@ -233,7 +254,10 @@ saveBtn.addEventListener('click', function() {
function loadMemory(text) {
let rows = text.split("\n");
- for (let i = 0; i < memory.length; ++i) {
+ while (memory.length < rows.length)
+ addrowsBtn.click();
+
+ for (let i = 0; i < rows.length; ++i) {
memory[i].innerText = rows[i].split(',')[0];
}
}