Changes for page Public Web Site
Last modified by Alex Cotiugă on 2025/11/27 10:42
From version 3.54
edited by Alex Cotiugă
on 2025/11/24 11:05
on 2025/11/24 11:05
Change comment:
There is no comment for this version
To version 3.70
edited by Alex Cotiugă
on 2025/11/24 15:54
on 2025/11/24 15:54
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -160,6 +160,7 @@ 160 160 <div class="modal-body"> 161 161 <div> 162 162 Need help with your XWiki? <a href="mailto:alex@agnease.com">Contact Agnease</a> 163 + #displayFormFromSheetCode() 163 163 </div> 164 164 </div> 165 165 <div class="modal-footer"> ... ... @@ -170,4 +170,45 @@ 170 170 </div> 171 171 </div> 172 172 #end 174 + 175 +#macro (stripHTMLMacro $displayOutput) 176 + $stringtool.removeEnd($stringtool.removeStart($displayOutput, '{{html clean="false" wiki="false"}}'), '{{/html}}') 177 +#end 178 + 179 +#macro (displayFormFromSheetCode) 180 + #set ($editing = true) 181 + ## The object to display. 182 + #set ($xobject = $doc.newObject('Agnease.Code.Lead.LeadClass')) 183 + ## The class that describes the object properties. 184 + #set ($xclass = $xwiki.getClass('Agnease.Code.Lead.LeadClass')) 185 + ## Make sure the following display* method calls use the right object. 186 + #set ($discard = $doc.use($xobject)) 187 + ## Using the xform vertical form layout. 188 + <div class="xform"> 189 + <dl> 190 + #foreach ($property in $xclass.properties) 191 + <dt #if (!$editing) 192 + class="editableProperty" 193 + #set ($xobjectPropertyReference = $xobject.getPropertyReference($property.name)) 194 + data-property="$escapetool.xml($services.model.serialize($xobjectPropertyReference))" 195 + data-property-type="object"#end> 196 + ## This must match the id generated by the $doc.display() method below. 197 + #set ($propertyId = "${xclass.name}_${xobject.number}_$property.name") 198 + <label#if ($editing) for="$escapetool.xml($propertyId)"#end> 199 + $escapetool.xml($property.translatedPrettyName) 200 + </label> 201 + ## Support for specifying a translation key as hint in the property definition. 202 + <span class="xHint">$!escapetool.xml($services.localization.render($property.hint))</span> 203 + </dt> 204 + #set ($displayOutput = $doc.display($property.name, 'edit')) 205 + <dd>#stripHTMLMacro($displayOutput)</dd> 206 + #end 207 + #if (!$xclass.properties || $xclass.properties.size() == 0) 208 + ## Keep the empty definition term in order to have valid HTML. 209 + <dt></dt> 210 + <dd>$escapetool.xml($services.localization.render('xclass.defaultObjectSheet.noProperties'))</dd> 211 + #end 212 + </dl> 213 + </div> 214 +#end 173 173 {{/velocity}}