Hey Ramsey,
I'm using the branch delegate in other places where the user is given a choice
of what the next page should be, but I thought that since I'm figuring it out
on-the-fly during the request that nextPageDelegate was the way to go. I've
revised my NPD and here's what it looks like now:
public WOComponent nextPage(WOComponent sender) {
WOComponent nextPage;
if (((ERD2WQueryPage) sender).queryDataSource()
.fetchObjects()
.count() == 1) {
InspectPageInterface ipi =
D2W.factory().inspectPageForEntityNamed(Student.ENTITY_NAME, sender.session());
((ERD2WInspectPage) ipi).setObject((Student) ((ERD2WQueryPage)
sender).queryDataSource().fetchObjects().lastObject());
nextPage = (WOComponent) ipi;
} else {
nextPage = ((ERD2WQueryPage) sender).nextPage();
}
return nextPage;
}
Dave
On Oct 11, 2010, at 9:55 AM, Ramsey Gurley wrote:
> Looks good to me Dave. I think any "better" way than something that works
> will be a matter of opinion (^_^) Personally I like branch delegates, but in
> this case, the next page delegate is only called by the queryAction. So you
> know the call to next page comes from the find button.
>
> Ramsey
>
> On Oct 11, 2010, at 6:57 AM, David Avendasora wrote:
>
>> Okay, after a nights sleep, I got it working, but how I did it seems hackish
>> (shocking, I know). Is the nextPage() method below from my delegate the best
>> way to do this?
>>
>> public WOComponent nextPage(WOComponent sender) {
>> WOComponent nextPage;
>> if (((ERD2WQueryPage) sender).queryDataSource()
>> .fetchObjects()
>> .count() == 1) {
>> InspectPageInterface ipi = D2W.factory()
>>
>> .inspectPageForEntityNamed(Student.ENTITY_NAME,
>>
>> sender.session());
>> ((ERD2WInspectPage) ipi).setObject((EOEnterpriseObject)
>> ((ERD2WQueryPage) sender).queryDataSource()
>>
>> .fetchObjects()
>>
>> .lastObject());
>> nextPage = (WOComponent) ipi;
>> } else {
>> ListPageInterface lpi = D2W.factory()
>>
>> .listPageForEntityNamed(Student.ENTITY_NAME,
>>
>> sender.session());
>> ((ERD2WListPage) lpi).setDataSource(((ERD2WQueryPage)
>> sender).queryDataSource());
>> nextPage = (WOComponent) lpi;
>>
>> }
>> return nextPage;
>> }
>>
>> On Oct 10, 2010, at 8:39 PM, David Avendasora wrote:
>>
>>> Hi All,
>>>
>>> When a user performs a query, if the results contain exactly one object I
>>> want to return an Inspect page for that object instead of a List page.
>>>
>>> I assume I'm going to want to implement a NextPageDelegate, but I'm not
>>> sure how to do that. I've looked around but I can't seem to find a good
>>> example. Does anyone have an example NextPageDelegate that I can use as a
>>> starting point?
>>>
>>> I promise to create a Wiki page documenting how to do this for future mes.
>>>
>>> Thanks!
>>>
>>> Dave _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.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:
>> http://lists.apple.com/mailman/options/webobjects-dev/ramsey%40xeotech.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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]