Michel Albert schrieb:
> Hi,
> 
> When develooing widgets, what's the best recommended method to access
> them from javascript?
> 
> Let me explain with an example:
> 
> Assuming I have a widget displaying a google map, and I want to
> display that more than once on a page, but each with different
> locations and/or settings. I would need to set these parameters using
> javascript obviously. But for simple widgets I don't have the
> "form_id" variable available, so I have no *uniqe* way of identifying
> them on the page (say a HTML-ID attribute). Or is there and I am
> missing it?
> 
> In my current application, I have a list of items, each having a
> unique ID in the database. So I now simply loop through them in the
> template, give the containing HTML-Tag an ID with the database ID and
> right after the container I create a <script> tag in which I make the
> appropriate JS calls.
> 
> This looks hackish to me, and I'd rather have the JS code inside a
> "JSSource" instance inside the widget code. I understand that the
> widget cannot know anything about this at the time it is instantiated
> as it is stateless. This information could only be available when
> "widget.display" is called. Is this correct?
> 
> This whole concept makes me still a bit dizzy as I have not /yet/ the
> whole "big picture" in my mind how all in TurboGears is tied together.
> 
> What I really would like to know: Is the way I am approaching it (with
> the <script> tag in the template) the best/recommended way to do it?
> Or are there other best practices for this case.
> 
> This still leaves me the situation that non-form widgets have no
> "field_id" which makes identifying difficult if you have more of them
> on a page. If you have a database ID (or something similar) at hand as
> in my first example, this is trivial. Otherwise you would need you
> somehow supply a manual HTML-ID to the widget at display time, which I
> guess should be possible.
> 
> To be honest I beleive I already answered myself while writing this
> post. As usual, once you start explaining a problem, the solution
> comes by itself. Still, I would like to hear your input/thoughts on
> this issue. This is something that bugs me already for quite some
> time. Who knows, maybe I am missing something dead-simple (as I
> already did last time with template-file for widgets) again.
> 
> So the way I see it, there are two cases:
>  1) form-widgets
>  2) simple widgets
> 
> Suggestions?

ToscaWidgtes AFAIK has always an ID-call available for you. However, 
even if it hasn't, the problem is trivial - just create a unique id by 
using python's id-function, and pass that to the template & the 
javascript inside the update_params-function.

That's all that there is to it.

Diez

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to