Hi list, hi David,
>> I'm open to suggestions, but I don't think ERMDDefaultCSSAssignment
>> currently supports CSS appending.
I've played a bit more with this and created my own subclass to override
classForAttributeColumn:
public String classForAttributeColumn(D2WContext c) {
String base = (String) c.valueForKey("baseClassForAttributeColumn");
String auxiliaryCssClass = (String) c.valueForKey("auxiliaryCssClass");
base = base + " " + cssClassForPropertyKey(c.propertyKey()) + base;
if (auxiliaryCssClass != null) {
base = base + " " + auxiliaryCssClass;
}
return base;
}
Using two rules, I get what I want:
100 : (pageConfiguration = 'ListSalesOrder' and propertyKey = 'customer.id') =>
classForAttributeColumn = <ERMDDefaultCSSAssignment>
[com.elumo.d2w.assignments.ELCSSAssignment],
100 : (pageConfiguration = 'ListSalesOrder' and propertyKey = 'customer.id') =>
auxiliaryCssClass = object.customer.paymentBehaviour
[er.directtoweb.ERDDelayedKeyValueAssignment],
But, surprisingly for me, I have to declare "object" as a dependant key for it
to work:
@SuppressWarnings("unchecked")
protected static final NSDictionary keys =
ERXDictionaryUtilities.dictionaryWithObjectsAndKeys( new Object [] {
new NSArray(new Object[] {"object"}), "classForAttributeColumn"
});
I thought that since I'm using ERDDelayedKeyValueAssignment in the second rule,
this should not be necessary? Then again, I guess by default my assignment
would be caching according to the dependant keys in the superclass?
Anyway, as this is my first foray into writing assignments - is this an OK
approach or could this be handled differently?
Fabian
P.S.: I got really confused when rules I had disabled in RuleModeler were being
evaluated and in the course changed the caching behaviour. Is this normal?
> Ok, thanks! I wasn't sure whether I overlooked something.
>
>> Could you do something like:
>>
>> 100 : (pageConfiguration = 'EditProduct' and object.isEditingClone = 1) =>
>> classForHeader = "Header EditHeader EditProductHeader EditProductHeaderClone"
>
> Sure, but this gets used on a number of entities and I have other conditions
> which make use of some CSS to mark certain conditions. I'll see whether I can
> keep it simple, otherwise I'll play with an addition to
> ERMDDefaultCSSAssignment.
>
> Thanks, Fabian
>
>> On 2012-01-23, at 10:54 AM, Fabian Peters wrote:
>>
>>> Hi,
>>>
>>> I'm setting a CSS class via a rule like:
>>>
>>> 100 : (task = 'edit' and object.isEditingClone = 1) => classForHeader =
>>> editingClone [com.webobjects.directtoweb.Assignment]
>>>
>>> The above works fine, but it of course removes all existing classes on the
>>> header div:
>>>
>>> <div class="Header EditHeader EditProductHeader"> => <div
>>> class="editingClone">
>>>
>>> Is there a "pretty good practice" to handle this in a generic fashion
>>> (read: on headers, rows etc.) so that the new class only gets appended?
>>>
>>> I looked at ERMDDefaultCSSAssignment and came up with baseClassForXY, but
>>> this also does not do exactly what I'm looking for. Which made me think
>>> about using a subtask like "cloned", so that it would get included via
>>> ERMDDefaultCSSAssignment. But the required configuration seems too much of
>>> a hassle right now (probably because I have no experience with using custom
>>> subtasks).
>>>
>>> Any input much appreciated,
>>>
>>> Fabian
>>> _______________________________________________
>>> 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/dleber_wodev%40codeferous.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:
> https://lists.apple.com/mailman/options/webobjects-dev/lists.fabian%40e-lumo.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:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]