Changes for page Macros
Last modified by Jip-jan Alunkel on April 15, 18:09
From version 2.99
edited by Jip-jan Alunkel
on June 28, 20:27
on June 28, 20:27
Change comment:
Update document after refactoring.
To version 2.108
edited by Jip-jan Alunkel
on July 02, 22:01
on July 02, 22:01
Change comment:
Update document after refactoring.
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -60,6 +60,8 @@ 60 60 #createNumberElement($elementDataObj $elementType) 61 61 #elseif($elementType == "email") 62 62 #createEmailElement($elementDataObj $elementType) 63 + #elseif($elementType == "password") 64 + #createPasswordElement($elementDataObj $elementType) 63 63 #elseif($elementType == "range") 64 64 #if($elementDataObj.range-minmax) 65 65 #set($minmax = $elementDataObj.range-minmax.split('-')) ... ... @@ -113,7 +113,7 @@ 113 113 #end 114 114 115 115 #macro(createSelectElement $O_elementData $O_tagName) 116 - <select class="form-select form-control"#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end data-set-space="${O_elementData.data-set-space}"#if($O_elementData.select-spaces-json) data-select-spaces-json="true"#end name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}">118 + <select class="form-select form-control"#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end data-set-space="${O_elementData.data-set-space}"#if($O_elementData.select-spaces-json) data-select-spaces-json="true"#end name="${O_elementData.id}" id="${O_elementData.id}"> 117 117 #if($O_elementData.placeholder) 118 118 <option value="" disabled="" selected="" hidden="hidden">${O_elementData.placeholder}</option> 119 119 #end ... ... @@ -137,26 +137,27 @@ 137 137 #set($codespace = "code") 138 138 #end 139 139 140 - #set($nameExcludeRef = $codespace) 141 - #set($spaceAbsRef = $space.replaceAll('([%_!])', '!$1')) 142 - #set($query_add_xobj = $services.query.xwql("select space.name from XWikiSpace as space where space.parent = :space and space.name <> :nameExclude and space.name <> 'WebPreferences' order by space.name")) 143 - 144 - ## Add XObjects to current child spaces so the spaces can be queried on the XObject to generate the select options. 145 - #set($result_add_xobj = $query_add_xobj.bindValue('space', $spaceAbsRef).bindValue('nameExclude', $nameExcludeRef).addFilter('unique').execute()) 146 - #foreach($item in $result_add_xobj) 147 - #set($doc = $xwiki.getDocument("${space}.${item}.WebHome")) 148 - #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass", true)) 149 - #set($discard = $rightXObj.set('pmSpaceOrder', $foreach.count)) 150 - #set($discard = $doc.save()) 142 + #if(!$isGuest) 143 + ## Add XObjects to current child spaces so the spaces can be queried on the XObject to generate the select options. 144 + #set($nameExcludeRef = $codespace) 145 + #set($spaceAbsRef = $space.replaceAll('([%_!])', '!$1')) 146 + #set($query_add_xobj = $services.query.xwql("select space.name from XWikiSpace as space where space.parent = :space and space.name <> :nameExclude and space.name <> 'WebPreferences' order by space.name")) 147 + #set($result_add_xobj = $query_add_xobj.bindValue('space', $spaceAbsRef).bindValue('nameExclude', $nameExcludeRef).addFilter('unique').execute()) 148 + #foreach($item in $result_add_xobj) 149 + #set($doc = $xwiki.getDocument("${space}.${item}.WebHome")) 150 + #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass", true)) 151 + #set($discard = $rightXObj.set('pmSpaceOrder', $foreach.count)) 152 + #set($discard = $doc.save()) 153 + #end 151 151 #end 152 152 153 153 #set($spaceExcludeRef = $space.replaceAll('([%_!])', '!$1').concat(".${codespace}")) 154 154 #set($spaceLikeRef = $space.replaceAll('([%_!])', '!$1').concat('.%')) 155 155 #set($query = $services.query.xwql("from doc.object(assets.pagemaker.pagemakerClass) met where doc.space like :space and doc.space <> :spaceExclude and doc.name <> 'WebPreferences' order by met.pmSpaceOrder asc")) 159 + #set($result = $query.bindValue('space', $spaceLikeRef).bindValue('spaceExclude', $spaceExcludeRef).addFilter('unique').execute()) 156 156 157 157 ## Generate the select options from all child spaces that have the 'assets.pagemaker.pagemakerClass' XClass. 158 158 ## The order is still random but the JSON can be extracted from the console with the 'select-spaces-json' attribute. 159 - #set($result = $query.bindValue('space', $spaceLikeRef).bindValue('spaceExclude', $spaceExcludeRef).addFilter('unique').execute()) 160 160 #foreach($item in $result) 161 161 #set($doc = $xwiki.getDocument($item)) 162 162 <option value="$doc.space">$doc.getTitle()</option> ... ... @@ -165,27 +165,29 @@ 165 165 #set($json = $O_elementData.select-json) 166 166 #foreach($key in $json.keySet()) 167 167 #set($spaceDocTitle = $json.get($key)) 168 - #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name. 169 - #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object. 170 - #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) 171 - #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) 172 - #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale. 173 - #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title. 174 - #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale. 175 - #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 176 - #set($discard = $spaceDoc.save()) 177 - #else 178 - #if($title_error) ## Doc did exist but the title did not match with the JSON value. 179 - #set($discard = $spaceDoc.setTitle($spaceDocTitle)) 180 - #end 181 - #if($order_error) ## Either the property does not exist or the value is incorrect. 171 + #if(!$isGuest) 172 + #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name. 173 + #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object. 174 + #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) 175 + #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) 176 + #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale. 177 + #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title. 178 + #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale. 182 182 #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 183 - #end 184 - #if($title_error || $order_error) ## Save only if changed 185 185 #set($discard = $spaceDoc.save()) 181 + #else 182 + #if($title_error) ## Doc did exist but the title did not match with the JSON value. 183 + #set($discard = $spaceDoc.setTitle($spaceDocTitle)) 184 + #end 185 + #if($order_error) ## Either the property does not exist or the value is incorrect. 186 + #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. 187 + #end 188 + #if($title_error || $order_error) ## Save only if changed 189 + #set($discard = $spaceDoc.save()) 190 + #end 186 186 #end 187 187 #end 188 - <option value="$key">$ json.get($key)</option>193 + <option value="$key">$spaceDocTitle</option> 189 189 #end 190 190 #end 191 191 </select> ... ... @@ -194,37 +194,37 @@ 194 194 #end 195 195 #end 196 196 #macro(createTextElement $O_elementData $O_tagName) 197 - <input type="text" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-query-type) data-query-type="${O_elementData.data-query-type}"#end#if($O_elementData.data-query-list-type) data-query-list-type="${O_elementData.data-query-list-type}"#end#if($O_elementData.data-query-list-header) data-query-list-header="${O_elementData.data-query-list-header}"#end#if($O_elementData.data-query-list-contents) data-query-list-contents="${O_elementData.data-query-list-contents}"#end#if($O_elementData.data-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"#end#if($O_elementData.data-create-page) data-create-page="${O_elementData.data-create-page}"#end#if($O_elementData.data-query-scope) data-query-scope="${O_elementData.data-query-scope}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>202 + <input type="text" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-query-type) data-query-type="${O_elementData.data-query-type}"#end#if($O_elementData.data-query-list-type) data-query-list-type="${O_elementData.data-query-list-type}"#end#if($O_elementData.data-query-list-header) data-query-list-header="${O_elementData.data-query-list-header}"#end#if($O_elementData.data-query-list-contents) data-query-list-contents="${O_elementData.data-query-list-contents}"#end#if($O_elementData.data-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"#end#if($O_elementData.data-create-page) data-create-page="${O_elementData.data-create-page}"#end#if($O_elementData.data-query-scope) data-query-scope="${O_elementData.data-query-scope}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end> 198 198 #end 199 199 #macro(createNumberElement $O_elementData $O_tagName) 200 - <input type="number" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off" min="0" pattern="[0-9]*[.,]?[0-9]+" data-decimals="${O_elementData.data-decimals}" step="${O_elementData.decimal-step}"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-query-type) data-query-type="${O_elementData.data-query-type}"#end#if($O_elementData.data-query-list-type) data-query-list-type="${O_elementData.data-query-list-type}"#end#if($O_elementData.data-query-list-header) data-query-list-header="${O_elementData.data-query-list-header}"#end#if($O_elementData.data-query-list-contents) data-query-list-contents="${O_elementData.data-query-list-contents}"#end#if($O_elementData.data-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"#end#if($O_elementData.data-create-page) data-create-page="${O_elementData.data-create-page}"#end#if($O_elementData.data-query-scope) data-query-scope="${O_elementData.data-query-scope}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>205 + <input type="number" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" autocomplete="off" min="0" pattern="[0-9]*[.,]?[0-9]+" data-decimals="${O_elementData.data-decimals}" step="${O_elementData.decimal-step}"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-query-type) data-query-type="${O_elementData.data-query-type}"#end#if($O_elementData.data-query-list-type) data-query-list-type="${O_elementData.data-query-list-type}"#end#if($O_elementData.data-query-list-header) data-query-list-header="${O_elementData.data-query-list-header}"#end#if($O_elementData.data-query-list-contents) data-query-list-contents="${O_elementData.data-query-list-contents}"#end#if($O_elementData.data-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"#end#if($O_elementData.data-create-page) data-create-page="${O_elementData.data-create-page}"#end#if($O_elementData.data-query-scope) data-query-scope="${O_elementData.data-query-scope}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end> 201 201 #end 202 202 #macro(createEmailElement $O_elementData $O_tagName) 203 - <input type="email" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off" pattern="^[A-Za-z0-9._+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,63}$"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>208 + <input type="email" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" autocomplete="off" pattern="^[A-Za-z0-9._+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,63}$"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end> 204 204 #end 205 205 #macro(createPasswordElement $O_elementData $O_tagName) 206 - <input type="password" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end>211 + <input type="password" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end> 207 207 #end 208 208 #macro(createDateElement $O_elementData $O_tagName) 209 - <input type="date" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}"#if($O_elementData.date-min) min="${O_elementData.date-min}"#end#if($O_elementData.date-max) max="${O_elementData.date-max}"#end autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock" #if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end #if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>214 + <input type="date" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.date-min) min="${O_elementData.date-min}"#end#if($O_elementData.date-max) max="${O_elementData.date-max}"#end autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock" #if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end #if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end> 210 210 #end 211 211 #macro(createColorElement $O_elementData $O_tagName) 212 - <input type="color" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}" value="#fffffe" autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>217 + <input type="color" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" value="#fffffe" autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end> 213 213 #end 214 214 #macro(createRangeElement $O_elementData $O_tagName) 215 - <input type="range" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}" min="${O_elementData.range-min}" max="${O_elementData.range-max}"#if($O_elementData.range-step) step="${O_elementData.range-step}"#end autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>220 + <input type="range" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" min="${O_elementData.range-min}" max="${O_elementData.range-max}"#if($O_elementData.range-step) step="${O_elementData.range-step}"#end autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end> 216 216 #end 217 217 #macro(createTelElement $O_elementData $O_tagName) 218 - <input type="tel" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>223 + <input type="tel" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end> 219 219 #end 220 220 #macro(createUrlElement $O_elementData $O_tagName) 221 - <input type="url" class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off" pattern="https?://.*"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>226 + <input type="url" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" autocomplete="off" pattern="https?://.*"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}"#end#if($O_elementData.data-xobj-classname) data-xobj-classname="${O_elementData.data-xobj-classname}"#end#if($O_elementData.data-xobj-fieldname) data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end> 222 222 #end 223 223 #macro(createCheckboxElement $O_elementData) 224 224 <input type="checkbox" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.data-opener) data-opener="${O_elementData.data-opener}"#end value="${O_elementData.value}"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end>$O_elementData.label 225 225 #end 226 226 #macro(createTextareaElement $O_elementData $O_tagName) 227 - <textarea class="form-control full" name="${O_elementData.id} _${O_tagName}" id="${O_elementData.id}_${O_tagName}"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end#if($O_elementData.textarea-rows) rows="$O_elementData.textarea-rows"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end></textarea>232 + <textarea class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end#if($O_elementData.textarea-rows) rows="$O_elementData.textarea-rows"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end></textarea> 228 228 #end 229 229 #macro(createExpandStart $opener $value) 230 230 <div id="${opener.id}_section_#if($value)${value}#else${opener.value}#end" class="togglee">