Re: Is it possible to connect a dojo SortableTable to Tapestry 4.1.1 ?

2006-09-12 Thread Gerald Schöffel

Yippee !

Thank you for this link ! Now I understood the concept and encapsulated 
the plain dojo-widgets (like SortableTable, Dialog etc.) with 
'Tapestry-widgets' and everything is running like intended ... that's 
really cool !


Together with the IDirect interface I found in your code it got even 
better :-)


So Ben was right: when using targets="..." with an 'encapsulated' widget 
the rendering will be dojo.widget.byId(...).


So it is possible to get those AOP style events from dojo. Fine !!

Thanks again for helping my out there :)

Bye,
Gary


if you have a component that extends or implements IWidget tapestry will
resolve the client side code using dojo.widget.byId...(It'll also 
parse your

widget for you inline so your whole app isn't bogged down by needless
parsing of the entire dom tree).

Look at Autocompleter in the svn source for a good example.

http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/ 



On 9/11/06, Gerald Schöffel <[EMAIL PROTECTED]> wrote:


Hi Ben,

thank you for your reply ! I tried it right away ...

Would be too cool if this will work ... but for me it does not :(

When using targets="..:" tapestry is looking for a component like in
"[EMAIL PROTECTED]" ... but internally Tapestry is again connecting via
dojo.event.connect(dojo.byId(...),...)  by resolving the assigned ID of
the component.

Omitting the ID will not work, because Tapestry will render one with the
name of the component by default.

Being tricky naming all IDs the same will fail because of the 'wrong'
dojo.byId().

Hmmm ... Jesse ... how about something like
'element="widget:addressTable"' or 'widget="addressTable"' to get a
connection with dojo.widget.byId(...) ??

Or is there something included already ?

Worth an JIRA-entry ?

Thanks again for helping !!

Bye,
Gary

> Gary,
>
> If you change
> @EventListener(events="onSelect", elements="addressTable")
> to
> @EventListener(events="onSelect", targets="addressTable")
>
> then Tapestry will render the event script using dojo.widget.ByID
> (elements hooks to html elements, targets hooks to components/widgets)
>
> Hope that helps
> regards,
> Ben
>
> -Original Message-
> From: Gerald Schöffel [mailto:[EMAIL PROTECTED]
> Sent: Monday, 11 September 2006 2:10 PM
> To: Tapestry users
> Subject: Re: Is it possible to connect a dojo SortableTable to 
Tapestry

> 4.1.1 ?
>
> Ok, me again ... could not give up on this ...
>
> So I cleaned up my code and learned how to use the @Script-tag ...cool
thing
> :-)
>
> When connecting manually, the following code will work:
>
> dojo.event.connect(dojo.widget.byId("tableWidget"), "onSelect", 
window,

> "addressDisplay_selectAlert") ;
>
> This will display an alert whenever I click on a row.
>
> Tapestry will render the following when using @EventListener:
>
> dojo.event.connect(dojo.byId("addressTable"), "onSelect", tapestry,
> "event327750702");
>
> When using this syntax to connect the event by hand like
>
> dojo.event.connect(dojo.byId("addressTable"), "onSelect", window,
> "addressDisplay_selectAlert");
>
> it will NOT work.
>
> Hmmm ... is there a way to get this working with @EventListener ?
>
> The second possibility would be to do the 'eventhandling' (onSelect 
is a
> function-call, no event at all) with js and send another 'real' 
event to

> Tapestry. But as the first possibility ... I do not know, how to to so
:(
>
> Any help on this is really  desired :)
>
> Thank you !
>
> Bye,
> Gary
>
>
>> Hi Jesse !
>>
>> Thank you for your quick reply !
>>
>> But I already use
>>
>>  in my
>> shell component. So the widget is created and functional (clicking on
>> a header sorts the table and so on).
>>
>> The only 'issue' I have is binding the call to onSelect to an event
>> with @EventListener. There is just no request happening when clicking
>> and selecting table-rows (using firebug to do the 'debugging').
>>
>> Other events are working fine ... but this one is driving me nuts ...
>>
>> For today I will give up on this :(
>>
>> Tomorrow I will try to bind an event to a js-funtion with
>> dojo.event.connect manually to narrow this down.
>>
>> In the meantime: if anyone has an idea ... please let me know. :-)
>>
>> Bye
>> Gary
>>
>>
>>> The table won't be parsed into a dojo widget by default. (Tapestry

Re: Is it possible to connect a dojo SortableTable to Tapestry 4.1.1 ?

2006-09-10 Thread Jesse Kuhnert

if you have a component that extends or implements IWidget tapestry will
resolve the client side code using dojo.widget.byId...(It'll also parse your
widget for you inline so your whole app isn't bogged down by needless
parsing of the entire dom tree).

Look at Autocompleter in the svn source for a good example.

http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/

On 9/11/06, Gerald Schöffel <[EMAIL PROTECTED]> wrote:


Hi Ben,

thank you for your reply ! I tried it right away ...

Would be too cool if this will work ... but for me it does not :(

When using targets="..:" tapestry is looking for a component like in
"[EMAIL PROTECTED]" ... but internally Tapestry is again connecting via
dojo.event.connect(dojo.byId(...),...)  by resolving the assigned ID of
the component.

Omitting the ID will not work, because Tapestry will render one with the
name of the component by default.

Being tricky naming all IDs the same will fail because of the 'wrong'
dojo.byId().

Hmmm ... Jesse ... how about something like
'element="widget:addressTable"' or 'widget="addressTable"' to get a
connection with dojo.widget.byId(...) ??

Or is there something included already ?

Worth an JIRA-entry ?

Thanks again for helping !!

Bye,
Gary

> Gary,
>
> If you change
> @EventListener(events="onSelect", elements="addressTable")
> to
> @EventListener(events="onSelect", targets="addressTable")
>
> then Tapestry will render the event script using dojo.widget.ByID
> (elements hooks to html elements, targets hooks to components/widgets)
>
> Hope that helps
> regards,
> Ben
>
> -----Original Message-
> From: Gerald Schöffel [mailto:[EMAIL PROTECTED]
> Sent: Monday, 11 September 2006 2:10 PM
> To: Tapestry users
> Subject: Re: Is it possible to connect a dojo SortableTable to Tapestry
> 4.1.1 ?
>
> Ok, me again ... could not give up on this ...
>
> So I cleaned up my code and learned how to use the @Script-tag ...cool
thing
> :-)
>
> When connecting manually, the following code will work:
>
> dojo.event.connect(dojo.widget.byId("tableWidget"), "onSelect", window,
> "addressDisplay_selectAlert") ;
>
> This will display an alert whenever I click on a row.
>
> Tapestry will render the following when using @EventListener:
>
> dojo.event.connect(dojo.byId("addressTable"), "onSelect", tapestry,
> "event327750702");
>
> When using this syntax to connect the event by hand like
>
> dojo.event.connect(dojo.byId("addressTable"), "onSelect", window,
> "addressDisplay_selectAlert");
>
> it will NOT work.
>
> Hmmm ... is there a way to get this working with @EventListener ?
>
> The second possibility would be to do the 'eventhandling' (onSelect is a
> function-call, no event at all) with js and send another 'real' event to
> Tapestry. But as the first possibility ... I do not know, how to to so
:(
>
> Any help on this is really  desired :)
>
> Thank you !
>
> Bye,
> Gary
>
>
>> Hi Jesse !
>>
>> Thank you for your quick reply !
>>
>> But I already use
>>
>>  in my
>> shell component. So the widget is created and functional (clicking on
>> a header sorts the table and so on).
>>
>> The only 'issue' I have is binding the call to onSelect to an event
>> with @EventListener. There is just no request happening when clicking
>> and selecting table-rows (using firebug to do the 'debugging').
>>
>> Other events are working fine ... but this one is driving me nuts ...
>>
>> For today I will give up on this :(
>>
>> Tomorrow I will try to bind an event to a js-funtion with
>> dojo.event.connect manually to narrow this down.
>>
>> In the meantime: if anyone has an idea ... please let me know. :-)
>>
>> Bye
>> Gary
>>
>>
>>> The table won't be parsed into a dojo widget by default. (Tapestry
>>> turns this off..)
>>>
>>> You can probably add a single line of js to parse it out though:
>>>
>>> dojo.widget.createWidget(dojo.byId("addressTable"));
>>>
>>> On 9/10/06, Gerald Schöffel <[EMAIL PROTECTED]> wrote:
>>>
>>>> Hi there !
>>>>
>>>> I am trying to connect a dojo SortableTable via the @EventListener
>>>> annotation to Tapestry (4.1.1, latest build from svn).
>>>>
>>>> In my component html file I have something like this:
>>>>

Re: Is it possible to connect a dojo SortableTable to Tapestry 4.1.1 ?

2006-09-10 Thread Gerald Schöffel

Hi Ben,

thank you for your reply ! I tried it right away ...

Would be too cool if this will work ... but for me it does not :(

When using targets="..:" tapestry is looking for a component like in 
"[EMAIL PROTECTED]" ... but internally Tapestry is again connecting via 
dojo.event.connect(dojo.byId(...),...)  by resolving the assigned ID of 
the component.


Omitting the ID will not work, because Tapestry will render one with the 
name of the component by default.


Being tricky naming all IDs the same will fail because of the 'wrong' 
dojo.byId().


Hmmm ... Jesse ... how about something like 
'element="widget:addressTable"' or 'widget="addressTable"' to get a 
connection with dojo.widget.byId(...) ??


Or is there something included already ?

Worth an JIRA-entry ?

Thanks again for helping !!

Bye,
Gary


Gary,

If you change 
@EventListener(events="onSelect", elements="addressTable")

to
@EventListener(events="onSelect", targets="addressTable")

then Tapestry will render the event script using dojo.widget.ByID
(elements hooks to html elements, targets hooks to components/widgets)

Hope that helps
regards,
Ben
 
-Original Message-
From: Gerald Schöffel [mailto:[EMAIL PROTECTED] 
Sent: Monday, 11 September 2006 2:10 PM

To: Tapestry users
Subject: Re: Is it possible to connect a dojo SortableTable to Tapestry
4.1.1 ?

Ok, me again ... could not give up on this ...

So I cleaned up my code and learned how to use the @Script-tag ...cool thing
:-)

When connecting manually, the following code will work:

dojo.event.connect(dojo.widget.byId("tableWidget"), "onSelect", window,
"addressDisplay_selectAlert") ;

This will display an alert whenever I click on a row.

Tapestry will render the following when using @EventListener:

dojo.event.connect(dojo.byId("addressTable"), "onSelect", tapestry,
"event327750702");

When using this syntax to connect the event by hand like

dojo.event.connect(dojo.byId("addressTable"), "onSelect", window,
"addressDisplay_selectAlert");

it will NOT work.

Hmmm ... is there a way to get this working with @EventListener ?

The second possibility would be to do the 'eventhandling' (onSelect is a
function-call, no event at all) with js and send another 'real' event to
Tapestry. But as the first possibility ... I do not know, how to to so :(

Any help on this is really  desired :)

Thank you !

Bye,
Gary

  

Hi Jesse !

Thank you for your quick reply !

But I already use

 in my 
shell component. So the widget is created and functional (clicking on 
a header sorts the table and so on).


The only 'issue' I have is binding the call to onSelect to an event 
with @EventListener. There is just no request happening when clicking 
and selecting table-rows (using firebug to do the 'debugging').


Other events are working fine ... but this one is driving me nuts ...

For today I will give up on this :(

Tomorrow I will try to bind an event to a js-funtion with 
dojo.event.connect manually to narrow this down.


In the meantime: if anyone has an idea ... please let me know. :-)

Bye
Gary


The table won't be parsed into a dojo widget by default. (Tapestry 
turns this off..)


You can probably add a single line of js to parse it out though:

dojo.widget.createWidget(dojo.byId("addressTable"));

On 9/10/06, Gerald Schöffel <[EMAIL PROTECTED]> wrote:
  

Hi there !

I am trying to connect a dojo SortableTable via the @EventListener 
annotation to Tapestry (4.1.1, latest build from svn).


In my component html file I have something like this:

   widgetId="tableWidget" headClass="fixedHeader" 
tbodyClass="scrollContent"
   enableMultipleSelect="false" enableAlternateRows="true" 
rowAlternateClass="alternateRow" cellpadding="0" cellspacing="0" 
border="0">


   ...

   

Inside my component I have the following annotation:

@EventListener(events="onSelect", elements="addressTable")

So now I am trying to get an event to Tapestry when a row is clicked 
(firing 'onSelect' inside the SortableTable-Widget) - or even better
- when a row is double clicked, passing a parameter (getValue) to 
the listener 


I think I have tested every combination of html-code/eventlistener 
etc. (like doing id=", changing elements="addressTable" to targets="addressTable" 
etc.).


I trying to do so the whole evening - without effort :(

So is it possible to connect a plain dojo-widget to Tapestry this 
way ? Or am I totally wrong ?


Would by great to get some response  :)

Thank you in advance !

Bye,
Gary




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Is it possible to connect a dojo SortableTable to Tapestry 4.1.1 ?

2006-09-10 Thread Ben Sommerville
Gary,

If you change 
@EventListener(events="onSelect", elements="addressTable")
to
@EventListener(events="onSelect", targets="addressTable")

then Tapestry will render the event script using dojo.widget.ByID
(elements hooks to html elements, targets hooks to components/widgets)

Hope that helps
regards,
Ben
 
-Original Message-
From: Gerald Schöffel [mailto:[EMAIL PROTECTED] 
Sent: Monday, 11 September 2006 2:10 PM
To: Tapestry users
Subject: Re: Is it possible to connect a dojo SortableTable to Tapestry
4.1.1 ?

Ok, me again ... could not give up on this ...

So I cleaned up my code and learned how to use the @Script-tag ...cool thing
:-)

When connecting manually, the following code will work:

dojo.event.connect(dojo.widget.byId("tableWidget"), "onSelect", window,
"addressDisplay_selectAlert") ;

This will display an alert whenever I click on a row.

Tapestry will render the following when using @EventListener:

dojo.event.connect(dojo.byId("addressTable"), "onSelect", tapestry,
"event327750702");

When using this syntax to connect the event by hand like

dojo.event.connect(dojo.byId("addressTable"), "onSelect", window,
"addressDisplay_selectAlert");

it will NOT work.

Hmmm ... is there a way to get this working with @EventListener ?

The second possibility would be to do the 'eventhandling' (onSelect is a
function-call, no event at all) with js and send another 'real' event to
Tapestry. But as the first possibility ... I do not know, how to to so :(

Any help on this is really  desired :)

Thank you !

Bye,
Gary

> Hi Jesse !
>
> Thank you for your quick reply !
>
> But I already use
>
>  in my 
> shell component. So the widget is created and functional (clicking on 
> a header sorts the table and so on).
>
> The only 'issue' I have is binding the call to onSelect to an event 
> with @EventListener. There is just no request happening when clicking 
> and selecting table-rows (using firebug to do the 'debugging').
>
> Other events are working fine ... but this one is driving me nuts ...
>
> For today I will give up on this :(
>
> Tomorrow I will try to bind an event to a js-funtion with 
> dojo.event.connect manually to narrow this down.
>
> In the meantime: if anyone has an idea ... please let me know. :-)
>
> Bye
> Gary
>
>> The table won't be parsed into a dojo widget by default. (Tapestry 
>> turns this off..)
>>
>> You can probably add a single line of js to parse it out though:
>>
>> dojo.widget.createWidget(dojo.byId("addressTable"));
>>
>> On 9/10/06, Gerald Schöffel <[EMAIL PROTECTED]> wrote:
>>>
>>> Hi there !
>>>
>>> I am trying to connect a dojo SortableTable via the @EventListener 
>>> annotation to Tapestry (4.1.1, latest build from svn).
>>>
>>> In my component html file I have something like this:
>>>
>>>>> widgetId="tableWidget" headClass="fixedHeader" 
>>> tbodyClass="scrollContent"
>>>enableMultipleSelect="false" enableAlternateRows="true" 
>>> rowAlternateClass="alternateRow" cellpadding="0" cellspacing="0" 
>>> border="0">
>>>
>>>...
>>>
>>>
>>>
>>> Inside my component I have the following annotation:
>>>
>>> @EventListener(events="onSelect", elements="addressTable")
>>>
>>> So now I am trying to get an event to Tapestry when a row is clicked 
>>> (firing 'onSelect' inside the SortableTable-Widget) - or even better
>>> - when a row is double clicked, passing a parameter (getValue) to 
>>> the listener 
>>>
>>> I think I have tested every combination of html-code/eventlistener 
>>> etc. (like doing >> id=", changing elements="addressTable" to targets="addressTable" 
>>> etc.).
>>>
>>> I trying to do so the whole evening - without effort :(
>>>
>>> So is it possible to connect a plain dojo-widget to Tapestry this 
>>> way ? Or am I totally wrong ?
>>>
>>> Would by great to get some response  :)
>>>
>>> Thank you in advance !
>>>
>>> Bye,
>>> Gary
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Re: Is it possible to connect a dojo SortableTable to Tapestry 4.1.1 ?

2006-09-10 Thread Gerald Schöffel

Ok, me again ... could not give up on this ...

So I cleaned up my code and learned how to use the @Script-tag ...cool 
thing :-)


When connecting manually, the following code will work:

dojo.event.connect(dojo.widget.byId("tableWidget"), "onSelect", window, 
"addressDisplay_selectAlert") ;


This will display an alert whenever I click on a row.

Tapestry will render the following when using @EventListener:

dojo.event.connect(dojo.byId("addressTable"), "onSelect", tapestry, 
"event327750702");


When using this syntax to connect the event by hand like

dojo.event.connect(dojo.byId("addressTable"), "onSelect", window, 
"addressDisplay_selectAlert");


it will NOT work.

Hmmm ... is there a way to get this working with @EventListener ?

The second possibility would be to do the 'eventhandling' (onSelect is a 
function-call, no event at all) with js and send another 'real' event to 
Tapestry. But as the first possibility ... I do not know, how to to so :(


Any help on this is really  desired :)

Thank you !

Bye,
Gary


Hi Jesse !

Thank you for your quick reply !

But I already use


in my shell component. So the widget is created and functional 
(clicking on a header sorts the table and so on).


The only 'issue' I have is binding the call to onSelect to an event 
with @EventListener. There is just no request happening when clicking 
and selecting table-rows (using firebug to do the 'debugging').


Other events are working fine ... but this one is driving me nuts ...

For today I will give up on this :(

Tomorrow I will try to bind an event to a js-funtion with 
dojo.event.connect manually to narrow this down.


In the meantime: if anyone has an idea ... please let me know. :-)

Bye
Gary


The table won't be parsed into a dojo widget by default. (Tapestry turns
this off..)

You can probably add a single line of js to parse it out though:

dojo.widget.createWidget(dojo.byId("addressTable"));

On 9/10/06, Gerald Schöffel <[EMAIL PROTECTED]> wrote:


Hi there !

I am trying to connect a dojo SortableTable via the @EventListener 
annotation to Tapestry (4.1.1, latest build from svn).


In my component html file I have something like this:

   widgetId="tableWidget" headClass="fixedHeader" 
tbodyClass="scrollContent"
   enableMultipleSelect="false" enableAlternateRows="true" 
rowAlternateClass="alternateRow" cellpadding="0" cellspacing="0" 
border="0">


   ...

   

Inside my component I have the following annotation:

@EventListener(events="onSelect", elements="addressTable")

So now I am trying to get an event to Tapestry when a row is clicked 
(firing 'onSelect' inside the SortableTable-Widget) - or even better 
- when a row is double clicked, passing a parameter (getValue) to 
the listener 


I think I have tested every combination of html-code/eventlistener 
etc. (like doing id=", changing elements="addressTable" to targets="addressTable" 
etc.).


I trying to do so the whole evening - without effort :(

So is it possible to connect a plain dojo-widget to Tapestry this 
way ? Or am I totally wrong ?


Would by great to get some response  :)

Thank you in advance !

Bye,
Gary




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Is it possible to connect a dojo SortableTable to Tapestry 4.1.1 ?

2006-09-10 Thread Gerald Schöffel

Hi Jesse !

Thank you for your quick reply !

But I already use

 

in my shell component. So the widget is created and functional (clicking 
on a header sorts the table and so on).


The only 'issue' I have is binding the call to onSelect to an event with 
@EventListener. There is just no request happening when clicking and 
selecting table-rows (using firebug to do the 'debugging').


Other events are working fine ... but this one is driving me nuts ...

For today I will give up on this :(

Tomorrow I will try to bind an event to a js-funtion with 
dojo.event.connect manually to narrow this down.


In the meantime: if anyone has an idea ... please let me know. :-)

Bye
Gary


The table won't be parsed into a dojo widget by default. (Tapestry turns
this off..)

You can probably add a single line of js to parse it out though:

dojo.widget.createWidget(dojo.byId("addressTable"));

On 9/10/06, Gerald Schöffel <[EMAIL PROTECTED]> wrote:


Hi there !

I am trying to connect a dojo SortableTable via the @EventListener 
annotation to Tapestry (4.1.1, latest build from svn).


In my component html file I have something like this:

   widgetId="tableWidget" headClass="fixedHeader" 
tbodyClass="scrollContent"
   enableMultipleSelect="false" enableAlternateRows="true" 
rowAlternateClass="alternateRow" cellpadding="0" cellspacing="0" 
border="0">


   ...

   

Inside my component I have the following annotation:

@EventListener(events="onSelect", elements="addressTable")

So now I am trying to get an event to Tapestry when a row is clicked 
(firing 'onSelect' inside the SortableTable-Widget) - or even better 
- when a row is double clicked, passing a parameter (getValue) to the 
listener 


I think I have tested every combination of html-code/eventlistener 
etc. (like doing id=", changing elements="addressTable" to targets="addressTable" 
etc.).


I trying to do so the whole evening - without effort :(

So is it possible to connect a plain dojo-widget to Tapestry this way 
? Or am I totally wrong ?


Would by great to get some response  :)

Thank you in advance !

Bye,
Gary




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Is it possible to connect a dojo SortableTable to Tapestry 4.1.1 ?

2006-09-10 Thread Jesse Kuhnert

The table won't be parsed into a dojo widget by default. (Tapestry turns
this off..)

You can probably add a single line of js to parse it out though:

dojo.widget.createWidget(dojo.byId("addressTable"));

On 9/10/06, Gerald Schöffel <[EMAIL PROTECTED]> wrote:


Sorry for this one :-)

Should be: '... with much effort but no success ... ' :-)
> I trying to do so the whole evening - without effort :(
Bye,
Gary


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Jesse Kuhnert
Tapestry/Dojo/(and a dash of TestNG), team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com


Re: Is it possible to connect a dojo SortableTable to Tapestry 4.1.1 ?

2006-09-10 Thread Gerald Schöffel

Sorry for this one :-)

Should be: '... with much effort but no success ... ' :-)

I trying to do so the whole evening - without effort :(

Bye,
Gary


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]