Changeset 415 in tmcsimulator for trunk/webapps/einotebook/scripts/Events.js


Ignore:
Timestamp:
06/18/2019 10:44:53 AM (7 years ago)
Author:
jdalbey
Message:

einotebook fix to #131

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/webapps/einotebook/scripts/Events.js

    r363 r415  
    304304 * Finds the Event that was last executed by based on given time. 
    305305 * @param time The time in seconds. 
    306  * @return The last execute event if at least one event has executed; otherwise, null. 
     306 * @return The array of last execute event if at least one event has executed; otherwise, null. 
    307307 */ 
    308308function events_getLastExecutedEvent(time) 
    309309{ 
    310         var event = null; 
     310        // var event = null; 
     311        var event_arr = []; 
    311312        if (this.length == 0) 
    312313    { 
     
    317318        if (this.length == 1 && this[0].time.getSeconds() <= time) 
    318319        { 
    319                 event = this[0]; 
     320                event.push(this[0]); 
    320321        } 
    321322        else 
     
    323324                //NOTE: remember that the events are maintained in ascending order by time 
    324325                 
    325                 // FOR each Event 
     326                // FOR each Event  
    326327                for (var i = 0; i < this.length - 1; i++) 
    327328                { 
     
    330331                            this[i + 1].time.getSeconds() > time) 
    331332                        { 
    332                                 event = this[i]; 
     333                                event_arr.push(this[i]); 
     334                                /* traverse backward to check if there is an event happen at the same time  
     335                                with the current event */ 
     336                                var k = i - 1; 
     337                                while ( k>=0 && (this[k].time.getSeconds() == this[i].time.getSeconds())) { 
     338                                        event_arr.push(this[k]); 
     339                                        k--; 
     340                                } 
    333341                        } 
    334342                } 
     
    337345                if (this[this.length - 1].time.getSeconds() <= time) 
    338346                { 
    339                         event = this[this.length - 1]; 
     347                        event_arr.push(this[this.length - 1]); 
    340348                }        
    341349        } 
    342350         
    343         return event; 
    344 } 
    345  
     351        // return an array of event  
     352        return event_arr; 
     353} 
     354 
Note: See TracChangeset for help on using the changeset viewer.