Re: Struggling with D2W Custom Components, how to get a Custom Component Page?
Re: Struggling with D2W Custom Components, how to get a Custom Component Page?
- Subject: Re: Struggling with D2W Custom Components, how to get a Custom Component Page?
- From: Johan Henselmans <email@hidden>
- Date: Thu, 16 Dec 2010 22:43:04 +0100
On 16 dec 2010, at 22:20, David LeBer wrote:
> Johan,
>
> You are seeing the component repeated 20 times because those instructions are for creating a 'property level component'.
>
> Hense the propertyKey being important. Without it, the component is used for every property on your entity.
>
> It looks like you want to create a page level component. In that case look at some of the existing page level components in wonder.
>
Like ERModInspectPage, for instance, if I want a sort of inspect page?
I was looking at the pages in BugTracker or ERMovieDemo, but that does not seem to give me an idea how to create such a page.
I looked at an old component that I got out of the 'freezing' of components that used to be available in 5.2/10.4 days, which starts with
public class EditDigestedPasswordUser extends WOComponent implements EditPageInterface {
but I am not sure if that still should be used in such a way.
(I really miss the freezing of a template component that one could do in 5.2/OS X 10.4 D2W: take a component, freeze it, use it as a template to make some a custom component for that specific entity, and not having to fiddle with all the knobs)
(On a related note, did anybody notice that Spotlight results are spottier and spottier? I searched for extend in the Wonder source tree, nearly nothing came up, while I know there is a ton of stuff over there that extends…)
> On 2010-12-16, at 3:04 PM, Johan Henselmans wrote:
>
>>
>> Here's the idea:
>>
>> I have a custom component page from somewhere else with javascript that does a whole bunch of calculations based on values of an EO.
>>
>> No problem, I thought, according to the D2W Rules References I follow rule 7:
>>
>> (http://wiki.objectstyle.org/confluence/display/WO/D2W+Rules+Reference+-+Cookbook+-+FAQ)
>>
>> 7. How do I easily use my own custom component in a Direct to Web page?
>>
>> Step 1:
>>
>> Add the following rules to your rule file:
>>
>> 100: pageConfiguration = "ListTheEntity" and propertyKey = "theProperty" => componentName = "D2WCustomComponent"
>> 100: pageConfiguration = "ListTheEntity" and propertyKey = "theProperty" => customComponentName = "MyThePropertyComponent"
>>
>>
>> Step 2:
>>
>> Create a component in your project named 'MyThePropertyComponent' and give it an 'object' and 'key' binding. The object will receive the current object, and the key will receive the current propertyKey (as a string) from DirectToWeb. Do with them what you will.
>>
>> public
>> EOEnterpriseObject object() {
>>
>> return (EOEnterpriseObject) valueForBinding("object"
>> );
>> }
>>
>>
>> public String
>> key() {
>>
>> return (String) valueForBinding("key"
>> );
>> }
>>
>>
>> So I add these methods, but removed this propertyKey thingy because I want my the entity to be used as the object.
>>
>> Im my situatiion:
>>
>> 100: pageConfiguration = "InspectTheEntity" => componentName = "D2WCustomComponent"
>> 100: pageConfiguration = "InspectTheEntity" => customComponentName = "MyNiceJavascriptAndAllPage"
>>
>> first I had to add some extra methods to this page, because WebObjects complained it could not set object and key values, so I added:
>>
>> public void setObject(EOEnterpriseObject anObject) {
>> currentObject = anObject;
>> }
>>
>> public void setKey(String aKey) {
>> currentkey = aKey;
>> }
>>
>> But then it displayed the page.
>>
>> 20 times.
>>
>> I get a display of my custom page for all the components in the page. So component 1 displays a complete empty page, component 2 etc. None of my EOEnterprise values are displayed from the EOObject that I selected.
>>
>> I must be missing something. I understood that the object would pass through the current select enterprise object, and I could use that to fill in the values in my custom page. Apparently, that is not the case. I tried to find some customcomponent in the d2wmodels of BugTracker or ERMoviesDemo, but did not find anything over there.
>>
>> Can someone enlighten me?
>>
>> Johan Henselmans
>> 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
>
> ;david
>
> --
> David LeBer
> Codeferous Software
> 'co-def-er-ous' adj. Literally 'code-bearing'
> site: http://codeferous.com
> blog: http://davidleber.net
> profile: http://www.linkedin.com/in/davidleber
> twitter: http://twitter.com/rebeld
> --
> Toronto Area Cocoa / WebObjects developers group:
> http://tacow.org
>
>
>
>
Johan Henselmans
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