Good afternoon Florian

Many thanks for the quick response and cl;arification  - it's good to know
rather than trying things in the hope that it might work .  I'll check out
the references.

As the comparative cash flow report is part of the core accounting
application (rather than a plug in) I didn't want to make too many changes

I guess the two options are

   1. a plugin with freemarker templates,
   2. just replace the 4 grids in the core accounting application with
   freemarker and migrate the change during upgrades.


thanks and kind regards

Ernest




On Thu, Jan 18, 2024 at 4:17 PM Florian Motteau <[email protected]>
wrote:

> Hello Ernest,
>
> Happy new year to you !
>
> Currently "title-area-style" attribute on field element cannot be set
> dynamically in XML through a groovy snippet or a simple expression. You
> can compare its implementation with the "disabled" attribute in
> ModelFormFieldBuilder, which involves a FlexibleStringExpander :
>
>
> https://github.com/apache/ofbiz-framework/blob/d17d06fd7c654621446320a98b45b3ebb859c648/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java#L108
>
> vs
>
>
> https://github.com/apache/ofbiz-framework/blob/d17d06fd7c654621446320a98b45b3ebb859c648/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormFieldBuilder.java#L119
>
> IMHO it would be a great improvement to switch widget-style,
> widget-area-style, tooltip-style, title-style and title-area-style (from
> a front-end developer perspective at least :), this kind of conditionnal
> HTML rendering should be a given), but we may have to consider a
> potential performance impact.
>
> "red-when" has a specific behavior : it checks a condition on the
> thruDate field value (the field would be red if now < entity.thruDate,
> or the other way around).
>
> You can check https://github.com/apache/ofbiz-framework/pull/548 for an
> implementation example.
>
> Le 18/01/2024 à 09:47, Ernest Hocking a écrit :
> > Happy New Year everyone
> >
> > a question:  "is it possible to conditionally colour a field in a form"
> >
> > Based on the grid ComparativeCashFlowBalanceTotals in
> > ReportFinancialSummaryForms.xml
> >
> > I tried the following groovy
> >
> > <field name="balance1" title="Period1" title-area-style="${groovy: if
> > (balance < 0 ) red ?: green }" widget-area-style="green"
> > widget-style="tabletextright"><display type="currency"
> > currency="${currencyUomId}"/></field>
> >
> > but get the error:
> >
> > The value of attribute "title-area-style" associated with an element type
> > "field" must not contain the '<' character.org.xml.sax.SAXParseException;
> >
> > I tried using alternatives such as
> >
> > if (Maths.signum(balance1).equals(-1) )
> >
> > etc but had no success to date.  Is there a number equivalent of
> "red-when"
> > that is available for date fields.
> >
> > Any suggestions on how this could be implemented would be appreciated
> >
> > I suspect I've overlooked something very obvious
> >
> > thanks and kind regards
> >
> > Ernest
> >
>

Reply via email to