Wiki source code of form-elements
Version 2.24 by Jip-jan Alunkel on March 24, 17:37
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity}} | ||
2 | #* | ||
3 | #set($localitySelectElement = { | ||
4 | "id" : "locality", | ||
5 | "type" : "select", | ||
6 | "required" : true, | ||
7 | "label" : "Locality of the main complaint", | ||
8 | "aria-label" : "Select the locality", | ||
9 | "data-error-response-type" : "use_label_defined_1", | ||
10 | "data-set-space" : "true", | ||
11 | "placeholder" : "cases.word.locality_select.placeholder", | ||
12 | "space-reference" : "cases", | ||
13 | "help-block" : "In which physiological or psychological epicenter can the main complaint be placed? Select the best fitting option from this list." | ||
14 | }) | ||
15 | *# | ||
16 | |||
17 | #macro(createFormElement $elementDataObj) | ||
18 | #set($elementType = $elementDataObj.type) | ||
19 | #if($elementType == "select") | ||
20 | #createSelectElement($elementDataObj) | ||
21 | #end | ||
22 | #end | ||
23 | |||
24 | #macro(createSelectElement $O_elementData) | ||
25 | {{html}} | ||
26 | #set($requiredAttributes = 'aria-required="false"') | ||
27 | #if($O_elementData.required == true) | ||
28 | #set($requiredAttributes = 'aria-required="true" required="required"') | ||
29 | <p class="required"> | ||
30 | #end | ||
31 | <label for="${O_elementData.id}_select"> | ||
32 | $O_elementData.label | ||
33 | <span class="input-wrap select-wrap"> | ||
34 | <select class="form-select form-control" aria-label="${O_elementData.aria-label}" aria-describedby="${O_elementData.id}_helpBlock" $requiredAttributes data-error-response-type="${O_elementData.data-error-response-type}" data-set-space="${O_elementData.data-set-space}" name="${O_elementData.id}_select" id="${O_elementData.id}_select"> | ||
35 | <option value="" disabled="" selected="" hidden="hidden">$services.localization.render(${O_elementData.placeholder})</option> | ||
36 | #set($query = $services.query.xwql("from doc.object(AppWithinMinutes.MetadataClass) met where doc.space like :space and doc.space <> :spaceExclude order by met.dataSpaceName asc")) | ||
37 | #set ($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%')) | ||
38 | #set ($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code')) | ||
39 | #set($query = $query.bindValue('space', $spaceLikeRef)) | ||
40 | #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef)) | ||
41 | #set($results = $query.addFilter('unique').execute()) | ||
42 | #foreach ($item in $results) | ||
43 | #set ($document = $xwiki.getDocument($item)) | ||
44 | <option value="$document.space">$document.getTitle()</option> | ||
45 | #end | ||
46 | </select> | ||
47 | <span id="${O_elementData.id}_helpBlock" class="help-block">${O_elementData.help-block}</span> | ||
48 | #if($O_elementData.required == true) | ||
49 | <span class="required-input-field" title="Required input"></span> | ||
50 | <span role="alert" class="form-not-valid-tip"></span> | ||
51 | #end | ||
52 | </span> | ||
53 | </label> | ||
54 | #if($O_elementData.required == true) | ||
55 | </p> | ||
56 | #end | ||
57 | {{/html}} | ||
58 | #end | ||
59 | |||
60 | ##createFormElement($localitySelectElement) | ||
61 | {{/velocity}} |