Thanks, David, for the help. With your lead, and some other
resources, I was able to find a solution. Below is the code as it's
working for me. The result is a list of all items in the timeline
that gets narrowed as the facets are used to search. Each items'
title (.label) is a link that, when clicked, will center the timeline
at the year of that event:
<script>
function centerTimeline(date) {
tl.getBand(0).setCenterVisibleDate
(Timeline.DateTime.parseGregorianDateTime(date));
}
</script>
<div ex:role=view>
<div ex:role=lens>
<a ex:href-subcontent="javascript:centerTimeline({{.year}});"><span
ex:content=".label"></span></a>
</div>
</div>
On Mar 13, 1:25 pm, David Karger <[email protected]> wrote:
> (see here:http://simile.mit.edu/wiki/Exhibit/Dynamic_URLs
> )
>
> SiteStories wrote:
> > When I use that:
>
> > <div ex:role=view>
> > <div ex:role=lens>
> > <a ex:onclick-content="javascript:myScrollTo({{.label}})"> <span
> > ex:content=".label"></span></a>
> > </div>
> > </div>
>
> > I'm getting an error as follows:
>
> > Caught exception: undefined
> > Details: Error: No such variable called {{
>
> > Is there something missing to let the myScollTo know what .label is?
>
> > FYI... the following creates the list of labels nicely, just without
> > the link functionality that I'm hoping for
>
> > <div ex:role=view>
> > <div ex:role=lens>
> > <span ex:content=".label"></span>
> > </div>
> > </div>
>
> > On Mar 13, 12:41 pm, David Karger <[email protected]> wrote:
>
> >> no, i just meant the default list-of-things view. This should make that
> >> lens active in it:
>
> >> <div ex:role=view>
> >> <div ex:role=lens>the lens i defined before</div>
> >> </div>
>
> >> SiteStories wrote:
>
> >>> Thanks David: A question:
>
> >>> Is the "list view" you mentioned something different from tabular view
> >>> or the default tiles view? If so, any hints as to render it and
> >>> invoke than lens?
>
> >>> On Mar 13, 12:04 pm, David Karger <[email protected]> wrote:
>
> >>>> I'm not sure exactly how to do it, but I think it should be possible to
> >>>> create a lens showing those items which contains a fragment of
> >>>> javascript code telling the map/timeline to center on that item, e.g.
> >>>> <div ex:role=lens>
> >>>> <a ex:onclick-content="javascript:myScrollTo({{.label}})"> <span
> >>>> ex:content=".label"></span></a>
> >>>> </div>
> >>>> then render a list view invoking that lens.
>
> >>>> SiteStories wrote:
>
> >>>>> I'm creating an Exhibit that includes:
>
> >>>>> - facet search boxes (to sort items by label, date, etc...)
> >>>>> - a timeline
> >>>>> - a map
>
> >>>>> The problem I'm trying to solve:
>
> >>>>> Let's say I select a couple search terms in the facet boxes, and it
> >>>>> narrows my returned data items from 50 down to 4. On the timeline, if
> >>>>> those items are far enough apart in time, the user can only see the
> >>>>> nearest items that timeline decides to scroll to. Others remain out
> >>>>> of sight, so the user can't know what they are. The map will now show
> >>>>> only 4 markers, but again, the user has to guess what they might be.
>
> >>>>> The solution I'm hoping for:
>
> >>>>> Is there a way to list out the timeline items/events in a simple
> >>>>> vertical menu that would appear next to the timeline? Not listing the
> >>>>> items here instead of on the timeline, but in addition to. This way
> >>>>> the user has a clear list of returned items, and can select from them
> >>>>> in this new "menu" to then see the final desired item in the timeline
> >>>>> and map.
>
> >>>>> I've attempted this by creating a second timeline on the page, and
> >>>>> scrunching up the date intervals so much that all items essentially
> >>>>> appeared in a vertical line. It worked in that I could select items
> >>>>> on this hacked timeline, and it was coordinated with the clean
> >>>>> timeline and map. But, the scrunched map was an ugly interface, and
> >>>>> the extra work it was doing seemed to really slow down all the
> >>>>> elements on the page.
>
> >>>>> Coordinating somehow with the tabular view would show the list I want,
> >>>>> but would lack the clickable interactivity between the new list, the
> >>>>> timeline, and the map.
>
> >>>>> Does this make sense to anyone? Any ideas for a clean solution?
>
> >>>>> The closest I can get, or think to get, is some version of the
> >>>>> following, where the script calls the timeline events, and places them
> >>>>> in the new div (menuDiv)...
>
> >>>>> <script>
> >>>>> function onLoad() {
> >>>>> var eventSource = new Timeline.DefaultEventSource();
> >>>>> document.getElementById('menuDiv').innerHTML = "eventSource";
> >>>>> </script>
>
> >>>>> <div id="menuDiv">
> >>>>> </div>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"SIMILE Widgets" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/simile-widgets?hl=en
-~----------~----~----~----~------~----~------~--~---