Re: Customising D2W - adding filtering to list pages
Re: Customising D2W - adding filtering to list pages
- Subject: Re: Customising D2W - adding filtering to list pages
- From: Ramsey Lee Gurley <email@hidden>
- Date: Mon, 02 Nov 2009 18:56:03 -0500
Three things,
I can think of three things you might find helpful...
1) as Mark has already pointed out, you can use the
useBatchingDisplayGroup key. That will cause the list page to use a
ERXBatchingDisplayGroup instead of a regular WODisplayGroup. The
difference there is that the ERXBatchingDisplayGroup fetches raw rows
and only converts them to EOs when needed.
2) Travis Cripps has recently added a ERDQueryValidationDelegate to
the ERD2W query page. It is bound to the queryValidationDelegate d2w
key. You can use this to validate input on a query and throw
'validation' errors related to the query. It looks pretty handy (^_^)
3) check here:
http://wiki.objectstyle.org/confluence/display/WO/D2W+Flow+Control
Specifically the part regarding the
ERDQueryDataSourceDelegateInterface. You can step in and hijack the
process there. You'll have complete control over the fetchspec, the
qualifier, the datasource... the whole shebang.
Ramsey
On Nov 2, 2009, at 10:23 AM, Daniel Beatty wrote:
Greetings Ramsey,
Got a follow up question for you. Is there a way to have D2W use a
throttle back mechanism for queries that would otherwise overwhelm
the server? For example, I am building a D2W app for a database
schema that was badly designed, and some queries, especially wild
card, will overrun the memory quickly. Thus in those cases,
something like the old Display Groups mechanism for limiting results
to the first 100 or so would be nice.
Is there such a thing, and how do I use it?
Thank you,
Dan
On Nov 1, 2009, at 3:45 PM, Ramsey Lee Gurley wrote:
On Nov 1, 2009, at 6:37 PM, Ramsey Lee Gurley wrote:
Hi Mark,
If you're starting with ERNeu then you could always display the
result list embedded in your query page with the
showListInSamePage d2w key. That way, your search results simply
load embedded in your query page and if you'd like to add/update
query parameters, they're right there.
However, if you want something simpler like a query any field in
your batch navigation bar, look at the ERNeu list page. There is
a ERDFilterDisplayGroupButton wrapped by the nav bar. That could
easily be updated in your subclassed list template to use a switch
component and a custom search component like a query any field
instead.
Or if you prefer to stick to ERNeu, you could update ERNeuListPage
component locally to use a switch component that defaults to a
ERDFilterDisplayGroupButton. Give it a sensible d2wKey binding
name if one doesn't exist in ERD2W already ...
filterDisplayGroupComponentName or something. Then file a jira
and have it updated in Wonder at some point in the future :-) I
think the current filter component is impossible to enable anyway,
so someone needs to add a allowsFiltering =
d2wContext.allowsFiltering; binding, at the very least.
I went ahead and jira'ed the allowsFiltering binding so it wouldn't
be forgotten.
http://issues.objectstyle.org/jira/browse/WONDER-384
Ramsey
On Nov 1, 2009, at 6:05 PM, Mark Wardle wrote:
Apologies for all the posts on D2W. After watching David's
presentation on D2W and buying the book suggested on his blog, I
have
rediscovered D2W and am very happily deleting lots of components
and
replacing them with (more powerful) D2W components. I've created a
custom look subclassed from ERNeutralLook and am busy recreating
lots
of custom components in D2W. So thank you all for making it
available.
I'm using Project Wonder obviously.
My old components used a display group and I usually added a filter
search box that allowed users to filter down the displayed list -
essentially creating a custom qualifier and applying it to the
display
group.
I'd prefer not to make this a three step process from the list page
(1. Click on a query button, 2. Set query parameters, 3. get
results),
but instead have a search box adjacent to my D2W list that I can
use
to build queries on.
I wondered whether I should customise my D2W list page and embed a
ERDAnyField - but this results in "Attempt to insert null key
into an
com.webobjects.foundation.NSMutableDictionary." as clearly the
queryAttributes binding is not being set and
stringAttributeListForEntityNamed is returning a null value.
Then I thought: this isn't the D2W "way". Do I instead add a fake
aboveDisplayPropertyKey and get that key displayed using a
D2WQueryAnyField and then somehow bind it to the right displaygroup
and a submit button?
Any pointers would be much appreciated. I'm sure I'm making this
more
complicated than I need to....
Many thanks,
Mark
--
Dr. Mark Wardle
Specialist registrar, Neurology
Cardiff, UK
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
Dan Beatty, M.S. CS (B.S. EECS)
Ph.D. Student
Texas Tech University
email@hidden
http://venus.cs.ttu.edu/~dabeatty
http://web.me.com/danielbeatty/My_Home_Page/Welcome.html
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden