File tree Expand file tree Collapse file tree 6 files changed +19
-4
lines changed
Expand file tree Collapse file tree 6 files changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,11 @@ var EventManager = /** @class */ (function () {
1414 viewer . playButtonState ( ) ;
1515 if ( this . nextEvents . length == 0 ) {
1616 screenLock ( false ) ;
17+ if ( control . getAlgoName ( ) === "MaxHeapCombined" ) {
18+ $ ( "#removeElem" ) . attr ( { "disabled" : "true" } ) ;
19+ if ( control . getAlgorithm ( ) . finished )
20+ screenLock ( true ) ;
21+ }
1722 return ;
1823 }
1924 screenLock ( true ) ;
Original file line number Diff line number Diff line change @@ -17,6 +17,11 @@ class EventManager {
1717 viewer . playButtonState ( ) ;
1818 if ( this . nextEvents . length == 0 ) {
1919 screenLock ( false ) ;
20+ if ( control . getAlgoName ( ) === "MaxHeapCombined" ) {
21+ $ ( "#removeElem" ) . attr ( { "disabled" : "true" } ) ;
22+ if ( ( < MaxHeapCombined > control . getAlgorithm ( ) ) . finished )
23+ screenLock ( true ) ;
24+ }
2025 return ;
2126 }
2227 screenLock ( true ) ;
@@ -30,10 +35,10 @@ class EventManager {
3035 // Executing the previous event
3136 previous ( ) {
3237 if ( this . previousEvents . length == 0 ) {
33- screenLock ( false ) ;
38+ screenLock ( false ) ;
3439 return ;
3540 }
36- screenLock ( true ) ;
41+ screenLock ( true ) ;
3742 var event : FrontendEvent = ( < FrontendEvent > this . previousEvents . pop ( ) ) ;
3843 event . previous ( ) ;
3944 this . nextEvents . unshift ( event ) ;
Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ var MaxHeapCombined = /** @class */ (function (_super) {
1919 var _this = _super . call ( this , size ) || this ;
2020 HeapSort . insertElems ( 10 ) ;
2121 _this . sortIndex = _this . currIndex - 1 ;
22+ _this . finished = false ;
2223 return _this ;
2324 }
2425 MaxHeapCombined . prototype . add = function ( a ) {
@@ -37,6 +38,7 @@ var MaxHeapCombined = /** @class */ (function (_super) {
3738 this . remove ( ) ;
3839 }
3940 control . setArrow ( - 1 ) ;
41+ this . finished = true ;
4042 } ;
4143 MaxHeapCombined . prototype . remove = function ( ) {
4244 // Switch root and last element, remove root and start frontendevents
Original file line number Diff line number Diff line change 77
88class MaxHeapCombined extends MaxHeapFree {
99 private sortIndex ;
10+ public finished ;
1011
1112 constructor ( size : number ) {
1213 super ( size ) ;
1314 HeapSort . insertElems ( 10 ) ;
1415 this . sortIndex = this . currIndex - 1 ;
16+ this . finished = false ;
1517 }
1618
1719 add ( a : number ) {
@@ -30,6 +32,7 @@ class MaxHeapCombined extends MaxHeapFree {
3032 this . remove ( ) ;
3133 }
3234 control . setArrow ( - 1 ) ;
35+ this . finished = true ;
3336 }
3437
3538 remove ( ) : void {
Original file line number Diff line number Diff line change @@ -154,9 +154,9 @@ var View = /** @class */ (function () {
154154 $ ( "#buildHeap, #sortHeap" ) . show ( ) ;
155155 control . initController ( new MaxHeapCombined ( 10 ) ) ;
156156 this . play ( ) ;
157- $ ( "#removeElem" ) . attr ( { "disabled" : "true" } ) ;
158157 lockBackForward ( true ) ;
159158 lockPlay ( false ) ;
159+ $ ( "#removeElem" ) . attr ( { "disabled" : "true" } ) ;
160160 break ;
161161 }
162162 case "BuildHeap" : {
Original file line number Diff line number Diff line change @@ -177,9 +177,9 @@ class View {
177177 $ ( "#buildHeap, #sortHeap" ) . show ( ) ;
178178 control . initController ( new MaxHeapCombined ( 10 ) ) ;
179179 this . play ( ) ;
180- $ ( "#removeElem" ) . attr ( { "disabled" : "true" } ) ;
181180 lockBackForward ( true ) ;
182181 lockPlay ( false ) ;
182+ $ ( "#removeElem" ) . attr ( { "disabled" : "true" } ) ;
183183 break ;
184184 }
185185 case "BuildHeap" : {
You can’t perform that action at this time.
0 commit comments