Daniele,
If your components auto synchronize (true, by default), then all you would need
to do is add a binding.
MyList.api
- add mySelection binding (when bound, this will cause array to be pushed down
to the subcomponent as well as pushed up from the subcomponent at various times
in request-response cycle)
if MyList does NOT auto synchronize, then you will need to at the least code
push up to parent to have the parent get the value, OR use a shortcut (at least
I know this shortcut is available in the WOD file):
MyList.wod:
Foo : MyList {
mySelection = ^mySelection;
}
Then bind a var in the parent component to the subcomponent
MyPage.wo
- add binding <wo:MyList mySelection=“$myPageMySelection”/>
see:
http://en.wikibooks.org/wiki/WebObjects/Web_Applications/Development/WO_Component/Binding_Synchronization
But in general, pages/components don’t have direct access to subcomponents.
They push/pull values via bindings or share objects whose attributes can be
seen by both component classes.
--
Robert B. Hanviriyapunt
Director of Product Development and Architecture
/ EDC Technology
Direct 312.246.5509
Fax 630.243.5799
[email protected]
[email protected]
http://www.EDCTechnology.com
On Jan 28, 2015, at 8:00 AM, [email protected] wrote:
> Hi Amedeo,
> thanks for the answer, but, sorry, I'm not sure to understand it.
> AFAIK, WODynamicElement
> is a simple HTML Element, not a component, so I cannot assign a .wo file to
> it (or am I wrong?).
>
> Anyway, I'm trying to change my example by moving the submit button on the
> SubComponent and using context().page().takeValueForKey(Object value,
> String key) in the SubComponent Action to set the value in the Parent
> Component, last I call performParentAction(String action) to do the login
> in the parent.
>
> Not sure if this is the best way, but seems to work.
>
> Thank you,
> __
> Daniele
>
>
> 2015-01-28 14:02 GMT+01:00 Amedeo Mantica <[email protected]>:
>
>> The only way is to use a WODynamicElement as subcomponent instead of a
>> WOComponent
>>
>> Sent from my iPhone
>>
>>> On 28/gen/2015, at 12:46, Daniele Corti <[email protected]> wrote:
>>>
>>> Hi list,
>>> I don't know if what I want to do is the best approach:
>>>
>>> I would like to create a Main Component Page that call a reusable
>> SubComponent
>>>
>>> Example:
>>>
>>> MyPage.wo:
>>> <h1>My Page</h1>
>>>
>>> <wo:form multipleSubmit="$true">
>>> <wo:submitButton action="$myAction">Do It!</wo:subimtButton>
>>> <wo:MyList></wo:MyList>
>>> </wo:form>
>>>
>>> in the Subcomponent there is a List of Checkbox
>>>
>>> MyList.wo:
>>> <ul>
>>> <wo:loop list="$myList" item="$myItem">
>>> <li><wo:checkBox selection="$mySelection"
>> value="$true"></wo:checkBox></li>
>>> </wo:loop>
>>> </ul>
>>>
>>> I would like to obtain the checked objects of the subcomponent, but I
>> don't know how can I get the subcomponent from the Parent MyPage.
>>>
>>> I know I can put the button in the subcomponent and call
>> performParentAction, but I would like to put all the logic inside the
>> MyPage component, and simply display values in the MyList component.
>>>
>>> Is this possible (first of all)? And, if so, how can I reach
>> subcomponents from parent?
>>>
>>> Thank you in advance!
>>>
>>> --
>>> Daniele Corti
>>> --
>>> I DON'T DoubleClick
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>>
>> https://lists.apple.com/mailman/options/webobjects-dev/amedeomantica%40me.com
>>>
>>> This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]