Skip to content

Commit a2845d2

Browse files
author
Øyvind Skeie Liland
committed
Fikset bakover-resume bug i Sort og lagt til bytting mellom algoritmer som kjører
1 parent 8ef3d0a commit a2845d2

File tree

11 files changed

+379
-224
lines changed

11 files changed

+379
-224
lines changed

PortJob/SimpleSort/.idea/workspace.xml

Lines changed: 161 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

PortJob/SimpleSort/js/controller.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
"use strict";
12
/**
23
* File created by Øyvind Skeie Liland 01.02.18.
34
*/

PortJob/SimpleSort/js/eventManager.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
"use strict";
12
/**
23
* Created by knutandersstokke on 16.10.2016.
34
*
@@ -26,15 +27,14 @@ var eventManager = /** @class */ (function () {
2627
if (this.previousEvents.length == 0)
2728
return;
2829
var event = this.previousEvents.pop();
29-
this.delayTime = 0; //TODO: Should there be a delay when stepping backwards?
30+
//this.delayTime = 500; //this line set to 0 caused: when resuming all animations are played out. Intention Delay when stepping backwards.
3031
event.previous();
3132
this.nextEvents.unshift(event);
3233
};
3334
eventManager.prototype.addEvent = function (event) {
3435
this.nextEvents.push(event);
3536
};
3637
eventManager.prototype.start = function () {
37-
clearInterval(this.eventThread);
3838
var manager = this; // Anonymous functions cannot access this...
3939
this.eventThread = setInterval(function () {
4040
manager.next();
@@ -43,6 +43,12 @@ var eventManager = /** @class */ (function () {
4343
eventManager.prototype.pause = function () {
4444
clearInterval(this.eventThread);
4545
};
46+
eventManager.prototype.unpause = function () {
47+
var manager = this;
48+
this.eventThread = setInterval(function () {
49+
manager.next();
50+
}, manager.delayTime);
51+
};
4652
eventManager.prototype.clear = function () {
4753
clearInterval(this.eventThread);
4854
this.nextEvents = [];

PortJob/SimpleSort/js/eventManager.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ class eventManager {
1010
delayTime: number = 500; // Original value
1111
nextEvents: FrontendEvent[] = [];
1212
previousEvents: FrontendEvent[] = [];
13-
eventThread;
13+
eventThread: number;
1414

1515
// Executing the next event in the queue, adding it to 'previous'
1616
next() {
1717
if (this.nextEvents.length == 0) {
1818
return;
1919
}
20-
var event = this.nextEvents.shift();
20+
var event: FrontendEvent = (<FrontendEvent> this.nextEvents.shift());
2121
console.log(this.nextEvents);
2222
event.next();
2323
this.previousEvents.push(event);
@@ -29,18 +29,17 @@ class eventManager {
2929
previous() {
3030
if (this.previousEvents.length == 0)
3131
return;
32-
var event = this.previousEvents.pop();
33-
this.delayTime = 0; //TODO: Should there be a delay when stepping backwards?
32+
var event: FrontendEvent = (<FrontendEvent> this.previousEvents.pop());
33+
//this.delayTime = 500; //this line set to 0 caused: when resuming all animations are played out. Intention Delay when stepping backwards.
3434
event.previous();
3535
this.nextEvents.unshift(event);
3636
}
3737

38-
addEvent(event) {
38+
addEvent(event: FrontendEvent) {
3939
this.nextEvents.push(event);
4040
}
4141

4242
start() {
43-
clearInterval(this.eventThread);
4443
var manager = this; // Anonymous functions cannot access this...
4544
this.eventThread = setInterval(function () {
4645
manager.next();
@@ -51,6 +50,13 @@ class eventManager {
5150
clearInterval(this.eventThread);
5251
}
5352

53+
unpause() {
54+
var manager = this;
55+
this.eventThread = setInterval(function () {
56+
manager.next();
57+
}, manager.delayTime);
58+
}
59+
5460
clear() {
5561
clearInterval(this.eventThread);
5662
this.nextEvents = [];
@@ -59,11 +65,11 @@ class eventManager {
5965
}
6066

6167
class FrontendEvent {
62-
next;
63-
previous;
68+
next: Function;
69+
previous: Function;
6470
duration: number;
6571

66-
constructor(n, p, d: number) {
72+
constructor(n: Function, p: Function, d: number) {
6773
this.next = n;
6874
this.previous = p;
6975
this.duration = d;

0 commit comments

Comments
 (0)