I'm looking for a way to implement an expandable/collapsible timeline

318 views
Skip to first unread message

Josh Korn

unread,
Jul 11, 2013, 11:37:22 AM7/11/13
to simile-...@googlegroups.com
What I'm looking to do is represent a timeline that's logically a composite of several other timelines.
Obviously, it would be really helpful to be able to "drill down" into a given timeline in order to see its constituent pieces and (subsequently) collapse the constituents back into the composite timeline.

I don't think I've seen anything in Timeline documentation that points out a way to do this. On the other hand, documentation is somewhat sparse, so there may exist some way to do this that's not well documented. Also, is it possible that such a feature was envisaged but only partially or minimally implemented?

If anyone has already tackled this topic, I'd really appreciate you letting me know what your research uncovered, particularly thoughts on how much effort might be involved in implementing such a feature.

TIA
Josh

Matt Denman

unread,
Jul 11, 2013, 12:42:50 PM7/11/13
to simile-...@googlegroups.com
I think I am doing something like what you say now.  I have a view where I show events for several people mixed together.  That is the composite view.  However, I can "drill down" to just the details for one person.

I do that by making a separate UI that allows me to filter out the other people.

However, I suspect you may mean that on the composite view you have different representation of events that you can click on one event and drill into a bunch of other events that are contained within that.  Again, it would come down to you switching the events shown in the timeline.

Everything I have seen suggests you need to handle the UI mechanism you want to "drill down" (click an event, use filter UI, etc.) with, then use that to get the new data to show in the timeline, which you then recreate with the new data.

Matt Denman

unread,
Jul 11, 2013, 12:51:29 PM7/11/13
to simile-...@googlegroups.com
An example could be showing a list of wars on the timeline.  WW2 would be just one event on the timeline.  If someone clicked on WW2, the timeline would change to show the events within WW2 only.

If that is what you mean, you'll need to handle the click of the event, query for your child events for the event clicked, then redraw the timeline with the new data.

I have not seen anything that will do this for you.

Josh Korn

unread,
Jul 15, 2013, 10:18:20 AM7/15/13
to simile-...@googlegroups.com
... on the composite view you have different representation of events that you can click on one event and drill into a bunch of other events that are contained within that.

That's pretty much what I have in mind. I have a rough idea of how to do this - essentially introducing some indicator of level into the events - and I think I can even get it to perform reasonably well. But without changing the core event structure, it won't be much better than a kludge. I'm still unable to build timeline from scratch, so it's going to be difficult to do this.

I know about handling some of the events, and drawing and hiding tracks/bands, so I'm not totally in the dark. But what I'd really like to do is build some infrastructure that I can use to make subsequent projects easier to do.

Matt Denman

unread,
Jul 15, 2013, 5:54:13 PM7/15/13
to simile-...@googlegroups.com
I'm about to release my version of the code which is much smaller in size.  It is still a collection of JS files that can be combined and minified.  I currently do this via an ASP.NET MVC 4 project.  To create the version I include on http://timeline.kusog.org, I just save the bundled file and offer that as the JS to use in the project.

In prior projects, I just nant build scripts with YUI compressor, which allows me to "build" the js as its own external step.  I enjoy using ASP.NET MVC which lets me switch between using all the JS unbundled for debugging or use the bundled version.  Its just built in so I don't have to setup the build script for nant.  I'll probably check in the nant build script, but it would require the user to have Java installed along with other Java packages.  The build script can also generate jsdoc documentation from the comments in the JS too.

Josh Korn

unread,
Jul 19, 2013, 12:47:44 PM7/19/13
to simile-...@googlegroups.com
Please keep me posted. If you don't mind (and aren't constrained) sharing some of this, I'd love to see it.

Jeff Roehl

unread,
Oct 7, 2013, 6:49:51 PM10/7/13
to simile-...@googlegroups.com
I remember reading somebodies post here about re-writing or re-factoring the Simile Timeline JavaScript.

Does anybody know who this person was?

Or a link to a site with an explanation of what was done and or source code?
 

Matt Denman

unread,
Oct 8, 2013, 12:13:22 PM10/8/13
to simile-...@googlegroups.com
I did it.  You can get that version of the code at https://github.com/kusog/timeline

You can see it running at http://timeline.kusog.org




--
You received this message because you are subscribed to a topic in the Google Groups "SIMILE Widgets" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/simile-widgets/jeppkAauEAo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to simile-widget...@googlegroups.com.
To post to this group, send email to simile-...@googlegroups.com.
Visit this group at http://groups.google.com/group/simile-widgets.
For more options, visit https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages