@@ -43,7 +43,7 @@ export default class EventDrops extends Morph {
4343 return 'red' ;
4444 case 'changed value' :
4545 return 'blue' ;
46- case 'dependencies changed' :
46+ case 'callbacks changed' :
4747 return 'purple' ;
4848 default :
4949 return 'black' ;
@@ -189,7 +189,7 @@ export default class EventDrops extends Morph {
189189 } , "" , "o" ] ) ;
190190 break ;
191191 }
192- case 'dependencies changed' :
192+ case 'callbacks changed' :
193193 default :
194194 {
195195 break ;
@@ -233,7 +233,7 @@ export default class EventDrops extends Morph {
233233 const location = ae . meta ( ) . get ( "location" ) ;
234234 return this . humanizePosition ( location . file , location . start . line ) ;
235235 }
236- case 'dependencies changed' :
236+ case 'callbacks changed' :
237237 default :
238238 return ( event . value || "" ) . toString ( ) ;
239239 }
@@ -332,20 +332,48 @@ export default class EventDrops extends Morph {
332332
333333 updateValuesOverTime ( aexprs ) {
334334 const aeWithRelevantEvents = aexprs . map ( ae => {
335- return { ae, events : ae . meta ( ) . get ( 'events' ) . filter ( event => event . type === "changed value" ) . filter ( this . filterFunction ) } ;
335+ return { ae, events : ae . meta ( ) . get ( 'events' ) . filter ( event => event . type === "changed value" || event . type === "created" ) . filter ( this . filterFunction ) } ;
336336 } ) ;
337+
337338 this . valuesOverTime . innerHTML = "" ;
338339
339340 for ( const { ae, events } of aeWithRelevantEvents ) {
340341 if ( events . length === 0 ) continue ;
341342 let row = < tr > < th > { ae . meta ( ) . get ( 'id' ) } </ th > </ tr > ;
342- row . append ( < td > { events [ 0 ] . value . lastValue } </ td > ) ;
343+ // row.append(<td>{events[0].value.lastValue}</td>);
343344 for ( const event of events ) {
344- row . append ( < td > { event . value . value } </ td > ) ;
345+ const cell = < td class = "tableCell" > { event . value . value } </ td > ;
346+
347+ row . append ( cell ) ;
348+
349+ cell . addEventListener ( 'click' , ( ) => {
350+ this . showEvent ( event , ae ) ;
351+ //lively.notify(event.value.value)
352+ } ) ;
345353 }
346354 this . valuesOverTime . append ( row ) ;
347355 }
348356 }
357+
358+ showEvent ( event , ae ) {
359+ let min = new Date ( event . timestamp . getTime ( ) - 10 ) ;
360+ let max = new Date ( event . timestamp . getTime ( ) + 10 ) ;
361+ this . chart . zoomToDomain ( [ min , max ] ) ;
362+ //Add delay to allow rerender
363+ setTimeout ( ( ) => {
364+ const selectedDrops = this . shadowRoot . querySelectorAll ( ".drop[cx=\"437\"]" )
365+ . filter ( drop => {
366+ const dropLineName = drop . parentElement . nextElementSibling . innerHTML ;
367+ let dropLineAEName = dropLineName . substring ( 0 , dropLineName . lastIndexOf ( " " ) ) ;
368+ return ae . meta ( ) . get ( 'id' ) . includes ( dropLineAEName ) ;
369+ } ) ;
370+ for ( const drop of selectedDrops ) {
371+ drop . setAttribute ( "r" , 10 ) ;
372+ }
373+ //filter to parent -> line-label sibling value = AE id
374+ } , 30 ) ;
375+
376+ }
349377
350378 updateOverview ( aexprs ) {
351379 jQuery ( this . aeOverview ) . jstree ( true ) . settings . core . data = this . generateOverviewJSON ( aexprs ) ;
0 commit comments