Wiki broncode van form-elements
Version 2.27 by Jip-jan Alunkel on maart 25, 00:05
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity}} | ||
2 | #macro(createFormElement $elementDataObj) | ||
3 | #set($elementType = $elementDataObj.type) | ||
4 | #if($elementType == "select") | ||
5 | #createSelectElement($elementDataObj) | ||
6 | #elseif($elementType == "text") | ||
7 | #createTextElement($elementDataObj) | ||
8 | #elseif($elementType == "number") | ||
9 | #elseif($elementType == "email") | ||
10 | #elseif($elementType == "range") | ||
11 | #elseif($elementType == "checkbox") | ||
12 | #elseif($elementType == "radio") | ||
13 | #elseif($elementType == "textarea") | ||
14 | #else | ||
15 | #set($hint = "This type of element does not exist, read the manual for more information about element types.") | ||
16 | #end | ||
17 | #end | ||
18 | |||
19 | #macro(createSelectElement $O_elementData) | ||
20 | {{html}} | ||
21 | #set($requiredAttributes = 'aria-required="false"') | ||
22 | #if($O_elementData.required == true) | ||
23 | #set($requiredAttributes = 'aria-required="true" required="required"') | ||
24 | <p class="required"> | ||
25 | #end | ||
26 | <label for="${O_elementData.id}_select"> | ||
27 | $O_elementData.label | ||
28 | <span class="input-wrap select-wrap"> | ||
29 | <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"> | ||
30 | <option value="" disabled="" selected="" hidden="hidden">$services.localization.render(${O_elementData.placeholder})</option> | ||
31 | #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")) | ||
32 | #set ($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%')) | ||
33 | #set ($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code')) | ||
34 | #set($query = $query.bindValue('space', $spaceLikeRef)) | ||
35 | #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef)) | ||
36 | #set($results = $query.addFilter('unique').execute()) | ||
37 | #foreach ($item in $results) | ||
38 | #set ($document = $xwiki.getDocument($item)) | ||
39 | <option value="$document.space">$document.getTitle()</option> | ||
40 | #end | ||
41 | </select> | ||
42 | <span id="${O_elementData.id}_helpBlock" class="help-block">${O_elementData.help-block}</span> | ||
43 | #if($O_elementData.required == true) | ||
44 | <span class="required-input-field" title="Required input"></span> | ||
45 | <span role="alert" class="form-not-valid-tip"></span> | ||
46 | #end | ||
47 | </span> | ||
48 | </label> | ||
49 | #if($O_elementData.required == true) | ||
50 | </p> | ||
51 | #end | ||
52 | {{/html}} | ||
53 | #end | ||
54 | #macro(createTextElement $O_elementData) | ||
55 | {{html}} | ||
56 | <p class="required" contenteditable="true"> | ||
57 | <label for="main_complaint_textinput"> | ||
58 | Main complaint | ||
59 | <span class="input-wrap"> | ||
60 | <input type="text" class="form-control full" name="main_complaint_textinput" id="main_complaint_textinput" placeholder="${services.localization.render('cases.wordgroup.main_complaint.placeholder')}" aria-describedby="main_complaint_helpBlock" aria-required="true" aria-label="Enter the main complaint" required="required" data-error-response-type="use_label_defined_1" data-query-type="XWQL.matchTitle" data-query-list-type="suggest-negate" data-query-list-contents="value" data-create-page="true" data-query-scope="cases" autocomplete="off"> | ||
61 | <span id="main_complaint_helpBlock" class="help-block">Please be as concise as possible when you describe the main complaint. For example: "chronic headache", "intermittend fever" or "diarrhea"</span> | ||
62 | <span class="required-input-field" title="Required input"></span> | ||
63 | <span role="alert" class="form-not-valid-tip"></span> | ||
64 | </span> | ||
65 | </label> | ||
66 | </p> | ||
67 | {{/html}} | ||
68 | #end | ||
69 | |||
70 | {{/velocity}} |