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: Jesse Tayler <email@hidden>
- Date: Thu, 16 Dec 2010 15:51:20 -0500
When stuck, I know of no less gruesome way than to really fish through the actual er components within the frameworks and actually see what keys are used in what actual cases and ways -
the modern designs are really quite controllable and extensible without adding more than you really need.
In your case, I'm thinking you might want a repetitionComponentName perhaps?
A repetitionComponentName _seems_ to substitute a thing for an entire entity - even if you are using an inspect page I think repetitionComponentName is still called upon to provide the inner part.
Someone knows better perhaps, but that might be what you're after.
On Dec 16, 2010, at 3:39 PM, Johan Henselmans wrote:
>
> On 16 dec 2010, at 21:22, Jesse Tayler wrote:
>
>> if you want to substitute a property level component use componentName, but bound the rule around the specific entity and property scope you're looking to target.
>>
>> it looks like maybe your rule for substituting your component actually scopes anything in that entity rather than the propertyKey = "theProperty" in the example -?
>>
>> this rule that says (and propertyKey = "theProperty") -- this level of scope might be needed in your rule eh?
>
> Yes, that is what I understood too, but I can not imagine that nobody has ever tried to do a complete page component with an entity instead of just one property, so I am looking for the magic incantation...
>
>
>>
>>
>> On Dec 16, 2010, 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
>>>
>>
>
> 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