Project

General

Profile

Defect #1605

Issue with $htmlize.get - continue of defect 1604

Added by John Makkink about 2 months ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
velocity
Target version:
Start date:
10/01/2025
Due date:
% Done:

0%

Estimated time:
Browser (if web client):

Description

Hi Patrick,

Thank you for looking into defect [[https://www.servoyforge.net/issues/1604]].
I still have issue after updating and testing version 4.0.1.

sample template

<html>
<body>
    <table class="flat fixedLayout" style="width: 99%">
        #if($alternator == 'even') $alternator.shift() #end 

        #foreach($record in $fsPatient)
        <tr class="$alternator">
            <td class="icon"><div class='id' title='id'>$record.patient_id</div></td>
            <td class="icon">$record.name_last</td>
            <td class="icon">$record.name_first</td>
            <td class="icon">$record.city</td>
            <td class="icon">$!date.format($longDateFormat, $record.dob)</td>
            <td class="icon">$!htmlize.get($funcGender.call($record.gender))</td>
            <td class="icon">#h($funcGender.call($record.gender))</td>
            <td class="icon">$funcGender.call($record.gender)</td>
        </tr>
        #end
    </table>
</body>
</html>

result with version 3.8.1

<html>
<body>
    <table class="flat fixedLayout" style="width: 99%">

                <tr class="even">
            <td class="icon"><div class='id' title='id'>1</div></td>
            <td class="icon">Doe</td>
            <td class="icon">John</td>
            <td class="icon">Houten</td>
            <td class="icon">2000-jan-01</td>
            <td class="icon"><div class="blue" title="male"> </div></td>
            <td class="icon"> <div class="blue" title="male"> </div> </td>
            <td class="icon">&lt;div class='blue' title='male'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
                <tr class="odd">
            <td class="icon"><div class='id' title='id'>2</div></td>
            <td class="icon">Doe</td>
            <td class="icon">Jane</td>
            <td class="icon">Utrecht</td>
            <td class="icon">2005-aug-01</td>
            <td class="icon"><div class="pink" title="female"> </div></td>
            <td class="icon"> <div class="pink" title="female"> </div> </td>
            <td class="icon">&lt;div class='pink' title='female'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
                <tr class="even">
            <td class="icon"><div class='id' title='id'>3</div></td>
            <td class="icon">School</td>
            <td class="icon">Emma</td>
            <td class="icon">London</td>
            <td class="icon">2005-mrt-11</td>
            <td class="icon"><div class="pink" title="female"> </div></td>
            <td class="icon"> <div class="pink" title="female"> </div> </td>
            <td class="icon">&lt;div class='pink' title='female'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
                <tr class="odd">
            <td class="icon"><div class='id' title='id'>4</div></td>
            <td class="icon">White</td>
            <td class="icon">Jack</td>
            <td class="icon">Paris</td>
            <td class="icon">2005-aug-16</td>
            <td class="icon"><div class="blue" title="male"> </div></td>
            <td class="icon"> <div class="blue" title="male"> </div> </td>
            <td class="icon">&lt;div class='blue' title='male'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
                <tr class="even">
            <td class="icon"><div class='id' title='id'>5</div></td>
            <td class="icon">Snow</td>
            <td class="icon">John</td>
            <td class="icon">The Wall</td>
            <td class="icon">2003-apr-25</td>
            <td class="icon"><div class="black" title="?"> </div></td>
            <td class="icon"> <div class="black" title="?"> </div> </td>
            <td class="icon">&lt;div class='black' title='?'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
            </table>
</body>
</html>

result with version 4.0.1

<html>
<body>
    <table class="flat fixedLayout" style="width: 99%">
        #if($alternator == 'even') $alternator.shift() #end 

        #foreach($record in $fsPatient)
        <tr class="$alternator">
            <td class="icon"><div class='id' title='id'>$record.patient_id</div></td>
            <td class="icon">$record.name_last</td>
            <td class="icon">$record.name_first</td>
            <td class="icon">$record.city</td>
            <td class="icon">$!date.format($longDateFormat, $record.dob)</td>
            <td class="icon">$!htmlize.get($funcGender.call($record.gender))</td>
            <td class="icon">#h($funcGender.call($record.gender))</td>
            <td class="icon">$funcGender.call($record.gender)</td>
        </tr>
        #end
    </table>
</body>
</html>
<html>
<body>
    <table class="flat fixedLayout" style="width: 99%">

                <tr class="even">
            <td class="icon"><div class='id' title='id'>1</div></td>
            <td class="icon">Doe</td>
            <td class="icon">John</td>
            <td class="icon">Houten</td>
            <td class="icon">2000-jan-01</td>
            <td class="icon">&lt;div class='blue' title='male'&gt;&nbsp;&lt;/div&gt;</td>
            <td class="icon"> &amp;lt;div class='blue' title='male'&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt; </td>
            <td class="icon">&lt;div class='blue' title='male'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
                <tr class="odd">
            <td class="icon"><div class='id' title='id'>2</div></td>
            <td class="icon">Doe</td>
            <td class="icon">Jane</td>
            <td class="icon">Utrecht</td>
            <td class="icon">2005-aug-01</td>
            <td class="icon">&lt;div class='pink' title='female'&gt;&nbsp;&lt;/div&gt;</td>
            <td class="icon"> &amp;lt;div class='pink' title='female'&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt; </td>
            <td class="icon">&lt;div class='pink' title='female'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
                <tr class="even">
            <td class="icon"><div class='id' title='id'>3</div></td>
            <td class="icon">School</td>
            <td class="icon">Emma</td>
            <td class="icon">London</td>
            <td class="icon">2005-mrt-11</td>
            <td class="icon">&lt;div class='pink' title='female'&gt;&nbsp;&lt;/div&gt;</td>
            <td class="icon"> &amp;lt;div class='pink' title='female'&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt; </td>
            <td class="icon">&lt;div class='pink' title='female'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
                <tr class="odd">
            <td class="icon"><div class='id' title='id'>4</div></td>
            <td class="icon">White</td>
            <td class="icon">Jack</td>
            <td class="icon">Paris</td>
            <td class="icon">2005-aug-16</td>
            <td class="icon">&lt;div class='blue' title='male'&gt;&nbsp;&lt;/div&gt;</td>
            <td class="icon"> &amp;lt;div class='blue' title='male'&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt; </td>
            <td class="icon">&lt;div class='blue' title='male'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
                <tr class="even">
            <td class="icon"><div class='id' title='id'>5</div></td>
            <td class="icon">Snow</td>
            <td class="icon">John</td>
            <td class="icon">The Wall</td>
            <td class="icon">2003-apr-25</td>
            <td class="icon">&lt;div class='black' title='?'&gt;&nbsp;&lt;/div&gt;</td>
            <td class="icon"> &amp;lt;div class='black' title='?'&amp;gt;&amp;nbsp;&amp;lt;/div&amp;gt; </td>
            <td class="icon">&lt;div class='black' title='?'&gt;&nbsp;&lt;/div&gt;</td>
        </tr>
            </table>
</body>
</html>

To show you what the issue is I made an small sample solution.
This sample solution is made with servoy 2024.3.7

In this sample solution there 2 buttons
1) read template
-> will read the template from media file
2) evaluateWithContext
-> will use the template from step 1
-> build context object
-> run method: plugins.VelocityReport.evaluateWithContext

Kind regard,
John Makkink
eFertility


Files

vr_sample.servoy (7.44 KB) vr_sample.servoy John Makkink, 10/01/2025 03:45 PM

History

#1

Updated by Patrick Talbot about 2 months ago

Thanks for the sample, John! I'll have a look.

#2

Updated by Patrick Talbot about 2 months ago

  • Status changed from New to In Progress

I've found and fixed the issue. I had tried to clean up the code of my previous fix and introduced a small typo, I should have tested again but didn't, sorry! This time, I tested with your sample, very useful, thanks!
Please try with the updated v4.0.1 from the Files section and let me know how it goes.

#3

Updated by John Makkink about 2 months ago

Hi Patrick,

I tested it and it's working :)
Thank you!

John

#4

Updated by Patrick Talbot about 1 month ago

  • Status changed from In Progress to Resolved

Great! Thanks for reporting back, John!

Also available in: Atom PDF