Skip to content

Commit 97d5246

Browse files
Tror jeg har fikset at play var disabled etter å trykke forward helt i starten av predefined og freemode
1 parent e9370b2 commit 97d5246

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

Heap/js/View.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,16 @@ var View = /** @class */ (function () {
6060
manager.addEvent(new FrontendEvent(forward, backward, this.animSpeed));
6161
};
6262
View.prototype.stepForward = function () {
63+
if (manager.nextEvents.length <= 0)
64+
return;
6365
if (control.getAlgoName() === "MaxHeapFree" || control.getAlgoName() === "MaxHeap")
6466
this.setPause(true);
6567
this.clickedPlay = false;
6668
manager.next();
6769
};
6870
View.prototype.stepBack = function () {
71+
if (manager.nextEvents.length <= 0)
72+
return;
6973
if (control.getAlgoName() === "MaxHeapFree" || control.getAlgoName() === "MaxHeap")
7074
this.setPause(true);
7175
if (firstSelected != -1) {
@@ -325,8 +329,7 @@ var View = /** @class */ (function () {
325329
if (bool) {
326330
this.playing = false;
327331
manager.pause();
328-
if (!(control.getAlgoName() === "MaxHeapFree" || control.getAlgoName() === "MaxHeap"))
329-
$("#play").text("Resume");
332+
$("#play").text("Resume");
330333
lockBackForward(false);
331334
}
332335
else {
@@ -339,15 +342,18 @@ var View = /** @class */ (function () {
339342
// Used in eventmanager for freemode and predefined
340343
View.prototype.playButtonState = function () {
341344
var algo = control.getAlgorithm().getName();
342-
if (!(algo === "MaxHeap" || algo === "MaxHeapFree"))
345+
if (!(algo === "MaxHeap" || algo === "MaxHeapFree")) {
343346
return;
347+
}
344348
if (manager.nextEvents.length > 0 && this.clickedPlay) {
345349
this.playing = true;
346350
lockPlay(false);
347351
lockBackForward(true);
348352
$("#play").text("Pause");
349353
}
350354
else if (manager.nextEvents.length > 0) {
355+
lockPlay(false);
356+
this.playing = false;
351357
return;
352358
}
353359
else {

Heap/js/View.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ class View {
7373
}
7474

7575
stepForward() {
76+
if (manager.nextEvents.length <= 0)
77+
return;
78+
7679
if (control.getAlgoName() === "MaxHeapFree" || control.getAlgoName() === "MaxHeap")
7780
this.setPause(true);
7881

@@ -81,6 +84,8 @@ class View {
8184
}
8285

8386
stepBack() {
87+
if (manager.nextEvents.length <= 0)
88+
return;
8489
if (control.getAlgoName() === "MaxHeapFree" || control.getAlgoName() === "MaxHeap")
8590
this.setPause(true);
8691
if (firstSelected != -1) {
@@ -158,7 +163,7 @@ class View {
158163
screenLock(true);
159164
control.getAlgorithm().build();
160165
this.setPause(true);
161-
$("#play").text("Play");
166+
$("#play").text("Play");
162167
break;
163168
}
164169
case "HeapSort": {
@@ -169,7 +174,7 @@ class View {
169174
screenLock(true);
170175
(<HeapSort>control.getAlgorithm()).sort();
171176
this.setPause(true);
172-
$("#play").text("Play");
177+
$("#play").text("Play");
173178
break;
174179
}
175180
default: {
@@ -378,8 +383,7 @@ class View {
378383
if (bool) {
379384
this.playing = false;
380385
manager.pause();
381-
if (!(control.getAlgoName() === "MaxHeapFree" || control.getAlgoName() === "MaxHeap"))
382-
$("#play").text("Resume");
386+
$("#play").text("Resume");
383387
lockBackForward(false);
384388
} else {
385389
this.playing = true;
@@ -392,15 +396,18 @@ class View {
392396
// Used in eventmanager for freemode and predefined
393397
playButtonState() {
394398
let algo = control.getAlgorithm().getName();
395-
if (!(algo === "MaxHeap" || algo === "MaxHeapFree"))
399+
if (!(algo === "MaxHeap" || algo === "MaxHeapFree")) {
396400
return;
401+
}
397402

398403
if (manager.nextEvents.length > 0 && this.clickedPlay) {
399404
this.playing = true;
400405
lockPlay(false);
401406
lockBackForward(true);
402407
$("#play").text("Pause");
403408
} else if (manager.nextEvents.length > 0) {
409+
lockPlay(false);
410+
this.playing = false;
404411
return;
405412
} else {
406413
lockPlay(true);

0 commit comments

Comments
 (0)