I am trying to find out where a callback function came from, but e.parameter.source has been undefined.
The code I’me using to create the callback event is:
var temp_handler = app.createServerHandler("do_things");
container.add(app.createButton(s_list[i][2]).setId("goto_"+s_list[i][1]).addClickHandler(temp_handler));
container.add(app.createLabel("goto_"+s_list[i][1]));
where container is later added to the app.
The first part of the function that gets called is:
function do_things (e)
{
var app = UiApp.getActiveApplication();
Logger.log(e.parameter);
var src = e.parameter.source;
From this, I have been able to tell that e.parameter is:
{clientY=61, clientX=38, button=1, alt=false, eventType=click, screenY=278, ctrl=false, screenX=493, y=11, shift=false, meta=false, x=34}
This does not include source. I find this peculiar because as far as I can tell, other callback functions in the same file have been able to access and use e.parameter.source without issue.
Does anyone know what I am doing wrong in this callback such that the source parameter is inaccessible?
The other answers do not make much sense to me.
First, because the
sourceparameter is filled by the elementidthat generated the event, not itsname.Also it’s filled automatically, there’s no need to
addCallbackElement, which is required for accessing widgets contents by theirname. And last, set anamefor alabelis only useful when you’re setting a tag on it, as there’s no “content” for a label.All that said, the only problem I can imagine is if you’re setting the same
idon another widget and it’s messing with your original one (the button). But I haven’t tested that to be sure.