Hi,
I've hit another snag on a new dynamic element. I'm trying to build a split
view.
I would like the components to look like this:
<wo:SplitView mode = "horizontal">
<wo:SplitViewSection>
// whatever
</wo:SplitViewSection>
<wo:SplitViewSection center = "true">
// whatever
</wo:SplitViewSection>
</wo:SplitView>
I'm at the point where I've got it properly creating the javascript and html.
But I believe the context element ids are out-of-whack because in my example
component I have a form in the first column and when it gets submitted it does
not call the assigned action.
My appendChildrenToResponse method looks something like this:
appendChildrenToResponse(WOResponse response, WOContext) {
// add the web resources to response
// write some html
if(hasChildren) {
context.appendZeroElementIDComponent();
loop through children
//write some html
child.appendToResponse
context.incrementLastElementIDComponent();
//write some html
end loop
context.deleteLastElementIDComponent();
}
// write some html
}
Any guess on what I'm doing wrong?
Aloha,
Mr. Johnny Miller
Web Development Manager
Kahalawai Media Company
Lahaina, HI 96761
tel: (808) 661-7962 | mobile: (808) 283-0791
website | e-mail
On Jan 31, 2013, at 10:05 PM, Johnny Miller <[email protected]> wrote:
> Thanks a lot. I feel like I understand it now. It's very cool, I never
> understood exactly how the URLs worked.
>
> On Jan 31, 2013, at 9:19 PM, Johann Werner <[email protected]> wrote:
>
>> Hi Johnny,
>>
>> Am 01.02.2013 um 06:12 schrieb Johnny Miller <[email protected]>:
>>
>>> Cool. By using appendChildrenToResponse it now works!
>>>
>>> There is an extra artifact (I need to wrap the WOHyperlinks with an LI)
>>> that I'll need to figure out how to get rid of. I'm going to take a peek
>>> at WODynamicGroup and see if I can figure out the incrementing of the
>>> element id.
>>
>> the methods you are looking for can be found in WOContext:
>>
>> appendZeroElementIDComponent() if you are going one level down before
>> calling appendToResponse on the child(ren)
>> incrementLastElementIDComponent() when going from one element to the next
>> one on the same nesting level
>> deleteLastElementIDComponent() if you are done with the
>> children and are returning to your element
>>
>> If you are doing the plumbing in your component yourself you have to use
>> those. Or as Chuck pointed out just use the appendChildrenToResponse and you
>> get it for free ;)
>>
>> jw
>>
>>
>>>
>>> Thanks a million!
>>>
>>>
>>> On Jan 31, 2013, at 6:50 PM, Chuck Hill <[email protected]> wrote:
>>>
>>>>
>>>> On 2013-01-31, at 8:35 PM, Johnny Miller wrote:
>>>>
>>>>> So the process is like this:
>>>>>
>>>>> In the Menu constructor // find all the children who are menu items
>>>>>
>>>>> In the Menu appendToResponse
>>>>>
>>>>> // write some html
>>>>> // loop through children
>>>>> // child.appendToResponse
>>>>
>>>> Rather than that, call appendChildrenToResponse. For invoke, use
>>>> invokeChildrenAction
>>>>
>>>> That will at least get you closer.
>>>>
>>>>> // close off the html
>>>>>
>>>>> Then in the Menu Item constructor // find all the children who are
>>>>> WOHyperlinks
>>>>>
>>>>> In the appendToResponse
>>>>> // write some html
>>>>> // loop through the children
>>>>> // child.appendToResponse
>>>>> // close off the html
>>>>>
>>>>> So when I add the logging for the context.elementID() in both Menu and
>>>>> Menu Item I see that they have the same element ID. Do I need to
>>>>> manually increment them?
>>>>
>>>> Your code is causing code in super to NOT get called and that code is what
>>>> manages the element IDs. So either you need to call it (see above) or you
>>>> need to manage these on your own.
>>>>
>>>> Chuck
>>>>
>>>>
>>>>
>>>>>
>>>>> Thanks a lot!
>>>>>
>>>>> p.s. here is a screenshot of the final output. It's a little menu (that
>>>>> I have all over the place) that has a little popup. The motivation is to
>>>>> stop writing a bunch of HTML every time I use it.
>>>>>
>>>>> <Screen Shot 2013-01-31 at 11.20.12 AM.png>
>>>>>
>>>>>
>>>>> On Jan 31, 2013, at 5:34 PM, Chuck Hill <[email protected]> wrote:
>>>>>
>>>>>>
>>>>>> On 2013-01-31, at 6:26 PM, Johnny Miller wrote:
>>>>>>
>>>>>>> I'm kind of stumbling in the dark.
>>>>>>>
>>>>>>> I put a logging statement on invokeAction for the menu, menu item and
>>>>>>> erxhyperlink. And in ERXHyperlink I added a logging statement for the
>>>>>>> sender and element ids
>>>>>>
>>>>>> Try doing the same for appendToResponse
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> So I get something like this:
>>>>>>>
>>>>>>> MENU IA...
>>>>>>> MENU ITEM IA...
>>>>>>> ERXH IA
>>>>>>> 0.9.1.13.1.5.1.5 (sender)
>>>>>>> 0.9.1.13.1.5.1.5.1.1 (element)
>>>>>>>
>>>>>>> So that ends up returning null because the call to super is null and
>>>>>>> then it doesn't satisfy the check to see if it should invoke action on
>>>>>>> the child elements (which makes sense because it should invoke action
>>>>>>> on this element).
>>>>>>>
>>>>>>> Not sure what to do at this point except scratch the idea?
>>>>>>
>>>>>> What that looks like to me is that the generation of the elementID
>>>>>> during append to response is different from invokeAction. What outputs
>>>>>> 0.9.1.13.1.5.1.5 during appendToResponse?
>>>>>>
>>>>>> Are you outputting the HTML for the hyperlink in your own code? If so,
>>>>>> you are not properly incrementing and decrementing the elementID.
>>>>>>
>>>>>> Chuck
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Jan 31, 2013, at 3:27 PM, Chuck Hill <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Generally, when senderID().equals(elementID()) the action is for that
>>>>>>>> component
>>>>>>>>
>>>>>>>>
>>>>>>>> On 2013-01-31, at 4:21 PM, Johnny Miller wrote:
>>>>>>>>
>>>>>>>>> Yes. I guess my question is I'm wondering if there is a way to use
>>>>>>>>> the senderID to find the right child element?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Jan 31, 2013, at 2:18 PM, Chuck Hill <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 2013-01-31, at 4:08 PM, Johnny Miller wrote:
>>>>>>>>>>
>>>>>>>>>>> Oops... looks like I didn't cc the list on that last one.
>>>>>>>>>>>
>>>>>>>>>>> So if I override invokeAction in MenuItem
>>>>>>>>>>>
>>>>>>>>>>> And I print out the context.elementID() and context.senderID() they
>>>>>>>>>>> match with something like: 0.9.1.13.1.5.1.5
>>>>>>>>>>> But the url has an extra value: 9.0.9.1.13.1.5.1.5
>>>>>>>>>>>
>>>>>>>>>>> I'm a little lost as to how to interpret that?
>>>>>>>>>>
>>>>>>>>>> That depends on what you are looking at.
>>>>>>>>>>
>>>>>>>>>> "/cgi-bin/WebObjects/KMIWebCMSApp_1.woa/-5570/wo/43.0.9.1.13.1.5.1.5"
>>>>>>>>>>
>>>>>>>>>> The number right after /wo/ is the context ID (43 in the URL above)
>>>>>>>>>> and will increase with each request. The following numbers are the
>>>>>>>>>> element ID (.0.9.1.13.1.5.1.5). Is that the extra value you are
>>>>>>>>>> talking about?
>>>>>>>>>>
>>>>>>>>>> Chuck
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Jan 31, 2013, at 1:33 PM, Johnny Miller <[email protected]>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> For the uninitiated how would I "step through" the context id
>>>>>>>>>>>> during the invoke action phase? I believe I've seen that
>>>>>>>>>>>> somewhere... Do you happen to know of a component I could use an
>>>>>>>>>>>> example?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Jan 31, 2013, at 1:17 PM, Chuck Hill <[email protected]>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 2013-01-31, at 2:36 PM, Johnny Miller wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Jan 31, 2013, at 12:22 PM, Chuck Hill
>>>>>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 2013-01-31, at 2:02 PM, Johnny Miller wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Dear Guru,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I feel like I should come to WOWODC with a flowing beard and
>>>>>>>>>>>>>>> long robes.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now that would be awesome.
>>>>>>>>>>>>>
>>>>>>>>>>>>> It is probably not considered unusual in Montreal.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I'm not overriding invokeAction on either Menu or MenuItem is
>>>>>>>>>>>>>>>> that the mistake?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I am just guessing from the symptoms. "Menu finds all it's
>>>>>>>>>>>>>>> MenuItems and then the MenuItem finds all it's hyperlinks" is
>>>>>>>>>>>>>>> not the way that WO is intended to work (though I have abused
>>>>>>>>>>>>>>> it like that myself), so I am unsure what it happening in your
>>>>>>>>>>>>>>> code. Is childrenElements() getting populated correctly?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Yeah, I'm actually basing this off of AjaxTabbedPanel (which is
>>>>>>>>>>>>>> your component I believe?)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Yes, that was my wilful abuse of WO.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> The HTML output is exactly the way I want so it must be
>>>>>>>>>>>>>> correctly finding the child elements.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Just like AjaxTabbedPanel I put the find children function in
>>>>>>>>>>>>>> the constructor.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> IDK if it helps but the output looks like this:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> <ul class="footer-navigation"><li><a href="#"
>>>>>>>>>>>>>> data-trigger="contextMenu"data-contextmenu-options =
>>>>>>>>>>>>>> "{'display':'above'}">+</a><ul class="dropdown-menu"><li><a
>>>>>>>>>>>>>> href="/cgi-bin/WebObjects/KMIWebCMSApp_1.woa/-5570/wo/43.0.9.1.13.1.5.1.5">Create
>>>>>>>>>>>>>> New Group</a></li></ul></li></ul>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Menu is the outer UL
>>>>>>>>>>>>>> MenuItem is everything inside the first LI
>>>>>>>>>>>>>> And the links are put inside the list items inside the inner UL
>>>>>>>>>>>>>
>>>>>>>>>>>>> I will guess that the .0.9.1.13.1.5.1.5 generated in
>>>>>>>>>>>>> appendToResponse is not matching the elementID when invokeAction
>>>>>>>>>>>>> is processed. You are going to have to step through it.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Chuck
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Jan 31, 2013, at 12:01 PM, Chuck Hill
>>>>>>>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Is Menu calling invokeAction on all of the MenuItem? Are
>>>>>>>>>>>>>>>>> they calling it on all of the hyperlinks.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Chuck
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On 2013-01-31, at 1:15 PM, Johnny Miller wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I have some code that looks like this:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> <webobject name = "Menu">
>>>>>>>>>>>>>>>>>> <webobject name = "MenuItem">
>>>>>>>>>>>>>>>>>> <wo:Hyperlink action = "$someAction">Do Stuff</wo:hyperlink>
>>>>>>>>>>>>>>>>>> </webobject>
>>>>>>>>>>>>>>>>>> </webobject>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Menu and MenuItem are two components that subclass
>>>>>>>>>>>>>>>>>> ERXDynamicElement
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Basically Menu finds all it's MenuItems and then the
>>>>>>>>>>>>>>>>>> MenuItem finds all it's hyperlinks and they are formatted
>>>>>>>>>>>>>>>>>> the way I want during the respective appendToResponse phases.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> The HTML looks right but for some reason $someAction doesn't
>>>>>>>>>>>>>>>>>> get called when the link is clicked?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Can anyone shed the light on what I'm missing?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks in advance,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Aloha,
>>>>>>>>>>>>>>>>>> Mr. Johnny Miller
>>>>>>>>>>>>>>>>>> Web Development Manager
>>>>>>>>>>>>>>>>>> Kahalawai Media Company
>>>>>>>>>>>>>>>>>> Lahaina, HI 96761
>>>>>>>>>>>>>>>>>> tel: (808) 661-7962 | mobile: (808) 283-0791
>>>>>>>>>>>>>>>>>> website | e-mail
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>>>>> 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/chill%40global-village.net
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> This email sent to [email protected]
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Practical WebObjects - for developers who want to increase
>>>>>>>>>>>>>>>>> their overall knowledge of WebObjects or who are trying to
>>>>>>>>>>>>>>>>> solve specific problems.
>>>>>>>>>>>>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Global Village Consulting ranks 13th in 2012 in BIV's Top 100
>>>>>>>>>>>>>>>>> Fastest Growing Companies in B.C!
>>>>>>>>>>>>>>>>> Global Village Consulting ranks 76th in 24th annual PROFIT
>>>>>>>>>>>>>>>>> 200 ranking of Canada’s Fastest-Growing Companies by PROFIT
>>>>>>>>>>>>>>>>> Magazine!
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Practical WebObjects - for developers who want to increase
>>>>>>>>>>>>>>> their overall knowledge of WebObjects or who are trying to
>>>>>>>>>>>>>>> solve specific problems.
>>>>>>>>>>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Global Village Consulting ranks 13th in 2012 in BIV's Top 100
>>>>>>>>>>>>>>> Fastest Growing Companies in B.C!
>>>>>>>>>>>>>>> Global Village Consulting ranks 76th in 24th annual PROFIT 200
>>>>>>>>>>>>>>> ranking of Canada’s Fastest-Growing Companies by PROFIT
>>>>>>>>>>>>>>> Magazine!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>>>>>>>>
>>>>>>>>>>>>> Practical WebObjects - for developers who want to increase their
>>>>>>>>>>>>> overall knowledge of WebObjects or who are trying to solve
>>>>>>>>>>>>> specific problems.
>>>>>>>>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>>>>>>>>
>>>>>>>>>>>>> Global Village Consulting ranks 13th in 2012 in BIV's Top 100
>>>>>>>>>>>>> Fastest Growing Companies in B.C!
>>>>>>>>>>>>> Global Village Consulting ranks 76th in 24th annual PROFIT 200
>>>>>>>>>>>>> ranking of Canada’s Fastest-Growing Companies by PROFIT Magazine!
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>>>>>
>>>>>>>>>> Practical WebObjects - for developers who want to increase their
>>>>>>>>>> overall knowledge of WebObjects or who are trying to solve specific
>>>>>>>>>> problems.
>>>>>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>>>>>
>>>>>>>>>> Global Village Consulting ranks 13th in 2012 in BIV's Top 100
>>>>>>>>>> Fastest Growing Companies in B.C!
>>>>>>>>>> Global Village Consulting ranks 76th in 24th annual PROFIT 200
>>>>>>>>>> ranking of Canada’s Fastest-Growing Companies by PROFIT Magazine!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>>>
>>>>>>>> Practical WebObjects - for developers who want to increase their
>>>>>>>> overall knowledge of WebObjects or who are trying to solve specific
>>>>>>>> problems.
>>>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>>>
>>>>>>>> Global Village Consulting ranks 13th in 2012 in BIV's Top 100 Fastest
>>>>>>>> Growing Companies in B.C!
>>>>>>>> Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking
>>>>>>>> of Canada’s Fastest-Growing Companies by PROFIT Magazine!
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>
>>>>>> Practical WebObjects - for developers who want to increase their overall
>>>>>> knowledge of WebObjects or who are trying to solve specific problems.
>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>
>>>>>> Global Village Consulting ranks 13th in 2012 in BIV's Top 100 Fastest
>>>>>> Growing Companies in B.C!
>>>>>> Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking
>>>>>> of Canada’s Fastest-Growing Companies by PROFIT Magazine!
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Chuck Hill Senior Consultant / VP Development
>>>>
>>>> Practical WebObjects - for developers who want to increase their overall
>>>> knowledge of WebObjects or who are trying to solve specific problems.
>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>
>>>> Global Village Consulting ranks 13th in 2012 in BIV's Top 100 Fastest
>>>> Growing Companies in B.C!
>>>> Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking of
>>>> Canada’s Fastest-Growing Companies by PROFIT Magazine!
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> 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/jw%40oyosys.de
>>>
>>> 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]